📄 digital_dispaly.s
字号:
.module digital_dispaly.c
.area text(rom, con, rel)
.dbfile D:\实例5~1/delay.h
.dbfunc e Delay_ms _Delay_ms fV
; n -> R20
; Time -> R16,R17
.even
_Delay_ms::
rcall push_gset1
.dbline -1
.dbline 6
; #include <iom48v.h>
; #include <macros.h>
; #include "delay.h"
;
; const unsigned char DisTab[]=
; {
rjmp L3
L2:
.dbline 9
; 0xFC,0x60,0xDA,0xF2,0x66, //0,1,2,3,4
; 0xB6,0xBE,0xE0,0xFE,0xF6, //5,6,7,8,9
; 0xEE,0x3E,0x9C,0x7A,0x9E, //A,b,C,d,E
.dbline 10
; 0x8E,0xCE,0x1C,0x6E,0x7C, //F,P,L,H,U
ldi R20,1
rjmp L8
L5:
.dbline 11
.dbline 12
nop
.dbline 13
L6:
.dbline 10
inc R20
L8:
.dbline 10
cpi R20,187
brlo L5
.dbline 14
subi R16,1
sbci R17,0
.dbline 15
L3:
.dbline 8
cpi R16,0
cpc R16,R17
brne L2
X0:
.dbline -2
L1:
rcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r n 20 c
.dbsym r Time 16 i
.dbend
.area lit(rom, con, rel)
_DisTab::
.byte 252,96
.byte 218,242
.byte 'f,182
.byte 190,224
.byte 254,246
.byte 238,62
.byte 156,'z
.byte 158,142
.byte 206,28
.byte 'n,124
.byte 10,16
.byte 2
.dbfile D:\实例5~1\digital_dispaly.c
.dbsym e DisTab _DisTab A[23:23]kc
.area text(rom, con, rel)
.dbfile D:\实例5~1\digital_dispaly.c
.dbfunc e main _main fV
; Counter -> R20
.even
_main::
.dbline -1
.dbline 15
; 0x0A,0x10,0x02 //r,_,-
; };
;
; void main (void)
; {
.dbline 16
; unsigned char Counter=0;
clr R20
.dbline 18
;
; DDRC=0xFF;
ldi R24,255
out 0x7,R24
.dbline 19
; DDRB=0xFF;
out 0x4,R24
.dbline 20
; DDRD=0xFF;
out 0xa,R24
.dbline 21
; PORTC=0xFF;
out 0x8,R24
.dbline 22
; PORTB=0xFF;
out 0x5,R24
.dbline 23
; PORTD=0xFF;
out 0xb,R24
rjmp L11
L10:
.dbline 26
;
; while(1)
; {
.dbline 27
; PORTD=DisTab[Counter];
ldi R24,<_DisTab
ldi R25,>_DisTab
mov R30,R20
clr R31
add R30,R24
adc R31,R25
lpm R30,Z
out 0xb,R30
.dbline 28
; Counter++;
inc R20
.dbline 29
; if (Counter>22)
ldi R24,22
cp R24,R20
brsh L13
.dbline 30
; Counter=0;
clr R20
L13:
.dbline 31
ldi R16,500
ldi R17,1
rcall _Delay_ms
.dbline 32
L11:
.dbline 25
rjmp L10
X1:
.dbline -2
L9:
.dbline 0 ; func end
ret
.dbsym r Counter 20 c
.dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -