|
[img pic_type= width= height=]file:///C:\Users\12615\Documents\Tencent Files\1261538601\Image\C2C\6%TSDXCW6~`7MOMR60NU6EK.png[/img]
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define LCD_Data P3
sbit LCD_RS = P2^0;
sbit LCD_RW = P2^1;
sbit LCD_E = P2^2;
void delay_1ms(uint c){
uchar a,b;
for(;c>0;c--)
{
for(b=199;b>0;b--)
{
for(a=1;a>0;a--);
}
}
}
void LCD_Check_Busy(){
uchar temp;
LCD_Data = 0xff;
LCD_RS = 0;
LCD_RW = 1;
do{
LCD_E = 1;
temp = LCD_Data;
LCD_E = 0;
}while(temp & 0x80);
}
void LCD_Write_Cmd(uchar Cmd){
LCD_Check_Busy();
LCD_RS = 0;
LCD_RW = 0;
LCD_E = 0;
LCD_Data = Cmd;
delay_1ms(2);
LCD_E = 1;
delay_1ms(5);
LCD_E = 0;
}
void LCD_Write_Data(uchar Data){
LCD_Check_Busy();
LCD_RS = 1;
LCD_RW = 0;
LCD_E = 0;
LCD_Data = Data;
delay_1ms(2);
LCD_E = 1;
delay_1ms(7);
LCD_E = 0;
}
void LCD_Init(){
LCD_Write_Cmd(0x01);
LCD_Write_Cmd(0x06);
LCD_Write_Cmd(0x0c);
LCD_Write_Cmd(0x38);
LCD_Write_Cmd(0x80);
}
void main()
{
uchar code Data_1[]="I LOVE MCU";
uchar code Data_2[]="TIME 22:05:30";
uchar i;
LCD_Init();
LCD_Write_Cmd(0x00+0x80);
for(i=0; i<16; i++)
{
LCD_Write_Data(Data_1);
}
LCD_Write_Cmd(0x40+0x80);
for(i=0; i<16; i++)
{
LCD_Write_Data(Data_2);
}
while(1);
}
|
|