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

📄 1602b_lcd_test.lis

📁 单片机应用 1.1602LCD 2.2004LCD源码 3.ATmega16 PWM源码 4.ATmega8 LED源码 5.无线影音Nrf2401源码 6.AVR串口源码
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 0118 1AE0              ldi R17,10
 011A 062F              mov R16,R22
 011C 00D0              rcall div8u
 011E 402F              mov R20,R16
 0120                   .dbline 64
 0120           ;                  LCD_write_char(0,table[temp]);
 0120 80E0              ldi R24,<_table
 0122 90E0              ldi R25,>_table
 0124 E42F              mov R30,R20
 0126 FF27              clr R31
 0128 E80F              add R30,R24
 012A F91F              adc R31,R25
 012C 2491              lpm R18,Z
 012E 3327              clr R19
 0130 0027              clr R16
 0132 1127              clr R17
 0134 00D0              rcall _LCD_write_char
 0136                   .dbline 65
 0136           ;                  temp=h%10;
 0136 1AE0              ldi R17,10
 0138 062F              mov R16,R22
 013A 00D0              rcall mod8u
 013C 402F              mov R20,R16
 013E                   .dbline 66
 013E           ;                  LCD_write_char(0,table[temp]);
 013E 80E0              ldi R24,<_table
 0140 90E0              ldi R25,>_table
 0142 E42F              mov R30,R20
 0144 FF27              clr R31
 0146 E80F              add R30,R24
 0148 F91F              adc R31,R25
 014A 2491              lpm R18,Z
 014C 3327              clr R19
 014E 0027              clr R16
 0150 1127              clr R17
 0152 00D0              rcall _LCD_write_char
 0154                   .dbline 67
 0154           ;                  LCD_write_char(0,':');
 0154 2AE3              ldi R18,58
 0156 30E0              ldi R19,0
 0158 0027              clr R16
 015A 1127              clr R17
 015C 00D0              rcall _LCD_write_char
 015E                   .dbline -2
 015E           L14:
 015E 00D0              rcall pop_gset2
 0160                   .dbline 0 ; func end
 0160 0895              ret
 0162                   .dbsym r temp 20 c
 0162                   .dbsym r h 22 c
 0162                   .dbend
 0162                   .dbfunc e write_m _write_m fV
 0162           ;           temp -> R20
 0162           ;              m -> R22
                        .even
 0162           _write_m::
 0162 00D0              rcall push_gset2
 0164 602F              mov R22,R16
 0166                   .dbline -1
 0166                   .dbline 71
 0166           ; }
 0166           ; 
 0166           ; void write_m(unsigned char m)
 0166           ; {                unsigned char temp=0;
 0166                   .dbline 71
 0166 4427              clr R20
 0168                   .dbline 72
 0168           ;                  LCD_set_xy(3,0);
 0168 2227              clr R18
 016A 03E0              ldi R16,3
 016C 00D0              rcall _LCD_set_xy
 016E                   .dbline 73
 016E           ;                  temp=m/10;
 016E 1AE0              ldi R17,10
 0170 062F              mov R16,R22
 0172 00D0              rcall div8u
 0174 402F              mov R20,R16
 0176                   .dbline 74
 0176           ;                  LCD_write_char(0,table[temp]);
 0176 80E0              ldi R24,<_table
 0178 90E0              ldi R25,>_table
 017A E42F              mov R30,R20
 017C FF27              clr R31
 017E E80F              add R30,R24
 0180 F91F              adc R31,R25
 0182 2491              lpm R18,Z
 0184 3327              clr R19
 0186 0027              clr R16
 0188 1127              clr R17
 018A 00D0              rcall _LCD_write_char
 018C                   .dbline 75
 018C           ;                  temp=m%10;
 018C 1AE0              ldi R17,10
 018E 062F              mov R16,R22
 0190 00D0              rcall mod8u
 0192 402F              mov R20,R16
 0194                   .dbline 76
 0194           ;                  LCD_write_char(0,table[temp]);
 0194 80E0              ldi R24,<_table
 0196 90E0              ldi R25,>_table
 0198 E42F              mov R30,R20
 019A FF27              clr R31
 019C E80F              add R30,R24
 019E F91F              adc R31,R25
 01A0 2491              lpm R18,Z
 01A2 3327              clr R19
 01A4 0027              clr R16
 01A6 1127              clr R17
 01A8 00D0              rcall _LCD_write_char
 01AA                   .dbline 77
 01AA           ;                  LCD_write_char(0,':');
 01AA 2AE3              ldi R18,58
 01AC 30E0              ldi R19,0
 01AE 0027              clr R16
 01B0 1127              clr R17
 01B2 00D0              rcall _LCD_write_char
 01B4                   .dbline -2
 01B4           L15:
 01B4 00D0              rcall pop_gset2
 01B6                   .dbline 0 ; func end
 01B6 0895              ret
 01B8                   .dbsym r temp 20 c
 01B8                   .dbsym r m 22 c
 01B8                   .dbend
 01B8                   .dbfunc e write_s _write_s fV
 01B8           ;           temp -> R20
 01B8           ;              s -> R22
                        .even
 01B8           _write_s::
 01B8 00D0              rcall push_gset2
 01BA 602F              mov R22,R16
 01BC                   .dbline -1
 01BC                   .dbline 81
 01BC           ; }
 01BC           ; 
 01BC           ; void write_s(unsigned char s)
 01BC           ; {                unsigned char temp=0;
 01BC                   .dbline 81
 01BC 4427              clr R20
 01BE                   .dbline 82
 01BE           ;            LCD_set_xy(6,0);
 01BE 2227              clr R18
 01C0 06E0              ldi R16,6
 01C2 00D0              rcall _LCD_set_xy
 01C4                   .dbline 83
 01C4           ;                  temp=s/10;
 01C4 1AE0              ldi R17,10
 01C6 062F              mov R16,R22
 01C8 00D0              rcall div8u
 01CA 402F              mov R20,R16
 01CC                   .dbline 84
 01CC           ;                  LCD_write_char(0,table[temp]);
 01CC 80E0              ldi R24,<_table
 01CE 90E0              ldi R25,>_table
 01D0 E42F              mov R30,R20
 01D2 FF27              clr R31
 01D4 E80F              add R30,R24
 01D6 F91F              adc R31,R25
 01D8 2491              lpm R18,Z
 01DA 3327              clr R19
 01DC 0027              clr R16
 01DE 1127              clr R17
 01E0 00D0              rcall _LCD_write_char
 01E2                   .dbline 85
 01E2           ;                  temp=s%10;
 01E2 1AE0              ldi R17,10
 01E4 062F              mov R16,R22
 01E6 00D0              rcall mod8u
 01E8 402F              mov R20,R16
 01EA                   .dbline 86
 01EA           ;                  LCD_write_char(0,table[temp]);
 01EA 80E0              ldi R24,<_table
 01EC 90E0              ldi R25,>_table
 01EE E42F              mov R30,R20
 01F0 FF27              clr R31
 01F2 E80F              add R30,R24
 01F4 F91F              adc R31,R25
 01F6 2491              lpm R18,Z
 01F8 3327              clr R19
 01FA 0027              clr R16
 01FC 1127              clr R17
 01FE 00D0              rcall _LCD_write_char
 0200                   .dbline -2
 0200           L16:
 0200 00D0              rcall pop_gset2
 0202                   .dbline 0 ; func end
 0202 0895              ret
 0204                   .dbsym r temp 20 c
 0204                   .dbsym r s 22 c
 0204                   .dbend
 0204                   .dbfunc e main _main fV
 0204           ;              i -> R20
                        .even
 0204           _main::
 0204                   .dbline -1
 0204                   .dbline 90
 0204           ; }
 0204           ; 
 0204           ; void main(void)
 0204           ;   {     unsigned char i=0b000001; 
 0204                   .dbline 90
 0204 41E0              ldi R20,1
 0206                   .dbline 92
 0206           ; 
 0206           ;      OSCCAL=0XBA;
 0206 8AEB              ldi R24,186
 0208 81BF              out 0x31,R24
 020A                   .dbline 94
 020A           ; 
 020A           ;        DDRD |= LCD_DATA | LCD_RW;
 020A 81B3              in R24,0x11
 020C 886F              ori R24,248
 020E 81BB              out 0x11,R24
 0210                   .dbline 95
 0210           ;      DDRC |= LCD_RS   | LCD_EN;
 0210 84B3              in R24,0x14
 0212 8063              ori R24,48
 0214 84BB              out 0x14,R24
 0216                   .dbline 97
 0216           ;      
 0216           ;      LCD_init();
 0216 00D0              rcall _LCD_init
 0218                   .dbline 98
 0218           ;        LCD_write_char(0x01,0); 
 0218 2227              clr R18
 021A 3327              clr R19
 021C 01E0              ldi R16,1
 021E 10E0              ldi R17,0
 0220 00D0              rcall _LCD_write_char
 0222                   .dbline 100
 0222           ;  //stop errant interrupts until set up
 0222           ;  CLI(); //disable all interrupts
 0222 F894              cli
 0224                   .dbline 101
 0224           ;  timer1_init();
 0224 EDDE              rcall _timer1_init
 0226                   .dbline 103
 0226           ; 
 0226           ;  MCUCR = 0x00;
 0226 2224              clr R2
 0228 25BE              out 0x35,R2
 022A                   .dbline 104
 022A           ;  GICR  = 0x00;
 022A 2BBE              out 0x3b,R2
 022C                   .dbline 105
 022C           ;  TIMSK = 0x04; //timer interrupt sources
 022C 84E0              ldi R24,4
 022E 89BF              out 0x39,R24
 0230                   .dbline 106
 0230           ;  SEI(); //re-enable interrupts
 0230 7894              sei
 0232                   .dbline 108
 0232           ;  //all peripherals are now initialized
 0232           ;                  LCD_set_xy(3,0);
 0232 2227              clr R18
 0234 03E0              ldi R16,3
 0236 00D0              rcall _LCD_set_xy
 0238                   .dbline 110
 0238           ; 
 0238           ;                  LCD_set_xy(6,0);
 0238 2227              clr R18
 023A 06E0              ldi R16,6
 023C 00D0              rcall _LCD_set_xy
 023E                   .dbline 111
 023E           ;                  LCD_write_char(0,':');
 023E 2AE3              ldi R18,58
 0240 30E0              ldi R19,0
 0242 0027              clr R16
 0244 1127              clr R17
 0246 00D0              rcall _LCD_write_char
 0248           L18:
 0248                   .dbline 114
 0248                   .dbline 114
 0248                   .dbline 114
 0248           L19:
 0248                   .dbline 113
 0248 FFCF              rjmp L18
 024A           X0:
 024A                   .dbline -2
 024A           L17:
 024A                   .dbline 0 ; func end
 024A 0895              ret
 024C                   .dbsym r i 20 c
 024C                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile I:\AVR\1602\MEGA8-1602\CLOCKA~1\test6\1602B_LCD_TEST.c
 0000           _ch::
 0000                   .blkb 1
 0001                   .dbsym e ch _ch c
 0001           _temp1::
 0001                   .blkb 1
 0002                   .dbsym e temp1 _temp1 c
                        .area data(ram, con, rel)
 0004                   .dbfile I:\AVR\1602\MEGA8-1602\CLOCKA~1\test6\1602B_LCD_TEST.c
 0004           L13:
 0004                   .blkb 17
                        .area idata
 0004 20202020202020202020202020202020  .byte 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32
 0014 00                .byte 0
                        .area data(ram, con, rel)
 0015                   .dbfile I:\AVR\1602\MEGA8-1602\CLOCKA~1\test6\1602B_LCD_TEST.c

⌨️ 快捷键说明

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