基于单片机控制的数字温度计:功能多样,精准测量,通讯便捷

;这是AT89C51单片机实验开发板向PC机的串口单向发送数据AF的演示程序因为整个系统比较复杂,因此采用了自底向上的调试方法,也就是先进行各个单元电路的软件仿真和硬件调试,在各个单元电路调试好后再进行系统联调,最后进行硬件的编程固化及系统的组装。

关键词:微控制器、温度传感器、温度计、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 ;三次采样计数器

单片机

(精选 21 篇)毕业论文怎么写?快来借鉴与参考吧

2024-6-9 8:02:45

单片机

大学时光转瞬即逝,论文写作感恩师恩,母校之情铭记于心

2024-6-9 9:02:50

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索