单片机测温.docx
- 文档编号:2831477
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:21
- 大小:103.99KB
单片机测温.docx
《单片机测温.docx》由会员分享,可在线阅读,更多相关《单片机测温.docx(21页珍藏版)》请在冰豆网上搜索。
单片机测温
测温
20086497刘笑
一、设计目的
1.熟悉测温的工作原理
2.加深对单片机编程语言的理解
3.熟练掌握单片机伟福实验箱的使用
二、设计要求
1、通过按键设置温度上、下限(比如20℃~80℃)
2、读入A/D转换数据,
若数据<下限,则显示温度并显示L,并使一个发光二极管点亮。
若数据>上限,则显示温度并显示H,并使另一个发光二极管点亮。
下限<若数据<上限,则显示C(可将AD信号的0V~5V对应0℃~100℃)
(本机地址为06H,当接到上位机发的06H时,则回发06H、当接到上位机发的AAH时,则将当前温度发给上位机、当接到上位机发的55H时,则修改设定上、下限)
三、硬件电路设计
图1硬件电路图
该电路实现的功能:
实时检测外界温度,将该温度值转换为数字量,然后通过四位的数码管显示。
其中外界温度值用一个可调的电位器进行模拟调节,然后通过ADC0809转换为数字量后,通过单片机的P1口送到单片机内部存储单元。
之后将该温度值转换为十进制后,将个十百位分别通过P1口送出,然后经74HC573的锁存,输出段码,之后通过P1口送出位码,经另一片74HC573锁存后驱动相应的数码管显示。
其次还用到一个晶振为单片机提供脉冲,连同内部的时钟电路产生单片机工作所需要的时钟信号。
还用到一个复位电路,当单片机因为异常原因失控时,可以通过复位按钮来恢复单片机的正常运行,提高系统的可靠性。
四、使用说明
1、开启单片机,进入程序执行状态。
2、下位机检测外界温度值,并转换为数字量后,数码管显示,若数据<下限,则显示温度并显示L,并使一个发光二极管点亮,若数据>上限,则显示温度并显示H,并使另一个发光二极管点亮,下限<若数据<上限,则显示温度并显示C。
3、上位机将06H发到下位机,下位机收到后则自动回发06H。
说明串口通信成功
4、按上位机的发AAH按键,则上位机将AAH发到下位机,下位机收到后则自动回发当前时刻温度值,上位机显示该温度值,5S后关闭显示。
可以实现实时远程的温度监控。
5、按上位机的发55H按键,则上位机将55H发到下位机,下位机收到后关闭指示温度高低的二极管显示,并点亮第一位的数码管并显示L,提示用户输入温度下限,输入的温度会在数码管上显示,并注意其输入范围应在0℃~255℃之间,按确认键确认输入并转换到温度上限的输入,同理第一位数码管显示H用来提示用户输入上限温度,按确认后结束温度上下限的输入,转到对外界温度的检测并显示环节。
当不希望改变温度上下限时,可以直接按两次确认键,结束温度的修改。
当输入的温度时发生按错键或想修改输入时,可以按取消键重新输入温度,但一定要注意按取消按键应在按确认键之前,否则无法达到重新输入的效果。
五、流程图设计
主机:
从机:
开始
初始化部分
启动AD转换
Y
F0=1?
判别温度与上下限关系
N
显示温度程序
N
00H=1?
Y
键盘扫描初始化
提示上下限及用户输入
N
N
程控扫描
有无按键
有无确认键
按下
Y
Y
读键值
存储
存数据
N
51H=0?
Y
六、程序设计如下:
主机程序:
ORG0000H
SJMPSTART
ORG0003H
LJMPF06
ORG000BH
LJMPFAA
ORG0013H
LJMPF55
ORG001BH
LJMPJIS
ORG0023H
LJMPQSJ
ORG0033H
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
START:
MOVSP,#30H
MOVIE,#9FH
SETBIT0
SETBIT1
MOVTMOD,#27H
MOVTH1,#0FAH
MOVTL1,#0FAH
MOVTL0,#0FFH
MOVSCON,#50H
SETBTR0
CLR00H
CLR01H
CLR02H;初始化
MOVP1,#0
SETBP2.0
CLRP2.0;关显示
NEXT:
JNB00H,NEXT;判有无发AAH
NEXT1:
JNB01H,NEXT1;判接收完成没有
CLR00H
CLR01H
MOVR2,#3
MOVR0,#07H
NEXTT1:
MOVB,#10
DIVAB
MOV@R0,B
DECR0
DJNZR2,NEXTT1;将温度转换为个十百为显示做准备
SETBTR1;开启5S显示计时
NEXT2:
MOVR2,#3
MOVR0,#05H
MOVR3,#0FEH
NEXTT2:
MOVP1,#0
SETBP2.0
CLRP2.0
MOVA,@R0
MOVP1,#0FFH
SETBP2.1
CLRP2.1
MOVDPTR,#0033H
MOVCA,@A+DPTR
MOVP1,A
SETBP2.0
CLRP2.0
MOVP1,R3
SETBP2.1
CLRP2.1
LCALLYAN
INCR0
MOVA,R3
RLA
MOVR3,A
DJNZR2,NEXTT2;显示温度值
JB00H,NEXT1;判有无再一次发AAH,重新开启5S显示计时
JNB02H,NEXT2;判5S显示是否到
CLR02H
MOVP1,#0
SETBP2.0
CLRP2.0;关闭显示
SJMPNEXT
F06:
MOVSBUF,#06H
RETI;发06H
FAA:
MOVSBUF,#0AAH
MOVTL0,#0FFH
SETB00H
CLRTR1
MOVTH0,#0CH
MOV60H,#200
MOV61H,#50
RETI;发AAH并初始化5S计时
F55:
MOVSBUF,#55H
RETI;发55H
JIS:
MOVTH0,#0CH
DJNZ60H,NEXT3
MOV60H,#200
DJNZ61H,NEXT3
MOV61H,#50
SETB02H
CLRTR1
NEXT3:
RETI;计时5S程序
QSJ:
JBCTI,NEXT4
JNB00H,NEXT5
MOVA,SBUF
SETB01H
NEXT5:
CLRRI
NEXT4:
RETI;取下位机发送过来数据
YAN:
MOV7FH,#255
HX:
NOP
NOP
DJNZ7FH,HX
RET;延时子程序
从机程序:
ORG0000H
LJMPSTART
ORG0013H
LJMPZW
ORG0023H
LJMPSF
ORG0033H
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H,00H,00H
ORG0040H
DB07H,08H,09H,0AH,00H,00H,04H,05H,06H,0BH,00H,00H
DB01H,02H,03H,0CH,00H,00H,00H,0FH,0EH,0DH,00H,00H
START:
MOVSP,#30H
MOVR2,#20
MOVR3,#80
CLR00H
SETBIT1
SETBEX1
SETBEA
SETBES
MOVTMOD,#20H
MOVTH1,#0FDH
MOVTL1,#0FDH
MOVSCON,#50H
MOVP1,#0
SETBTR1;初始化
NEXT2:
MOVDPTR,#8000H
CLRF0
MOVX@DPTR,A;启动一次AD转换
NEXT:
JNBF0,NEXT;转换完成等待
MOV60H,A
CLRC
SUBBA,R2
JZXIANG
JCXIAO
MOVA,60H
SUBBA,R3
JZXIANG
JNCDAA
XIANG:
MOVR4,#39H
CLRP1.0
CLRP1.1
SJMPNEXT1
XIAO:
MOVR4,#38H
CLRP1.1
SETBP1.0
SJMPNEXT1
DAA:
MOVR4,#76H
CLRP1.0
SETBP1.1;比较温度与上下限关系,并使相应的指示灯点亮
NEXT1:
MOVA,60H
MOV61H,#3
MOVR0,#07H
NEXT8:
MOVB,#10
DIVAB
MOV@R0,B
DECR0
DJNZ61H,NEXT8;转换显示个十百位
MOV62H,#4
MOV63H,#20H
NEXT9:
MOVA,#0
MOVDPTR,#9004H
MOVX@DPTR,A
MOVDPTR,#9002H
MOVA,63H
MOVX@DPTR,A
MOVDPTR,#0033H
MOVA,@R0
CJNER0,#04H,DELP
MOVDPTR,#9004H
MOVX@DPTR,A
SJMPDELPP
DELP:
MOVCA,@A+DPTR
MOVDPTR,#9004H
MOVX@DPTR,A
DELPP:
LCALLYAN
INCR0
MOVA,63H
RRA
MOV63H,A
DJNZ62H,NEXT9;显示温度
JB00H,NEXT23;判有无上位机发来的修改上下限指令
SJMPNEXT2
ZW:
MOVXA,@DPTR
SETBF0
RETI;取温度值
SF:
JBCTI,NEXT10
MOVR1,SBUF
CJNER1,#06H,NEXT11
MOVSBUF,R1
SJMPNEXT13
NEXT11:
CJNER1,#0AAH,NEXT12
MOVSBUF,60H
SJMPNEXT13
NEXT12:
SETB00H
NEXT13:
CLRRI
NEXT10:
RETI;取上位机发来的数据并作相应处理
NEXT23:
MOVR0,#02H
MOV51H,#2
CLR08H
MOVA,#0
MOVDPTR,#9004H
MOVX@DPTR,A
CLRP1.0
CLRP1.1
CLRREN
CLRES
CLREA;键盘扫描初始化
NEXT14:
MOVR4,#0CH
MOVR5,#0CH
MOVR6,#0CH
MOVR1,#04H
MOVR7,#0CH;初始化
NEXT18:
MOVA,#0
MOVDPTR,#9004H
MOVX@DPTR,A
MOVA,#20H
MOVDPTR,#9002H
MOVX@DPTR,A
CJNER0,#02H,CGUO
MOVA,#38H
SJMPCGUO1
CGUO:
MOVA,#76H
CGUO1:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 测温