简易温度控制器设计
;====变量及常数定义段====
INCLUDE "VARDFN.ASM"
;===============
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INTS
ORG 000BH ;添加变量等定义模块
LJMP T0SER ;转T0中断服务子程序
ORG 002BH
LJMP T2SER
ORG 0030H
MAIN: INCLUDE "INITIAL.ASM" ;添加初始化模块
MLOOP: DJNZ T100MS,A2
MOV T100MS,#25
CLR TR1
MOV R2,TH1
MOV R3,TL1
SETB TR1
MOV TH1,#00H
MOV TL1,#00H
LCALL FTEMP
LCALL FTCTRL
A2: JNB TF0,$ ;4mS到?
CLR TF0 ;清定时标志
MOV TH0,#0F0H ;4mS定时重设
MOV TL0,#60H
LCALL RDKEY ;调用读键状态及去抖处理
LCALL DISP ;调用数码管动态显示
MOV A,STA ;根据状态值散转相应模块
ANL A,#03H
RL A
MOV DPTR,#MTAB
JMP @A+DPTR
MTAB: AJMP WORK0 ;转移到待机模块
AJMP WORK1 ;转移到赋值模块
AJMP WORK2 ;转移到查询模块
AJMP WORK3
AJMP WORK0 ;冗余
;====温度计模块====
WORK0: SETB KKG
MOV R0,#TEMP1
ACALL DSBUDT1
MOV DSB2,#00H
MOV DSB3,#00H
MOV DSB4,#01H
JB ESW1,WK01
JB ESW2,WK02
AJMP MLOOP
WK01: MOV STA,#02H
AJMP MLOOP
WK02: MOV STA,#01H
WK03: AJMP MLOOP
;====设置控制温度模块====
WORK1: SETB KKG
MOV DSB3,#00H
MOV DSB2,#00H
MOV R0,#TEMP0
ACALL DSBUDT1
MOV DSB4,#02H
JNB ESW2,WK11
MOV STA,#00H
SJMP WK13
WK11: CLR A
JB EK0,WK12
INC A
JB EK1,WK12
INC A
JB EK2,WK12
INC A JB EK3,WK12 INC A JB EK4,WK12 INC A JB EK5,WK12 INC A JB EK6,WK12 INC A JB EK7,WK12 ;数据2送显缓 ;LD2亮 ;下次主循环返回WORK0模块 ;查询"0"键 ;查询"1"键 ;查询"2"键 ;查询"3"键 ;查询"4"键 ;查询"5"键 ;查询"6"键 ;查询"7"键
INC A ;查询"8"键
JB EK8,WK12
INC A ;查询"9"键
JNB EK9,WK13
WK12: XCH A,TEMP0 ;键值从数据2的右边移入 SWAP A
ANL A,#0F0H
ORL TEMP0,A
WK13: AJMP MLOOP
;====开关方式温度控制器模块====
WORK2: MOV R1,#TEMP0 ;数据2送显缓
ACALL DSBUDT2
MOV R0,#TEMP1
ACALL DSBUDT1
MOV DSB4,#04H
MOV A,TEMP1
CLR C
SUBB A,TEMP0
JNC WK22
WK21: CLR KKG
SETB LD8
AJMP WK23
WK22: SETB KKG
WK23: JNB ESW1,WK24
MOV STA,#03H
SETB KKG
WK24: AJMP MLOOP
;====脉冲式温度控制模块====
WORK3: SETB EA
MOV R1,#TEMP0
ACALL DSBUDT2
MOV R0,#TEMP1
ACALL DSBUDT1
MOV DSB4,#08H
JNB ESW1,WK31
CLR EA
MOV STA,#00H
WK31: AJMP MLOOP
;====将压缩BCD码送显缓====
DSBUDT1:MOV A,@R0
ANL A,#0FH
MOV DSB0,A
MOV A,@R0
ANL A,#0F0H
SWAP A
MOV DSB1,A
RET
DSBUDT2:MOV A,@R1
ANL A,#0FH
MOV DSB2,A
MOV A,@R1
ANL A,#0F0H
SWAP A
MOV DSB3,A
RET
;====T0中断服务子程序====
;====中断服务子程序====
INTS: ;MOV DSB4,#0AAH
MOV TL2,TCTRL1
MOV TH2,TCTRL0
SETB TR2 ;外部中断;开启T2并允许中断
SETB ET2 ;允许T2中断
CLR TF2
RETI
T2SER: ;MOV DSB4,#55H
CLR KKG ;T2中断触发可控硅
CLR TR2
CLR TF2
CLR ET2
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
SETB KKG
RETI
T0SER: RETI
;====通用子程序段====
INCLUDE "RDKEY.ASM" ;添加读键状态及去抖处理子程序 INCLUDE "DISP.ASM" ;添加数码管动态扫描显示子程序 INCLUDE "FTEMP.ASM" ;脉冲计数值转换温度值子程序 INCLUDE "FTCTRL.ASM" ;求控制时间或T2定时器初值子程序 END
INITIAL:MOV SP,#60H
MOV R0,#20H
MOV R1,#60H
QINGLIN:CLR A
MOV @R0,A
INC R0
DJNZ R1,QINGLIN
MOV KC2,#30
MOV TCMAX0,#0E0H
MOV TCMAX1,#0C0H
MOV SECL,#250
MOV T100MS,#25
MOV TEMP0,#00H
MOV STA,#00H
MOV DSW,#00H
MOV DSB0,#02H
MOV DSB1,#05H
MOV DSB2,#09H
MOV DSB3,#08H
MOV DSB4,#0FFH
MOV TMOD,#51H
SETB TR0
A1: JNB TF0,$
CLR TF0
MOV TH0,#0F0H
MOV TL0,#60H
LCALL DISP
DJNZ SECL,A1
SETB TR1
SETB EX0
SETB IT0
;====读矩阵、独立按键子程序(延时去抖)====
RDKEY: ORL P2,#0FFH ;关闭LED数码显示器
CLR ROW0 ;ROW0=0,扫描K0~3键
NOP ;延时,键盘线越长延时越长
NOP
MOV A,P2
ANL A,#0FH ;K0~3键位保留
XRL A,#0FH ;求反转正逻辑
MOV R6,A ;新的键状态暂存R6
ORL P2,#0FFH ;关闭LED数码显示器
CLR ROW1 ;ROW1=0,扫描K4~7键
NOP ;延时,键盘线越长延时越长
NOP MOV A,P2 ANL A,#0FH XRL A,#0FH SWAP A ADD A,R6 MOV R6,A ORL P2,#0FFH CLR ROW2 NOP NOP MOV A,P2 ;K4~7键位保留 ;求反转正逻辑 ;新的键状态暂存R6 ;关闭LED数码显示器 ;ROW2=0,扫描K8~11键 ;延时,键盘线越长延时越长
ANL A,#03H ;K8~9键位保留
XRL A,#03H ;求反转正逻辑
MOV R7,A ;新的键状态暂存R7
ORL P2,#0FFH ;关闭矩阵键盘
ORL P1,#0C0H
MOV A,P1
ANL A,#0C0H
XRL A,#0C0H
ADD A,R7
MOV R7,A
;读独立按键 ;接独立键盘的位保留 ;求反转正逻辑 CJNE A,KEY0,RDK0 ;键状态变化则转移 CJNE A,KEY1,RDK0
MOV KTMR,#05H ;去抖延时器加载初值 SJMP RDK1
RDK0: MOV A,KTMR ;过了延时时间?
JZ RDK1
DEC KTMR ;延时未结束
MOV R7,KEY1 ;放弃不稳定的键状态
MOV R6,KEY0
RDK1: MOV A,KEY1 ;键前沿提取
XRL A,R7
ANL A,R7
MOV EKEY1,A
MOV KEY1,R7 ;启用键的新状态
MOV A,KEY0 ;键前沿提取
XRL A,R6
ANL A,R6
MOV EKEY0,A
MOV KEY0,R6 ;启用键的新状态
RET
;====脉冲计数值查表转换为温度==== …… 此处隐藏:3318字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [资格考试]石油钻采专业设备项目可行性研究报告编
- [资格考试]2012-2013学年度第二学期麻风病防治知
- [资格考试]道路勘测设计 绪论
- [资格考试]控烟戒烟知识培训资料
- [资格考试]建设工程安全生产管理(三类人员安全员
- [资格考试]photoshop制作茶叶包装盒步骤平面效果
- [资格考试]授课进度计划表封面(09-10下施工)
- [资格考试]麦肯锡卓越工作方法读后感
- [资格考试]2007年广西区农村信用社招聘考试试题
- [资格考试]软件实施工程师笔试题
- [资格考试]2014年初三数学复习专练第一章 数与式(
- [资格考试]中国糯玉米汁饮料市场发展概况及投资战
- [资格考试]塑钢门窗安装((专项方案)15)
- [资格考试]初中数学答题卡模板2
- [资格考试]2015-2020年中国效率手册行业市场调查
- [资格考试]华北电力大学学习实践活动领导小组办公
- [资格考试]溃疡性结肠炎研究的新进展
- [资格考试]人教版高中语文1—5册(必修)背诵篇目名
- [资格考试]ISO9001-2018质量管理体系最新版标准
- [资格考试]论文之希尔顿酒店集团进入中国的战略研
- 全国中小学生转学申请表
- 《奇迹暖暖》17-支2文学少女小满(9)公
- 2019-2020学年八年级地理下册 第六章
- 2005年高考试题——英语(天津卷)
- 无纺布耐磨测试方法及标准
- 建筑工程施工劳动力安排计划
- (目录)中国中央空调行业市场深度调研分
- 中国期货价格期限结构模型实证分析
- AutoCAD 2016基础教程第2章 AutoCAD基
- 2014-2015学年西城初三期末数学试题及
- 机械加工工艺基础(完整版)
- 归因理论在管理中的应用[1]0
- 突破瓶颈 实现医院可持续发展
- 2014年南京师范大学商学院决策学招生目
- 现浇箱梁支架预压报告
- Excel_2010函数图表入门与实战
- 人教版新课标初中数学 13.1 轴对称 (
- Visual Basic 6.0程序设计教程电子教案
- 2010北京助理工程师考试复习《建筑施工
- 国外5大医疗互联网模式分析




