本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit LCD_RS=P3^0;
sbit LCD_RW=P3^1;
sbit LCD_EN=P3^2;
sbit LCD_cb=P3^3;
sbit LCD_fw=P3^5;
sbit cs=P1^3;
void init();
void delay(uchar c);
void writecom(uint com);//写命令
void writedate(uint date);//写数据main()
void xsb1();//显示b1
void print(uchar *str)
{
while(*str!='\0')
{
writedate(*str);
str++;
}
}
void gotoxy(unsigned char y, unsigned char x)
{
if(y==1)
writecom(0x80|x);
if(y==2)
writecom(0x90|x);
if(y==3)
writecom((0x80|x)+8);
if(y==4)
writecom((0x90|x)+8);
}
main()
{
init();
delay(200);
while(1)
{
gotoxy(1,0);
print("欢迎光临");
delay(200);
gotoxy(2,0);
print("124235");
delay(200); //扫描延时
gotoxy(3,0);
print("541245");
delay(200); //扫描延时
gotoxy(4,0);
print("12864");
delay(200); //扫描延时
}
}
void init()
{
writecom(0x30);
writecom(0x0c);
writecom(0x06);
writecom(0x01);
}
void writecom(uint com)//写命令
{
LCD_RW=0;
LCD_RS=0;
P0=com;
LCD_EN=1;
delay(1);
LCD_EN=0;
}
void writedate(uint date)//写数据
{
LCD_RW=0;
LCD_RS=1;
P0=date;
LCD_EN=1;
delay(1);
LCD_EN=0;
}
void delay(uchar c)//延时
{
uchar f,h;
for(f=c;f>0;f--)
for(h=0;h<100;h++);
}
写的一个12864的小程序,显示都没有问题,为什么会闪屏啊??我的是蓝色屏~st7920~谢谢,在线等 |