找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2176|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)矩陣按鍵控制12864顯示1-100

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:404673 發(fā)表于 2020-2-23 12:38 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
2黑幣
矩陣按鍵控制12864顯示1-10012864底驅(qū):


#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
#define LCD_data=P0;//屏并行端口DB0~DB7
uchar time;//定義全局變量
sbit rs=P3^5;//屏端口定義
sbit wr=P3^6;//
sbit en=P3^4;//屏使能

sbit rd=P3^4;//屏復(fù)位
unsigned char addresses[] = {0x80,0x90,0x88,0x98};// 12864 地址
void delay_1ms(uint x);//12864 1ms延時(shí)函數(shù)
void write_cmd(uchar cmd);// 12864 寫命令
void write_data(uchar dat);// 12864 寫數(shù)據(jù)
// void LCD12864_Display_Char(unsigned char x,unsigned char y,unsigned char dat);
void LCD12864_Display_Chars(unsigned char x,unsigned char y,unsigned char *dat);//12864
void lcd_init();                                                //LCD準(zhǔn)備函數(shù)


void delay_1ms(uint x)//12864 1ms延時(shí)函數(shù)
{
        uint i,j;
        for(i=0;i<x;i++)
                for(j=0;j<100;j++);
}
void write_cmd(uchar cmd)// 12864 寫命令
{
        rs=0;
        wr=0;
        en=0;
        P0=cmd;
        delay_1ms(10);//延時(shí)5ms
        en=1;
        delay_1ms(10);
        en=0;
}
void write_data(uchar dat)// 12864 寫數(shù)據(jù)
{
        rs=1;
        wr=0;
        en=0;
        P0=dat;
        delay_1ms(10);
        en=1;
        delay_1ms(10);
        en=0;
}

//void LCD12864_Display_Char(unsigned char x,unsigned char y,unsigned char dat)
//{
//        write_cmd(0x30);
//        write_cmd(0x06);
//        write_cmd(addresses[x-1]+(y-1));
//        write_data(dat);//寫字符
//}
void LCD12864_Display_Chars(unsigned char x,unsigned char y,unsigned char *dat)//12864
{
        write_cmd(0x30);
        write_cmd(0x06);
        write_cmd(addresses[x-1]+(y-1));
        while(*dat != '\0')//寫漢字
        {
                write_data(*dat);
                dat++;
        }
}
void lcd_init()                                                //LCD準(zhǔn)備函數(shù)
{
        rd=1;
        write_cmd(0x30);
        delay_1ms(5);
        write_cmd(0x0C);
        delay_1ms(5);
        write_cmd(0x01);
        delay_1ms(5);
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表