单片机原理及应用第七讲.pptVIP

  • 0
  • 0
  • 约9.76千字
  • 约 51页
  • 2019-09-15 发布于湖北
  • 举报
二、典型信号模拟子程序 通过空操作来实现延时(对于延时很短的,要求在us级的) 在keil C51中,直接调用intrins.h头文件中的库函数_nop_(),其原型为:void _nop_(void); // 产生一条NOP指令 ??? 这个函数相当汇编NOP指令,延时几微秒(NOP指令为单周期指令,可由晶振频率算出延时时间,对于12M晶振,延时1uS)。 #define NOP5() {_nop_();_nop_();_nop_();_nop_(); _nop_();} 二、典型信号模拟子程序 (1)起始信号 Void I2CStart(void) { SDA = 1; SCL = 1; //起始之前总线空闲SDA、SCL均为1 NOP5( ); //NOP5( )4.7us SDA = 0; //在SDA上产生下降沿 NOP5( ); //NOP5( )4us SCL = 0; //拉低SCL为输出数据到SDA做准备 } (2)终止信号 void I2cStop(void) { SDA = 0; //为在SDA上产生上升沿做准备 SCL = 1; NOP5( ); //NOP5( )4us SDA = 1; //在SDA上产生上升沿 NOP5( );

文档评论(0)

1亿VIP精品文档

相关文档