查看: 631|回复: 0
打印 上一主题 下一主题

1602液晶显示驱动程序。字符移动

[复制链接]
跳转到指定楼层
沙发
发表于 2015-9-24 15:29:33 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
#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);
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入中科因仑

本版积分规则

快速回复 返回顶部 返回列表