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

📄 digital_dispaly.lis

📁 为了实现让单片机显示阿拉伯数字的功能
💻 LIS
字号:
                        .module digital_dispaly.c
                        .area text(rom, con, rel)
 0000                   .dbfile D:\实例5~1/delay.h
 0000                   .dbfunc e Delay_ms _Delay_ms fV
 0000           ;              n -> R20
 0000           ;           Time -> R16,R17
                        .even
 0000           _Delay_ms::
 0000 00D0              rcall push_gset1
 0002                   .dbline -1
 0002                   .dbline 6
 0002           ; #include <iom48v.h>
 0002           ; #include <macros.h>
 0002           ; #include "delay.h"
 0002           ; 
 0002           ; const unsigned char DisTab[]=
 0002           ; {
 0002 08C0              rjmp L3
 0004           L2:
 0004                   .dbline 9
 0004           ;       0xFC,0x60,0xDA,0xF2,0x66,       //0,1,2,3,4
 0004           ;       0xB6,0xBE,0xE0,0xFE,0xF6,       //5,6,7,8,9
 0004           ;       0xEE,0x3E,0x9C,0x7A,0x9E,       //A,b,C,d,E
 0004                   .dbline 10
 0004           ;       0x8E,0xCE,0x1C,0x6E,0x7C,       //F,P,L,H,U
 0004 41E0              ldi R20,1
 0006 02C0              rjmp L8
 0008           L5:
 0008                   .dbline 11
 0008                   .dbline 12
 0008 0000              nop
 000A                   .dbline 13
 000A           L6:
 000A                   .dbline 10
 000A 4395              inc R20
 000C           L8:
 000C                   .dbline 10
 000C 4B3B              cpi R20,187
 000E E0F3              brlo L5
 0010                   .dbline 14
 0010 0150              subi R16,1
 0012 1040              sbci R17,0
 0014                   .dbline 15
 0014           L3:
 0014                   .dbline 8
 0014 0030              cpi R16,0
 0016 0107              cpc R16,R17
 0018 A9F7              brne L2
 001A           X0:
 001A                   .dbline -2
 001A           L1:
 001A 00D0              rcall pop_gset1
 001C                   .dbline 0 ; func end
 001C 0895              ret
 001E                   .dbsym r n 20 c
 001E                   .dbsym r Time 16 i
 001E                   .dbend
                        .area lit(rom, con, rel)
 0000           _DisTab::
 0000 FC60              .byte 252,96
 0002 DAF2              .byte 218,242
 0004 66B6              .byte 'f,182
 0006 BEE0              .byte 190,224
 0008 FEF6              .byte 254,246
 000A EE3E              .byte 238,62
 000C 9C7A              .byte 156,'z
 000E 9E8E              .byte 158,142
 0010 CE1C              .byte 206,28
 0012 6E7C              .byte 'n,124
 0014 0A10              .byte 10,16
 0016 02                .byte 2
 0017                   .dbfile D:\实例5~1\digital_dispaly.c
 0017                   .dbsym e DisTab _DisTab A[23:23]kc
                        .area text(rom, con, rel)
 001E                   .dbfile D:\实例5~1\digital_dispaly.c
 001E                   .dbfunc e main _main fV
 001E           ;        Counter -> R20
                        .even
 001E           _main::
 001E                   .dbline -1
 001E                   .dbline 15
 001E           ;       0x0A,0x10,0x02                          //r,_,-
 001E           ; };
 001E           ; 
 001E           ; void main (void)
 001E           ; {
 001E                   .dbline 16
 001E           ;       unsigned char Counter=0;
 001E 4427              clr R20
 0020                   .dbline 18
 0020           ; 
 0020           ;     DDRC=0xFF;
 0020 8FEF              ldi R24,255
 0022 87B9              out 0x7,R24
 0024                   .dbline 19
 0024           ;     DDRB=0xFF;
 0024 84B9              out 0x4,R24
 0026                   .dbline 20
 0026           ;     DDRD=0xFF;
 0026 8AB9              out 0xa,R24
 0028                   .dbline 21
 0028           ;     PORTC=0xFF;
 0028 88B9              out 0x8,R24
 002A                   .dbline 22
 002A           ;     PORTB=0xFF;
 002A 85B9              out 0x5,R24
 002C                   .dbline 23
 002C           ;     PORTD=0xFF;
 002C 8BB9              out 0xb,R24
 002E 10C0              rjmp L11
 0030           L10:
 0030                   .dbline 26
 0030           ; 
 0030           ;     while(1)
 0030           ;     {
 0030                   .dbline 27
 0030           ;         PORTD=DisTab[Counter];
 0030 80E0              ldi R24,<_DisTab
 0032 90E0              ldi R25,>_DisTab
 0034 E42F              mov R30,R20
 0036 FF27              clr R31
 0038 E80F              add R30,R24
 003A F91F              adc R31,R25
 003C E491              lpm R30,Z
 003E EBB9              out 0xb,R30
 0040                   .dbline 28
 0040           ;         Counter++;
 0040 4395              inc R20
 0042                   .dbline 29
 0042           ;         if (Counter>22)
 0042 86E1              ldi R24,22
 0044 8417              cp R24,R20
 0046 08F4              brsh L13
 0048                   .dbline 30
 0048           ;               Counter=0;
 0048 4427              clr R20
 004A           L13:
 004A                   .dbline 31
 004A 04EF              ldi R16,500
 004C 11E0              ldi R17,1
 004E D8DF              rcall _Delay_ms
 0050                   .dbline 32
 0050           L11:
 0050                   .dbline 25
 0050 EFCF              rjmp L10
 0052           X1:
 0052                   .dbline -2
 0052           L9:
 0052                   .dbline 0 ; func end
 0052 0895              ret
 0054                   .dbsym r Counter 20 c
 0054                   .dbend

⌨️ 快捷键说明

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