




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
此文档收集于网络,如有侵权,请联系网站删除湖北工业大学课程设计课程名称: 检测方向综合实践 课题名称: 3位半智能温度仪设计 专业班级: 姓 名: 学号: 指导教师: 2015年 12月14日12月24日 任务书一、设计内容设计一个3位半智能温度仪,系统包括传感器电路、A/D及显示电路、单片机电路和单片机程序4部分组成,要求:1、 传感器电路:温度传感器用Pt100。温度测量范围:0100。传感器输出:02V缓变直流信号;传感器电源5VDC由主电路提供。给出定标曲线与误差分析。2、 A/D及显示电路:MC14433,电源5VDC由主电路提供。 输入:02V缓变直流信号。 输出:BCD码输出。3位半LED(或LCD)带小数点显示。3、 主控电路:自设计一个51单片机最小系统,满足下列要求:至少3位半LED(或LCD)带小数点显示。4个按键(用于参数设置)。1个复位按钮。1个RS-232C接口。1个蜂鸣器。1个AT24C64 存储器。电源:+5VDC/1A;上电正常绿色指示灯。(注:主控电路也可借用单片机开发系统硬件部分)。4、 软件:自动显示当前动态采集的数据,显示数据应与A/D电路显示的值一致。自动保存最新10个数据,掉电后再开机数据不丢失。可设置上、下限,实现超限等异常情况蜂鸣器报警。利用串口通信实现USB转TTL数据传输。二、设计要求1、 总设计原则和步骤按智能仪器教材第9章进行。所设计的方案能满足题目要求并实现相应的功能,并有原理说明。2、 使用Protel设计系统硬件电路原理图,并说明原理、打印原理图和PCB图。3、 编写实时数据采集和显示程序;AT24C64数据读写程序;RS-232C通讯程序。4、 按设计制作实物并调试以上程序。5、 编写出设计说明书(电子档+纸质档),说明书格式见后。说明书应层次清楚,条理分明,叙述准确,不得抄袭,其重点应在硬件接口设计和软件编程部分。6、 整个系统电路只使用电源+5VDC。7、 每日写设计日记,记录每日所做事实,作为平时成绩评定依据。三、参考书目1、史健芳,智能仪器设计基础(第二版),电子工业出版社,2012年 2、朱欣华,智能仪器原理与设计,北京:中国计量出版社,2012 3、孙传友主编,测控系统原理与设计,北京:北京航空航天大学出版社,20114、AT24C64数据手册;MC14433数据手册四、 考核1、 最后考核以做好的电路和程序为目标答辩,每个人独立演示为准,逐个人进行当面问题回答。2、 电路调试正确,电路显示能随输入正确变化。3、 程序设计正确,单片机输出显示与电路显示一致。4、 能正确实现以下功能:掉电不失数据;上下限设置及报警;数据通信。五、成绩评定1、最终成绩由设计成绩(70%)和平时考勤成绩(30%)组成,分优、良、中、及格、不及格五等。2、设计成绩:评分表见后面。3、平时考勤成绩:包含考勤和每日提交设计日记2部分。考勤和每日提交设计日记累计缺3次及以上平时成绩记0分。4、若发现在设计过程中出现抄袭或弄虚作假行为,成绩直接定为不及格。六、成绩评分表表1:成绩评分表序号项目评分标准满分得分1说明书(15分)格式规范,叙述清楚,层次分明5分2完整无缺,图号/公式编号统一规范5分3内容正确,无原则错5分4硬件电路(20分)元件/焊连/调试正确,布局合理美观5分5显示输出能随输入正确变化5分6输入不变输出温度显示精确到15分7定标曲线5分8程序功能(20分)单片机输出显示与电路显示一致5分9能实现掉电不丢失数据的存储功能5分10实现数据通信功能正确5分11实现按键设置上下限与报警5分12误差分析(5分)定标曲线,误差源分析,误差合成分析,最小二乘拟合5分13答辩(10分)回答问题正确5分14应变能力,举一反三5分15平时成绩(30分)考勤+日记+平时态度累计缺3次及以上该项记0分。30分总分100分 总评成绩等级七、其他说明A、每日提交设计日记(每日交必)每人每天填写,每天班级汇总,最终提交设计说明书时,每人附上自己的表。每日工作汇报表学号日期地点姓名时间证明人开展的工作描述文件材料、图片B、设计说明书格式1.说明书封面2.任务书3.目录4.正文(包括:概述,总体方案设计,电路设计/接口/调试,程序设计/调试,定标/误差分析,结论)5.总结6.参考文献7.附录(原理图,实物图、源程序、调试记录、每天设计日记等等)8.课程设计评分表C、进度安排(推荐)1、第16周:2015.12.1412.20星期一上午:布置课题任务,课题内容介绍,仔细阅读设计任务书。星期一下午:明确设计任务与要求,查阅收集设计资料。星期二:确定设计方案,相关元器件选型/电路设计/画图。星期三:电路设计/制作/调试。星期四:程序设计/调试/修改/定标。星期五:编写设计说明书,误差分析,准备答辩材料。2、第17周:考虑到实际情况,答辩时间推后到第17周星期四 (2015.12.24)。 目录一 概述7二 总体方案设计82.1 总体方案框图82.2 系统总体方案设计 11三. 电路部分123.1总电路图DXP123.2 51系统的设计13 3.3性能调试18四 程序编写194.1程序流程194.2 程序设计19五 误差分析265.1 随机误差265.2 系统误差26 5.3 定标26六 总结28七 参考文献29八 附录30九测控电路课程设计评分表38 一.概述 单片机在日用电子产品中的应用越来越广泛,对各种测量仪器、测量装置的测量精度要求也越来越高,尤其是对温度的测量非但要准确,而且需读取数值更直观更方便。随着科学研究、工业和家用电器等方面对测温和温控的需要,各种新型的集成电路温度传感器不断被研制出来。集成温度传感器的种类很多,根据现场使用条件,选择恰当的传感器类型才能保证测量的准确可靠,并同时达到增加使用寿命和降低成本的目的。集成温度传感器PT100具有灵敏度高、价格便宜,无需补偿、热容量小、抗干扰能力强、且使用方便等优点,如果能够利用集成温度传感器的这些优点做成测温系统,减少非线性,提高测温精度,可广泛应用于各种冰箱、空调器、仓库、冷库等各种需要进行温度测量和控制的领域。二.总体方案设计2.1 总体方案框图按键报警BCD码AT89C52单片机A/D转换器MC14433位选AT24c64温度线性放大电路传感器段选数码管计算机接收USB转TTL 图2.1总体方案图 该方案大致分为五个模块,分别为基准电压模块;A/D转换模块;字形译码驱动模块;显示电路模块;字位驱动模块。由上图可以清楚地看出,PT1O0经过电桥差分,进入稳压放大后进入双积分转换器MC14433测量,再通过CD4511译码器经过A/D转换器位选电路送到LED显示,完成电压测试。工作框图如图2.2所示: 基准电压 双积分 显示译码器 电 放 A/D CD4511 压 大 转LED数码管 输 稳 换显示 入 压 器 MC1433 字位驱动 图2.2 工作框图2.2 系统总体方案设计:确定了前面的测温和AD转换部分,然后就是单片机部分的主控电路部分,设计要求该部分由51单片机完成。该部分要求包括单片机电路,数码显示部分,按键数据储存部分,温度上下限预警警报部分的三大块。2.3主控电路的设计 在设计电路之前,前期的准备工作十分重要,特别是各个器件芯片的引脚图工作原理等等。由于前面放大电路,AD转换电路之前便早已做了确定焊接,这次的电路设计主要是单片机主控电路和单片机与AD芯片MC14433的接口电路设计。在单片机电路中主要用到了89C51和24C64两个芯片。 图2.3 MC14433输出选通脉冲的时序图 在DS1有效时输出千位数据,DS4有效时输出个位数据。每个选通脉冲宽度为18个周期。两个相邻脉冲之间的间隔为2个时钟周期。 DS1有效时输出的千位数据的含义如下:Q3位表示千位,如Q3=1,则千位为0,如Q3=0,则千位为1。Q2位表示极性,Q2=1表示输入电压为正,反之为负。Q0位=1时表示超出量程范围,在Q0=1是为欠量程,Q0=0时为过量程。 图2.4 MC14433图3 电路部分3.1总电路图 图3.1总电路图3.2电路所用芯片的介绍:单片机AT89C51图3.2 AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图3.2。所示。 AT89C51提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。主要特性:与MCS-52 兼容4K字节可编程FLASH存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24MHz三级程序存储器锁定1288位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路3.3 51系统的设计单片机芯片电路设计:单片机最小系统主要包括晶振电路和复位电路两大部分,具体的电路设计图如图3.3所示:图3.3 单片机电路 在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。 单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。数据储存电路 主器件通过发送一个起始信号启动发送过程,然后发送它所要寻址的从器件的地址8 位从器件地址的高4 位固定为1010 ,接下来的3 位A2 A1 A0 为器件的地址位,最多可以连接8 个32K/64K 器件到同一总线上,这些位必须与硬连线输入脚A2 A1 A0 相对应,从器件8 位地址的最低位作为读写,控制位1 表示对从器件进行读操作,0 表示对从器件进行写操作在主器件发送起始信号和从器件地址字节后,AT24C364 监视总线并当其地址与发送的从地址相符时响应一个应答信号通过SDA 线AT24C64 再根据读写控制位R/W 的状态进行读或写操作。 应答信号 I2C 总线数据传送时每成功地传送一个字节数据后接收器都必须产生一个应答信号,应答的器件在第9 个时钟周期时将SDA 线拉低表示其已收到一个8 位数据.AT24C64 在接收到起始信号和从器件地址之后响应一个应答信号.如果器件已选择了写操作则在每接收一个8 位字节之后响应一个应答信号。当AT24C64 工作于读模式时在发送一个8 位数据后释放SDA 线并监视一个应答信号,接收到应答信号AT24C64继续发送数据,如主器件没有发送应答信号器件停止传送数据,等待一个停止信号主器件必须发一个停止信号给AT24C64 使其进入备用电源模式并使器件处知的状态。 写操作 字节写在字节写模式下,主器件发送起始信号和从器件地址信息R/W 位置0 给从器件在从器件送回。应答信号后主器件发送两个8 位地址字写入AT24C64的地址指针主器件在收到从器件的应答。信号后再发送数据到被寻址的存储单元AT24C64 再次应答并在主器件产生停止信号后开始内部数据的擦写在内部擦写过程中AT24C64 不再应答主器件的任何请求。 页写 在页写模式下单个写周期内AT24C64最多可以写入32 个字节数据页写操作的启动和字节写一样不同在于传送了一字节数据后主器件允许继续发送31 个字节每发送一个字节后。AT24C64 将响应一个应答位且内部低5 位地址加1 高位地址保持不变如果主器件在发送停止信号之前发送大于32 个字节地址计数器将自动翻转先前写入的数据被覆盖。当所有32 字节接收完毕主器件发送停止信号内部编程周期开始此时所有接收到的数据在单个写周期内写入AT24C64 。总线时序图:图3.4 AT24C64总线时序图写入周期: 图3.5 AT24C64写入周期时序图 键盘电路设计: 同过按键可以设置最高温最低温,实现存储数据等功能。图3.6 按键电路单片机数码显示电路设计: 数码管电路:显示单片机读取过来的数据图3.7 数码管电路24C64电路设计: SCL与单片机的P3.6口相连,SDA与单片机的P3.7口相连,24C64是带EEPROM的存储芯片,EEPROM简称电可擦写可编程只读存储器,可以在掉电的情况下保存数据,可以满足我们掉电存储数据的要求。 图3.7 24c64电路图 3.4性能调试 我负责的是单片机自动保存最新10个数据,掉电后再开机数据不丢失,在电路设计以及焊接完成之后,我发现单片数码管的显示数据出现和之前我们设计的测温系统设计所出现的的数据不吻合,而原因则是由于MC14433与单片机数P3.3口未接,且数码管P2.0接口与p2.3接反,正确的数码管接口电路如下: 图 3.8 数码管引脚经过检查,最终实现了预期功能。四.程序设计4.1程序流程 程序主要有主程序和子程序两部分组成。 主程序主要实现系统的初始化,键值处理,A/D转换,显示数据。 系统的初始化包括寄存器的初始化(控制寄存器、堆栈、中断寄存器等)。通信的初始化(串口的初始化、MC14433的初始化、通信缓冲区的初始化),LED显示的初始化,输出端口的初始化,采集、累计数据的初始化。 键值处理主要包括对系统四个键值的判断与处理。 AD转换包括数据转换(主要实现测量电路检测到的电压信号转换成LED显示所需的数据类型)。 图4.1程序主流程图 显示数据包括数据转换(主要实现将各种参数,测量数据,计算累计值等转换成LED显示所需数据类型)和显示屏的刷新(包括刷新采集数据屏和根据按下的键更改显示屏)。子程序主要由温度信号采集程序和键值处理程序等。4.2程序设计 我所完成的数据存储的部分的程序如下: #includereg51.h #includeintrins.h #define uchar unsigned char #define uint unsigned short int sbit SCL = P36; /24c64 SCL sbit SDA = P37; /24c64 SDA void delay(uint z); uchar keyscan(void); void display(int led); uchar table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; uchar dispcode8=0xfe,0xfd,0xfb,0xf7,0xef,0xdF,0xbF,0x7F; char num=0; sbit key1=P27; sbit key2=P32; sbit key3=P34; sbit key4=P35; sbit ds1=P14;/MC14433 DS1 sbit ds2=P15; /MC14433 DS2 sbit ds3=P16; /MC14433 DS3 sbit ds4=P17; /MC14433 DS4 sbit q0=P10; sbit q1=P11; sbit q2=P12; sbit q3=P13; uchar mc144334; char pattern=0; int temperature=600,n=0; bit ACK = 1; /I2C void delay_10us() uchar i = 10; while (i-); void delay_5us() uchar i = 5; while(i-); void delay_10ms() uchar i = 100, j = 124; while (i-) for (j = 124; j 0; j-); bit i2c_start() delay_10us(); SCL = 1; delay_10us(); SDA = 1; delay_10us(); if (SCL & SDA) SDA = 0; delay_10us(); SCL = 0; delay_10us(); return 1; else return 0; void i2c_stop() delay_10us(); SDA = 0; delay_10us(); SCL = 1; delay_10us(); SDA = 1; bit i2c_sentbyte(uchar byt) uchar i; for (i = 0; i 8; i+) delay_5us(); if (byt & 0x80) SDA = 1; else SDA = 0; delay_5us(); SCL = 1; delay_5us(); SCL = 0; byt = 1; delay_5us(); SDA = 1; delay_5us(); SCL = 1; delay_5us(); ACK = SDA; SCL = 0; return ACK; uchar i2c_rcvbyte(uchar ack_chack) uchar i, temp = 0; delay_5us(); SDA = 1; for (i = 0; i 8; i+) temp 0;x-)for(y=110;y0;y-);/数码管数据显示void display(int led)char ge=0,shi=0,bai=0;ge=led%10;shi=led%100/10; bai=led%1000/100; P0=tablege; P2=dispcode0;delay(5);P0=0x00;P2=0xff;P0=tableshi|0x80; P2=dispcode1;delay(5);P0=0x00;P2=0xff;P0=tablebai; P2=dispcode2;delay(5);P0=0x00;P2=0xff;/按键扫描uchar keyscan(void)if(key1=0)delay(10);if(key1=0)while(key1=0);return 1;if(key2=0) delay(10);if(key2=0)while(key2=0);return 2;if(key3=0) delay(10);if(key3=0)while(key3=0);return 3;if(key4=0) delay(10);if(key4=0)while(key4=0);return 4; return 0; /*读取mc14433*/void mc()interrupt 2 using 1while(ds1=0);while(ds2=0);mc144332=(P1&0x0f);while(ds3=0);mc144331=(P1&0x0f);while(ds4=0);mc144330=(P1&0x0f);/主函数void main()unsigned char xData20,dData20,m=0,n=0,a=0;TMOD=0x20;TMOD|= 0x11; TH1 = 0xfe; TL1 = 0x33;TR1=1;IE =0x8A;SM0=0;SM1=1; REN=1; EA=1; ES=1; EX1=1; IT1=1; while(1) a=keyscan();if(a=0) temperature=mc144332*100+mc144331*10+mc144330; if(pattern=0) display(temperature); else display(dDatan-2+dDatan-1*256); else if(a=2) xDatam=temperature%256; xDatam+1=temperature/256; at24c64_wr(&xDatam,m,2);m+=2;if(m=20)m=0;else if(a=3)pattern=1;at24c64_rd( &dDatan,n , 2);n+=2;if(n=20)n=0;else if(a=4)pattern=0;五误差分析5.1.随机误差 所购买的器件,比如电阻,他的实际阻值与我们所需的标准阻值都有误差,有时候误差还不是很小,为了解决这个误差,我们每个电阻都购买了10个以上,一一测量,找出最接近的使用,同时在线性放大电路中每两个一样阻值的电阻,我们都不会全部使用定值电阻,而是使用滑动变阻器代替其中一个电阻,尽量的在实际阻值变化的过程中使两者阻值一样。从而尽消除由于电阻的误差。LM324的误差,我们在计算过程中都是假设运放都是理想的状态下,然而在实际过程中运放不可能是理想的,他总是与实际会有偏差,由于我们在运放正负两端的电阻中总有一端装的是滑动变阻器,为的就是调节滑动变阻器改变
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 消费者接受度分析-第1篇-洞察及研究
- 低频电磁成像技术升级-洞察及研究
- 2025至2030中国水化学需氧量分析仪行业发展研究与产业战略规划分析评估报告
- 城市公共交通车辆采购与运营协议
- 2025年中国Ⅴ领背心连衣裙数据监测报告
- 履行合同条款守约守信承诺书(9篇)
- 2025至2030年中国仿云石灯饰市场分析及竞争策略研究报告
- 工业废水处理技术及合同范本
- 可持续绿色1000吨日生物质能发电厂建设规模及绿色技术可行性研究报告
- 可持续能源100MW太阳能光伏发电项目并网与储能系统可行性研究报告
- 2025四川蜀道建筑科技有限公司招聘16人考试模拟试题及答案解析
- 国旗下讲话稿:预防秋季传染病
- 第1课 认识工具教学设计-2025-2026学年小学书法西泠版三年级上册-西泠版
- 教师网络安全培训会课件
- 2024年中国中信金融资产江西分公司招聘2人笔试模拟试题附答案详解(研优卷)
- 体育模拟上课培训课件
- 标准件供货协议合同范本
- 纳税申报流程课件
- 2025年秋期新教科版四年级上册小学科学教学计划+进度表
- 2025新疆维吾尔自治区人民检察院招聘聘用制书记员(14人)笔试参考题库附答案解析
- 循环水泵设备安装方案详细指导
评论
0/150
提交评论