单片机论文1296810872_第1页
单片机论文1296810872_第2页
单片机论文1296810872_第3页
单片机论文1296810872_第4页
单片机论文1296810872_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、东北大学秦皇岛分校电子信息系单片机程序设计温度采集系统设计专业名称班级学号学生姓名指导教师设计时间2011.温度采集系统设计摘要:本设计是用单片机组成温度采集显示系统,对单路温度进行测量,并用数码管显示当前温度值。温度范围为0100,温度分辨率为±1。关键词:温度 温度采集 正文:本设计采用AT89C51单片机为核心控制器件,系统框图如下所示。 放大 显示 单片机 A/D转换 传感器(温度采集)在温度测量时,需要将温度的变化转换为对应的电压信号的变化,这就需要温度传感器。常用的温度传感器有热敏电阻、热电偶、集成温度传感器等。热电偶误差较大,集成温度传感器精度较高,但价格较贵,折中考虑

2、因此选用负温度系数热敏电阻作为温度传感器。将热敏电阻的阻值变化转换成相应的电压变化,需要一个转换电路。本设计采用电桥电路,用热敏电阻与三个普通电阻组成电桥,当温度变化时,电桥的输出电压信号随之变化。由于电桥输出的电压信号幅值较低,要经过放大后才能满足A/D转换器对输入电压的要求,因此采用运算放大器对信号进行放大。温度与放大电路共同构成测温电路。测温电路输出的电压信号是模拟信号,需要经过A/D转换成数字量后才能被单片机识别。该系统采用8位A/D转换器ADC0809集成电路芯片。AT89C51单片机控制ADC0809将模拟电压信号转换成数字信号,并根据这个数字信号查表取得相应温度值,送到数码管显示

3、。根据设计要求,可以用3位LED数码管显示当前温度值。由于数据管位数不多,可以采用静态显示方式和BCD-七段译码器译码。但考虑到硬件成本,因此采用动态显示方式和程序译码方式,即直接从I/O口送出七段码。通过以上分析可得出程序设计方面的各部分任务分配如下:1、 主程序负责对系统初始化,包括中断设置、定时器设置和启动第一次A/D转换。2、 定时器T0中断服务程序负责动态显示,定时依次将个、十、百位显示缓冲单元的数据送相应数码管。程序中这3个缓冲单元是30H(个位)、31H(十位)和32H(百位)。3、 外中断INT0中断服务程序负责控制A/D转换,启动下一次转换,取得转换结果,将结果转换成3位BC

4、D码分别存放在个、十、百位三单元显示缓冲。相应的程序流程图如下: 主程序 初始化1、 中断开发2、 定时器初始化3、 堆栈设置4、 启动A/D转换5、 启动定时器 原地踏步外中断INT0中断服务程序1、 读取A/D0809转换结果2、 启动下一轮转换3、 将转换成BCD码 返回计数器=21、 送百位数2、 百位数码管点亮3、 计数器+11、 送十位数2、 十位数码管点亮3、 计数器+14、 送个位数5、 个位数码管点亮6、 计数器+1计数器=1 计数器=0 定时器重置初值 定时器T0中断服务程序 返回 设计的源程序如下: ORG 0000H AJMP MAIN ORG 000BH AJMP D

5、ISP ORG 0013H AJMP AD MAIN: SETB IT0 ;设置INT0为边沿触发器 MOV IE,#83H ;INT0、T0中断开放 MOV IP,#02H ;T0高级优先 MOV TMOD,#01H ;设置T0为方式2 MOV TL0,#30H ;T0设初值 MOV TH0,#0F8H SETB TR0 ;启动T0 MOV 30H,#0 ;3个显示单元清0 MOV 31H,#0 MOV 32H,#0 MOV A,#0 ;启动第一次A/D转换 MOV R0,#0 MOVX R0,A SJMP $ ;原地踏步 ;T0中断显示 ;显示缓冲百32H、十31H、个30HDISP: M

6、OV TL0,#30H ;T0重置初值 MOV TH0,#0F8H MOV P2,#0FFH ;显示全关 CJNE R2,#00H,DISP1 ;显示个位 MOV P1,30H CLR P2.0 AJMP DISP3DISP1: CJNE R2,#01H,DISP2 ;显示十位 MOV P1,31H CLR P2.1 AJMP DISP3 DISP2:MOV P1,32H ;显示百位 CLR P2.2 MOV R2,#00HDISP3: RETI ;INT0中断,A/D转换完成AD: MOV R0,#00H ;读取A/D转换结果 MOVX A,R0 MOV A,#0 ;启动下一次A/D转换 M

7、OVX R0,A MOV DPTR,#TAB2 ;指向电压温度表 MOVC A,A+DPTR ;查处温度值 MOV B,#64H ;取得百位BCD码 DIV AB MOV DPTR,#TAB2 MOVC A,A+DPTR ;查对应的七段码 MOV 32H,A ;七段码存入百位显示缓冲 MOV A,B ;取得十、个位BCD码 MOV B,#0AH DIV AB MOVC A,A+DPTR ;取得十位七段码 MOV 31H,A MOV A,B ;取得个位七段码 MOVC A,A+DPTR MOV 30H,A RETI ;两组表格,TAB1:七段码表 ;TAB2:电压温度表TAB1: DB 0C0H

8、,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,98HTAB2: DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,01H,01H,02H,02H,03H,03H DB 04H,04H,05H,05H,06H,06H,07H,07H DB 08H,08H,09H,09H,0AH,0AH,0BH,0BH DB 0CH,0CH,0DH,0DH,0EH,0EH,0FH,0FH DB 10H

9、,10H,11H,11H,12H,12H,13H,13H DB 14H,14H,15H,15H,16H,16H,17H,17H DB 18H,18H,19H,19H,1AH,1AH,1BH,1BH DB 1CH,1CH,1DH,1DH,1EH,1EH,1FH,1FH DB 20H,20H,21H,21H,22H,22H,23H,23H DB 24H,24H,25H,25H,26H,26H,27H,27H DB 28H,28H,29H,29H,2AH,2AH,2BH,2BH DB 2CH,2CH,2DH,2DH,2EH,2EH,2FH,2FH DB 30H,30H,31H,31H,32H,32H

10、,33H,33H DB 34H,34H,35H,35H,36H,36H,37H,37H DB 38H,38H,39H,39H,3AH,3AH,3BH,3BH DB 3CH,3CH,3DH,3DH,3EH,3EH,3FH,3FH DB 40H,41H,42H,43H,44H,45H,46H,47H DB 40H,41H,42H,43H,44H,45H,46H,47H DB 48H,49H,4AH,4BH,4CH,4DH,4EH,4FH DB 48H,49H,4AH,4BH,4CH,4DH,4EH,4FH DB 50H,50H,51H,51H,52H,52H,53H,53H DB 54H,54H,

11、55H,55H,56H,56H,57H,57H DB 58H,58H,59H,59H,5AH,5AH,5BH,5BH DB 5CH,5CH,5DH,5DH,5EH,5EH,5FH,5FH DB 60H,60H,61H,61H,62H,62H,63H,63H DB 64H,64H,64H,64H,64H,64H,64H,64H DB 64H,64H,64H,64H,64H,64H,64H,64H DB 64H,64H,64H,64H,64H,64H,64H,64H DB 64H,64H,64H,64H,64H,64H,64H,64H程序设计完成后,通过调试运行,就可实现对温度的采集测量。结束语:通过此次温度采集系统的设计,让我初步了解了如何使用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论