- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
原理电路总设计图
23
附录 2
源程序:
FK1 EQU 24H ;F(k) 实测温度
FK EQU 25H ;F(k) 实测温度暂存
RK EQU 26H ;R(k) 给定温度
SHI1 EQU 30H
;
实测温度十位
SHI2 EQU 31H
;
实测温度个位
SHI3 EQU 32H
;
实测温度小数位
GAO
EQU 33H
;
给定温度十位
ZHO
EQU 34H
;
给定温度个位
DI EQU 35H
;
给定温度小数位
CNT
EQU 37H
;
按键消抖计数器
LSB
EQU 50H
;
检测温度低 8 位
MSB
EQU 51H
;
检测温度高 8 位
K_INM BIT P3.1
;DI
位设定温度按键
K_INH BIT P3.2
;ZHO
位设定温度按键
KI
BIT P3.3
;GAO
位设定温度按键
DQ
BIT P3.0
;DS18B20
的温度输入口
ORG 0000H
;
主程序入口地址
AJMP MAIN
;
跳转到主程序
ORG 000BH
;T0
中断入口地址
ORG 001BH
;T1
中断入口地址
ORG 0050H
MAIN:MOV SP,#60H
;
堆栈指针初始化
MOV
GAO,#0
;
置设定值显示十位初值
MOV
ZHO,#0
;
置设定值显示个位初值
MOV
DI,#0
;
置设定值显示小数位初值
MOV
CNT,#10
;
MOV
TMOD,#11H
;
定时器 T0、 T1 初始化(方式 1)
MOV
TH0,#3CH
;T0
定时器 定时常数
24
MOV
TL0,#0B0H
;
MOV
TH1,#0FCH
;T1
定时器
定时常数
MOV
TL1,#18H
;
SETB PT1
;T1
优先中断
MOV
IE,#8AH
;
中断使能
SETB TR0
;
启动定时器
T0
SETB TR1
;
启动定时器
T1
LOOP:ACALL GETTMP
;
调用测温子程序
ACALL BBLD
;
调用二十进制子程序
ACALL TER
;
调用拆字子程序
ACALL XIAOSHU
;
调用小数处理子程序
ACALL DISP1
;
调用测得温度显示程序
ACALL KEY
;
调用按键处理子程序
ACALL IDTB
;
调用十二进制转换子程序
ACALL CHK1
;
调用报警子程序
ACALL DISP2
;
调用设定温度显示子程序
AJMP
LOOP
;
循环
;*******
测温子程序 ******
GETTMP:ACALL RESET_PULSE
ACALL PRESENCE
MOV
A,#0CCH
ACALL WRITE_BYTE
;
发跳过 ROM命令
MOV
A,#44H
ACALL WRITE_BYTE
;
发出温度转换命令
JNB
DQ,$
ACALL RESET_PULSE
ACALL PRESENCE
MOV
A,#0CCH
;
发跳过 ROM命令
ACALL WRITE_BYTE
MOV
A,#0BEH
;
发读存储器命令
ACALL WRITE_BYTE
25
ACALL READ_BYTE
MOV
LSB,A
;
温度值低位字节送 LSB
ACALL READ_BYTE
MOV
MSB,A
;
温度值高位字节送 MSB
ACALL RESET_PULSE
ACALL PRESENCE
MOV
A,MSB
SWAP
A
ANL
A,#70H
MOV
FK,A
MOV
A,LSB
SWAP
A
ANL
A,#0FH
ORL
FK,A
MOV
FK1,FK
RET
***** 读 DS18B20的程序 *******
READ_BYTE:MOV R6,#8
READ1:CLR DQ NOP
NOP SETB DQ NOP NOP NOP MOV R5,A
MOV C,DQ MOV A,R5 MOV R7,#30 DJNZ R7,$
RRC A
26
DJNZ R6,READ1
RET
PRESENCE:JB DQ,$
JNB DQ,$
RET
RESET_PULSE:CLR DQ
MOV R7,#250
DJNZ R7,$
SETB DQ
MOV R7,#10
DJNZ R7,$
RET
;********** 写 DS18B20的程序 *******
WRITE_BYTE:MOV R6,#8
WRITE:RRC A
JC WRITE1
CLR DQ
MOV R7,#30
DJNZ R7,$
SETB DQ
NOP
NOP
NOP
NOP
DJNZ R6,WRITE
RET
WRITE1:CLR DQ
NOP
NOP
NOP
NOP
27
SETB DQ
MOV R7,#30
DJNZ R7,$
DJNZ R6
您可能关注的文档
最近下载
- 心血管-肾脏-代谢综合征患者的综合管理中国专家共识2025解读-1.pptx
- 生态系统课件课件.ppt VIP
- 2024年国网新疆电力有限公司高校毕业生招聘450人(第二批)笔试参考题库附带答案详解.doc
- 关于八项规定主题教育题库(含答案).pdf VIP
- 2025八项规定精神主题教育测试题(含答案).docx VIP
- 深入贯彻中央八项规定精神学习教育知识测试题库(含答案).docx VIP
- 2025年深入贯彻中央八项规定精神学习教育知识竞赛题(附答案)范文.docx VIP
- 关于深入贯彻中央八项规定精神学习教育知识竞赛题(含答案).pdf VIP
- 深入贯彻中央八项规定精神学习教育知识测试题库(含答案)_可搜索.pdf VIP
- 毕业论文-基于单片机的自动避障智能小车控制系统设计.doc VIP
文档评论(0)