《单片机课程设计说明书基于ADC0809温度测量单片机系统设计》由会员分享,可在线阅读,更多相关《单片机课程设计说明书基于ADC0809温度测量单片机系统设计(19页珍藏版)》请在金锄头文库上搜索。
1、目录一. 设计任务.3二. 功能与框图.4三. A/D转换电路的制作.4四. 单片机部分.11五. 基本人机接口设计.15六. 附录.15七. 总程序.16八. 参考文献.19一.设计任务1.设计题目:基于ADC0809温度测量单片机系统设计1.2目的意义:(1)综合运用并巩固所学单片机设计知识;(2)采用编程的方法实现基于ADC0809温度测量单片机系统设计。1.3设计内容:A/D转换电路的制作 。 掌握A/D转换电路的制作。 掌握温度采样电路的原理和制作。 掌握将转换的数字信号换算成实际温度值的方法。 掌握相应电路的程序编写 (2)基本人机接口设计 完成显示接口设计。 完成键盘接口设计。设
2、计要求:按题意要求,画出原理图;单片机接线图;按照题目要求设计采集电路;完成单片机控制程序;完成设计说明书(15页);设计上交内容:设计说明书(包括1、2、3、4、5项)1.4设计步骤理解并确定设计要求确定整体控制方案编写程序说明书附录附上电路图一张及汇编控制程序一份,说明书分三章描述,即设计内容的前三点。二.功能与框图温度传感器A/D转换CPU控制显示端口如上图,模拟温度传感器采集数据后,经过AD转换,将数据送至8051。此后8051换算整理数据,将所算得的温度送至显示电路三. A/D转换电路的制作1、A/D转换器 选用芯片目前8路8位逐次逼近型A/D转换CMOS芯片ADC0809无论在工程
3、设计还是教学过程中都是作为首选。如图,ADC0809由1个8路模拟开关、一个地址锁存及译码器、一个A/D转换器和一个三态输出锁存器组成。为了实现8路模拟信号的分时采集,片内设置了带有锁存功能的8路模拟选通开关,以及相应的通道地址锁存和译码电路,可对8路05V的输入模拟电压进行分时转换,转换后的数据送入三态输出数据锁存器。 ADC0809是28管脚芯片,输出与TTL兼容,以下是部分引脚功能: IN7IN0:模拟量输入通道。 A、B、C:模拟通道地址线(如表1)。 ALE:地址锁存信号。对应于ALE上跳沿,A、B、C地址状态送入地址锁存器中。 START:转换启动信号。 D7D0:数据输出线。 O
4、E:输出允许信号。它用于控制三态输出锁存器向单片机输出转换得到的数据。 CLK:时钟信号,最高频率为1280kHz。 EOC:转换结束状态信号。EOC=0时,正在进行转换;EOC=1时,转换结束。 Vref:参考电压。参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准。 与8051相连 ADC0809是8位分辨率A/D转换芯片,片选地址为#7FFFH。参考电压为5V,设输入电压为Vout,则有 D=Vout*255/5=Vout*51 其中 D表示ADC0809输出的数值 表示不超过范围内的最大整数 需注意的是ADC0809的最高时钟频率为1280KHZ 而80C52的ALE。12MHZ
5、*1/6=2MHZ1280KHZ 所以必须采用分频器。74LS74是D触发器。如下所示经过分辨便可得到1MHZ的频率,满足条件。 其中CLK为输入,接单片机的ALE; CLOCK为输出,接ADC0809的CLOCK。2、 温度采集电路1.电阻式温度传感器的工作原理: 利用导体或半导体的电阻率随温度变化而变化,可以将温度变化为敏感元件电阻的变化,这种变化既可以是正向的,也可以是逆向的。2.金属热电阻的工作原理: 金属的电阻值随着温度的改变而改变,呈线性递增关系。(1)铂热电阻工作原理;(2)铜热电阻工作原理。3.热敏电阻的特点 (1)机械性能 (2)体积小 (3)灵敏度高(4)复现性差,互换性差
6、,非线性,测量范围小。4. 热敏电阻的主要参数 (1)耗散系数 (2)热容 (3)电阻温度系数 (4)标称电阻值 (5)能量灵敏度 (6)额定功率 (7)时间常数5.用于测量温度的热敏电阻结构简单,价格便宜。没有外保护层的热敏电阻只能用于干燥的环境中,在潮湿、腐蚀性等恶劣环境下只能使用密封的热敏电阻。测量时先对仪表进行标定。将绝缘的热敏电阻放入32(表头的零位)的温水中,待热量平衡后,调节RP1,使指针在32上,再加热水,用更高一级的温度计监测水温,使其上升到45。待热量平衡后,调节RP2,使指针在45上。再加入冷水,逐渐降温,反复检查32-45范围内刻度的准确性。6.(1)A/D转换启动子程
7、序。ADST: PUSH ACC ;开中断 SETB EA ;外中断1定义为跳变出发 SETB IT1 ;送ADC0809口地址 MOV DPTR,#0BFFFH ;选通IN0通道 MOV A,#00H ;启动A/D转换 MOVX DPTR,A ; NOP ;NOP ;NOP ; NOP ;NOP ;SETB EX1 ;开外中断1POP ACCRET (2) A/D转换结束中断处理程序。ADINT1 PUSH PSW ;保护现场 PUSH ACC PUSH DPH PUSH DPL MOV DPTR,#0BFFFH MOVX A,DPTR ;读A/D转换结果 MOV 60H,A ;送入片内RA
8、M的60H单元中 MOV A,#00H ;再次启动IN0通道 MOVX DPTR,A POP DPL ;恢复现场 POP DPH POP ACCPOP PSWRET1四.单片机部分MCS-51系列单片机提供全双工串行通信接口RXT、TXD,其内部具有两个相互独立的接收、发送缓冲器SBUF和两个特殊功能寄存器PCON、SCON,利用这两个特殊功能寄存器来控制串行口的工作方式和波特率,辅以一定的通信协议,可以将缓冲器中的数据、指令发送给上位机。下面这段程序是发送数据,再将接收的数据跟发送出去的数据比较,若相同则进行,不同则重新发送一次。串行通信是采用工作方式1,波特率是9600b/s,发送数据是中
9、断方式,接送数据是查询方式。定时器Tl选用工作方式2,初值为#0FDH,晶振频率12Hz。ORG 0000HSJMP STARTORG 0023H ;串行中断人口地址SJMP STRORG 0030H ;程序开始START:MOV SP,#60H ;设堆栈起始地址MOV TMOD,#20H ;选T1定时模式2MOV PCON,#80H ;SMOD=1MOV TH1,#0FDH ;串行通信的波特率为9600HZSETB TR1 ;启动定时器T1CLR ET1 ;关定时器T1中断MOV SCON,#50H ;串行口方式1工作,允许接收。SETB EA ;开总中断SETB ES ;开串行口中断MOV
10、 30H,A ;存数据MOV SBUF,A ;发送数据SJMP $ ;等待中断STR: MOV R2,#1 AJMP STR1LOOP: DJNZ R2,STR3 ;两次发送不成功则放弃MOV A,30H ;重新发送数据MOV SBUF,AJNB TI,$STR1:CLR TI ;清除T1CLR ES ;关串行中断允许ACALL DELAY JNB RI,LOOP ;50ms后仍没收到PC机的回复则重新发送MOV A,SBUF ;从缓冲器读数据CLR RICJNE A,30H,LOOP ;若数据不同则重新发送STR3:SETB ES ;开串行中断允许RETIDELAY: MOV R0,#50DELAY2:MOV R1,#0FAHDELAY1:NOP NOP DJNZ R1,DELAY1 DJNZ R0,DELAY2 RETEND五.基本人机接口设计 本系统采用4个LED数码管为显示单元,其中3个为温度数值,一个为温度单位。如图所示,译码器采用74LS47芯片。74LS47的A、B、C、D分别接上P1.0P1.3口,P1.4