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

📄 24cxx_test.lis

📁 24IIC的源代码
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 04C0           ;  while(*s)  
 04C0           ;  {
 04C0                   .dbline 127
 04C0           ;   LCD_write_char(0,*s);
 04C0 FA01              movw R30,R20
 04C2 2081              ldd R18,z+0
 04C4 3327              clr R19
 04C6 0027              clr R16
 04C8 1127              clr R17
 04CA 82DF              xcall _LCD_write_char
 04CC                   .dbline 128
 04CC           ;   s++;
 04CC 4F5F              subi R20,255  ; offset = 1
 04CE 5F4F              sbci R21,255
 04D0                   .dbline 129
 04D0           ;  }
 04D0           L99:
 04D0                   .dbline 125
 04D0 FA01              movw R30,R20
 04D2 2080              ldd R2,z+0
 04D4 2220              tst R2
 04D6 A1F7              brne L98
 04D8           X34:
 04D8                   .dbline -2
 04D8           L97:
 04D8                   .dbline 0 ; func end
 04D8 0C940000          xjmp pop_xgset303C
 04DC                   .dbsym r s 20 pc
 04DC                   .dbsym r Y 12 c
 04DC                   .dbsym r X 10 c
 04DC                   .dbend
 04DC                   .dbfunc e LCD_write_data _LCD_write_data fV
 04DC           ;           data -> y+0
 04DC           ;              i -> R20
 04DC           ;            dat -> R14,R15
 04DC           ;              Y -> R12
 04DC           ;              X -> R10
                        .even
 04DC           _LCD_write_data::
 04DC 0E940000          xcall push_xgset30FC
 04E0 C22E              mov R12,R18
 04E2 A02E              mov R10,R16
 04E4 2497              sbiw R28,4
 04E6 EC84              ldd R14,y+12
 04E8 FD84              ldd R15,y+13
 04EA                   .dbline -1
 04EA                   .dbline 138
 04EA           ; }
 04EA           ; 
 04EA           ; /*-------------------------------------------------------------
 04EA           ; 函数: 写数字
 04EA           ; 参数:列---X=0~15,行---Y=0~1 写地址
 04EA           ;       dat为所要写的数字
 04EA           ; ---------------------------------------------------------------*/
 04EA           ; void LCD_write_data(unsigned char X,unsigned char Y,int dat)
 04EA           ; {
 04EA                   .dbline 151
 04EA           ;  //unsigned char fuhao;
 04EA           ;  unsigned char data[4];
 04EA           ;  unsigned char i;
 04EA           ;   
 04EA           ;  /*if(dat<0)
 04EA           ;  {
 04EA           ;   fuhao='-';
 04EA           ;   dat=0-dat;
 04EA           ;  }
 04EA           ;  else
 04EA           ;   fuhao=' ';
 04EA           ;  data[0]=fuhao;*/
 04EA           ;  data[0]=dat/1000+0x30; dat%=1000;
 04EA 28EE              ldi R18,1000
 04EC 33E0              ldi R19,3
 04EE 8701              movw R16,R14
 04F0 0E940000          xcall div16s
 04F4 C801              movw R24,R16
 04F6 C096              adiw R24,48
 04F8 8883              std y+0,R24
 04FA                   .dbline 151
 04FA 28EE              ldi R18,1000
 04FC 33E0              ldi R19,3
 04FE 8701              movw R16,R14
 0500 0E940000          xcall mod16s
 0504 7801              movw R14,R16
 0506                   .dbline 152
 0506           ;  data[1]=dat/100+0x30;  dat%=100;
 0506 24E6              ldi R18,100
 0508 30E0              ldi R19,0
 050A 0E940000          xcall div16s
 050E C801              movw R24,R16
 0510 C096              adiw R24,48
 0512 8983              std y+1,R24
 0514                   .dbline 152
 0514 24E6              ldi R18,100
 0516 30E0              ldi R19,0
 0518 8701              movw R16,R14
 051A 0E940000          xcall mod16s
 051E 7801              movw R14,R16
 0520                   .dbline 153
 0520           ;  data[2]=dat/10+0x30; 
 0520 2AE0              ldi R18,10
 0522 30E0              ldi R19,0
 0524 0E940000          xcall div16s
 0528 C801              movw R24,R16
 052A C096              adiw R24,48
 052C 8A83              std y+2,R24
 052E                   .dbline 154
 052E           ;  data[3]=dat%10+0x30; 
 052E 2AE0              ldi R18,10
 0530 30E0              ldi R19,0
 0532 8701              movw R16,R14
 0534 0E940000          xcall mod16s
 0538 C801              movw R24,R16
 053A C096              adiw R24,48
 053C 8B83              std y+3,R24
 053E                   .dbline 156
 053E           ;  
 053E           ;  LCD_set_xy(X,Y);
 053E 2C2D              mov R18,R12
 0540 0A2D              mov R16,R10
 0542 2EDF              xcall _LCD_set_xy
 0544                   .dbline 157
 0544           ;  for(i=0;i<4;i++)
 0544 4427              clr R20
 0546 0BC0              xjmp L108
 0548           L105:
 0548                   .dbline 158
 0548           ;   LCD_write_char(0,data[i]);
 0548 CE01              movw R24,R28
 054A E42F              mov R30,R20
 054C FF27              clr R31
 054E E80F              add R30,R24
 0550 F91F              adc R31,R25
 0552 2081              ldd R18,z+0
 0554 3327              clr R19
 0556 0027              clr R16
 0558 1127              clr R17
 055A 3ADF              xcall _LCD_write_char
 055C           L106:
 055C                   .dbline 157
 055C 4395              inc R20
 055E           L108:
 055E                   .dbline 157
 055E 4430              cpi R20,4
 0560 98F3              brlo L105
 0562           X35:
 0562                   .dbline -2
 0562           L101:
 0562                   .dbline 0 ; func end
 0562 2496              adiw R28,4
 0564 0C940000          xjmp pop_xgset30FC
 0568                   .dbsym l data 0 A[4:4]c
 0568                   .dbsym r i 20 c
 0568                   .dbsym r dat 14 I
 0568                   .dbsym r Y 12 c
 0568                   .dbsym r X 10 c
 0568                   .dbend
                        .area lit(rom, con, rel)
 0000           L110:
 0000 1211              .byte 18,17
 0002 100F              .byte 16,15
 0004 0E0D              .byte 14,13
 0006 0C0B              .byte 12,11
 0008 0A09              .byte 10,9
 000A 0807              .byte 8,7
 000C 0605              .byte 6,5
 000E 0403              .byte 4,3
 0010 0201              .byte 2,1
 0012 00                .byte 0
 0013           L111:
 0013 00                .byte 0
 0014 00000000000000000000      .word 0,0,0,0,0
 001E 0000000000000000  .byte 0,0,0,0,0,0,0,0
                        .area text(rom, con, rel)
 0568                   .dbfile D:\mega16_32实验板资料\ICCAVR源程序\twi\24c64\连续读写\lcd1602.h
 0568                   .dbfile D:\mega16_32实验板资料\ICCAVR源程序\twi\24c64\连续读写\24cxx_test.c
 0568                   .dbfunc e main _main fV
 0568           ;          temp1 -> y+24
 0568           ;          temp2 -> y+5
 0568           ;              i -> R20
                        .even
 0568           _main::
 0568 AB97              sbiw R28,43
 056A                   .dbline -1
 056A                   .dbline 15
 056A           ; //ICC-AVR application builder : 2008-11-10 11:10:06
 056A           ; // Target : M16
 056A           ; // Crystal: 8.0000Mhz
 056A           ; 
 056A           ; #include <iom16v.h>
 056A           ; #include <macros.h>
 056A           ; 
 056A           ; 
 056A           ; #include "delay.h"
 056A           ; #include "24cxx.h"
 056A           ; #include "lcd1602.h"
 056A           ; 
 056A           ; //
 056A           ; void main(void)
 056A           ; {
 056A                   .dbline 16
 056A           ;  unsigned char temp1[19]={18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0};
 056A 80E0              ldi R24,<L110
 056C 90E0              ldi R25,>L110
 056E FE01              movw R30,R28
 0570 7896              adiw R30,24
 0572 03E1              ldi R16,19
 0574 10E0              ldi R17,0
 0576 FA93              st -y,R31
 0578 EA93              st -y,R30
 057A 9A93              st -y,R25
 057C 8A93              st -y,R24
 057E 0E940000          xcall asgncblk
 0582                   .dbline 17
 0582           ;  unsigned char temp2[19]={0};
 0582 80E0              ldi R24,<L111
 0584 90E0              ldi R25,>L111
 0586 FE01              movw R30,R28
 0588 3596              adiw R30,5
 058A 03E1              ldi R16,19
 058C 10E0              ldi R17,0
 058E FA93              st -y,R31
 0590 EA93              st -y,R30
 0592 9A93              st -y,R25
 0594 8A93              st -y,R24
 0596 0E940000          xcall asgncblk
 059A                   .dbline 19
 059A           ;  unsigned char i;
 059A           ;  LCD_init();
 059A E3DE              xcall _LCD_init
 059C                   .dbline 21
 059C           ;  //insert your functional code here...
 059C           ;  LCD_write_string(0,0,"  AT24C64 TEST  ");
 059C 80E0              ldi R24,<L112
 059E 90E0              ldi R25,>L112
 05A0 9983              std y+1,R25
 05A2 8883              std y+0,R24
 05A4 2227              clr R18
 05A6 0027              clr R16
 05A8 81DF              xcall _LCD_write_string
 05AA                   .dbline 22
 05AA           ;  AT24CxxWrite(64,0,1000,temp1,19);
 05AA 83E1              ldi R24,19
 05AC 8C83              std y+4,R24
 05AE CE01              movw R24,R28
 05B0 4896              adiw R24,24
 05B2 9B83              std y+3,R25
 05B4 8A83              std y+2,R24
 05B6 88EE              ldi R24,1000
 05B8 93E0              ldi R25,3
 05BA 9983              std y+1,R25
 05BC 8883              std y+0,R24
 05BE 2227              clr R18
 05C0 00E4              ldi R16,64
 05C2 10E0              ldi R17,0
 05C4 77DD              xcall _AT24CxxWrite
 05C6                   .dbline 23
 05C6           ;  AT24CxxRead(64,0,1000,temp2,19);
 05C6 83E1              ldi R24,19
 05C8 8C83              std y+4,R24
 05CA CE01              movw R24,R28
 05CC 0596              adiw R24,5
 05CE 9B83              std y+3,R25
 05D0 8A83              std y+2,R24
 05D2 88EE              ldi R24,1000
 05D4 93E0              ldi R25,3
 05D6 9983              std y+1,R25
 05D8 8883              std y+0,R24
 05DA 2227              clr R18
 05DC 00E4              ldi R16,64
 05DE 10E0              ldi R17,0
 05E0 78DE              xcall _AT24CxxRead
 05E2 15C0              xjmp L114
 05E4           L113:
 05E4                   .dbline 25
 05E4           ;  while(1)
 05E4           ;  {
 05E4                   .dbline 26
 05E4           ;   for(i=0;i<19;i++)
 05E4 4427              clr R20
 05E6 11C0              xjmp L119
 05E8           L116:
 05E8                   .dbline 27
 05E8           ;   {
 05E8                   .dbline 28
 05E8           ;    LCD_write_data(5,1,temp2[i]);
 05E8 CE01              movw R24,R28
 05EA 0596              adiw R24,5
 05EC E42F              mov R30,R20
 05EE FF27              clr R31
 05F0 E80F              add R30,R24
 05F2 F91F              adc R31,R25
 05F4 2080              ldd R2,z+0
 05F6 3324              clr R3
 05F8 3982              std y+1,R3
 05FA 2882              std y+0,R2
 05FC 21E0              ldi R18,1
 05FE 05E0              ldi R16,5
 0600 6DDF              xcall _LCD_write_data
 0602                   .dbline 29
 0602           ;    delay_ms(1000);
 0602 08EE              ldi R16,1000
 0604 13E0              ldi R17,3
 0606 17DD              xcall _delay_ms
 0608                   .dbline 30
 0608           ;   }
 0608           L117:
 0608                   .dbline 26
 0608 4395              inc R20
 060A           L119:
 060A                   .dbline 26
 060A 4331              cpi R20,19
 060C 68F3              brlo L116
 060E           X36:
 060E                   .dbline 31
 060E           ;  }
 060E           L114:
 060E                   .dbline 24
 060E EACF              xjmp L113
 0610           X37:
 0610                   .dbline -2
 0610           L109:
 0610                   .dbline 0 ; func end
 0610 AB96              adiw R28,43
 0612 0895              ret
 0614                   .dbsym l temp1 24 A[19:19]c
 0614                   .dbsym l temp2 5 A[19:19]c
 0614                   .dbsym r i 20 c
 0614                   .dbend
                        .area data(ram, con, rel)
 0000                   .dbfile D:\mega16_32实验板资料\ICCAVR源程序\twi\24c64\连续读写\24cxx_test.c
 0000           L112:
 0000                   .blkb 17
                        .area idata
 0000 20204154323443363420544553542020  .byte 32,32,'A,'T,50,52,'C,54,52,32,'T,'E,'S,'T,32,32
 0010 00                .byte 0
                        .area data(ram, con, rel)
 0011                   .dbfile D:\mega16_32实验板资料\ICCAVR源程序\twi\24c64\连续读写\24cxx_test.c
 0011           ; }
 0011           ; 

⌨️ 快捷键说明

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