📄 main.s
字号:
.module main.c
.area text(rom, con, rel)
.dbfile D:\avrvi\AVRVi_m128_Starter_Kit\EEPROM_HC595\source\main.c
.dbfunc e EEPROM_write _EEPROM_write fV
; ucData -> R18
; uiAddress -> R16,R17
.even
_EEPROM_write::
.dbline -1
.dbline 13
; /************************************************
; 文件:main.c
; 用途:
; 注意:内部8M晶振
; 创建:2008.4.1
; 修改:2008.4.1
; Copy Right (c) www.avrvi.com AVR与虚拟仪器
; ************************************************/
;
; #include "config.h"
;
; void EEPROM_write(unsigned int uiAddress,unsigned char ucData)
; {
L2:
.dbline 14
L3:
.dbline 14
; while(EECR&(1<<EEWE));
sbic 0x1c,1
rjmp L2
.dbline 15
; EEAR = uiAddress;
out 0x1f,R17
out 0x1e,R16
.dbline 16
; EEDR = ucData;
out 0x1d,R18
.dbline 17
; EECR |=(1<<EEMWE);
sbi 0x1c,2
.dbline 18
; EECR |=(1<<EEWE);
sbi 0x1c,1
.dbline -2
L1:
.dbline 0 ; func end
ret
.dbsym r ucData 18 c
.dbsym r uiAddress 16 i
.dbend
.dbfunc e EEPROM_read _EEPROM_read fc
; uiAddress -> R16,R17
.even
_EEPROM_read::
.dbline -1
.dbline 22
; }
;
; unsigned char EEPROM_read(unsigned int uiAddress)
; {
L6:
.dbline 23
L7:
.dbline 23
; while(EECR&(1<<EEWE));
sbic 0x1c,1
rjmp L6
.dbline 24
; EEAR = uiAddress;
out 0x1f,R17
out 0x1e,R16
.dbline 25
; EECR |=(1<<EERE);
sbi 0x1c,0
.dbline 26
; return EEDR;
in R16,0x1d
.dbline -2
L5:
.dbline 0 ; func end
ret
.dbsym r uiAddress 16 i
.dbend
.dbfunc e main _main fV
; temp -> R20
.even
_main::
.dbline -1
.dbline 30
; }
;
; void main(void)
; {
.dbline 32
; unsigned char temp;
; HC_595_init();
xcall _HC_595_init
.dbline 34
;
; temp=EEPROM_read(0x01);
ldi R16,1
ldi R17,0
xcall _EEPROM_read
mov R20,R16
.dbline 35
; temp++;
inc R20
.dbline 36
; EEPROM_write(0x01,temp);
mov R18,R20
ldi R16,1
ldi R17,0
xcall _EEPROM_write
xjmp L11
L10:
.dbline 39
.dbline 40
mov R16,R20
clr R17
xcall _Seg7_Led_display
.dbline 41
L11:
.dbline 38
xjmp L10
X0:
.dbline -2
L9:
.dbline 0 ; func end
ret
.dbsym r temp 20 c
.dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -