参考答案:
【问题1】
(1)0xB9(2)0xB8(3)0xBB(4)0xBA
【问题2】
(1)0xFC 或者0xFD
(2)0x0A
【问题3】
(1)*pdata = I2C_DATA
(2)0x8003
(3)I2C_DATA=wdata
(4)I2C_STAT&0x80
详细解析:
本题考查嵌入式系统设计,涉及嵌入式软件和硬件基础知识的应用,尤其是嵌入式处理器外设控制及操作方面。
I2C BUS(Inter Integrated Circuit BUS,内部集成电路总线)是由Philips公司推出的二线制串行扩展总线,用于连接微控制器及其外围设备。I2C总线是具备总线仲裁和高低速设备同步等功能的高性能多主机总线。直接用导线连接设备,通信时无需片选信号。
在I2C总线上,只需要两条线—串行数据SDA线、串行时钟SCL线,它们用于总线上器件之间的信息传递。SDA和SCL都是双向的。每个器件都有一个唯一的地址以供识别,而且各器件都可以作为一个发送器或接收器(由器件的功能决定)。
I2C总线的数据传输过程:
①开始:主设备产生启动信号,表明数据传输开始。
②地址:主设备发送地址信息,包含7位的从设备地址和1位的数据方向指示位(读或写位,表示数据流的方向)。
③数据:根据指示位,数据在主设备和从设备之间进行传输。数据一般以8位传输,MSB先传;具体能传输多少量的数据并没有限制。接收器产生1位的ACK(应答信号)表明收到了每个字节。传输过程可以被中止和重新开始。
④停止:主设备产生停止信号,结束数据传输。