#include<reg51.h>
#define uchar unsigned char
uchar aa[3]={0x41,0x42,0x43} ;
uchar bb[16]=" abcdefghi ";
uchar k,t=0;
sbit rs="P3"^2; //寄存器选择
sbit rw="P3"^3; //读写信号线
sbit elcd="P3"^4; //使能端
void delay(void) //延时
{
uchar i,j;
for(i=250;i>0;i--)
for(j=100;j>0;j--);
}
void wcmd(uchar cmd) //写入指令或显示地址
{
P0=cmd;
rs=0;
rw=0;
elcd=0;
delay();
elcd=1;
}
void wdat(uchar dat) //写入字符
{
P0=dat;
rs=1;
rw=0;
elcd=0;
delay(); //上升沿有效
elcd=1;
}
void longdat(uchar cc[]) //写入字符串
{
uchar x;
for(x=0;x<16;x++)
{
delay();
wdat(cc[x]);
}
}
void init() //初始化
{
wcmd(0x01); //光标复位
wcmd(0x38); //选择点阵
wcmd(0x0c); //开显示
wcmd(0x04); //光标命令
}
void show(void)
{
longdat(aa);
wcmd(0xc0); //换行并从第零个显示
longdat(bb);
delay();
delay();
}
void main()
{
IE=0X82;
TMOD=0X01;
TH0=0X4C;
TL0=0X00;
TR0=1;
for(;;);
}
void time() interrupt 1 using 0
{
TH0=0X4C;
TL0=0X00;
t=t+1;
if(t==20)
{
t=0;
init();
show();
for(k=0;k<2;k++)
{
wcmd(0x07);
show();
}
}
}
用后,有什么不对的地方,请留言说明是哪的错,以备后来人使用。
谢谢
文章评论(0条评论)
登录后参与讨论