位置:首页 > IC型号导航 > 首字符A型号页 > 首字符A的型号第1683页 > ATMEGA32L-8MC > ATMEGA32L-8MC PDF资料 > ATMEGA32L-8MC PDF资料3第19页

ATmega32(L)
注意:
1.采用1 MHz的时钟,不倚赖CKSEL熔丝设置。
下面的代码分别用汇编和C函数写
EEPROM 。在此假设中断控制(例如,通过显示
abling全局中断)使中断不会发生在执行这些过程中
功能。同时还假设了没有Boot Loader是存在于软
洁具。如果这样的代码存在,则EEPROM写函数还需要等待
正在进行的SPM命令的结束。
汇编代码例程
EEPROM_write :
;等待上一次写操作结束
SBIC
EECR , EEWE
RJMP
EEPROM_write
;设置地址( R18 : R17 )的地址寄存器
OUT
OUT
OUT
EEARH , R18
EEARL , R17
EEDR,r16
;写数据( R16)到数据寄存器
;写逻辑1 EEMWE
SBI
SBI
RET
EECR , EEMWE
EECR , EEWE
;启动写操作EEWE
C代码示例
空间
EEPROM_write (无符号
INT
uiAddress ,
无符号字符型
ucData )
{
/*
等待上一次写操作结束
*/
而( EECR & ( 1<<EEWE ) )
;
/ *设置地址和数据寄存器* /
EEAR = uiAddress ;
EEDR = ucData ;
/*
写逻辑1 EEMWE * /
EECR | = ( 1<<EEMWE ) ;
/ *启动写操作EEWE * /
EECR | = ( 1<<EEWE ) ;
}
19
2503F–AVR–12/03