错误1.void write_data(uint date);声明写数据函数的参数数据类型错误
错误2.void write_com(uchar com) //写命令函数中lcden逻辑电平错误
错误3.void write_data(uchar date ) //写数据函数中lcden逻辑电平错误
代码:
- #include<reg51.h>
- #include<string.h>
- #define uint unsigned int
- #define uchar unsigned char
- void init(void);
- void write_com(uchar com); //写命令函数
- void write_data(uchar date); //写数据函数
- void delay(int z);
- sbit lcdrs =P2^7; //液晶屏数据/命令选择端
- sbit lcdrw =P2^6; //液晶屏读写端
- sbit lcden =P2^5; //使能端
- void delay(int z) //延时1ms
- {
- int i,j;
- for(i=0;i<z;i++)
- for(j=0;j<110;j++);
- }
- void write_com(uchar com) //写命令函数
- {
- lcdrs = 0;
- lcdrw = 0;
- P0 = com;
- delay(5);
- lcden = 1;
- delay(5);
- lcden = 0;
- }
- void write_data(uchar date ) //写数据函数
- {
- lcdrs = 1;
- lcdrw = 0;
- P0 = date;
- delay(5);
- lcden = 1;
- delay(5);
- lcden = 0;
- }
- void init(void)
- {
- lcden = 0;//默认使能端是低电平
- lcdrw = 0;
- write_com(0x38);//显示模式设置
- write_com(0x0f);// 开显示,显示光标,光标闪烁
- write_com(0x06);//当读或者写一个字符后地址加一,且光标加一
- // write_com(0x07)当读或者写一个字符后地址加一,且光标加一,且写一个字符,整屏显示左移
- write_com(0x80);
- }
- void main()
- {
- int mun1,mun2,i,j;
- uchar table1[20]="Who am I";
- uchar table2[20]="china";
-
- mun1 = strlen(table1);
- mun2 = strlen(table2);
- init();
- for(i=0;i<mun1;i++)
- {
- write_data(table1[i]);
- delay(200);
- }
- //重新设置显示指针
- write_com(0xc0);
-
- for(j=0;j<mun2;j++)
- {
- write_data(table2[j]);
- delay(200);
- }
-
- while(1);
- }