找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1189|回复: 0
打印 上一主题 下一主题
收起左侧

液晶显示器的驱动程序

[复制链接]
跳转到指定楼层
楼主
ID:327109 发表于 2018-5-10 20:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

#include "reg51.h"
#include<intrins.h>
#define uchar unsigned char
sbit RS=P0^7;
sbit RW=P0^6;
sbit EN=P0^5;
void write1(unsigned char dat);
void wri(unsigned char com);
//void  keyscan();
unsigned int m,n,v,k;
unsigned char tab1[]="欢迎用单片机系统";
unsigned char tab2[]="ST7920字库液晶屏";
unsigned char tab3[]="是你学习的好帮手";
unsigned char tab4[]="TEL:13078588356 ";
//*********************************************//
void delay(unsigned int ms)
{
        unsigned int i, j=0;
    for(i=0;i<=ms;i++)
    for(j=0;j<110;j++);
}

void disp1()
{  
     //wri(0x80);
      //delay(20);//
   wri(0x80);
   for(m=0;m<=16;m++)
         write1(tab1[m]);
     delay(5);
         wri(0x90);
         for(n=0;n<=16;n++)
         write1(tab2[n]);
     delay(5);
     wri(0x88);
         for(v=0;v<=16;v++)
         write1(tab3[v]);
     delay(5);
     wri(0x98);
         for(k=0;k<=16;k++)
           write1(tab4[k]);
         return;
}

void disp_int()
{
  delay(5);
  wri(0x30);
  delay(5);
  wri(0x0c);
  delay(5);
  wri(0x01);
  delay(5);
  wri(0x06);
        delay(5);
  }

void wri(unsigned char com)
   {
      RS=0;
      RW=0;
      EN=1;
      P2=com;
          delay(5);
          EN=1;
      EN=0;
   }
void write1(unsigned char dat)
{
  EN=1;
  RS=1;
  RW=0;
  P2=dat;
  delay(20);
  EN=1;
  EN=0;
  }


void main()
{  
    disp_int();
    disp1();
    while(1);
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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