关键词:微控制器、温度传感器、温度计、RS-232C
1 简介
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它给人们带来的便利也是不可否认的。其中数字温度计就是一个典型的例子,但人们对它的要求也越来越高。为现代人的工作、科研、生活提供更好更便捷的设施,必须从数字化单片机技术入手,一切都向着数字化、智能化控制的方向发展。本设计介绍的数字温度计与传统的温度计相比,读数方便,测温范围宽,测温准确,其输出温度以数字显示,主要用于对测温要求比较准确的场所。采用PT热敏电阻作为传感器的信号采集端,将温度信号转换成电压信号,再通过ADC0809进行模数转换,将电压信号进一步转换成单片机可以处理的00H~FFH数字信号,温度与数字信号实时同步。 经过单片机80C51进行数据处理后,进一步转换成符合实际温度的数字信号,采用3位共阳极LED数码管经串口传输数据实现温度显示,可以准确满足上述要求。采用LED数码管进行实时跟踪显示,当温度与设定的标准温度有差异时进行控温。显示采用串行接口芯片ZLG7289A,硬件简单,通过多次采集取平均值的方式进行数据处理,手动设定标准温度,贴近实际,实用性强。
串口实验源程序如下:
;这是AT89C51单片机实验开发板向PC机串口单向发送数据AF的演示程序
;采用MAX232专用芯片进行RS232/TTL电平转换。
;通讯波特率为1200KBPS,只需按一次K1即可(即P3.6脚变为低电平)
;发送十六进制 AF 字符
组织机构 0000H
MOV SCON,#50H ;设置为串口1模式
MOV TMOD,#20H ;波特率发生器T1工作在方式2
MOV PCON,#80H ;加倍波特率
MOV TH1,#0F3H ;预设初值
MOV TL1,#0F3H ;预设初值
SETB TR1 ;启动定时器T1
;以上完成通讯初始化设置
命令:
JB P3.6,$ ;检查K1是否按下,若未按下,则等待
ACALL DELAY10;延时10毫秒,消除触点抖动
JB P3.6,WRIT ;去除干扰信号
JNB P3.6,$ ;等待按钮释放
MOV A,#0AFH ;向串口发送十六进制字符AF
MOV SBUF,A ;通过串口发送AF
仲裁令状
;10毫秒延时子程序
DELAY10:MOV R4,#20
D2:移动R5,#248
DJNZ R5,$
DJNZ R4,D2
回转窑
结尾
(2)89C51软件调试
使用微控制器模拟器调试软件。
硬件连接。给数字温度计提供直流+5V、-5V、地电源。将单片机仿真头插入温度计的插槽中,再将仿真头接头通过电脑串口与电脑连接。
在电脑上打开Keil µVision2软件,点击Project菜单,在弹出的下拉菜单中选择New Project选项,创建一个新项目。然后,选择保存的路径,输入项目文件的名称。之后会弹出一个对话框,选择单片机型号Atmel的89C51,点击“OK”。再次打开“File”菜单,点击下拉菜单中的“New”选项,编辑窗口中光标会闪烁,此时就可以键入用户的应用程序了,不过要先把这个空白文件保存起来。点击菜单上的“File”,在下拉菜单中选择“Save As”选项,点击。在“File Name”栏右边的编辑框中,键入要使用的文件名,同时,一定要键入正确的扩展名。注意,如果用汇编语言编写程序,扩展名必须是(.asm)。然后,点击“Save”按钮。 最后,回到编辑界面后,点击“目标 1”前面的“+”号,然后右键点击“源组 1”,弹出如下菜单,点击“将文件添加到组‘源组 1’”。
(3)VB程序调试
程序的调试对于整个系统的正常运行非常重要,程序的调试不能有丝毫的粗心大意,虽然整个过程有好几个步骤,但实际操作起来还是比较困难的,每一步都需要认真仔细的去完成。
但是在VB上接串口到显示、存储时,第一次调试失败,因为form1的名字没有任何变化,说明程序根本没有进入初始状态,数码显示管显示18摄氏度,但是VB界面上并没有显示当前温度。
再次运行程序,高兴的事情发生了:VB界面上成功显示18摄氏度。当老师手握传感器放置一会儿后,数码显示管上显示的温度立即变为20摄氏度。同时,VB界面上当前温度也立即变为20摄氏度。可见VB程序是正确的。
由于整个系统比较复杂,所以采用自底向上的调试方法,即先进行各单元电路的软件仿真、硬件调试,各单元电路调试完成后再进行系统联调,最后进行硬件编程、系统组装。程序在keil2上调试,采用汇编语言编写,方便调试。
最后对程序进行仿真实现,如果数码管显示温度值,说明程序正确,如果出现错误,则要考虑各种原因,如硬件电路元件、芯片等损坏,则要更换,如果是软件部分的错误,则需要进一步调试,直到排除所有故障和问题,此温度计的功能才算实现。
毕业设计手册目录
1 引言…………………………………………………………………………13
2 提案论证…………………………………………………………………………13
3 硬件设计……………………………………………………………………13
3.1硬件系统硬件结构…………………………………………………………14
3.2 各功能块原理…………………………………………………………14
(优秀毕业:)
3.3 通讯方法的实现………………………………………………………………24
4 软件设计…………………………………………………………………………25
4.1 程序流程……………………………………………………………………26
4.2 程序…………………………………………………………………………28
4.3 使用VB编写串口应用程序………………………………………………35
4.4 VB界面……………………………………………………………………36
5 软硬件系统调试……………………………………………………………………37
6 附录………………………………………………………………………………43
7 参考文献……………………………………………………………………46
主程序
BIT_COUNT DATA 34H ;传输点数
SHOW_COUNT DATA 35H ;点亮数码管个数
发送缓冲区数据 36H
REC_BUF 数据 37H
延时数据 38H
RENT_C 数据 3BH
CS 位 P1.3
时钟位 P1.4
DIO 位 P1.5
按键位 P1.6
组织机构 00H
跳转主程序
组织机构 03H
LJMP INT_EX0
组织机构 0BH
LJMP INT_T0
组织 13H
LJMP INT_EX1
奥格50H
主要的:
MOV SP,#58H
MOV TMOD,#21H ;设置T0:tmod0,T1:tmod2
MOV TH0,#0D8H
MOV TL0,#0F0H
设定值
;————————- ;初始化 T1
MOVTH1,#0E6H
MOVTL1,#0E6H
设置BTR1
;—————————-
MOV SCON,#0E0H ;串口初始化
MOV 30H,#0 ;设置计数器定时1s
MOV 31H,#0 ;三次采样计数器