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

📄 numled.lis

📁 AVR M16单片机AD转换测试程序
💻 LIS
字号:
                        .module numled.c
                        .area text(rom, con, rel)
 0000                   .dbfile G:\AVRsource\adc\numled.c
                        .area lit(rom, con, rel)
 0000           _seg_table::
 0000 C0F9              .byte 192,249
 0002 A4B0              .byte 164,176
 0004 9992              .byte 153,146
 0006 82F8              .byte 130,248
 0008 8090              .byte 128,144
 000A 8883              .byte 136,131
 000C C6A1              .byte 198,161
 000E 868E              .byte 134,142
 0010                   .dbsym e seg_table _seg_table A[16:16]kc
                        .area data(ram, con, rel)
 0000                   .dbfile G:\AVRsource\adc\numled.c
 0000           _led_buff::
 0000                   .blkb 2
                        .area idata
 0000 0000              .byte 0,0
                        .area data(ram, con, rel)
 0002                   .dbfile G:\AVRsource\adc\numled.c
 0002                   .blkb 2
                        .area idata
 0002 0000              .byte 0,0
                        .area data(ram, con, rel)
 0004                   .dbfile G:\AVRsource\adc\numled.c
 0004                   .dbsym e led_buff _led_buff A[4:4]c
                        .area text(rom, con, rel)
 0000                   .dbfile G:\AVRsource\adc\numled.c
 0000                   .dbfunc e delay_us _delay_us fV
 0000           ;           time -> R16,R17
                        .even
 0000           _delay_us::
 0000                   .dbline -1
 0000                   .dbline 15
 0000           ; /*******************************************/
 0000           ; /*            广州天河双龙电子公司         */
 0000           ; /*            http://www.sl.com.cn         */
 0000           ; /*              数码LED驱动程序            */
 0000           ; /*            作者:ntzwq@wx88.net          */
 0000           ; /*                2002年5月11日            */
 0000           ; /*   目标MCU:MEGA8   晶振:内部RC(INT) 8MHZ */
 0000           ; /*******************************************/
 0000           ; #include<iom16v.h>
 0000           ; const unsigned char seg_table[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,
 0000           ; 0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
 0000           ; unsigned char led_buff[4]={0,0,0,0};
 0000           ; /*                            微秒级延时程序                  */
 0000           ; void delay_us(int time)
 0000           ;        {     
 0000           L2:
 0000                   .dbline 17
 0000           ;         do
 0000           ;               {
 0000                   .dbline 18
 0000           ;                time--;
 0000 0150              subi R16,1
 0002 1040              sbci R17,0
 0004                   .dbline 19
 0004           ;               }       
 0004           L3:
 0004                   .dbline 20
 0004           ;         while (time>1);
 0004 81E0              ldi R24,1
 0006 90E0              ldi R25,0
 0008 8017              cp R24,R16
 000A 9107              cpc R25,R17
 000C CCF3              brlt L2
 000E                   .dbline -2
 000E           L1:
 000E                   .dbline 0 ; func end
 000E 0895              ret
 0010                   .dbsym r time 16 I
 0010                   .dbend
 0010                   .dbfunc e delay_ms _delay_ms fV
 0010           ;           time -> R20,R21
                        .even
 0010           _delay_ms::
 0010 0E940000          xcall push_gset1
 0014 A801              movw R20,R16
 0016                   .dbline -1
 0016                   .dbline 24
 0016           ;        }        
 0016           ; /*                        毫秒级延时程序                      */       
 0016           ; void delay_ms(unsigned int time)
 0016           ;        {
 0016 05C0              xjmp L7
 0018           L6:
 0018                   .dbline 26
 0018                   .dbline 27
 0018 08EE              ldi R16,1000
 001A 13E0              ldi R17,3
 001C F1DF              xcall _delay_us
 001E                   .dbline 28
 001E 4150              subi R20,1
 0020 5040              sbci R21,0
 0022                   .dbline 29
 0022           L7:
 0022                   .dbline 25
 0022           ;         while(time!=0)
 0022 4030              cpi R20,0
 0024 4507              cpc R20,R21
 0026 C1F7              brne L6
 0028           X0:
 0028                   .dbline -2
 0028           L5:
 0028 0E940000          xcall pop_gset1
 002C                   .dbline 0 ; func end
 002C 0895              ret
 002E                   .dbsym r time 20 i
 002E                   .dbend
 002E                   .dbfunc e display _display fV
 002E           ;              i -> R20
                        .even
 002E           _display::
 002E 0E940000          xcall push_gset1
 0032                   .dbline -1
 0032                   .dbline 32
 0032           ;                 {             
 0032           ;                  delay_us(1000);
 0032           ;                  time--;
 0032           ;                 }
 0032           ;        }                                      
 0032           ; void display(void)
 0032           ;        {
 0032                   .dbline 34
 0032           ;         unsigned char i;
 0032           ;         DDRB=0xff;
 0032 8FEF              ldi R24,255
 0034 87BB              out 0x17,R24
 0036                   .dbline 35
 0036           ;         PORTB=0xff;
 0036 88BB              out 0x18,R24
 0038                   .dbline 36
 0038           ;         DDRD|=0xf0;
 0038 81B3              in R24,0x11
 003A 806F              ori R24,240
 003C 81BB              out 0x11,R24
 003E                   .dbline 37
 003E           ;         PORTD|=0xf0;
 003E 82B3              in R24,0x12
 0040 806F              ori R24,240
 0042 82BB              out 0x12,R24
 0044                   .dbline 38
 0044           ;         for(i=0;i<4;i++)
 0044 4427              clr R20
 0046 19C0              xjmp L13
 0048           L10:
 0048                   .dbline 39
 0048                   .dbline 40
 0048 80E0              ldi R24,<_led_buff
 004A 90E0              ldi R25,>_led_buff
 004C E42F              mov R30,R20
 004E FF27              clr R31
 0050 E80F              add R30,R24
 0052 F91F              adc R31,R25
 0054 2080              ldd R2,z+0
 0056 28BA              out 0x18,R2
 0058                   .dbline 41
 0058 142F              mov R17,R20
 005A 1C5F              subi R17,252    ; addi 4
 005C 01E0              ldi R16,1
 005E 0E940000          xcall lsl8
 0062 202E              mov R2,R16
 0064 2094              com R2
 0066 32B2              in R3,0x12
 0068 3220              and R3,R2
 006A 32BA              out 0x12,R3
 006C                   .dbline 42
 006C 01E0              ldi R16,1
 006E 10E0              ldi R17,0
 0070 CFDF              xcall _delay_ms
 0072                   .dbline 43
 0072 82B3              in R24,0x12
 0074 806F              ori R24,240
 0076 82BB              out 0x12,R24
 0078                   .dbline 44
 0078           L11:
 0078                   .dbline 38
 0078 4395              inc R20
 007A           L13:
 007A                   .dbline 38
 007A 4430              cpi R20,4
 007C 28F3              brlo L10
 007E                   .dbline -2
 007E           L9:
 007E 0E940000          xcall pop_gset1
 0082                   .dbline 0 ; func end
 0082 0895              ret
 0084                   .dbsym r i 20 c
 0084                   .dbend

⌨️ 快捷键说明

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