用单片机的I/O口模拟I2C协议 I2C用IO模拟程序网上范例最多的就是51的程序了,这些范例的正确性无需怀疑.但是如果直接以它为蓝本将它"AVR化",一不留神,就会有点问题了. 这要从I2C的硬件规范和AVR及51单片机的IO口说起.I2C要求SCL,SDA二线都有 线与 功能,即I2C驱动口应该是 漏极开路 电路,其高电平的维持是靠上拉电阻来实现的, 而低电平则需要驱动口的强下拉能力. 51单片机IO口正好完全符合这个特性.写起I2C驱动颇为得心应手.但是AVR的IO口强大了,它输出的高电平是实实在在的高电平,而不是靠什么上拉电阻来提供,只有10mA都不到的电流!于是如果直接使用 PORTB_Bit0 = 1这样的操作,就不能满足I2C的线与功能了,如果此时有别的设备要将SCL或者SDA拉低,那么结果就是二个IO口打架,谁赢谁输不得而知,时间长了,多半是两败俱伤,芯片发热吧. 当然AVR的IO口自然有办法满足I2C的电气特性要求,不就是不能输出1么,那么用它的高阻状态即可(DDRB_Bit0=0,PORTB_Bit0=0即可),要输出0么(DDRB_Bit0=1,PORTB_Bit0=0).
上传时间: 2016-07-19
上传用户:gxrui1991
这是AVR的IO端口使用的代码,它可以通过数码管和LED灯指示IO口的电平变化,用ICCAVR开发
上传时间: 2014-01-12
上传用户:haoxiyizhong
在DOS下进行IO端口查看的小软件,可以方便得查看各IO口的值
上传时间: 2017-07-16
上传用户:风之骄子
ADS的I/O口控制LED灯的例子
上传时间: 2013-05-28
上传用户:恋天使569
51单片机控制LCD12864显示,串口可以简约IO口。
上传时间: 2013-11-17
上传用户:comer1123
很好的解决了控制电路中IO的不足哦
标签:
上传时间: 2013-10-28
上传用户:英雄
2IO口识别6个按键
上传时间: 2013-10-14
上传用户:lmeeworm
本文是关于计算机与单片机的通信实验的应用。主要包括实验原理阐述、硬件电路图、源程序等 目录: 1、单片机串口通信的应用 2、PC控制单片机IO口输出 3、单片机控制实训指导及综合应用实例 4、单片机给计算机发送数据: [实验任务] 单片机串口通信的应用,通过串口,我们的个人电脑和单片机系统进行通信。 个人电脑作为上位机,向下位机单片机系统发送十六进制或者ASCLL码,单片机 系统接收后,用LED显示接收到的数据和向上位机发回原样数据。
上传时间: 2013-12-09
上传用户:yl1140vista
带您从零学单片机之串口通信 串口应用简介51的单片机除了定时器/计数器和中断外.还拥有串行通信接口.有了这个接口我们可以用它和电脑通信.我们可以利用串口向电脑发送数据,也可以用串口接收电脑的数据.有了这个接口我们可以利用它来设计很多东西,数据采集,多机通信,远程控制等等. 串行通信是将一组数据分成一位位的方式在数据线上传送.串行通信的优点:占用IO口少.远距离传输时候成本低.串行通信的缺点:相对并行通信传输速度慢,传输方式比较复杂.DS1302 ADC0832等等都是串行传输数据.
上传时间: 2013-10-27
上传用户:jing911003
关键词 I/O 口扩展芯片、I2C、SMBus摘要CAT9554A 是一款将I2C/SMBus 接口扩展成8 位并行输入/输出I/O 口的器件
上传时间: 2013-12-27
上传用户:txfyddz