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

📄 1602_main.lis

📁 atmega32 +1602显示+ key控制 + ad转化电路都在一起测试通过
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0788           L68:
 0788                   .dbline -2
 0788           L66:
 0788 2596              adiw R28,5
 078A 0E940000          xcall pop_gset1
 078E                   .dbline 0 ; func end
 078E 0895              ret
 0790                   .dbend
 0790                   .dbfunc e main _main fV
 0790           ;              p -> <dead>
 0790           ;              i -> <dead>
 0790           ;         time_s -> R20,R21
                        .even
 0790           _main::
 0790 2297              sbiw R28,2
 0792                   .dbline -1
 0792                   .dbline 164
 0792           ;  }
 0792           ; void main(void) {
 0792                   .dbline 168
 0792           ;  unsigned char i;
 0792           ;  unsigned char *p;
 0792           ;  int time_s;
 0792           ;  PORTB = 0xFF;    /*电平设置*/
 0792 8FEF              ldi R24,255
 0794 88BB              out 0x18,R24
 0796                   .dbline 169
 0796           ;  DDRB = 0xFF;    /*方向输出*/
 0796 87BB              out 0x17,R24
 0798                   .dbline 171
 0798           ;  
 0798           ;  PORTA = 0xFF;
 0798 8BBB              out 0x1b,R24
 079A                   .dbline 172
 079A           ;  DDRA = 0xFF;
 079A 8ABB              out 0x1a,R24
 079C                   .dbline 173
 079C           ;  delay_ms(100);
 079C 04E6              ldi R16,100
 079E 10E0              ldi R17,0
 07A0 3CDC              xcall _delay_ms
 07A2                   .dbline 175
 07A2           ;  
 07A2           ;  LCD_init();
 07A2 B4DC              xcall _LCD_init
 07A4                   .dbline 178
 07A4           ;  
 07A4           ; 
 07A4           ; time_s=0;
 07A4 4427              clr R20
 07A6 5527              clr R21
 07A8                   .dbline 180
 07A8           ; 
 07A8           ;   delay_ms(500);
 07A8 04EF              ldi R16,500
 07AA 11E0              ldi R17,1
 07AC 36DC              xcall _delay_ms
 07AE                   .dbline 181
 07AE           ; LCD_clear();  
 07AE 67DC              xcall _LCD_clear
 07B0 89C0              xjmp L87
 07B2           L86:
 07B2                   .dbline 182
 07B2           ;       while (1) {
 07B2                   .dbline 183
 07B2           ;        key=get_key();
 07B2 62DD              xcall _get_key
 07B4 202E              mov R2,R16
 07B6 3324              clr R3
 07B8 30920800          sts _key+1,R3
 07BC 20920700          sts _key,R2
 07C0                   .dbline 186
 07C0           ;       
 07C0           ; 
 07C0           ; switch(key)
 07C0 C101              movw R24,R2
 07C2 8130              cpi R24,1
 07C4 E0E0              ldi R30,0
 07C6 9E07              cpc R25,R30
 07C8 49F1              breq L91
 07CA 8230              cpi R24,2
 07CC E0E0              ldi R30,0
 07CE 9E07              cpc R25,R30
 07D0 09F4              brne X17
 07D2 55C0              xjmp L94
 07D4           X17:
 07D4 8330              cpi R24,3
 07D6 E0E0              ldi R30,0
 07D8 9E07              cpc R25,R30
 07DA 09F4              brne X18
 07DC 5FC0              xjmp L96
 07DE           X18:
 07DE 8430              cpi R24,4
 07E0 E0E0              ldi R30,0
 07E2 9E07              cpc R25,R30
 07E4 09F4              brne X19
 07E6 5DC0              xjmp L97
 07E8           X19:
 07E8 8530              cpi R24,5
 07EA E0E0              ldi R30,0
 07EC 9E07              cpc R25,R30
 07EE 09F4              brne X20
 07F0 5BC0              xjmp L98
 07F2           X20:
 07F2 8630              cpi R24,6
 07F4 E0E0              ldi R30,0
 07F6 9E07              cpc R25,R30
 07F8 09F4              brne X21
 07FA 59C0              xjmp L99
 07FC           X21:
 07FC 8730              cpi R24,7
 07FE E0E0              ldi R30,0
 0800 9E07              cpc R25,R30
 0802 09F4              brne X22
 0804 57C0              xjmp L100
 0806           X22:
 0806 8830              cpi R24,8
 0808 E0E0              ldi R30,0
 080A 9E07              cpc R25,R30
 080C 09F4              brne X23
 080E 55C0              xjmp L101
 0810           X23:
 0810 8930              cpi R24,9
 0812 E0E0              ldi R30,0
 0814 9E07              cpc R25,R30
 0816 09F4              brne X24
 0818 53C0              xjmp L102
 081A           X24:
 081A 54C0              xjmp L89
 081C           X15:
 081C                   .dbline 187
 081C           ; { 
 081C           L91:
 081C                   .dbline 189
 081C           ;   case 1:
 081C           ;    time_s=1;
 081C 41E0              ldi R20,1
 081E 50E0              ldi R21,0
 0820                   .dbline 190
 0820           ;     LCD_clear();      
 0820 2EDC              xcall _LCD_clear
 0822                   .dbline 191
 0822           ;    LCD_write_str(6,6,"start...");
 0822 80E0              ldi R24,<L92
 0824 90E0              ldi R25,>L92
 0826 9983              std y+1,R25
 0828 8883              std y+0,R24
 082A 26E0              ldi R18,6
 082C 06E0              ldi R16,6
 082E 2DDC              xcall _LCD_write_str
 0830                   .dbline 192
 0830           ;    delay_ms(500);
 0830 04EF              ldi R16,500
 0832 11E0              ldi R17,1
 0834 F2DB              xcall _delay_ms
 0836                   .dbline 193
 0836           ;     LCD_clear();      
 0836 23DC              xcall _LCD_clear
 0838                   .dbline 194
 0838           ;    disp_num1=get_ad();
 0838 3EDD              xcall _get_ad
 083A 10930600          sts _disp_num1+1,R17
 083E 00930500          sts _disp_num1,R16
 0842                   .dbline 195
 0842           ;    disp_num2=disp_num1*0.00322;
 0842 00E0              ldi R16,<L93
 0844 10E0              ldi R17,>L93
 0846 0E940000          xcall lpm32
 084A 3A93              st -y,R19
 084C 2A93              st -y,R18
 084E 1A93              st -y,R17
 0850 0A93              st -y,R16
 0852 00910500          lds R16,_disp_num1
 0856 10910600          lds R17,_disp_num1+1
 085A 0E940000          xcall int2fp
 085E 3A93              st -y,R19
 0860 2A93              st -y,R18
 0862 1A93              st -y,R17
 0864 0A93              st -y,R16
 0866 0E940000          xcall empy32f
 086A 10930200          sts _disp_num2+1,R17
 086E 00930100          sts _disp_num2,R16
 0872 30930400          sts _disp_num2+2+1,R19
 0876 20930300          sts _disp_num2+2,R18
 087A                   .dbline 196
 087A           ;    lcd_process();
 087A 44DD              xcall _lcd_process
 087C                   .dbline 199
 087C           ; 
 087C           ;    
 087C           ;    break;
 087C 23C0              xjmp L90
 087E           L94:
 087E                   .dbline 202
 087E           ;   
 087E           ;   case 2:
 087E           ;    time_s=2;
 087E 42E0              ldi R20,2
 0880 50E0              ldi R21,0
 0882                   .dbline 203
 0882           ;    LCD_clear();       
 0882 FDDB              xcall _LCD_clear
 0884                   .dbline 204
 0884           ;    LCD_write_str(4,4,"over...");
 0884 80E0              ldi R24,<L95
 0886 90E0              ldi R25,>L95
 0888 9983              std y+1,R25
 088A 8883              std y+0,R24
 088C 24E0              ldi R18,4
 088E 04E0              ldi R16,4
 0890 FCDB              xcall _LCD_write_str
 0892                   .dbline 205
 0892           ;    delay_ms(500);
 0892 04EF              ldi R16,500
 0894 11E0              ldi R17,1
 0896 C1DB              xcall _delay_ms
 0898                   .dbline 206
 0898           ;    LCD_clear();       
 0898 F2DB              xcall _LCD_clear
 089A                   .dbline 207
 089A           ;    break; 
 089A 14C0              xjmp L90
 089C           L96:
 089C                   .dbline 210
 089C           ;    
 089C           ;    case 3:
 089C           ;    time_s=3;
 089C 43E0              ldi R20,3
 089E 50E0              ldi R21,0
 08A0                   .dbline 211
 08A0           ;    break;
 08A0 11C0              xjmp L90
 08A2           L97:
 08A2                   .dbline 213
 08A2           ;   case 4:
 08A2           ;    time_s=4;
 08A2 44E0              ldi R20,4
 08A4 50E0              ldi R21,0
 08A6                   .dbline 214
 08A6           ;    break; 
 08A6 0EC0              xjmp L90
 08A8           L98:
 08A8                   .dbline 216
 08A8           ;  case 5:
 08A8           ;    time_s=5;
 08A8 45E0              ldi R20,5
 08AA 50E0              ldi R21,0
 08AC                   .dbline 217
 08AC           ;    break;
 08AC 0BC0              xjmp L90
 08AE           L99:
 08AE                   .dbline 220
 08AE           ;   
 08AE           ;   case 6:
 08AE           ;    time_s=6;
 08AE 46E0              ldi R20,6
 08B0 50E0              ldi R21,0
 08B2                   .dbline 221
 08B2           ;    break; 
 08B2 08C0              xjmp L90
 08B4           L100:
 08B4                   .dbline 224
 08B4           ;    
 08B4           ;    case 7:
 08B4           ;    time_s=7;
 08B4 47E0              ldi R20,7
 08B6 50E0              ldi R21,0
 08B8                   .dbline 225
 08B8           ;    break;
 08B8 05C0              xjmp L90
 08BA           L101:
 08BA                   .dbline 227
 08BA           ;   case 8:
 08BA           ;    time_s=8;
 08BA 48E0              ldi R20,8
 08BC 50E0              ldi R21,0
 08BE                   .dbline 228
 08BE           ;    break;   
 08BE 02C0              xjmp L90
 08C0           L102:
 08C0                   .dbline 230
 08C0           ;    case 9:
 08C0           ;    time_s=9;
 08C0 49E0              ldi R20,9
 08C2 50E0              ldi R21,0
 08C4                   .dbline 231
 08C4           ;    break;  
 08C4           L89:
 08C4           L90:
 08C4                   .dbline 241
 08C4           L87:
 08C4                   .dbline 182
 08C4 76CF              xjmp L86
 08C6           X16:
 08C6                   .dbline -2
 08C6           L85:
 08C6 2296              adiw R28,2
 08C8                   .dbline 0 ; func end
 08C8 0895              ret
 08CA                   .dbsym l p 3 pc
 08CA                   .dbsym l i 3 c
 08CA                   .dbsym r time_s 20 I
 08CA                   .dbend
                        .area bss(ram, con, rel)
 0001                   .dbfile F:\tem\1602AN~1\1602_main.c
 0001           _disp_num2::
 0001                   .blkb 4
 0005                   .dbsym e disp_num2 _disp_num2 D
 0005           _disp_num1::
 0005                   .blkb 2
 0007                   .dbsym e disp_num1 _disp_num1 I
 0007           _key::
 0007                   .blkb 2
 0009                   .dbsym e key _key I
                        .area data(ram, con, rel)
 0000                   .dbfile F:\tem\1602AN~1\1602_main.c
 0000           L95:
 0000                   .blkb 8
                        .area idata
 0000 6F7665722E2E2E00  .byte 'o,'v,'e,'r,46,46,46,0
                        .area data(ram, con, rel)
 0008                   .dbfile F:\tem\1602AN~1\1602_main.c
                        .area lit(rom, con, rel)
 0000           L93:
 0000 A306533B          .word 0x6a3,0x3b53
                        .area data(ram, con, rel)
 0008                   .dbfile F:\tem\1602AN~1\1602_main.c
 0008           L92:
 0008                   .blkb 9
                        .area idata
 0008 73746172742E2E2E00        .byte 's,'t,'a,'r,'t,46,46,46,0
                        .area data(ram, con, rel)
 0011                   .dbfile F:\tem\1602AN~1\1602_main.c
                        .area lit(rom, con, rel)
 0004           L78:
 0004 CDCCCC3D          .word 0xcccd,0x3dcc
 0008           L75:
 0008 00002041          .word 0x0,0x4120
 000C           L74:
 000C 00000047          .word 0x0,0x4700
 0010           L73:
 0010 0000C842          .word 0x0,0x42c8
 0014           L70:
 0014 0000803F          .word 0x0,0x3f80
 0018           L69:
 0018 33335340          .word 0x3333,0x4053

⌨️ 快捷键说明

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