文档库 最新最全的文档下载
当前位置:文档库 › LCD1602显示的简单测试程序

LCD1602显示的简单测试程序

原程序:
#include
unsigned char code str1[]={"count: "};
unsigned char data disdata[1];
unsigned int snum=0;
sbit RS=P3^0;
sbit RW=P3^1;
sbit EN=P3^2;

void delay1ms(unsigned int t)延时
{unsigned int i,j;
for(i=0;ifor(j=0;j<100;j++);
}

void wr_com(unsigned char com)//写指令//
{ delay1ms(1);
RS=0;
RW=0;
EN=0;
P2=com;
delay1ms(1);
EN=1;
delay1ms(1);
EN=0;

}

void wr_dat(unsigned char dat)//写数据//
{ delay1ms(1);;
RS=1;
RW=0;
EN=0;
P2=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 numpro()循环显示数字
{ delay1ms(250);
delay1ms(250);
if(snum==20)
snum=0;
else
snum++;

disdata[0]=snum/10+0x30;
disdata[1]=snum%10+0x30;
wr_com(0x86);
wr_dat(disdata[0]);
wr_com(0x87);
wr_dat(disdata[1]);
wr_com(0xc6);
wr_dat(disdata[0]);
wr_com(0xc7);
wr_dat(disdata[1]);
}

void display(unsigned char *p)//显示字符串//
{
while(*p!='\0')
{
wr_dat(*p);
p++;
delay1ms(1);
}
}
void main()
{ lcd_init();
wr_com(0x80);
display(str1);
wr_com(0xc0);
display(str1);
while(1)
{numpro();
}
}


相关文档
相关文档 最新文档