久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1780|回復: 2
打印 上一主題 下一主題
收起左側

51單片機驅動中文字庫12864液晶顯示

[復制鏈接]
跳轉到指定樓層
樓主
//c51驅動中文字庫12864液晶顯示
#include <stdio.h>
#include <reg52.h>
#include <intrins.h>
#include <string.h>
#define uchar unsigned char
#define uint unsigned int
uchar code LCD_data1[];
uchar code LCD_data2[];
uchar code LCD_picture1[];
uchar code LCD_picture2[];
/*sbit RS = P3^0; //2051
sbit RW = P3^1;
sbit EN = P3^2;
sbit PSB = P3^3;  
sbit RES = P3^4;       */
/*sbit RS = P2^4;
sbit RW = P2^5;
sbit EN = P2^6;
sbit PSB = P2^1;  
sbit RES = P2^3;   
sbit Dataport = P0;//l-1定義數據端口
sbit Busyport = P0^7;
void delay_ms(unsigned int n)   //延時10*N毫秒
{
unsigned int i,j;
for(i=0;i<n;i++)  
for(j=0;j<2000;j++);
}
void delay(unsigned int m)        //延時1u秒
{
unsigned int i,j;
for(i=0;i<m;i++)
for(j=0;j<10;j++);
}
void check_LCD_busy (void) //判斷LCM忙子程序
{
Dataport = 0xff;
RS = 0;
RW = 1;
EN = 1;  
while (Busyport);
EN = 0;
}
void write_com(uchar Command) //寫命令子程序
{
check_LCD_busy();
RW=0;
RS=0;
delay(1);  
P0=Command;
EN=1;
delay(1);
EN=0;
}
void write_data(uchar Data)  //寫數據子程序
{
check_LCD_busy();
RW=0;
RS=1;
delay(1);
P0=Data;
EN=1;
delay(1);
EN=0;
}
void lcdClear (void) //LCM清屏子函數
{
write_com(0x01);
}
void reset () //LCm復位子函數
{
RES=0;// 復位
delay(1);
RES=1;//復位置高
delay(10);
}
void dispString (uchar X, Y,uchar*msg)  //顯示漢字,X為哪一行,y為哪一列 ,msg為漢字
{
if(X==0) X = 0x80; //第一行,漢字顯示坐標
else if(X==1) X = 0x90; // 第2行,漢字顯示坐標
else if(X==2) X = 0x88;  //第3行
else X = 0x98;                           //第4行
//Y = X + Y;          //去掉+Y,顯示從第一格開始
Y = X ;                            //y為一往右邊移動 一位
write_com(Y);                    //寫入坐標
while (*msg)               //
{
write_data(*msg++);//顯示漢字
}
}
void disppicture(uchar code*adder)  //顯示圖像
{
uint i,j;
for(i=0;i<32;i++) //上半屏32個列地址                                                            
{
write_com(0x80 + i);   //set垂直地址VERTICALADD
write_com(0x80);      //set水平地址HORIZONTALADD
for(j=0;j<16;j++)
{
write_data(*adder);
adder++;
}
}
for(i=0;i<32;i++)//顯示下半屏內容設置
{
write_com(0x80 + i); //set垂直地址VERTICALADD   
write_com(0x88);    //set水平地址HORIZONTALADD
for(j=0;j<16;j++)                                                                                 
{
write_data(*adder);
adder++;
}
}
}
void lcdinit_str(void)//lcd字庫初始化程序
{
delay(40);             //大于40MS延時
PSB=1;                        //設置為8BIT并口工作模式
delay(1);            
reset();                  //復位
write_com(0x30);   
delay(100);
write_com(0x30);   
delay(37);            
write_com(0x08);  
delay(100);           
write_com(0x10);  
delay(100);           
write_com(0x0C);
delay(100);
write_com(0x01);   
delay(10);            
write_com(0x06);  // 光標從右向左加1    位移動
delay(100);
}
void lcdinit_pic(void)//lcd圖片(擴展 )初始化函數
{
delay(40);           
PSB=1;//設置為8BIT并口工作模式
delay(1);              
reset();      
write_com(0x36);   
delay(100);         
write_com(0x36);     
delay(37);                             
write_com(0x3E);            
delay(100);                       
write_com(0x01);     
delay(100);         
}
void main()
{
while(1)
{
lcdinit_str();
delay_ms(10);
dispString(0, 1,"鐘山風雨起蒼黃,");
delay_ms(10);
dispString(1, 1,"百萬雄師過大江。");
delay_ms(10);
dispString(2, 1,"虎踞龍盤今勝昔,");
delay_ms(10);
dispString(3, 1,"天翻地覆慨而慷");  
delay_ms(200);
delay_ms(200);
lcdClear();
delay_ms(10);
dispString(0, 1,"宜將剩勇追窮寇,");
delay_ms(10);
dispString(1, 1,"不可沽名學霸王。");
delay_ms(10);
dispString(2, 1,"天若有情天亦老,");  
delay_ms(10);
dispString(3, 1,"人間正道是滄桑。");  
delay_ms(200);
delay_ms(200);         


delay_ms(10);
dispString(1, 1,"萬水千山只等閑。");
delay_ms(10);
dispString(2, 1,"五嶺逶迤騰細浪,");  
delay_ms(10);
dispString(3, 1,"烏蒙磅礴走泥丸。");  
delay_ms(200);
delay_ms(200);         
delay_ms(10);
dispString(0, 1,"金沙水拍云崖暖,");
delay_ms(10);
dispString(1, 1,"大渡橋橫鐵索寒。");
delay_ms(10);
dispString(2, 1,"更喜民山千里雪,");  
delay_ms(10);
dispString(3, 1,"三軍過后盡開顏。");  
delay_ms(200);
delay_ms(200);         

lcdinit_pic();
lcdClear();
delay_ms(10);
disppicture(LCD_picture1);
delay_ms(300);
delay_ms(300);
}
} */
這里發一個51單片機驅動中文字庫12864液晶顯示代碼,大家一起學習。中文字庫12864液晶用起來比較簡單。

51hei圖片20240109095058.png (251.14 KB, 下載次數: 89)

51hei圖片20240109095058.png

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:1064915 發表于 2024-1-10 10:32 | 只看該作者
這是帶字庫的
回復

使用道具 舉報

板凳
ID:291549 發表于 2024-1-13 18:52 | 只看該作者
這個特別實用。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲欧美日韩在线 | 国产欧美日韩一区 | 少妇诱惑av | 国产黄色在线观看 | 成人一区二区三区 | 欧美日韩亚 | 亚洲va在线va天堂va狼色在线 | 国产第一亚洲 | av大片在线观看 | 精品国产欧美一区二区 | 欧美啪啪| 亚洲成人福利视频 | 国产精品国产三级国产aⅴ原创 | 久久久久国产精品一区 | 久久免费看 | 欧美舔穴 | 中文字幕观看 | av在线一区二区 | 久草网站| 欧美一级免费看 | 国产精品自拍啪啪 | 七七婷婷婷婷精品国产 | 久久草在线视频 | 夜夜干夜夜操 | 亚洲伊人久久综合 | 国产精品.xx视频.xxtv | 成人亚洲视频 | 日韩欧美综合在线视频 | 韩日一区二区三区 | 日韩精品久久久久久 | 亚洲欧美视频 | 欧美高清dvd | 免费观看色 | 国产精品久久免费观看 | 久久99精品久久久久 | 成人在线免费看 | 久久精品国产99国产 | 正在播放国产精品 | 国产精品精品久久久久久 | 国产精品视频一区二区三 | 久久久国产一区二区三区 |