《微机原理及应用2018秋季 第 12 讲作业.docx》由会员分享,可在线阅读,更多相关《微机原理及应用2018秋季 第 12 讲作业.docx(3页珍藏版)》请在第一文库网上搜索。
1、姓名:XXX班级:)(日期:2018.10.8)“微机原理及应用”2018秋季第12讲作业(从下面开始)1 .12C通讯接口的SC1信号是一种位同步信号,在其协议时序中“start”和“stop”是数据帧同步时序。你认为mACKm时序的作用是什么?应答位(ACK):当发送方传送完8位时,发送方释放SDA,由接收方控制SDA,且SDA=O;2 .在12C互联系统中使用什么信息区分多个从设备?搜索关键词“I2C接口。了解I2C的协议,能否确定12C互联系统中从设备的最大数量是多少?用IP来区分不同的设备,众所周知,电脑的IP是唯一的,所所以可以通过用IP来区分不同的设备。I2C协议规定,在启动总线
2、后第1字节的高7位是从节点的寻址地址,第8位为方向位。所以在单字节寻址中最多128个从设备。但又不能是同一类设备,因为在地址还要区分设备类型。3 .使用姿态传感器MPU9250感知的姿态信息,以及1ED6x7Matrix模块设计一个姿态指示器。4 .如果某MCU没有12C硬件单元,你能否使用普通GP1O实现I2C通讯接口的功能?如果可以,请编程实现基本的数据传送(读/写)接口程序。可以用普通GPIO实现I2C通讯接口的功能。inc1ude包含AT89C51的标准库inc1ude包含intrins.h标准库,其中定义了_nop_()”defineucunsignedChar定义数据格式的缩写sb
3、itSDA=P0;HC总线串行数据线sbitSC1=P1;/IIC总线串行时钟线bitNackF1ag;定义非应答标志voidde1ayO/延时子程序,延时大约5us(_nop_();与汇编中的NOP指令完全相同_nop_();_nop_();_nop_();)voidDe1ayx1ma(uccount)/延时子程序,延时大约Ims(uci,j;for(i=0;icount;i+)for(j=0;j0;i-)发送8位(SDA=tcmps0x80;根据IIC协议应从最高位开始发SC1=I;de1ay();SDA=tcmps0x80;根据I1C协议应从最高位开始发SC1=I;de1ay();SC1
4、=O;tcmp=tcmp1;/待发数据左移,准备发送下一位)voidsendbyte(ucnum,ucaddr)发送1字节数据到从器件子程序send8bit(OxaO);发送从器件地址ChkAck();检查应答位,每发一字节都要检查应答位Sendabit(addr);发送数据地址ChkACk();sendebit(num);/发送待发数据ChkAck();stop();全部发完后停止De1ayx1ms(10);)voidmain(void)主函数,模拟实现HC总线的数据发送(uci;for(i=0;i=0xff;i+)按要求产生并循环发送所有待发数据(Sendbyte(i,i);向从器件发送一字节数据Dc1ayX1ms(5);)whi1e(1);发送完毕,停止等待5 .分组讨论“球在平面上滚动效果”模拟算法,编程实现并测试效果。