标题:
液晶LCD12864的程序
[打印本页]
作者:
15939187703
时间:
2021-6-4 09:59
标题:
液晶LCD12864的程序
#include <reg51.h>
#include <intrins.h>
#include <stdlib.h>
#define uchar unsigned char
#define uint unsigned int
#define LCD_data P0
sbit LCD_RS = P3^5;
sbit LCD_RW = P3^6;
sbit LCD_EN = P3^4;
sbit LCD_PSB = P3^7;
sbit wela =P2^6;
sbit dula =P2^7;
uchar disl[10];
uchar code dis2[]={"xxxxxxxxxxxxx"};
uchar code dis3[]={"王涛"};
uchar code dis4[]={"--------"};
void delay_1ms(uint x)
{
uint i,j;
for(j=0;j<x;j++)
for(i=0;i<110;i++);
}
void write_cmd(uchar cmd)
{
LCD_RS=0;
LCD_RW=0;
LCD_EN=0;
P0=cmd;
delay_1ms(5);
LCD_EN=1;
delay_1ms(5);
LCD_EN=0;
}
void write_dat(uchar dat)
{
LCD_RS=1;
LCD_RW=0;
LCD_EN=0;
P0=dat;
delay_1ms(5);
LCD_EN=1;
delay_1ms(5);
LCD_EN=0;
}
void lcd_pos(uchar X,uchar Y)
{
uchar pos;
if(X==0)
{X=0x80;}
else if(X==1)
{X=0x90;}
else if(X==2)
{X=0x88;}
else if(X==3)
{X=0x98;}
pos=X+Y ;
write_cmd(pos);
}
void makerand()
{
uint ran;
ran=rand();
disl[0]=ran/10000+0x30;
disl[1]=ran%10000/1000+0x30;
disl[2]=ran%1000/100+0x30;
disl[3]=ran%100/10+0x30;
disl[4]=ran%10+0x30;
ran=rand();
disl[5]=ran/10000+0x30;
disl[6]=ran%10000/1000+0x30;
disl[7]=ran%1000/100+0x30;
disl[8]=ran%100/10+0x30;
disl[9]=ran%10+0x30;
}
void lcd_init()
{
LCD_PSB=1;
write_cmd(0x30);
delay_1ms(5);
write_cmd(0x0C);
delay_1ms(5);
write_cmd(0x01);
delay_1ms(5);
}
main()
{
uchar i;
wela=0;
dula=0;
delay_1ms(10);
lcd_init();
lcd_pos(1,0);
i=0;
while(dis2[i]!='\0')
{
write_dat(dis2[i]);
i++;
}
lcd_pos(2,0);
i=0;
while(dis3[i]!='\0')
{
write_dat(dis3[i]);
i++;
}
lcd_pos(3,0);
i=0;
while(dis4[i]!='\0')
{
write_dat(dis4[i]);
i++;
}
while(1)
{
lcd_pos(0,0);
makerand();
for(i=0;i<10;i++)
{
write_dat(disl[i]);
}
}
}
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1