⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rec.lst

📁 遥控电扇的红外遥控模块,它的红外解码以及接收源程序.
💻 LST
📖 第 1 页 / 共 4 页
字号:
                     333             
020A D2A0            334             SETB    LLOW                    ;关低'中'高
020C D2A1            335             SETB    MDI
020E D2A2            336             SETB    HIGHT
0210 201145          337             JB      LREC,ZHUAN1             ;查询
0213 201042          338             JB      LKEYON,ZHUAN1           ;查询
0216 91B1            339             CALL    DY10S
                     340             
0218 C2A1            341             CLR     MDI                     ;开中档
021A 20113B          342             JB      LREC,ZHUAN1             ;查询
021D 201038          343             JB      LKEYON,ZHUAN1           ;查询
0220 91B1            344             CALL    DY10S
                     345             
0222 D2A0            346             SETB    LLOW                    ;关低'中'高
0224 D2A1            347             SETB    MDI
0226 D2A2            348             SETB    HIGHT
0228 20112D          349             JB      LREC,ZHUAN1             ;查询
022B 20102A          350             JB      LKEYON,ZHUAN1           ;查询
022E 91B1            351             CALL    DY10S
                     352             
0230 D2A0            353             SETB    LLOW                    ;关低'中'高
0232 D2A1            354             SETB    MDI
0234 D2A2            355             SETB    HIGHT
0236 20111F          356             JB      LREC,ZHUAN1             ;查询
0239 20101C          357             JB      LKEYON,ZHUAN1           ;查询
023C 91B1            358             CALL    DY10S
                     359                     
023E C2A2            360             CLR     HIGHT                   ;开高档
0240 201115          361             JB      LREC,ZHUAN1             ;查询
0243 201012          362             JB      LKEYON,ZHUAN1           ;查询
0246 91B1            363             CALL    DY10S
                     364             
0248 D2A0            365             SETB    LLOW                    ;关低'中'高
024A D2A1            366             SETB    MDI
024C D2A2            367             SETB    HIGHT
024E 201107          368             JB      LREC,ZHUAN1             ;查询
0251 201004          369             JB      LKEYON,ZHUAN1           ;查询
0254 91B1            370             CALL    DY10S
0256 21ED            371             AJMP    SKEEP
0258 C209            372     ZHUAN1: CLR     SMF
025A D20A            373             SETB    ZCF
025C 2123            374     FAN2:   JMP     MAIN            
                     375     ;------------------------------------------------------------------------------
                     376     ;正常风控制     
                     377                     
A51 MACRO ASSEMBLER  REC                                                                  08/06/2005 09:37:33 PAGE     5

025E                 378     SPRING:
                     379             
025E 300A3E          380             JNB     ZCF,FAN3
0261 C20A            381             CLR     ZCF
0263                 382     SPRING1:
0263 D2A0            383             SETB    LLOW                    ;处理正常风,关低'中'高
0265 D2A1            384             SETB    MDI
0267 D2A2            385             SETB    HIGHT
0269 917F            386             CALL    DY20MS
026B C2A0            387             CLR     LLOW                    ;开低档 
026D 20112D          388             JB      LREC,ZHUAN2             ;查询
0270 20102A          389             JB      LKEYON,ZHUAN2           ;查询
0273 91B1            390             CALL    DY10S
                     391             
0275 D2A0            392             SETB    LLOW                    ;关低'中'高
0277 D2A1            393             SETB    MDI
0279 D2A2            394             SETB    HIGHT
027B 12047F          395             LCALL   DY20MS
027E 20111C          396             JB      LREC,ZHUAN2             ;查询
0281 201019          397             JB      LKEYON,ZHUAN2           ;查询
0284 C2A1            398             CLR     MDI                     ;开中档
0286 91B1            399             CALL    DY10S
                     400             
                     401             
0288 D2A0            402             SETB    LLOW                    ;关低'中'高
028A D2A1            403             SETB    MDI
028C D2A2            404             SETB    HIGHT
028E 12047F          405             LCALL   DY20MS
0291 201109          406             JB      LREC,ZHUAN2             ;查询
0294 201006          407             JB      LKEYON,ZHUAN2           ;查询
0297 C2A2            408             CLR     HIGHT                   ;开高档
0299 91B1            409             CALL    DY10S
029B 415E            410             AJMP    SPRING
029D C20A            411     ZHUAN2: CLR     ZCF
029F 2123            412     FAN3:   JMP     MAIN    
                     413                     
                     414     ;------------------------------------------------------------------------------
                     415     ;定时控制
                     416     ;------------------------------------------------------------------------------         
02A1                 417     KEY4:   
02A1 B4042D          418             CJNE    A,#04H,KEY5     ;K4的定时的处理程序
02A4 20010F          419             JB      SJ01,DY1H               
02A7 200215          420             JB      SJ02,DY2H
02AA 20031B          421             JB      SJ03,DY4H
02AD 30001F          422             JNB     SJ00,FAN4
02B0 C200            423             CLR     SJ00
02B2 D28C            424             SETB    TR0                     ;0 5H处理                       
02B4 2123            425             JMP     MAIN
                     426             
02B6                 427     DY1H:   
02B6 300116          428             JNB     SJ01,FAN4
02B9 C201            429             CLR     SJ01
02BB D28C            430             SETB    TR0
02BD 2123            431             JMP     MAIN
                     432                     
02BF                 433     DY2H:   
02BF 30020D          434             JNB     SJ02,FAN4
02C2 C202            435             CLR     SJ02
02C4 D28C            436             SETB    TR0
02C6 2123            437             JMP     MAIN
                     438             
02C8                 439     DY4H:   
02C8 300304          440             JNB     SJ03,FAN4
02CB C202            441             CLR     SJ02
02CD D28C            442             SETB    TR0
02CF 2123            443     FAN4:   JMP     MAIN
A51 MACRO ASSEMBLER  REC                                                                  08/06/2005 09:37:33 PAGE     6

                     444     ;------------------------------------------------------------------------------
                     445     ;开关机
                     446     ;------------------------------------------------------------------------------ 
02D1                 447     KEY5:   
02D1 B40515          448             CJNE    A,#05H,POTHER           ;开关机处理程序
02D4 201208          449             JB      KAI,GUAN
02D7 C2A1            450             CLR     MDI                     
02D9 C281            451             CLR     LED_M                   
02DB D212            452             SETB    KAI
02DD 2123            453             JMP     MAIN                    ;返
                     454             
02DF D2A0            455     GUAN:   SETB    LLOW                    ;关低'中'高
02E1 D2A1            456             SETB    MDI
02E3 D2A2            457             SETB    HIGHT
02E5 C212            458             CLR     KAI
02E7 2123            459             JMP     MAIN
02E9                 460     POTHER:
02E9 2123            461             JMP     MAIN                    ;其他键的不处理直接返回 
                     462     ;==============================================================================
                     463     ;T0定时中断处理
                     464     ;==============================================================================         
02EB                 465     LP0:
02EB C0E0            466             PUSH    ACC                     ;中断处理
02ED C0D0            467             PUSH    PSW
02EF 758C3C          468             MOV     TH0,#3CH                ;定时50MS
02F2 758AB0          469             MOV     TL0,#0B0H
02F5 D5435D          470             DJNZ    CUZHI,GRET              ;1S到后向下执行
02F8 754314          471             MOV     CUZHI,#20                       ;给50MS的寄存器给初值
02FB 0540            472             INC     SEN                     
02FD E540            473             MOV     A,SEN
02FF B43C53          474             CJNE    A,#60,GRET              ;1分钟到后向下执行
0302 0541            475             INC     MIN
0304 E541            476             MOV     A,MIN
                     477             
0306 200113          478             JB      SJ01,LOOP_1H            ;定时1小时的处理
0309 20021F          479             JB      SJ02,LOOP_2H            ;定时2小时的处理
030C 200332          480             JB      SJ03,LOOP_4H            ;定时4小时的处理
030F B41E43          481             CJNE    A,#30,GRET              ;半小时到后向下执行             
0312 7590FF          482             MOV     P1,#0FFH                ;关断所有档位
0315 7580FF          483             MOV     P0,#0FFH
0318 D201            484             SETB    SJ01                    ;将1H的标志位进行置 1
031A 8039            485             JMP     GRET
031C                 486     LOOP_1H:
031C B43C36          487             CJNE    A,#60,GRET              ;1小时到后向下执行
031F 7590FF          488             MOV     P1,#0FFH
0322 7580FF          489             MOV     P0,#0FFH
0325 C201            490             CLR     SJ01                    ;将1H的标志位进行置 0
0327 D202            491             SETB    SJ02                    ;将2H的标志位进行置 1
0329 802A            492             JMP     GRET
032B                 493     LOOP_2H:
032B B43C27          494             CJNE    A,#60,GRET              ;1小时到后向下执行
032E 0542            495             INC     HOUR
0330 E542            496             MOV     A,HOUR
0332 B40220          497             CJNE    A,#2,GRET               
0335 7590FF          498             MOV     P1,#0FFH                ;关断
0338 7580FF          499             MOV     P0,#0FFH
033B C202            500             CLR     SJ02                    ;关断2H的标志位
033D D203            501             SETB    SJ03                    ;将4H的标志位进行置位
033F 8014            502             JMP     GRET                    ;中断返回
0341                 503     LOOP_4H:
0341 B43C11          504             CJNE    A,#60,GRET              ;1小时到后向下执行
0344 0542            505             INC     HOUR
0346 E542            506             MOV     A,HOUR
0348 B4040A          507             CJNE    A,#4,GRET               ;4小时到后向下执行
034B 7590FF          508             MOV     P1,#0FFH                ;关断
034E 7580FF          509             MOV     P0,#0FFH
A51 MACRO ASSEMBLER  REC                                                                  08/06/2005 09:37:33 PAGE     7

0351 C203            510             CLR     SJ03                    ;将4H的标志位进行清零
0353 8000            511             JMP     GRET                    ;中断返回
0355                 512     GRET:   
0355 C28C            513             CLR     TR0
0357 D0D0            514             POP     PSW
0359 D0E0            515             POP     ACC
035B 32              516             RETI
                     517     
                     518     ;============================================================================== 
                     519     ;INT0中断处理程序:对接收数据进行接收                   
                     520     ;==============================================================================
035C                 521     JISH_INT0:
035C C0E0            522             PUSH    ACC
035E C0D0            523             PUSH    PSW
0360 C2A8            524             CLR     EX0                     ;关断中断       
0362 7E0A            525             MOV     R6,#10                  ;避开9MS时间的引导码
0364 91C5            526     SB:     CALL    DY882US
0366 20B239          527             JB      P3.2,EXIT               ;,EX检测为1时退出
0369 DEF9            528             DJNZ    R6,SB                   ;检测为0时,引导码过
036B 30B2FD          529             JNB     P3.2,$;                 ;检测为0时,等待
036E 91D7            530             ACALL   DY4700US                ;避开4。5MS时间的引导码
0370 7F10            531             MOV     R7,#16                  ;避开系统码
0372 30B2FD          532     JJJJA:  JNB     P3.2,$
0375 1204C5          533             LCALL   DY882US
0378 A2B2            534             MOV     C,P3.2                  ;将P3.2送C中
037A 5003            535             JNC     UUUA                    ;若C=0则转
037C 1204CE          536             LCALL   DY1000US
037F DFF1            537     UUUA:   DJNZ    R7,JJJJA
0381 7930            538             MOV     R1,#MRD
0383 7A02            539             MOV     R2,#2
0385 7B08            540     PP:     MOV     R3,#8                   ;右移的次数
0387 30B2FD          541     JJJJ:   JNB     P3.2,$                  ;=0则等
038A 1204C5          542             LCALL   DY882US
038D A2B2            543             MOV     C,P3.2                  ;送C中
038F 5003            544             JNC     UUU
0391 1204CE          545             LCALL   DY1000US
0394 E7              546     UUU:    MOV     A,@R1                   ;送存贮的首址
0395 13              547             RRC     A
0396 F7              548             MOV     @R1,A                   ;送存贮单元中
0397 DBEE            549             DJNZ    R3,JJJJ                 ;完成一个字节,没完则
0399 09              550             INC     R1
039A DAE9            551             DJNZ    R2,PP
039C E530            552             MOV     A,MRD

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -