基于单片机的智能温控风扇(5)

2019-04-09 21:58

附录二 源程序

;******************************************************************** ;精准温度显示温控自动风扇系统 * ;*说明:

;* 1、K1 → 按第一次进入设定低温动作温度值 TL 状态: ;* 2、K1 → 按第二次进入设定高温动作温度值 TH 状态: ;* 3、K1 → 按第三次显示当前温度值

;* 4、设定过程: K2 →加键, K3 →减键,可快速调

; 5、当实时温度值在TL和TH之间时,开启弱风档;当实时温度低于TL时,关闭

风扇;当实时温度高于TH时,开启大风档。每次设置的TH和TL均被保存在 DS18B20的ROM

内,掉不需重新设置. *

;

;******************************************************************** TIMER_L DATA 23H TIMER_H DATA 24H TIMER_COUN DATA 25H

TEMPL DATA 26H TEMPH DATA 27H TEMP_TH DATA 28H TEMP_TL DATA 29H

TEMPHC DATA 2AH TEMPLC DATA 2BH TEMP_ZH DATA 2CH

BEEP EQU P3.7 DATA_LINE EQU P3.3

C1 EQU P3.4 ;C1控制口,接继电器1 C2 EQU P3.5 ;C2控制口,接继电器2

FLAG1 EQU 20H.0 FLAG2 EQU 20H.1

;-------------------------------------------------

17

K1 EQU P1.4 K2 EQU P1.5 K3 EQU P1.6

;================================================= ORG 0000H JMP MAIN

ORG 000BH AJMP INT_T0

;-------------------------------------------------- MAIN: MOV SP,#30H

MOV TMOD,#01H ;T0,方式1 MOV TIMER_L,#00H ;50ms定时值 MOV TIMER_H,#4CH

MOV TIMER_COUN,#00H ;中断计数 MOV IE,#82H ;EA=1,ET0=1 LCALL READ_E2 MOV 20H,#00H SETB BEEP SETB C1 setb C2

MOV 7FH,#0AH ;熄灭符

CALL RESET ;复位与检测DS18B20 JNB FLAG1,MAIN1 JMP START

MAIN1: CALL RESET JB FLAG1,START LCALL BEEP_BL JMP MAIN1 START:

MOV A,#0CCH ; 跳过ROM匹配 CALL WRITE

MOV A,#044H ; 发出温度转换命令

18

CALL WRITE

CALL RESET

MOV A,#0CCH ; 跳过ROM匹配 CALL WRITE

MOV A,#0BEH ; 发出读温度命令 CALL WRITE

CALL READ ;读温度数据 CALL CONVTEMP CALL DISPBCD CALL DISP1 CALL SCANKEY LCALL TEMP_COMP JMP MAIN1

;==================================================== ;功能键扫描子程序

;==================================================== SCANKEY:

MOV P1,#0F0H JB K1,SCAN_K2 CALL BEEP_BL SCAN_K1: CALL ALERT_TL CALL ALERT_PLAY JB K1,SCAN_K1 CALL BEEP_BL SCAN_K11: CALL ALERT_TH CALL ALERT_PLAY JB K1,SCAN_K11 CALL BEEP_BL SCAN_K2: JB K2,SCAN_K3 CALL BEEP_BL SCAN_K3: JB K3,SCAN_END CALL BEEP_BL LCALL RESET_ALERT

19

LCALL RE_18B20 LCALL WRITE_E2 SCAN_END: RET

;================================================ ;设置动作温度值TL,TH

;================================================ RESET_ALERT:

CALL ALERT_TL CALL ALERT_PLAY

JNB K3,$ ;K3 SETB TR0 RESET_TL:

CALL ALERT_PLAY JNB FLAG2,R_TL01

mov 75H,7fh ; mov 76H,7fh CALL ALERT_PLAY JMP R_TL02 R_TL01: CALL ALERT_TL

mov 75h,7Eh ; mov 76h,7Dh

CALL ALERT_PLAY R_TL02: JNB K1,K011A JNB K2,K011B JNB K3,RESET_TH JMP RESET_TL K011A:

INC TEMP_TL MOV A,TEMP_TL

CJNE A,#120,K012A ; MOV TEMP_TL,#0 K012A: CALL TL_DEL JMP RESET_TL K011B:

为位移键 消影 送设定值 没有到设定上限值,转20

MOV A,TEMP_TL

CJNE A,#00H,K ;没有到设定下限值,转

MOV TEMP_TL,#120 K: DEC TEMP_TL K012B: CALL TL_DEL JMP RESET_TL

;------------------------------------------------------- RESET_TH:

CALL BEEP_BL JNB K3,$ RESET_TH1:

CALL ALERT_PLAY JNB FLAG2,R_TH01

mov 75H,7fh ;消影 mov 76H,7fh CALL ALERT_PLAY JMP R_TH02 R_TH01: CALL ALERT_TH

mov 75h,7Eh ; mov 76h,7Dh CALL ALERT_PLAY R_TH02: JNB K1,K021A JNB K2,K021B JNB K3,K002 JMP RESET_TH1 K021A:

INC TEMP_TH MOV A,TEMP_TH

CJNE A,#120,K022A ;没有到设定上限值,转 MOV TEMP_TH,#0 K022A: CALL TH_DEL JMP RESET_TH1

21


基于单片机的智能温控风扇(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:补钠计算

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: