本帖最后由 eehome 于 2013-1-5 10:10 编辑
为什么此程序在1602只显示50 就一直没有变化了 望那位大哥帮帮我!!谢谢
#include
#include "b20.h"
#define uchar unsigned char
#define uint unsigned int
***it RS=P1^3;
***it RW=P1^4;
***it EN=P1^5;
***it date=P3^7; //数据通信线
unsigned char code str1[]={"temperature: "};
unsigned char str2[]=" ";
uchar i;//温度值
uchar tflag;//温度正负标志
/*************************lcd1602程序**************************/
void delay1ms(unsigned int ms)//延时1毫秒(不够精确的)
{unsigned int i,j;
for(i=0;i
for(j=0;j<100;j++);
}
void wr_com(unsigned char com)//写指令//
{ delay1ms(1);
RS=0;
RW=0;
EN=0;
P0=com;
delay1ms(1);
EN=1;
delay1ms(1);
EN=0;
}
void wr_dat(unsigned char dat)//写数据//
{ delay1ms(1);;
RS=1;
RW=0;
EN=0;
P0=dat;
delay1ms(1);
EN=1;
delay1ms(1);
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!='