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

📄 rec.lst

📁 基于51单片机的遥控电风扇的红外线接收程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
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     ;键盘处理程序
                     193     ;K1键:完成弱、中、强控制,相应的指示灯点亮
                     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
01C3 201123          297             JB      LREC,ZHUAN0             ;查询
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 + -