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

📄 btm48.lis

📁 AVR ICC基于AVR单片机的LED显示程序!
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 00FA                   .dbline 94
 00FA 0FE7              ldi R16,127
 00FC 8EDF              rcall _DAT
 00FE                   .dbline 94
 00FE 02EE              ldi R16,226
 0100 10E0              ldi R17,0
 0102 C4DF              rcall _del
 0104                   .dbline 94
 0104 4098              cbi 0x8,0
 0106                   .dbline 94
 0106 0FEF              ldi R16,255
 0108 88DF              rcall _DAT
 010A                   .dbline 94
 010A 05E0              ldi R16,5
 010C 10E0              ldi R17,0
 010E BEDF              rcall _del
 0110                   .dbline 94
 0110 0CC0              rjmp L25
 0112           L30:
 0112                   .dbline 95
 0112           ;  port_init();
 0112 439A              sbi 0x8,3
 0114                   .dbline 95
 0114 0FE7              ldi R16,127
 0116 81DF              rcall _DAT
 0118                   .dbline 95
 0118 02EE              ldi R16,226
 011A 10E0              ldi R17,0
 011C B7DF              rcall _del
 011E                   .dbline 95
 011E 4398              cbi 0x8,3
 0120                   .dbline 95
 0120 0FEF              ldi R16,255
 0122 7BDF              rcall _DAT
 0124                   .dbline 95
 0124 05E0              ldi R16,5
 0126 10E0              ldi R17,0
 0128 B1DF              rcall _del
 012A                   .dbline 95
 012A           L24:
 012A           L25:
 012A                   .dbline -2
 012A           L23:
 012A 00D0              rcall pop_gset1
 012C                   .dbline 0 ; func end
 012C 0895              ret
 012E                   .dbsym r dou 20 c
 012E                   .dbend
 012E                   .dbfunc e A _A fV
                        .even
 012E           _A::
 012E                   .dbline -1
 012E                   .dbline 100
 012E           ;  watchdog_init();
 012E           ;  adc_init();
 012E           ; 
 012E           ;  MCUCR = 0x00;
 012E           ;  EICRA = 0x00; //extended ext ints
 012E                   .dbline 101
 012E           ;  EIMSK = 0x00;
 012E 2A9A              sbi 0x5,2
 0130                   .dbline 101
 0130 80E0              ldi R24,<_shu
 0132 90E0              ldi R25,>_shu
 0134 E0910C00          lds R30,_tm
 0138 FF27              clr R31
 013A E80F              add R30,R24
 013C F91F              adc R31,R25
 013E 0081              ldd R16,z+0
 0140 6CDF              rcall _DAT
 0142                   .dbline 101
 0142 04EB              ldi R16,180
 0144 10E0              ldi R17,0
 0146 A2DF              rcall _del
 0148                   .dbline 101
 0148 2A98              cbi 0x5,2
 014A                   .dbline 101
 014A 0FEF              ldi R16,255
 014C 66DF              rcall _DAT
 014E                   .dbline 101
 014E 05E0              ldi R16,5
 0150 10E0              ldi R17,0
 0152 9CDF              rcall _del
 0154                   .dbline 101
 0154 A895              wdr
 0156                   .dbline 102
 0156           ;  
 0156 2B9A              sbi 0x5,3
 0158                   .dbline 102
 0158 80E0              ldi R24,<_shu
 015A 90E0              ldi R25,>_shu
 015C E0910D00          lds R30,_tm+1
 0160 FF27              clr R31
 0162 E80F              add R30,R24
 0164 F91F              adc R31,R25
 0166 0081              ldd R16,z+0
 0168 58DF              rcall _DAT
 016A                   .dbline 102
 016A 04EB              ldi R16,180
 016C 10E0              ldi R17,0
 016E 8EDF              rcall _del
 0170                   .dbline 102
 0170 2B98              cbi 0x5,3
 0172                   .dbline 102
 0172 0FEF              ldi R16,255
 0174 52DF              rcall _DAT
 0176                   .dbline 102
 0176 05E0              ldi R16,5
 0178 10E0              ldi R17,0
 017A 88DF              rcall _del
 017C                   .dbline 102
 017C A895              wdr
 017E                   .dbline 103
 017E           ;  TIMSK0 = 0x00; //timer 0 interrupt sources
 017E 409A              sbi 0x8,0
 0180                   .dbline 103
 0180 80E0              ldi R24,<_shu
 0182 90E0              ldi R25,>_shu
 0184 E0910E00          lds R30,_tm+2
 0188 FF27              clr R31
 018A E80F              add R30,R24
 018C F91F              adc R31,R25
 018E 0081              ldd R16,z+0
 0190 44DF              rcall _DAT
 0192                   .dbline 103
 0192 04EB              ldi R16,180
 0194 10E0              ldi R17,0
 0196 7ADF              rcall _del
 0198                   .dbline 103
 0198 4098              cbi 0x8,0
 019A                   .dbline 103
 019A 0FEF              ldi R16,255
 019C 3EDF              rcall _DAT
 019E                   .dbline 103
 019E 05E0              ldi R16,5
 01A0 10E0              ldi R17,0
 01A2 74DF              rcall _del
 01A4                   .dbline 103
 01A4 A895              wdr
 01A6                   .dbline 104
 01A6           ;  TIMSK1 = 0x00; //timer 1 interrupt sources
 01A6 439A              sbi 0x8,3
 01A8                   .dbline 104
 01A8 80E0              ldi R24,<_shu
 01AA 90E0              ldi R25,>_shu
 01AC E0910F00          lds R30,_tm+3
 01B0 FF27              clr R31
 01B2 E80F              add R30,R24
 01B4 F91F              adc R31,R25
 01B6 0081              ldd R16,z+0
 01B8 30DF              rcall _DAT
 01BA                   .dbline 104
 01BA 04EB              ldi R16,180
 01BC 10E0              ldi R17,0
 01BE 66DF              rcall _del
 01C0                   .dbline 104
 01C0 4398              cbi 0x8,3
 01C2                   .dbline 104
 01C2 0FEF              ldi R16,255
 01C4 2ADF              rcall _DAT
 01C6                   .dbline 104
 01C6 05E0              ldi R16,5
 01C8 10E0              ldi R17,0
 01CA 60DF              rcall _del
 01CC                   .dbline 104
 01CC A895              wdr
 01CE                   .dbline 105
 01CE           ;  TIMSK2 = 0x00; //timer 2 interrupt sources
 01CE 00912100          lds R16,_doudian
 01D2 64DF              rcall _dot
 01D4                   .dbline -2
 01D4           L31:
 01D4                   .dbline 0 ; func end
 01D4 0895              ret
 01D6                   .dbend
 01D6                   .dbfunc e bee _bee fV
 01D6           ;              j -> R20,R21
 01D6           ;             j1 -> R12,R13
 01D6           ;         spfreq -> R22,R23
 01D6           ;              k -> R14,R15
 01D6           ;           tone -> R20,R21
 01D6           ;      soundlong -> R10,R11
                        .even
 01D6           _bee::
 01D6 00D0              rcall push_gset5
 01D8 A901              movw R20,R18
 01DA 5801              movw R10,R16
 01DC                   .dbline -1
 01DC                   .dbline 109
 01DC           ;  
 01DC           ;  PCMSK0 = 0x00; //pin change mask 0 
 01DC           ;  PCMSK1 = 0x00; //pin change mask 1 
 01DC           ;  PCMSK2 = 0x00; //pin change mask 2
 01DC                   .dbline 111
 01DC           ;  PCICR = 0x00; //pin change enable 
 01DC           ;  PRR = 0x00; //power controller
 01DC 08E9              ldi R16,15000
 01DE 1AE3              ldi R17,58
 01E0 9A01              movw R18,R20
 01E2 00D0              rcall div16u
 01E4 B801              movw R22,R16
 01E6 7695              lsr R23
 01E8 6795              ror R22
 01EA                   .dbline 112
 01EA           ;  SEI(); //re-enable interrupts
 01EA 4427              clr R20
 01EC 5527              clr R21
 01EE 22C0              rjmp L39
 01F0           L36:
 01F0                   .dbline 113
 01F0           ;  //all peripherals are now initialized
 01F0 CC24              clr R12
 01F2 DD24              clr R13
 01F4 18C0              rjmp L43
 01F6           L40:
 01F6                   .dbline 114
 01F6           ; }
 01F6                   .dbline 115
 01F6           ; 
 01F6 2E98              cbi 0x5,6
 01F8                   .dbline 116
 01F8 EE24              clr R14
 01FA FF24              clr R15
 01FC 03C0              rjmp L47
 01FE           L44:
 01FE                   .dbline 116
 01FE           L45:
 01FE                   .dbline 116
 01FE C701              movw R24,R14
 0200 0196              adiw R24,1
 0202 7C01              movw R14,R24
 0204           L47:
 0204                   .dbline 116
 0204           ; 
 0204 E616              cp R14,R22
 0206 F706              cpc R15,R23
 0208 D0F3              brlo L44
 020A                   .dbline 117
 020A           ; 
 020A 2F9A              sbi 0x5,7
 020C                   .dbline 118
 020C EE24              clr R14
 020E FF24              clr R15
 0210 03C0              rjmp L51
 0212           L48:
 0212                   .dbline 118
 0212           L49:
 0212                   .dbline 118
 0212 C701              movw R24,R14
 0214 0196              adiw R24,1
 0216 7C01              movw R14,R24
 0218           L51:
 0218                   .dbline 118
 0218 E616              cp R14,R22
 021A F706              cpc R15,R23
 021C D0F3              brlo L48
 021E                   .dbline 119
 021E A895              wdr
 0220                   .dbline 120
 0220           L41:
 0220                   .dbline 113
 0220 C601              movw R24,R12
 0222 0196              adiw R24,1
 0224 6C01              movw R12,R24
 0226           L43:
 0226                   .dbline 113
 0226 C601              movw R24,R12
 0228 8431              cpi R24,20
 022A E0E0              ldi R30,0
 022C 9E07              cpc R25,R30
 022E 18F3              brlo L40
 0230           L37:
 0230                   .dbline 112
 0230 4F5F              subi R20,255  ; offset = 1
 0232 5F4F              sbci R21,255
 0234           L39:
 0234                   .dbline 112
 0234 4A15              cp R20,R10
 0236 5B05              cpc R21,R11
 0238 D8F2              brlo L36
 023A                   .dbline 121
 023A           ; void main(void)
 023A           ; {
 023A           ; unit n=11100;
 023A           ; uchar ii=0;
 023A 2F9A              sbi 0x5,7
 023C                   .dbline -2
 023C           L35:
 023C 00D0              rcall pop_gset5
 023E                   .dbline 0 ; func end
 023E 0895              ret
 0240                   .dbsym r j 20 i
 0240                   .dbsym r j1 12 i
 0240                   .dbsym r spfreq 22 i
 0240                   .dbsym r k 14 i
 0240                   .dbsym r tone 20 i
 0240                   .dbsym r soundlong 10 i
 0240                   .dbend
 0240                   .dbfunc e delay _delay fV
 0240           ;             i2 -> R20,R21
 0240           ;              n -> R22,R23
                        .even
 0240           _delay::
 0240 00D0              rcall push_gset2
 0242 B801              movw R22,R16
 0244                   .dbline -1
 0244                   .dbline 127
 0244           ; unit Counter,Rx,TH,Zb,TL;
 0244           ; 
 0244           ; init_devices();
 0244           ; 
 0244           ; //*测量占空比
 0244           ; while(1)
 0244                   .dbline 128
 0244           ; {
 0244 4427              clr R20
 0246 5527              clr R21
 0248 04C0              rjmp L54
 024A           L53:
 024A                   .dbline 130
 024A                   .dbline 131
 024A 71DF              rcall _A
 024C                   .dbline 131
 024C 4F5F              subi R20,255  ; offset = 1
 024E 5F4F              sbci R21,255
 0250                   .dbline 131
 0250 A895              wdr
 0252                   .dbline 132
 0252           L54:
 0252                   .dbline 129
 0252           ; PORTB|=0X01;DDRB&=~0X01;
 0252 4617              cp R20,R22
 0254 5707              cpc R21,R23
 0256 C8F3              brlo L53
 0258                   .dbline -2
 0258           L52:
 0258 00D0              rcall pop_gset2
 025A                   .dbline 0 ; func end
 025A 0895              ret
 025C                   .dbsym r i2 20 i
 025C                   .dbsym r n 22 i
 025C                   .dbend
 025C                   .dbfunc e show _show fV
 025C           ;              i -> R20
 025C           ;            dat -> R22,R23
 025C           ;              n -> R10
                        .even
 025C           _show::
 025C 00D0              rcall push_gset3
 025E B901              movw R22,R18
 0260 A02E              mov R10,R16
 0262                   .dbline -1
 0262                   .dbline 137
 0262           ; Counter=0;Rx=0;     
 0262           ; while(!TestIO);
 0262           ; while(TestIO);
 0262           ; 
 0262           ; TCNT1H = 0x00;  TCNT1L = 0x00; TCCR1B = 0x02;
 0262           ; while(!TestIO);                      //高电平时间
 0262           ; TH=0xffff*Counter+TCNT1;
 0262           ; while(TestIO);
 0262                   .dbline 139
 0262 4427              clr R20
 0264 11C0              rjmp L60
 0266           L57:
 0266                   .dbline 139
 0266                   .dbline 140
 0266 2AE0              ldi R18,10
 0268 30E0              ldi R19,0
 026A 8B01              movw R16,R22
 026C 00D0              rcall mod16u
 026E 80E0              ldi R24,<_tm

⌨️ 快捷键说明

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