完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 David.Chan 于 2013-3-18 20:18 编辑
这是我的仿真电路图,想实现DS18B20采集温度,然后送给单片机处理,并且能够通过1602显示出来,求大神给指点下,哪里出问题了,1062一直无法显示。以下是程序代码: #include #define uchar unsigned char #define uint unsigned int ***it ds18B20_DQ=P2^0;//ds18b20与单片机连接口 ***it LCD_RS=P3^5; ***it LCD_RW=P3^6; ***it LCD_EN=P3^4; unsigned char code str1[]={"temperature: "}; unsigned char code str2[]={" "}; uchar data disdata[5]; uint tvalue;//温度值 uchar tflag;//温度正负标志 /*************************lcd1602程序**************************/ void delay1ms(unsigned int ms)//延时 {unsigned int i,j; for(i=0;i } void wr_com(unsigned char com)//写指令// { delay1ms(1); LCD_RS=0; LCD_RW=0; LCD_EN=0; P2=com; delay1ms(1); LCD_EN=1; delay1ms(1); LCD_EN=0; } void wr_dat(unsigned char dat)//写数据// { delay1ms(1);; LCD_RS=1; LCD_RW=0; LCD_EN=0; P2=dat; delay1ms(1); LCD_EN=1; delay1ms(1); LCD_EN=0; } void lcd_init()//初始化设置// {delay1ms(15); wr_com(0x38);delay1ms(5); wr_com(0x08);delay1ms(5); wr_com(0x01);delay1ms(5); wr_com(0x06);delay1ms(5); wr_com(0x0c);delay1ms(5); } void display(unsigned char *p)//显示// { while(*p!=' |