AVRTWI读写范例程序(AT24C02)本程序简单的示范了如何使用ATMEGA16的TWI读写AT24C02IICEEPROM新洁家园)c#bA.h.F*@TWI协议)f9Y9`:S!O1j7z(即IIC协议,请认真参考IIC协议的内容,否则根本就不能掌握)一主多从的应用,M16作主机(M16做从机和多主多从的应用不多,请自行参考相关文档)中断模式新洁家园$e;_:B8b$T(因为AVR的速度很高,而IIC的速度相对较低,机械、电子电气、编程技术'x0z6G"J,X4M采用查询模式会长时间独占CPU,令CPU的利用率明显下降。特别是IIC速度受环境影响只能低速通讯时,对系统的实时性产生严重的影响。xjdz.5d6d.com0`;?,C4?;~!A)B;W2t查询模式可以参考其它文档和软件模拟IIC的文档)AT24C02/04/08的操作特点出于简化程序考虑,各种数据没有对外输出,学习时建议使用JTAGICE硬件仿真器#include
xjdz.5d6d.com!L!C'h!J1K"A2{/z#include新洁家园0x&~?"d,j8@!a#N6e#includek%L-k5?$w%X,h#include//时钟定为外部晶振7.3728MHz,F_CPU=7372800*p)J1?*V;x#t-@#includexjdz.5d6d.comA#m)O!W6Y3C//定义了各种模式下的状态码列表(TWSR已屏蔽预分频位),本文后面附上中文描述//管脚定义#definepinSCL0//PC0SCLxjdz.5d6d.com.R'h#X9J(j$h2J6h/O%_#definepinSDA1//PC1SDA//为保险起见,最好在SCL/SDA接上1~10K的外部上拉电阻到VCC。#definefSCL100000//TWI时钟为100KHzxjdz.5d6d.com6~*]8w/]+]5M9q:Y-n//预分频系数=1(TWPS=0)#ifF_CPU