?? rec.lst
字號:
A51 MACRO ASSEMBLER REC 08/06/2005 09:37:33 PAGE 1
MACRO ASSEMBLER A51 V7.09
OBJECT MODULE PLACED IN REC.OBJ
ASSEMBLER INVOKED BY: C:\Keil70\C51\BIN\A51.EXE REC.ASM NOMOD51 SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 ;========================電風扇紅外接收(控制板)程序===========
2 ;用89C51單片機來作主芯片控制,采用紅外1838接收頭,可控硅采用MC97A6
3 ;風扇具有紅外遙控功能
4 ;K1:低檔,相應的指示燈亮 ,中檔,相應的指示燈亮 , 高檔,相應的指示燈亮
5 ;K2:彩燈,相應的指示燈亮
6 ;K3:自然風控制 睡眠風的控制 正常風的控制
7 ;K4:定時30分鐘,1小時,2小時,4小時
8 ;K5:開關機功能
9 ;自然風的處理流程:停--->開低檔--->延時6秒--->開中檔-->
10 ;延時6秒--->開高檔--->循環
11 ;睡眠風的處理流程:停6S--->開低檔10S--->停延時10S-->開中檔10S-->
12 ;停延時10S-->開高檔10S--->循環
13 ;正常風的處理流程:開低檔10S--> 開中檔10S--> 開高檔10S---> 循環
14
15 ;==========================================================
16 ;$include (REG51.INC)
+1 17 ;-------------------------------------------------------------------------------
+1 18 ; Copyright 1995-1996 KEIL Software, Inc.
+1 19 ; 8051 Processor Declarations
+1 20 ;-------------------------------------------------------------------------------
+1 21 +1 $save
+1 97 +1 $restore
+1 98
99
100 ;$include (89C51RAM.INC)
+1 101 ;-------------------------------------------------------------------------------
+1 102 ;89C51的RAM分配
+1 103
+1 104 ;-------------------------------------------------------------------------------
+1 105 +1 $save
+1 152 +1 $restore
153
0000 154 ORG 0000H
0000 2100 155 JMP START
0003 156 ORG 0003H
0003 615C 157 JMP JISH_INT0 ;紅外遙控中斷設置
000B 158 ORG 000BH
000B 41EB 159 JMP LP0 ;定時中斷
0013 160 ORG 0013H
0013 61AB 161 JMP KEY_INT1 ;按鍵中斷
0100 162 ORG 0100H
0100 163 START:
0100 787F 164 MOV R0,#7FH ;預使用單元清0
0102 E4 165 CLR A
0103 166 MAIN0:
0103 F6 167 MOV @R0,A
0104 D8FD 168 DJNZ R0,MAIN0
169
0106 758160 170 MOV SP,#60H
0109 758901 171 MOV TMOD,#01H
010C 758C3C 172 MOV TH0,#3CH ;定時50MS
010F 758AB0 173 MOV TL0,#0B0H
174
0112 D2A0 175 SETB LLOW ;關低風
0114 D2A1 176 SETB MDI ;關中風
0116 D2A2 177 SETB HIGHT ;關高風
0118 D2A3 178 SETB LLAP ;關彩燈
011A 7580FF 179 MOV P0,#0FFH ;關所有的指示燈
A51 MACRO ASSEMBLER REC 08/06/2005 09:37:33 PAGE 2
180
011D D2A8 181 SETB EX0
011F D2AA 182 SETB EX1
0121 D2AF 183 SETB EA ;CPU開中
184
0123 201005 185 MAIN: JB LKEYON,KEYHANDLE ;檢按鍵標志位
0126 200602 186 JB REC,KEYHANDLE ;檢接收中斷標志位
187
0129 80F8 188 JMP MAIN ;轉主程序
189
190 ;==============================================================================
191 ;鍵值的處理的程序
192 ;鍵盤處理程序
194 ;K2鍵:完成彩燈控制,相應的指示燈點亮
195 ;K3鍵:完成自然風、睡眠風、正常風的控制,相應的指示燈點亮
196 ;K4鍵:完成定時的控制,同時0.5H,1H,2H,4H,相應的指示燈點亮
197 ;K5鍵:開/關機
198 ;==============================================================================
012B 199 KEYHANDLE:
012B C210 200 CLR LKEYON
012D C211 201 CLR LREC
012F E530 202 MOV A,MRD
203
0131 B40144 204 CJNE A,#01H,KEY2 ;當鍵值=01H時,
205 ;------------------------------------------------------------------------------
206 ;低、中、高、的控制
207 ;------------------------------------------------------------------------------
0134 200408 208 KEY1: JB DANG01,DIFENG
0137 200518 209 JB DANG02,ZHONGFENG ;DANG02 中檔標志位
013A 200628 210 JB DANG03,QIANGFENG ;DANG03 強檔標志位
013D 80E4 211 JMP MAIN
212 ;------------------------------------------------------------------------------
213 ;低檔控制
013F 214 DIFENG:
013F 30040E 215 JNB DANG01,FAN0
0142 D2A0 216 SETB LLOW ;完成了低檔的程序,關低
0144 D2A1 217 SETB MDI ;關中
0146 D2A2 218 SETB HIGHT ;關高
0148 917F 219 CALL DY20MS ;保證三個SCR全部為關斷狀態
014A C2A0 220 CLR LLOW ;開低風
014C C280 221 CLR LED_L ;開低檔指示燈
014E C204 222 CLR DANG01
0150 80D1 223 FAN0: JMP MAIN
224
225 ;------------------------------------------------------------------------------
226 ;中檔控制
0152 227 ZHONGFENG:
228
0152 3005FB 229 JNB DANG02,FAN0
0155 D2A0 230 SETB LLOW ;關低
0157 D2A1 231 SETB MDI ;關中
0159 D2A2 232 SETB HIGHT ;關高
015B 917F 233 CALL DY20MS ;保證三個SCR全部為關斷狀態
015D C2A1 234 CLR MDI
015F C281 235 CLR LED_M
0161 C205 236 CLR DANG02
237
0163 2123 238 AJMP MAIN ;跳轉到
239 ;------------------------------------------------------------------------------
240 ;高檔控制
0165 241 QIANGFENG:
242
0165 3006E8 243 JNB DANG03,FAN0
0168 D2A0 244 SETB LLOW ;關低
016A D2A1 245 SETB MDI ;關中
A51 MACRO ASSEMBLER REC 08/06/2005 09:37:33 PAGE 3
016C D2A2 246 SETB HIGHT ;關高
016E 917F 247 CALL DY20MS ;保證三個SCR全部為關斷狀態
0170 C2A2 248 CLR HIGHT
0172 C282 249 CLR LED_H
0174 C206 250 CLR DANG03
0176 2123 251 AJMP MAIN ;跳轉到
252 ;------------------------------------------------------------------------------
253 ;彩燈控制
254 ;------------------------------------------------------------------------------
0178 255 KEY2:
0178 B40213 256 CJNE A,#02H,KEY3 ;K4的處理程序 彩燈的處理程序
017B 201308 257 JB PLAP,LED1
017E C2A3 258 CLR LLAP ;第一次按時將彩燈打開,
0180 C283 259 CLR LED_LAP
0182 D213 260 SETB PLAP
0184 809D 261 JMP MAIN ;返回
0186 D2A3 262 LED1: SETB LLAP ;第二次按時將彩燈關斷
0188 D283 263 SETB LED_LAP
018A C213 264 CLR PLAP
018C 8095 265 JMP MAIN ;跳轉到
266 ;------------------------------------------------------------------------------
267 ;風類處理過程
268 ;------------------------------------------------------------------------------
018E 269 KEY3:
018E B4030B 270 CJNE A,#03H,KEY4_A ;K3的處理程序處理風類
0191 200959 271 JB SMF,SKEEP
0194 200A07 272 JB ZCF,SPRING_A
0197 200806 273 JB ZRF,WATERM
019A 8087 274 JMP MAIN
019C 41A1 275 KEY4_A:JMP KEY4
019E 276 SPRING_A:
019E 415E 277 JMP SPRING
278 ;------------------------------------------------------------------------------
279 ;自然風控制
01A0 280 WATERM:
01A0 300848 281 JNB ZRF,FAN1
01A3 C208 282 CLR ZRF
01A5 D2A0 283 SETB LLOW ;處理自然風,關低'中'高
01A7 D2A1 284 SETB MDI
01A9 D2A2 285 SETB HIGHT
01AB 20113B 286 JB LREC,ZHUAN0 ;查詢
01AE 201038 287 JB LKEYON,ZHUAN0 ;查詢
01B1 918D 288 CALL DY6S
01B3 C2A0 289 CLR LLOW
01B5 201131 290 JB LREC,ZHUAN0 ;查詢
01B8 20102E 291 JB LKEYON,ZHUAN0 ;查詢
01BB 918D 292 CALL DY6S
293
01BD D2A0 294 SETB LLOW ;關低'中'高
01BF D2A1 295 SETB MDI
01C1 D2A2 296 SETB HIGHT
01C6 201020 298 JB LKEYON,ZHUAN0 ;查詢
01C9 917F 299 CALL DY20MS
01CB C2A1 300 CLR MDI
01CD 201119 301 JB LREC,ZHUAN0 ;查詢
01D0 201016 302 JB LKEYON,ZHUAN0 ;查詢
01D3 918D 303 CALL DY6S
304
01D5 D2A0 305 SETB LLOW ;關低'中'高
01D7 D2A1 306 SETB MDI
01D9 D2A2 307 SETB HIGHT
01DB 20110B 308 JB LREC,ZHUAN0 ;查詢
01DE 201008 309 JB LKEYON,ZHUAN0 ;查詢
01E1 917F 310 CALL DY20MS
01E3 C2A2 311 CLR HIGHT
A51 MACRO ASSEMBLER REC 08/06/2005 09:37:33 PAGE 4
01E5 918D 312 CALL DY6S
01E7 21A0 313 AJMP WATERM
01E9 D209 314 ZHUAN0: SETB SMF
01EB 2123 315 FAN1: JMP MAIN
316
317 ;------------------------------------------------------------------------------
318 ;睡眠風控制
01ED 319 SKEEP:
320
01ED 30096C 321 JNB SMF,FAN2
01F0 C209 322 CLR SMF
01F2 D2A0 323 SLEEP1: SETB LLOW ;處理睡眠風,關低'中'高
01F4 D2A1 324 SETB MDI
01F6 D2A2 325 SETB HIGHT
01F8 20115D 326 JB LREC,ZHUAN1 ;查詢
01FB 20105A 327 JB LKEYON,ZHUAN1 ;查詢
01FE 918D 328 CALL DY6S
0200 C2A0 329 CLR LLOW ;開低檔
0202 201153 330 JB LREC,ZHUAN1 ;查詢
0205 201050 331 JB LKEYON,ZHUAN1 ;查詢
0208 91B1 332 CALL DY10S
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -