找回密码
 立即注册

QQ登录

只需一步,快速开始

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

LCD12864液晶串行驱动显示

[复制链接]
跳转到指定楼层
楼主
ID:455848 发表于 2018-12-26 20:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
12864液晶显示


#include "lcd12864.h"
#include "reg51.h"

void delay_ms(unsigned char nms)
{
        unsigned int i, j;
        for(i = nms; i > 0; i--)
                for(j = 110; j > 0; j--);
}

void lcd_sendbyte(unsigned char byte)
{
        unsigned char i;
        for(i = 0; i < 8; i++)
        {
                SCLK = 0;
                delay_ms(2);
                SID = (bit)(byte&0x80);
                SCLK = 1;
                byte = byte << 1;
        }
}

void write_cmd(unsigned char cmd)
{
        CS = 1;
        lcd_sendbyte(0xf8);
        lcd_sendbyte(0xf0&cmd);
        lcd_sendbyte(0xf0&(cmd << 4));
        CS = 0;
        delay_ms(10);
}

void write_dat(unsigned char dat)
{
        CS = 1;
        lcd_sendbyte(0xfa);
        lcd_sendbyte(0xf0&dat);
        lcd_sendbyte(0xf0&(dat << 4));
        CS = 0;
        delay_ms(10);       
}
void lcd_pos(unsigned char x, unsigned char y)
{
        unsigned char pos;
        switch(x)
        {
                case 0: x = 0x80; break;
                case 1: x = 0x90; break;
                case 2: x = 0x88; break;
                case 3: x = 0x98; break;
        }       
        pos = x + y;
        write_cmd(pos);
}

void lcd12864_init()
{
        PSB = 0;
        write_cmd(0x30);
        delay_ms(5);
        write_cmd(0x0c);
        delay_ms(5);
        write_cmd(0x01);
        delay_ms(5);
}

void lcd_display(unsigned char line, unsigned char column, char *str)
{
        lcd_pos(line, column);
        while(*str)
        {
                write_dat(*str++);
        }
}


1.串行驱动显示.rar

39.63 KB, 下载次数: 12, 下载积分: 黑币 -5

12864显示

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

使用道具 举报

沙发
ID:107536 发表于 2019-2-12 18:35 | 只看该作者
垃圾,别下载
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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