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

📄 m4094.lis

📁 AVRmega8515的AD转换
💻 LIS
字号:
                        .module m4094.c
                        .area text(rom, con, rel)
 0000                   .dbfile F:\学习\AVR单片机\AVR实验\adc0832_avr\m4094.c
                        .area data(ram, con, rel)
 0000                   .dbfile F:\学习\AVR单片机\AVR实验\adc0832_avr\m4094.c
 0000           _table2::
 0000                   .blkb 2
                        .area idata
 0000 81B7              .byte 129,183
                        .area data(ram, con, rel)
 0002                   .dbfile F:\学习\AVR单片机\AVR实验\adc0832_avr\m4094.c
 0002                   .blkb 2
                        .area idata
 0002 C292              .byte 194,146
                        .area data(ram, con, rel)
 0004                   .dbfile F:\学习\AVR单片机\AVR实验\adc0832_avr\m4094.c
 0004                   .blkb 2
                        .area idata
 0004 B498              .byte 180,152
                        .area data(ram, con, rel)
 0006                   .dbfile F:\学习\AVR单片机\AVR实验\adc0832_avr\m4094.c
 0006                   .blkb 2
                        .area idata
 0006 88B3              .byte 136,179
                        .area data(ram, con, rel)
 0008                   .dbfile F:\学习\AVR单片机\AVR实验\adc0832_avr\m4094.c
 0008                   .blkb 2
                        .area idata
 0008 8090              .byte 128,144
                        .area data(ram, con, rel)
 000A                   .dbfile F:\学习\AVR单片机\AVR实验\adc0832_avr\m4094.c
 000A                   .dbsym e table2 _table2 A[10:10]c
 000A           _led_buffer::
 000A                   .blkb 2
                        .area idata
 000A 0003              .byte 0,3
                        .area data(ram, con, rel)
 000C                   .dbfile F:\学习\AVR单片机\AVR实验\adc0832_avr\m4094.c
 000C                   .blkb 2
                        .area idata
 000C 0000              .byte 0,0
                        .area data(ram, con, rel)
 000E                   .dbfile F:\学习\AVR单片机\AVR实验\adc0832_avr\m4094.c
 000E                   .dbsym e led_buffer _led_buffer A[4:4]c
                        .area text(rom, con, rel)
 0000                   .dbfile F:\学习\AVR单片机\AVR实验\adc0832_avr\m4094.c
 0000                   .dbfunc e update_display_dp _update_display_dp fV
 0000           ;   byte_counter -> R20
 0000           ;      bit_count -> R22
 0000           ;         temp_i -> R10
 0000           ;              k -> R12,R13
                        .even
 0000           _update_display_dp::
 0000 00D0              rcall push_xgsetF03C
 0002 6801              movw R12,R16
 0004                   .dbline -1
 0004                   .dbline 11
 0004           ; /*4094显示模式
 0004           ; 基于实验板接线方式
 0004           ; */
 0004           ; #include "d4094.h"
 0004           ; 
 0004           ; 
 0004           ; uchar table2[10]={0x81,0xB7,0xC2,0x92,0xB4,0x98,0x88,0xB3,0x80,0x90};
 0004           ; uchar led_buffer[4]={0,3};
 0004           ; 
 0004           ; void update_display_dp(uint k)
 0004           ; {
 0004                   .dbline 12
 0004           ;        uchar bit_count=0;
 0004 6627              clr R22
 0006                   .dbline 13
 0006           ;        uchar byte_counter=0;
 0006 4427              clr R20
 0008                   .dbline 14
 0008           ;      uchar temp_i=0;
 0008 AA24              clr R10
 000A                   .dbline 16
 000A           ;        
 000A           ;      led_buffer[3]=k/1000;
 000A 28EE              ldi R18,1000
 000C 33E0              ldi R19,3
 000E 8601              movw R16,R12
 0010 00D0              rcall div16u
 0012 00930D00          sts _led_buffer+3,R16
 0016                   .dbline 17
 0016           ;      led_buffer[2]=(k%1000)/100;
 0016 28EE              ldi R18,1000
 0018 33E0              ldi R19,3
 001A 8601              movw R16,R12
 001C 00D0              rcall mod16u
 001E 24E6              ldi R18,100
 0020 30E0              ldi R19,0
 0022 00D0              rcall div16u
 0024 00930C00          sts _led_buffer+2,R16
 0028                   .dbline 18
 0028           ;      led_buffer[1]=(k%100)/10;
 0028 24E6              ldi R18,100
 002A 30E0              ldi R19,0
 002C 8601              movw R16,R12
 002E 00D0              rcall mod16u
 0030 2AE0              ldi R18,10
 0032 30E0              ldi R19,0
 0034 00D0              rcall div16u
 0036 00930B00          sts _led_buffer+1,R16
 003A                   .dbline 19
 003A           ;      led_buffer[0]=k%10;
 003A 2AE0              ldi R18,10
 003C 30E0              ldi R19,0
 003E 8601              movw R16,R12
 0040 00D0              rcall mod16u
 0042 00930A00          sts _led_buffer,R16
 0046                   .dbline 21
 0046           ;        
 0046           ;      CLR_STR_4094;//led_str_off;
 0046 AE98              cbi 0x15,6
 0048                   .dbline 22
 0048           ;      CLR_CLK_4094;//led_clk_off;
 0048 AD98              cbi 0x15,5
 004A                   .dbline 24
 004A           ;       
 004A           ;      for(byte_counter=0;byte_counter<4;byte_counter++)
 004A 1CC0              rjmp L8
 004C           L5:
 004C                   .dbline 25
 004C           ;          {
 004C                   .dbline 26
 004C           ;             bit_count=8;
 004C 68E0              ldi R22,8
 004E                   .dbline 27
 004E           ;              temp_i=table2[led_buffer[byte_counter]];
 004E 80E0              ldi R24,<_led_buffer
 0050 90E0              ldi R25,>_led_buffer
 0052 E42F              mov R30,R20
 0054 FF27              clr R31
 0056 E80F              add R30,R24
 0058 F91F              adc R31,R25
 005A E081              ldd R30,z+0
 005C FF27              clr R31
 005E 80E0              ldi R24,<_table2
 0060 90E0              ldi R25,>_table2
 0062 E80F              add R30,R24
 0064 F91F              adc R31,R25
 0066 A080              ldd R10,z+0
 0068 09C0              rjmp L10
 006A           L9:
 006A                   .dbline 30
 006A           ; 
 006A           ;              while(bit_count>0)
 006A           ;                     {
 006A                   .dbline 31
 006A           ;                     if((temp_i&0x01)==0)
 006A A0FC              sbrc R10,0
 006C 02C0              rjmp L12
 006E           X0:
 006E                   .dbline 32
 006E           ;                            {
 006E                   .dbline 33
 006E           ;                                CLR_DATA_4094;//led_d_off;
 006E AC98              cbi 0x15,4
 0070                   .dbline 34
 0070           ;                             }
 0070 01C0              rjmp L13
 0072           L12:
 0072                   .dbline 36
 0072           ;                       else
 0072           ;                               {
 0072                   .dbline 37
 0072           ;                             SET_DATA_4094;//led_d_on;
 0072 AC9A              sbi 0x15,4
 0074                   .dbline 38
 0074           ;                                  }
 0074           L13:
 0074                   .dbline 39
 0074           ;               temp_i=(temp_i>>1);
 0074 A694              lsr R10
 0076                   .dbline 42
 0076           ;               
 0076           ;       
 0076           ;               SET_CLK_4094;//led_clk_on;
 0076 AD9A              sbi 0x15,5
 0078                   .dbline 44
 0078           ; 
 0078           ;               CLR_CLK_4094;//led_clk_off;
 0078 AD98              cbi 0x15,5
 007A                   .dbline 46
 007A           ; 
 007A           ;               bit_count--;                    
 007A 6A95              dec R22
 007C                   .dbline 48
 007C           ;               
 007C           ;               }
 007C           L10:
 007C                   .dbline 29
 007C 80E0              ldi R24,0
 007E 8617              cp R24,R22
 0080 A0F3              brlo L9
 0082           X1:
 0082                   .dbline 50
 0082           ;       
 0082           ;       }
 0082           L6:
 0082                   .dbline 24
 0082 4395              inc R20
 0084           L8:
 0084                   .dbline 24
 0084 4430              cpi R20,4
 0086 10F3              brlo L5
 0088           X2:
 0088                   .dbline 51
 0088           ;     SET_STR_4094;
 0088 AE9A              sbi 0x15,6
 008A                   .dbline -2
 008A           L1:
 008A                   .dbline 0 ; func end
 008A 00C0              rjmp pop_xgsetF03C
 008C                   .dbsym r byte_counter 20 c
 008C                   .dbsym r bit_count 22 c
 008C                   .dbsym r temp_i 10 c
 008C                   .dbsym r k 12 i
 008C                   .dbend
 008C           ;  
 008C           ;  
 008C           ; }
 008C           ; 
 008C           ;       

⌨️ 快捷键说明

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