找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1620|回复: 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显示

回复

使用道具 举报

ID:107536 发表于 2019-2-12 18:35 | 显示全部楼层
垃圾,别下载
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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