📄 main.s
字号:
.module main.c
.area lit(rom, con, rel)
_Tab::
.byte 20,159
.byte 56,26
.byte 147,'R
.byte 'P,31
.byte 16,18
.byte 17,208
.byte 't,152
.byte 'p,'q
.dbfile F:\ouravr\ds3231\main.c
.dbsym e Tab _Tab A[16:16]kc
.area text(rom, con, rel)
.dbfile F:\ouravr\ds3231\main.c
.dbfunc e main _main fV
; Address -> R20
.even
_main::
.dbline -1
.dbline 12
; #include <iom16v.h>
;
; #define uchar unsigned char
; #define uint unsigned int
;
; void delay(uint ticks);//延时
;
; unsigned char const Tab[]={0x14,0x9F,0x38,0x1A,0x93,0x52,0x50,0x1F,
; 0x10,0x12,0x11,0xD0,0x74,0x98,0x70,0x71};
;
; void main()
; {
.dbline 14
; uchar Address;
; init_devices();
rcall _init_devices
.dbline 16
clr R20
rjmp L5
L2:
.dbline 16
mov R18,R20
clr R19
mov R16,R20
clr R17
rcall _Write24c02_OneByte
L3:
.dbline 16
inc R20
L5:
.dbline 16
; //向0到127这128个单元写顺序写入0到127
; for(Address=0;Address!=128;Address++)Write24c02_OneByte(Address,Address);
cpi R20,128
brne L2
.dbline 17
; PORTA=0x80;
ldi R24,128
out 0x1b,R24
rjmp L7
L6:
.dbline 19
; while(1)
; {
.dbline 20
; for(Address=0;Address!=128;Address++)
clr R20
rjmp L12
L9:
.dbline 21
.dbline 23
mov R16,R20
clr R17
rcall _Read24c02_OneByte
ldi R24,<_Tab
ldi R25,>_Tab
mov R30,R16
mov R31,R17
andi R30,15
andi R31,0
add R30,R24
adc R31,R25
lpm
out 0x15,R0
.dbline 24
ldi R16,5000
ldi R17,19
rcall _delay
.dbline 25
L10:
.dbline 20
inc R20
L12:
.dbline 20
cpi R20,128
brne L9
.dbline 27
L7:
.dbline 18
rjmp L6
X0:
.dbline -2
L1:
.dbline 0 ; func end
ret
.dbsym r Address 20 c
.dbend
.dbfunc e delay _delay fV
; i -> R20
; ticks -> R16,R17
.even
_delay::
rcall push_gset1
.dbline -1
.dbline 31
; {
; //把0到128单元的内容顺序读出并显示
; PORTC=Tab[Read24c02_OneByte(Address)&0x0f];
; delay(5000);
; }
;
; }
; }
;
; void delay(uint ticks)
; {
rjmp L15
L14:
.dbline 33
ldi R20,100
rjmp L20
L17:
.dbline 33
L18:
.dbline 33
dec R20
L20:
.dbline 33
tst R20
brne L17
L15:
.dbline 33
; uchar i;
; while(ticks--)for(i=100;i!=0;i--);//约0.1mS
mov R2,R16
mov R3,R17
subi R16,1
sbci R17,0
tst R2
brne L14
tst R3
brne L14
X1:
.dbline -2
L13:
rcall pop_gset1
.dbline 0 ; func end
ret
.dbsym r i 20 c
.dbsym r ticks 16 i
.dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -