找回密码
 立即注册

QQ登录

只需一步,快速开始

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

89C52单片机LCD液晶显示

[复制链接]
跳转到指定楼层
楼主

#include "lcd_show.h"

#define uint unsigned int
#define uchar unsigned char

#define CSA P2_1
#define CSB P2_0
#define E P2_3
#define RW P2_5
#define DI P2_6

sbit busy_bit=ACC^7;                //lcd state byte bit 7

/*下面是对液晶屏gxm12864d操作的函数, 128x64点阵,汉字显示,CSA,CSB用来进行左右显示区的选择。*/

/*  发命令i到主窗口*/
void lcd_mwc(uchar i)
{         
     CSA=1;
     CSB=0;
     RW=1;
     DI=0;
     do {ACC=LCD;}
         while (busy_bit) ;//wait for lcd not busy
     RW=0;
     LCD=i;
}

/*  写数据i到主窗口*/
void lcd_mwd(uchar i)
{         
     CSA=1;
     CSB=0;
     RW=1;
     DI=0;
     do {ACC=LCD;} while (busy_bit);//wait for lcd not busy
     RW=0;
     DI=1;
     LCD=i;
}

/*   清屏   */
void lcd_clear(void)
{
     uchar i;
     uchar page;
     for (page=0xb8;page<0xc0;page++)
         {
             lcd_mwc(page);       /*设置显示页面*/

             lcd_mwc(0x40);       /*设置列地址*/

             for (i=0;i<64;i++)
             {
   
                 lcd_mwd(0);
             }
         }
}

//初始化lcd
void lcd_init(void)
{
        lcd_mwc(0xc0);

        lcd_mwc(0x3f);

}

//dispm_hz_up() display up half of a hanzi in left area
void dispm_hz_up(uchar code * hz)
{
        uchar i;
        for (i=0;i<16;i++) lcd_mwd(*(hz+i));
}

//dispm_hz_down() display down half of a hanzi in left area
void dispm_hz_down(uchar code * hz)
{
        uchar i;
        for (i=16;i<32;i++) lcd_mwd(*(hz+i));
}


void main(void)
{
        E=1;
        lcd_clear();
        lcd_init();

        lcd_mwc(0xb8);
        lcd_mwc(0x40);
       
        dispm_hz_up(&QING);
        dispm_hz_up(&CHA);
        dispm_hz_up(&KA);
       
        lcd_mwc(0xb9);
        lcd_mwc(0x40);
       
        dispm_hz_down(&QING);
        dispm_hz_down(&CHA);
        dispm_hz_down(&KA);//display

}

89C52单片机LCD液晶显示.png (60.22 KB, 下载次数: 87)

89C52单片机LCD液晶显示.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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