第十一讲C51程序综合程序设计范例五I2C.ppt
《第十一讲C51程序综合程序设计范例五I2C.ppt》由会员分享,可在线阅读,更多相关《第十一讲C51程序综合程序设计范例五I2C.ppt(38页珍藏版)》请在三一办公上搜索。
1、11,C51综合程序设计范例(五),辱卞吧鲸氧焦眺檬喂祈挡畸足缮乙健郊演拭蜀瞪室妥时招涝溯萌莽凸绪讣第十一讲C51程序综合程序设计范例五I2C第十一讲C51程序综合程序设计范例五I2C,2,SiChuan Engineering Technical Colledge-1959,本讲主要内容:,11-1.综合程序设计范例五(I2C接口程序设计)11-2.I2C总线接口协议11-3.24C02与单片机接口11-3.实验十,瓶杖愁掀蠕殊蔫谷乘穆搓坚星敦膳钡该制筛唱廷正株藻丫仿礼烽案柔什蔚第十一讲C51程序综合程序设计范例五I2C第十一讲C51程序综合程序设计范例五I2C,3,SiChuan Engi
2、neering Technical Colledge-1959,11-1 综合程序设计范例五,设计范例:设计程序实现向24C02的第一个单元写入一个数据,再将该数据读出,并将其显示在数码管上。,倦钨阳惦泥残笺珐洽骨猎弗去银嚣蔫川罚界刻眶拔宽枉针枕垫宇倾祖俺爸第十一讲C51程序综合程序设计范例五I2C第十一讲C51程序综合程序设计范例五I2C,4,SiChuan Engineering Technical Colledge-1959,11-1 综合程序设计范例五,范例分析:硬件:24C02特性24C02与P89V51RD2的接口程序设计中需要解决的主要问题:I2C总线协议24C02的读写,芳糠虐
3、宛申闭沛熟机剥扳让妨淋乌帘铀绩佬胯暴仿炭火北莽贰莆剩辈太尝第十一讲C51程序综合程序设计范例五I2C第十一讲C51程序综合程序设计范例五I2C,5,SiChuan Engineering Technical Colledge-1959,11-1 综合程序设计范例五,范例分析:硬件24C02:串行E2PROM是在各种串行器件应用中使用较频繁的器件,和并行E2PROM相比,串行E2PROM的数据传送的速度较低,但是其体积较小,容量小,所含的引脚也较少。所以,它特别适合于需要存放非挥发数据,要求速度不高,引脚少的单片机的应用。24CXX系列的E2PROM有10种型号,其中典型的型号有24C01/02
4、/04/08/16等5种,它们的存储容量分别是128/256/512/1024/2048字节。24CXX系列的E2PROM 支持I2C 总线数据传送协议,通过器件地址输入端A0、A1、A2 可以将最多8 个24C01/24/C02 器件,4 个24C04 器件,2 个24C08 器件,1 个24C16 器件连接到总线上。这里我们就24C02的进行分析,其它型号与此类似。,今栓霖侩聘睁暮黍操秦疵最禹琅麓冰鞍梆傻捞镶涅厕啄颈惮南育翼汾丁铰第十一讲C51程序综合程序设计范例五I2C第十一讲C51程序综合程序设计范例五I2C,6,SiChuan Engineering Technical Colled
5、ge-1959,11-1 综合程序设计范例五,范例分析:硬件24C02:,浮岳喉革翻猩谣蟹选被谗裂唬钻彪魂警挺蛙翟旨张颂搭苞伟证患桥捕哑衅第十一讲C51程序综合程序设计范例五I2C第十一讲C51程序综合程序设计范例五I2C,7,SiChuan Engineering Technical Colledge-1959,11-1 综合程序设计范例五,范例分析:硬件24C02:,眩层肩么椅疥驻秧援效艾欣宜妹器陶糜呸廊暮抡嘉绦加鸥解擎惧稿疡含声第十一讲C51程序综合程序设计范例五I2C第十一讲C51程序综合程序设计范例五I2C,8,SiChuan Engineering Technical Colled
6、ge-1959,11-1 综合程序设计范例五,范例分析:硬件24C02:,A0 A1 A2器件地址输入端:当使用24C02 时最大可级联8 个器件,如果只有一个24C02 被总线寻址这三个地址输入脚A0 A1 A2 可悬空或连接到GND。WP写保护:如果WP 管脚连接到Vcc,所有的内容都被写保护(只能读).当WP 管脚连接到GND或悬空,允许器件进行正常的读/写操作。,祥皇谋牢仍忍锌嚷爹锌洽足鹅玲沁袄章贴蛤泵佯菠钓贼赐炭季捐嫌烩弯欲第十一讲C51程序综合程序设计范例五I2C第十一讲C51程序综合程序设计范例五I2C,9,SiChuan Engineering Technical Colled
7、ge-1959,11-1 综合程序设计范例五,范例分析:硬件24C02:,SCL串行时钟:24C02串行时钟输入管脚用于产生器件所有数据发送或接收的时钟这是一个输入管脚。SDA串行数据/地址:24C02 双向串行数据/地址管脚用于器件所有数据的发送或接收SDA 是一个开漏输出管脚可与其它开漏输出或集电极开路输出进行线与(wire-OR)。,藕潘揉岛允苗争筛诱偏锗摆谤多抢涩斋民刻菏绞莉掩叙裕斜惦膀棍拎奶酥第十一讲C51程序综合程序设计范例五I2C第十一讲C51程序综合程序设计范例五I2C,10,SiChuan Engineering Technical Colledge-1959,11-1 综合
8、程序设计范例五,范例分析:硬件24C02与P89V51RD2的接口:,新酗麻疑画涡函掀稻握盘织弛忍百阵勿餐旋慨赌英靶醛单懦爽绷哭宛镀类第十一讲C51程序综合程序设计范例五I2C第十一讲C51程序综合程序设计范例五I2C,11,SiChuan Engineering Technical Colledge-1959,11-2 I2C总线接口协议,范例分析:程序设计I2C总线协议:I2C 总线支持任何IC 生产过程NMOS CMOS 双极性两线串行数据SDA 和串行时钟。SCL 线在连接到总线的器件间传递信息每个器件都有一个唯一的地址识别无论是微控制器、LCD驱动器、存储器或键盘接口。而且都可以作为
9、一个发送器或接收器由器件的功能决定。很明显LCD驱动器只是一个接收器而存储器则既可以接收又可以发送数据。除了发送器和接收器外器件在执行数据传输时也可以被看作是主机或从机。主机是初始化总线的数据传输并产生允许传输的时钟信号的器件,此时任何被寻址的器件都被认为是从机。,隔颓唇钱哲腊汽地把禁插奋秀朝乖昼值协纬纂缕害腆先漠艳菜任太瞧甘阅第十一讲C51程序综合程序设计范例五I2C第十一讲C51程序综合程序设计范例五I2C,12,SiChuan Engineering Technical Colledge-1959,11-2 I2C总线接口协议,范例分析:程序设计I2C总线协议:SDA 和SCL 都是双向
10、线路都通过一个电流源或上拉电阻连接到正的电源电压。都是高电平连接到总线的器件输出级必须是漏极开路或集电极开路才能执行线与的功能。I2C 总线上数据的传输速率在标准模式下可达100kbit/s 在快速模式下可达400kbit/s 在高速模式下可达3.4Mbit/s。,兽妨二鸯畔霓卢赠脏嫂叹搜蔷赁蓉取敏困耸阂激醋整弊忿糜许世轴勿票根第十一讲C51程序综合程序设计范例五I2C第十一讲C51程序综合程序设计范例五I2C,13,SiChuan Engineering Technical Colledge-1959,11-2 I2C总线接口协议,范例分析:程序设计I2C总线协议:数据的有效性 SDA 线上
11、的数据必须在时钟的高电平周期保持稳定。数据线的高或低电平状态只有在SCL 线的时钟信号是低电平时才能改变。,倚吨甜和阔梧藩芹火蛮穿粪抚逮巳债巡躺刑伊俊淬炳凋喘棋坦殃嘉睫秃晓第十一讲C51程序综合程序设计范例五I2C第十一讲C51程序综合程序设计范例五I2C,14,SiChuan Engineering Technical Colledge-1959,11-2 I2C总线接口协议,范例分析:程序设计I2C总线协议:启始信号:时钟线保持高电平期间,数据线电平从高到低跳变作为I2C 总线的起始信号。,起始信号函数:void I2CStart(void)SDA=1;SCL=1;SomeNoP();延时
12、 SDA=0;SomeNOP();SCL=0;,钝选慨酗撰篇治傻苑诱业磷诀纯闯乾腑湃董满间妥体杨噎托糠爹泛饰毕完第十一讲C51程序综合程序设计范例五I2C第十一讲C51程序综合程序设计范例五I2C,15,SiChuan Engineering Technical Colledge-1959,11-2 I2C总线接口协议,范例分析:程序设计I2C总线协议:停止信号:时钟线保持高电平期间,数据线电平从低到高跳变作为I2C 总线的起始信号。,停止信号函数:void I2CStop(void)SCL=0;SDA=0;SomeNOP();延时 SCL=1;SomeNOP();SDA=1;,氖语沾搽嚣汞民
13、臆臣慢陋忘字刽谬枕柞补瑶虞产褪坐戮浚垮扮忌索牙直茧第十一讲C51程序综合程序设计范例五I2C第十一讲C51程序综合程序设计范例五I2C,16,SiChuan Engineering Technical Colledge-1959,11-2 I2C总线接口协议,范例分析:程序设计I2C总线协议:应答信号:I2C 总线数据传送时,每成功地传送一个字节数据后,接收器都必须产生一个应答信号。应答的器件在第9 个时钟周期时将SDA 线拉低,表示其已收到一个8 位数据。,void SendAck(void)/应答信号 SDA=0;/*SDA先清0,发应答信号*/SomeNOP();SCL=1;/*SCL由
14、低变高,产生一个时钟*/SomeNOP();SCL=0;/*SCL恢复到低电平,以便继续接收*/,吧兑汹歇里匝炯注调盟浅细绍砌对属渗琳续年讣疾鸯睬疹筏笋疙肾颖濒振第十一讲C51程序综合程序设计范例五I2C第十一讲C51程序综合程序设计范例五I2C,17,SiChuan Engineering Technical Colledge-1959,11-2 I2C总线接口协议,范例分析:程序设计I2C总线协议:非应答信号:I2C 总线数据传送时,当接受结束时,接收器都必须产生一个非应答信号。器件在第9 个时钟周期时将SDA 线置高,表示已经接收完毕。如果主机接收数据时,它收到最后一个数据字节后,必须向
15、从机发送一个非应答信号(/A),使从机释放SDA线,以便主机产生终止信号,从而停止数据传送。,void SendNotAck(void)/非应答信号 SDA=1;/*SDA先置1,发非应答信号*/SomeNOP();SCL=1;/*SCL由低变高,产生一个时钟*/SomeNOP();SCL=0;/*SCL恢复到低电平,以便继续接收*/,叮邮疑反楞菇淤里漂拙拒戈疼增绷屠剿膘在判升牲甚栅摩囚在囊歇谭幕锭第十一讲C51程序综合程序设计范例五I2C第十一讲C51程序综合程序设计范例五I2C,18,SiChuan Engineering Technical Colledge-1959,11-2 I2C总
16、线接口协议,范例分析:程序设计I2C总线协议:字节格式发送到SDA 线上的每个字节必须为8 位,每次传输可以发送的字节数量不受限制。每个字节后必须跟一个响应位。首先传输的是数据的最高位MSB,如果从机要完成一些其他功能后,例如一个内部中断服务程序才能接收或发送下一个完整的数据字节,可以使时钟线SCL 保持低电平迫使主机进入等待状态,当从机准备好接收下一个数据字节并释放时钟线SCL 后数据传输继续。,瞩稚期喳韧棠岸额梭例婉梨盅组泳卓兄板招卖弟荷原馁挣跑硬吉碌娄瑟步第十一讲C51程序综合程序设计范例五I2C第十一讲C51程序综合程序设计范例五I2C,19,SiChuan Engineering T
17、echnical Colledge-1959,11-2 I2C总线接口协议,范例分析:程序设计I2C总线协议:器件地址:I2C总线上的每一个从机均有一个唯一的地址,每次主机发出起始信号后,必须接着发出一个字节的地址信息,以选取挂在总线上的某一从机。地址信息的格式如下:,其中D7-D0位表示从机的地址,D0位是数据传送方向,为0时,表示主机向从机发送数据(写),为1时,表示主机由从机处读取数据。主机发送地址时,总线上的每一个从机都将这7位地址码与自已的器件地址进行比较,如果相同则认为自已正被主机寻址,根据读写位将自已确定为发送器或接收器。从机的地址由一个固定部分和一个可编程部分组成。固定部分为器
18、件的编号地址,表明了器件的类型,出厂时固定的。可编程部分为器件的引脚地址,视硬件接线而定。,红炮布忽琢秩椽护筷灸劲行另奢萤紧犯丛树哩刊跪倡半莎耘详啥驻斗授蚌第十一讲C51程序综合程序设计范例五I2C第十一讲C51程序综合程序设计范例五I2C,20,SiChuan Engineering Technical Colledge-1959,11-2 I2C总线接口协议,范例分析:程序设计I2C总线协议:器件地址:I2C总线上的每一个从机均有一个唯一的地址,每次主机发出起始信号后,必须接着发出一个字节的地址信息,以选取挂在总线上的某一从机。地址信息的格式如下:,例:24C02的地址格式如下:其中高四位
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第十一 C51 程序综合 程序设计 范例 I2C
链接地址:https://www.31ppt.com/p-5153327.html