LJMP STOP RET
系统初始化时钟 SYSCLK_Init:
MOV OSCICN,#05H 系统时钟初始化为片内的4MHZ时钟 RET
通用I/O口及交叉开关初始化 PORT_Init: CLR A MOV XBR0,A 没有选择数字外设 MOV P74OUT,#0F0H P4口-P7口设为推拉方式 RET
LCD初始化,写命令操作 LCD_Init: LCALL Delay MOV P7,#038H MOV P6,#01H MOV P6,#0H LCALL Delay
MOV P7 ,#0EH MOV P6,#01H MOV P6,#0H LCALL Delay MOV P7,#06H MOV P6,01H MOV P6,#0H LCALL Delay MOV P7,#01H MOV P6,#01H MOV P6,#0H LCALL Delay
RET 延时程序 Delay:
MOV R7,#04H Delay1:
MOV R6,#08H Delay0:
MOV R5,#00H DJNZ R5,$ DJNZ R6,Delay0 DJNZ R7,Delay1 RET
Netdata:DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,2EH,20H,63H,57H
13
END
显示器显示的是ASCII码,显示程序用的是查表方式
4.6.4.报警程序
温度报警程序
CLR C
MOV A,38H SUBB A,#06H JC LL MOV A,#0FEH
MOV P1.1 ,A L1灯亮 LCALL DELAY LCALL DELAY
LL: MOV A,37H
MOVC A ,@A+DPTR MOV P7,A MOV P6,#05H MOV P6,#04H LCALL Delay 调用延时程序 LCALL Delay LCALL Delay LCALL Delay LCALL Delay LCALL Delay
RETI
这里介绍的报警部分,都是与第一位比较,所以说这两个报警程序都是大于3时进行报警,标志就是相应的灯亮
14
5.工作过程分析
本次课程设计主要有测温,控温,显示,A/D转换,报警和程序设计六部分构成,实现了孵化室的温度控制。使温度保持在36-42℃,温度低时启动电热器加热,温度高时,启动空调冷却。报警指示,当温度大于42℃或低于36℃时,用声光报警。
首先由测温传感器LM35进行温度测量,将测量的温度信号传进温控器LM56中,再将温度信号传进A/D转换器,使模拟信号转换成数字信号,数字信号进入单片机后,由程序控制温度是否在范围之内,决定是否进行报警以及加热器加热或者空调制冷
15
6.元器件清单
名称 温度传感器 电容 电阻 发光二极管 转换器 数码管 单片机 运算放大器 A/D转换器 蜂鸣器 继电器 温度控制器 三极管 空调 加热器 型号 LM35 C8051F020 ADC0809 LM56 数量 1 4 11 1 1 4 1 1 1 1 4 1 4 1 1
16
相关推荐: