基于51单片机的1602液晶显示温度和时间的c程序内容摘要:

//set cgram address delay50us()。 delay50us()。 //***这些延时可用可不用 ***// } void display() { unsigned char i。 wr_(0x80)。 //set ram address delay50us()。 busycheck()。 delay50us()。 for(i=0。 i6。 i++) {wr_data(line1[i])。 //display delay50us()。 busycheck()。 } busycheck()。 delay50us()。 wr_(0xc0)。 delay50us()。 busycheck()。 delay50us()。 for(i=0。 i16。 i++) { wr_data(line2[i])。 //display delay50us()。 busycheck()。 } } /******************************ds1820程序***************************************/ void delay_18B20(unsigned int i)//延时 1微秒 { while(i)。 } void ds1820rst()/*ds1820复位 */ { unsigned char x=0。 DQ = 1。 //DQ复位 delay_18B20(4)。 //延时 DQ = 0。 //DQ拉低 delay_18B20(100)。 //精确延时大于 480us DQ = 1。 //拉高 delay_18B20(40)。 } uchar ds1820rd()/*读数据 */ { unsigned char i=0。 unsigned char dat = 0。 for (i=8。 i0。 i) { DQ = 0。 //给脉冲信号 dat=1。 DQ = 1。 //给脉冲信号 if(DQ) dat|=0x80。 delay_18B20(10)。 } return(dat)。 } void ds1820wr(uchar。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。