void Delayms(uint a)
{
uint i,j;
for(j=0;j<a;j++)
{
for(i=o;i<125:i++);
}
}
给你改了,对比一下就知道哪里错了。
- #include<reg51.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit RS=P2^0;
- sbit RW=P2^1;
- sbit E=P2^2;
- #define LCD1602_GPIO P1
- void LCD1602_WriteCom(uchar com);
- void LCD1602_WriteDat(uchar dat);
- void LCD1602_Init();
- void Delayms(uint a);
- uchar Disp_PromNUM[]="NUM:";
- uchar Disp_PromNAME[]="NAME:";
- uchar Disp_Num[]="1730120526";
- uchar Disp_Name[]="SHI LEI";
- void main(void)
- {
- uchar i;
- LCD1602_Init();
- for(i=0;Disp_PromNUM[i]!='\0';i++)
- {
- LCD1602_WriteDat(Disp_PromNUM[i]);
- Delayms(2);
- }
- LCD1602_WriteCom(0x84);
- for(i=0;i<8;i++)
- {
- LCD1602_WriteDat(Disp_Num[i]);
- Delayms(2);
- }
- LCD1602_WriteCom(0xc0);
- for(i=0;Disp_PromNAME[i]!='\0';i++)
- {
- LCD1602_WriteDat(Disp_PromNAME[i]);
- Delayms(2);
- }
- LCD1602_WriteCom(0xC5);
- for(i=0;Disp_Name[i]!='\0';i++)
- {
- LCD1602_WriteDat(Disp_Name[i]);
- Delayms(2);
- }
- while(1);
- }
- void LCD1602_WriteCom(uchar com)
- {
- E=0;
- RS=0;
- RW=0;
- LCD1602_GPIO=com;
- Delayms(1);
- E=1;
- Delayms(5);
- E=0;
- }
- void LCD1602_WriteDat(uchar dat)
- {
- E=0;
- RS=1;
- RW=0;
- LCD1602_GPIO=dat;
- Delayms(1);
- E=1;
- Delayms(5);
- E=0;
- }
- void LCD1602_Init()
- {
- LCD1602_WriteCom(0x38);
- LCD1602_WriteCom(0x0c);
- LCD1602_WriteCom(0x06);
- LCD1602_WriteCom(0x01);
- LCD1602_WriteCom(0x80);
- }
- void Delayms(uint a)
- {
- uint i,j;
- for(j=0;j<a;j++)
- {
- for(i=0;i<125;i++);
- }
- }
-
复制代码 |