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

📄 eeprom.s

📁 avr mega16 读取内部EEPRom
💻 S
字号:
	.module EEPROM.c
	.area text(rom, con, rel)
	.dbfile D:\YM200\内部EEPROM\EEPROM.c
	.dbfunc e EEPROM_write _EEPROM_write fV
;             dd -> R18
;           addr -> R16,R17
	.even
_EEPROM_write::
	.dbline -1
	.dbline 9
; #include <iom16v.h>
; /*-----------------------------------------------------------
; EEPROM_write  :EEPROM单字节写入
; 输入参数 addr :地址
;          dd   :数据
; 输出参数      :无
; ------------------------------------------------------------*/
; void EEPROM_write(unsigned int addr, unsigned char dd)
; {
L2:
	.dbline 10
L3:
	.dbline 10
;   while(EECR & (1<<EEWE));        //等待上一次写操作结束
	sbic 0x1c,1
	rjmp L2
	.dbline 11
;   EEAR = addr;                    //设置地址和数据寄存器
	out 0x1f,R17
	out 0x1e,R16
	.dbline 12
;   EEDR = dd;
	out 0x1d,R18
	.dbline 13
;   EECR |= (1<<EEMWE);             //置位EEMWE
	sbi 0x1c,2
	.dbline 14
;   EECR |= (1<<EEWE);              //置位EEWE 以启动写操作
	sbi 0x1c,1
	.dbline -2
L1:
	.dbline 0 ; func end
	ret
	.dbsym r dd 18 c
	.dbsym r addr 16 i
	.dbend
	.dbfunc e EEPROM_read _EEPROM_read fV
;         ucData -> R18,R19
;      uiAddress -> R16,R17
	.even
_EEPROM_read::
	.dbline -1
	.dbline 23
;  }
; /*-----------------------------------------------------------
; EEPROM_read   :EEPROM单字节读取
; 输入参数 addr :地址
;          dd   :数据保存指针
; 输出参数      :无
; ------------------------------------------------------------*/
; void EEPROM_read(unsigned int uiAddress,unsigned char *ucData)
; {
L6:
	.dbline 24
L7:
	.dbline 24
;   while(EECR & (1<<EEWE));         //等待上一次写操作结束
	sbic 0x1c,1
	rjmp L6
	.dbline 25
;   EEAR = uiAddress;                //设置地址寄存器
	out 0x1f,R17
	out 0x1e,R16
	.dbline 26
;   EECR |= (1<<EERE);               //设置EERE 以启动读操作
	sbi 0x1c,0
	.dbline 27
;   *ucData=EEDR;                     //自数据寄存器返回数据
	in R2,0x1d
	movw R30,R18
	std z+0,R2
	.dbline -2
L5:
	.dbline 0 ; func end
	ret
	.dbsym r ucData 18 pc
	.dbsym r uiAddress 16 i
	.dbend

⌨️ 快捷键说明

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