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

📄 main.lis

📁 基于单片机的短信报警机
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 0132                   .dbline 33
 0132 FA01              movw R30,R20
 0134 2080              ldd R2,z+0
 0136 2220              tst R2
 0138 B9F7              brne L40
 013A                   .dbline 38
 013A 0DE0              ldi R16,13
 013C EEDF              rcall _putchar
 013E                   .dbline 39
 013E 0AE0              ldi R16,10
 0140 ECDF              rcall _putchar
 0142                   .dbline -2
 0142           L39:
 0142 00D0              rcall pop_gset1
 0144                   .dbline 0 ; func end
 0144 0895              ret
 0146                   .dbsym r s 20 pc
 0146                   .dbend
 0146                   .dbfunc e putgmgr _putgmgr fV
 0146           ;              s -> R20,R21
                        .even
 0146           _putgmgr::
 0146 00D0              rcall push_gset1
 0148 A801              movw R20,R16
 014A                   .dbline -1
 014A                   .dbline 42
 014A 05C0              rjmp L45
 014C           L44:
 014C                   .dbline 44
 014C                   .dbline 45
 014C FA01              movw R30,R20
 014E 0081              ldd R16,z+0
 0150 E4DF              rcall _putchar
 0152                   .dbline 46
 0152 4F5F              subi R20,255  ; offset = 1
 0154 5F4F              sbci R21,255
 0156                   .dbline 47
 0156           L45:
 0156                   .dbline 43
 0156 FA01              movw R30,R20
 0158 2080              ldd R2,z+0
 015A 2220              tst R2
 015C B9F7              brne L44
 015E                   .dbline 48
 015E 0AE1              ldi R16,26
 0160 DCDF              rcall _putchar
 0162                   .dbline -2
 0162           L43:
 0162 00D0              rcall pop_gset1
 0164                   .dbline 0 ; func end
 0164 0895              ret
 0166                   .dbsym r s 20 pc
 0166                   .dbend
 0166                   .dbfunc e Bj_rx _Bj_rx fc
 0166           ;        count_1 -> R20
 0166           ;           data -> R18
 0166           ;       addrss_1 -> R16
                        .even
 0166           _Bj_rx::
 0166 00D0              rcall push_gset1
 0168 4A81              ldd R20,y+2
 016A                   .dbline -1
 016A                   .dbline 58
 016A                   .dbline 59
 016A 0CC0              rjmp L51
 016C           L48:
 016C                   .dbline 60
 016C                   .dbline 62
 016C 80E0              ldi R24,<_Uart
 016E 90E0              ldi R25,>_Uart
 0170 E42F              mov R30,R20
 0172 FF27              clr R31
 0174 E80F              add R30,R24
 0176 F91F              adc R31,R25
 0178 2080              ldd R2,z+0
 017A 2216              cp R2,R18
 017C 11F4              brne L52
 017E                   .dbline 63
 017E 042F              mov R16,R20
 0180 04C0              rjmp L47
 0182           L52:
 0182                   .dbline 64
 0182           L49:
 0182                   .dbline 59
 0182 4395              inc R20
 0184           L51:
 0184                   .dbline 59
 0184 4017              cp R20,R16
 0186 90F3              brlo L48
 0188                   .dbline 65
 0188 0027              clr R16
 018A                   .dbline -2
 018A           L47:
 018A 00D0              rcall pop_gset1
 018C                   .dbline 0 ; func end
 018C 0895              ret
 018E                   .dbsym r count_1 20 c
 018E                   .dbsym r data 18 c
 018E                   .dbsym r addrss_1 16 c
 018E                   .dbend
 018E                   .dbfunc e CopyStr _CopyStr fpc
 018E           ;              s -> R18,R19
 018E           ;              p -> R16,R17
                        .even
 018E           _CopyStr::
 018E                   .dbline -1
 018E                   .dbline 76
 018E           L55:
 018E                   .dbline 78
 018E                   .dbline 79
 018E F901              movw R30,R18
 0190 D801              movw R26,R16
 0192 0190              ld R0,Z+
 0194 9F01              movw R18,R30
 0196 0D92              st X+,R0
 0198 8D01              movw R16,R26
 019A                   .dbline 80
 019A           L56:
 019A                   .dbline 81
 019A F901              movw R30,R18
 019C 2080              ldd R2,z+0
 019E 3324              clr R3
 01A0 2220              tst R2
 01A2 19F0              breq L58
 01A4 822D              mov R24,R2
 01A6 8D30              cpi R24,13
 01A8 91F7              brne L55
 01AA           L58:
 01AA                   .dbline 82
 01AA           ;  }                             
 01AA 2224              clr R2
 01AC F801              movw R30,R16
 01AE 2082              std z+0,R2
 01B0                   .dbline 83
 01B0           ; 
 01B0                   .dbline -2
 01B0           L54:
 01B0                   .dbline 0 ; func end
 01B0 0895              ret
 01B2                   .dbsym r s 18 pc
 01B2                   .dbsym r p 16 pc
 01B2                   .dbend
 01B2                   .dbfunc e ReadTime _ReadTime fi
 01B2           ;           temp -> R20,R21
 01B2           ;        tempval -> R12,R13
 01B2           ;       bitcount -> R20
 01B2           ;            val -> R22,R23
 01B2           ;          count -> R14
 01B2           ;              p -> R10,R11
                        .even
 01B2           _ReadTime::
 01B2 00D0              rcall push_gset5
 01B4 5801              movw R10,R16
 01B6                   .dbline -1
 01B6                   .dbline 95
 01B6           ; /**************************************************
 01B6           ; *原型:void init_devices(void)
 01B6           ; *功能:初始化
 01B6           ; *参数:无
 01B6           ; *返回:无
 01B6           ; **************************************************/
 01B6           ; void init_devices(void)
 01B6           ; {   
 01B6           ;     watchdog_init(); //设置WDT
 01B6           ;     port_init();     //I/O口定义    
 01B6           ;       timer1_init();  
 01B6           ;       InitUART( 23 );   //19.2 to 7.3728M
 01B6                   .dbline 97
 01B6           ;       Time.Sec = timesec;//定时器赋初值
 01B6           ;       TIMSK = 0X04;//开T1定时
 01B6 41E0              ldi R20,1
 01B8 50E0              ldi R21,0
 01BA                   .dbline 98
 01BA           ;       _SEI(); 
 01BA 6627              clr R22
 01BC 7727              clr R23
 01BE                   .dbline 100
 01BE           ;  }
 01BE           ; /*******************************************/
 01BE 4427              clr R20
 01C0 10C0              rjmp L61
 01C2           L60:
 01C2                   .dbline 103
 01C2                   .dbline 104
 01C2 F501              movw R30,R10
 01C4 E190              ld R14,Z+
 01C6 5F01              movw R10,R30
 01C8                   .dbline 105
 01C8 8E2D              mov R24,R14
 01CA 8053              subi R24,48
 01CC E82E              mov R14,R24
 01CE                   .dbline 106
 01CE 0AE0              ldi R16,10
 01D0 10E0              ldi R17,0
 01D2 9B01              movw R18,R22
 01D4 00D0              rcall empy16s
 01D6 6801              movw R12,R16
 01D8                   .dbline 107
 01D8 6E2D              mov R22,R14
 01DA 7727              clr R23
 01DC 600F              add R22,R16
 01DE 711F              adc R23,R17
 01E0                   .dbline 108
 01E0 4395              inc R20
 01E2                   .dbline 109
 01E2           L61:
 01E2                   .dbline 102
 01E2           ; void main( void )
 01E2           ;       {
 01E2 F501              movw R30,R10
 01E4 8081              ldd R24,z+0
 01E6 8232              cpi R24,34
 01E8 11F0              breq L63
 01EA 4430              cpi R20,4
 01EC 50F3              brlo L60
 01EE           L63:
 01EE                   .dbline 110
 01EE           ;        delay_ms(100);
 01EE           ;        init_devices();          //系统初始化
 01EE           ;      watchdog_task();         //判 断是否WDT溢出
 01EE           ;     
 01EE           ;        WorkCount = LINE;
 01EE           ; 
 01EE           ;        while ( 1 )
 01EE           ;               { 
 01EE 8B01              movw R16,R22
 01F0                   .dbline -2
 01F0           L59:
 01F0 00D0              rcall pop_gset5
 01F2                   .dbline 0 ; func end
 01F2 0895              ret
 01F4                   .dbsym r temp 20 i
 01F4                   .dbsym r tempval 12 i
 01F4                   .dbsym r bitcount 20 c
 01F4                   .dbsym r val 22 i
 01F4                   .dbsym r count 14 c
 01F4                   .dbsym r p 10 pc
 01F4                   .dbend
 01F4                   .dbfunc e Save_tel _Save_tel fV
 01F4           ;              i -> R10
 01F4           ;              p -> R22,R23
 01F4           ;          count -> R20
                        .even
 01F4           _Save_tel::
 01F4 00D0              rcall push_gset3
 01F6 B901              movw R22,R18
 01F8 402F              mov R20,R16
 01FA                   .dbline -1
 01FA                   .dbline 120
 01FA           ;                WDR();
 01FA           ;                if(Time.Bz)            
 01FA           ;                                                        Time1Task();
 01FA           ;                if(DealTxUartBz)     //处理发送缓冲区
 01FA           ;                                                DealTx();
 01FA           ;                if(DealRxUartBz)        //处理串口接收缓冲区 
 01FA           ;                                                        DealRxBuf(UART_RXHEAD);
 01FA           ;                
 01FA           ;               }
 01FA           ;       }
 01FA                   .dbline 121
 01FA           ; /* #endif */
 01FA AA24              clr R10
 01FC                   .dbline 123
 01FC           ; /* #endif */
 01FC           ; /* #endif */
 01FC 4395              inc R20
 01FE                   .dbline 125
 01FE           ; /* #endif */
 01FE           ; /* #endif */
 01FE 81E4              ldi R24,65
 0200 FB01              movw R30,R22
 0202 8193              st Z+,R24
 0204                   .dbline 126
 0204           ; /* #endif */
 0204 84E5              ldi R24,84
 0206 8193              st Z+,R24
 0208                   .dbline 127
 0208           ; /* #endif */
 0208 84E4              ldi R24,68
 020A 8193              st Z+,R24
 020C BF01              movw R22,R30
 020E 0EC0              rjmp L66
 0210           L65:
 0210                   .dbline 129
 0210           ; /* #endif */
 0210           ; /* #endif */
 0210                   .dbline 130
 0210           ; /* #endif */
 0210 8A2D              mov R24,R10
 0212 8E31              cpi R24,30
 0214 50F4              brsh L68
 0216                   .dbline 131
 0216           ; /* #endif */
 0216 80E0              ldi R24,<_Uart
 0218 90E0              ldi R25,>_Uart
 021A E42F              mov R30,R20
 021C FF27              clr R31
 021E E80F              add R30,R24
 0220 F91F              adc R31,R25
 0222 2080              ldd R2,z+0
 0224 FB01              movw R30,R22
 0226 2192              st Z+,R2
 0228 BF01              movw R22,R30
 022A           L68:
 022A                   .dbline 132
 022A 4395              inc R20
 022C                   .dbline 133
 022C           L66:
 022C                   .dbline 128
 022C 80E0              ldi R24,<_Uart
 022E 90E0              ldi R25,>_Uart
 0230 E42F              mov R30,R20
 0232 FF27              clr R31
 0234 E80F              add R30,R24
 0236 F91F              adc R31,R25
 0238 2080              ldd R2,z+0
 023A 3324              clr R3
 023C 822D              mov R24,R2
 023E 8232              cpi R24,34
 0240 11F0              breq L70
 0242 8A32              cpi R24,42
 0244 29F7              brne L65
 0246           L70:
 0246                   .dbline 134
 0246           ; /* #endif */
 0246           ; /* #endif */
 0246           ; /* #endif */
 0246 8BE3              ldi R24,59
 0248 FB01              movw R30,R22
 024A 8193              st Z+,R24
 024C BF01              movw R22,R30
 024E                   .dbline 135
 024E           ; /* #endif */
 024E 2224              clr R2
 0250 2082              std z+0,R2
 0252                   .dbline 137
 0252           ; /* #endif */
 0252           ; /* #endif */
 0252 80E0              ldi R24,<_Uart
 0254 90E0              ldi R25,>_Uart
 0256 E42F              mov R30,R20
 0258 FF27              clr R31
 025A E80F              add R30,R24
 025C F91F              adc R31,R25
 025E 8081              ldd R24,z+0
 0260 8A32              cpi R24,42
 0262 69F4              brne L71
 0264                   .dbline 138
 0264           ; /* #endif */
 0264                   .dbline 139
 0264           ; /* #endif */
 0264 4395              inc R20
 0266                   .dbline 140
 0266           ; /* #endif */
 0266 80E0              ldi R24,<_Uart
 0268 90E0              ldi R25,>_Uart
 026A 042F              mov R16,R20
 026C 1127              clr R17
 026E 080F              add R16,R24
 0270 191F              adc R17,R25
 0272 9FDF              rcall _ReadTime
 0274 10930500          sts _Time+1+1,R17
 0278 00930400          sts _Time+1,R16
 027C                   .dbline 141
 027C           ; /* #endif */
 027C 06C0              rjmp L72
 027E           L71:
 027E                   .dbline 143
 027E                   .dbline 144
 027E 2224              clr R2
 0280 3324              clr R3
 0282 30920500          sts _Time+1+1,R3
 0286 20920400          sts _Time+1,R2
 028A                   .dbline 145
 028A           L72:
 028A                   .dbline -2
 028A           L64:
 028A 00D0              rcall pop_gset3
 028C                   .dbline 0 ; func end
 028C 0895              ret
 028E                   .dbsym r i 10 c
 028E                   .dbsym r p 22 pc
 028E                   .dbsym r count 20 c
 028E                   .dbend
                        .area vector(rom, abs)
                        .org 22
 0016 47C1              rjmp _UART_RX_interrupt
                        .area text(rom, con, rel)
 028E                   .dbfile D:\MEGA8\西门子3508\3508呼死你/uartnews.h
 028E                   .dbfunc e UART_RX_interrupt _UART_RX_interrupt fV
 028E           ;            hz1 -> R16
 028E           ;           data -> R18
                        .even
 028E           _UART_RX_interrupt::
 028E 2A92              st -y,R2
 0290 0A93              st -y,R16
 0292 2A93              st -y,R18
 0294 8A93              st -y,R24
 0296 9A93              st -y,R25
 0298 EA93              st -y,R30
 029A FA93              st -y,R31
 029C 2FB6              in R2,0x3f
 029E 2A92              st -y,R2
 02A0                   .dbline -1
 02A0                   .dbline 156
 02A0           ; 碕

⌨️ 快捷键说明

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