编辑: ddzhikoi 2018-11-16

17 ORG 0000H AJMP MAIN ORG 0003H AJMP KEYS ORG 000BH AJMP PTT0 ORG 001BH AJMP PTT1 ;

中断入口及优先级 MAIN: MOV SP,#60H CLR 5EH CLR 5FH ;

清上、 下限越限标志 MOV A,#00H MOV R7,#09H MOV R0,#28H LP1: MOV @R0,A INC R0 DJNZ R7,LP1 MOV R7,#06H MOV R0,#39H LP2: MOV @R0,A INC R0 DJNZ R7,LP2 ;

清变量暂存单元 MOV R7,#06H MOV R0,#50H LP3: MOV @R0,A INC R0 DJNZ R7,LP3 ;

清显示缓冲区 MOV 33H,#00H MOV 34H,#00H ;

赋Kp 高、 低字节 MOV 35H,#00H MOV 36H,#00H ;

赋Ki 高、 低字节 MOV 37H,#00H MOV 38H,#00H ;

赋Kd 高、 低字节 MOV 42H,#00H MOV 43H,#00H ;

赋K高、 低字节( 风 扇参数) MOV TMOD,#56H ;

T0 方式 2, T1 方式

1 计数 MOV TL0,#06H MOV TH0,#06H ;

T0 赋初值 MOV 25H, #28H ;

设定值默认为

40 摄 氏度 SETB TR0 ;

键盘高优先级 SETB ET0 SETB EX0 SETB EA ;

开键盘、 T

0、 T1 中断 LOOP: MOV R0,#56H MOV R1,#55H LCALL SCACOV ;

调用标度转化- BCD 转化子程序 MOV R0,#53H LCALL DIR NOP LCALL DLY10MS NOP LCALL DLY10MS AJMP LOOP ;

等待中断, 循环显示当前温度 温度测控子程序 SMAP: MOV R0,#2CH MOV R1,#03H ;

采样次数 SAM1: MOV DPTR,#7FF8H MOVX @DPTR,A ;

启动 A/D MOV R2,#20H DLY: DJNZ R2,DLY ;

延时一个小的时间段 HERE: JB P3.3,HERE MOV DPTR, #7FF8H MOVX A,@DPTR ;

读取转化结果 MOV @R0,A INC R0 DJNZ R1,SAM1 RET 报警控制子程序 DAAD1: MOV A,#00H ;

加1子程序 ORL A,@R1 ADD A,#01H CJNE A,#64H,DAAD2 ;

判断是否超过 100度DAAD3: MOV @R1,A DAA: RET DAAD2: JC DAAD3 MOV @R1,#00H ;

超过

100 度则回到

0 度AJMP DAA DEEC1: MOV A,@R1 ;

减1子程序 DEC A CJNE A,#00H,DEEC2 ;

判断是否低于

0 度了 DEEC3: MOV @R1,A DEE: RET DEEC2: JNC DEEC3 MOV @R1,#64H ;

低于

0 度则回到

100 度4结束语 该温度控制系统从设计到实际应用, 控制精度比较高、 节省人力, 而且设有超温报警.技术指标和使用环境均可符 合实际工作的要求. 参考文献: [1]李广弟, 等. 单片机基础[M]. 北京: 北京航空航天大 学出版社, 2001. [2]纪天南, 等. 高稳定度恒温控制器模块的设计与应用 [J]. 微计算机信息, 2006, 22(1):49- 51. [3]何立民. 单片机应用文集 1[G]. 北京: 北京航空航天 大学出版社, 1992. 18 ........

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题