基于51单片机的直流电机pid闭环调速系统内容摘要:

uchar read_add(uchar control)。 // include include define PCF8591 0x90 //默认为写,如果为读,则为 0x91 sbit SDA=P2^0。 sbit SCL=P2^1。 //延时 4us void delay(void) { unsigned char i。 for(i=1。 i0。 i)。 } // iic 初始化 void init() { SDA=1。 delay()。 SCL=1。 delay()。 } // iic 开始信号 void start() { SDA=1。 delay()。 SCL=1。 delay()。 SDA=0。 delay()。 } // iic 停止信号 void stop() { SDA=0。 delay()。 SCL=1。 delay()。 SDA=1。 delay()。 } // iic 应答 相当于一个智能的延时函数 void respons() { uchar i。 SCL=1。 delay()。 while((SDA==1)amp。 amp。 (i250)) i++。 SCL=0。 delay()。 } // iic 读一个字节数据 uchar read_byte() { uchar i,k。 SCL=0。 delay()。 SDA=1。 delay()。 for(i=0。 i8。 i++) { SCL=1。 delay()。 k=(k1)|SDA。 //先左移一位,再在最低位接受当前位 SCL=0。 delay()。 } return k。 } //iic 写一字节数据 void write_byte(uchar date) { uchar i,temp。 temp=date。 for(i=0。 i8。 i++) { temp=temp1。 //左移一位 移出的一位在 CY 中 SCL=0。 //只有在 scl=0时 sda 能变化值 delay()。 SDA=CY。 delay()。 SCL=1。 delay()。 } SCL=0。 delay()。 SDA=1。 delay()。 } // 控制 DA转换 void write_add(uchar control,uchar date) { start()。 write_byte(PCF8591)。 respons()。 w。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。