您当前的位置:五五电子网电子知识单片机-工控设备AVR单片机AVR的IO结构分析与操作实例 正文
AVR的IO结构分析与操作实例

AVR的IO结构分析与操作实例

点击数:7335 次   录入时间:03-04 11:37:22   整理:http://www.55dianzi.com   AVR单片机
      DDRA=0xFF;     //输出高电平---------灯一直是灭的

  初始化方法2:
      DDRA=0xFF;     //输出低电平--------灯被错误点亮了
      PORTA=0xFF;    //输出高电平--------马上被熄灭了,时间很短(1个指令不到uS时间),灯闪了一下,眼睛无法察觉


      但要是这个IO口是控制炸药包的点火信号呢?工控场合要考虑可靠性的问题    
 

模拟OC结构的IIC总线的技巧:

          虽然AVR大多带有硬件IIC接口,但也有需要使用软件模拟IIC的情况

          可以通过使用外部上拉电阻+控制DDRx的方法来实现OC结构的IIC总线。

          IIC的速度跟上拉电阻有关,内部的上拉电阻阻值较大(Rup=20K~50K),只能用于低速的场合

          #define SDA     0    //PC0
          #define SCL     1    //PC1
          (程序初始化设定  SDA和SCL都是 PORT=0,DDR=0)
          #define  SDA_0()   DDRA|=(1<<SDA)    //输出低电平
          #define  SDA_1()   DDRA&=~(1<<SDA)   //输入,外部电阻上拉为高电平
          #define  SCL_0()   DDRA|=(1<<SCL)    //输出低电平
          #define  SCL_1()   DDRA&=~(1<<SCL)   //输入,外部电阻上拉为高电平

          使用上面的SDA_0()/SDA_1()/SCL_0()/SCL_1()宏即可,直观,而且效率跟汇编是一样的



上一页  [1] [2] 


本文关键字:暂无联系方式AVR单片机单片机-工控设备 - AVR单片机