中科因仑“3+1”工程特种兵精英论坛
标题:
1602液晶显示驱动程序。字符移动
[打印本页]
作者:
XJzy
时间:
2015-9-24 15:29
标题:
1602液晶显示驱动程序。字符移动
#include <reg51.h>
#include"intrins.h" //_nop_();延时函数用
#define uchar unsigned char
#define uint unsigned int
sbit rs=P0^0; //命令/数据选择
sbit rw=P0^1; //读写口
sbit e=P0^2; //锁存控制
uchar data dis1[7]={"zhoubin"}; //显示两行
uchar data dis2[11]={"13946035621"};
//##########################
//延时函数
delay1(uint z)
{
uint i,j;
for(i=0;i<z;i++)
for(j=0;j<120;j++)
;
}
//##########################
//写一个命令
wcode(uchar t)
{
rs=0; // 写的是命令
e=1;
P1=t;
delay1(7);
e=0; //数据的锁定
}
//##########################
//写一数据
wdata(uchar t)
{
rs=1; // 写的是数据
e=1;
P1=t;
delay1(7);
e=0; //数据的锁定
}
//###########################
//显示第一行
xian1()
{
uchar i;
for(i=0;i<7;i++)
{
wdata(dis1[i]);
}
}
//###########################
//显示第二行
xian2()
{
uchar i;
for(i=0;i<11;i++)
{
wdata(dis2[i]);
}
}
//##########################
main()
{
uchar coad; //定义的是码变量
uchar i;
rw=0; // 一直是写状态
coad=0x01; //清屏
wcode(coad);
coad=0x06;
wcode(coad); //输入方式控制
coad=0x0e;
wcode(coad); //显示开关控制
coad=0x38;
wcode(coad); //功能设定:设置16x2显示,5x7显示,8位数据接口
//********************************
coad=0x90;
wcode(coad); //设置第一行显示地址
xian1();
coad=0xd0;
wcode(coad); //设置第二行显示地址
xian2();
for(i=0;i<16;i++)
{
wcode(0x18); //每输入一次码,向左移位一次
delay1(250);
}
while(1);
}
欢迎光临 中科因仑“3+1”工程特种兵精英论坛 (http://bbs.enlern.com/)
Powered by Discuz! X3.4