附件為:LCD12864顯示漢字和數字的程序與電路
/*
自定義延時子函數
*/
void delayms(uchar z)
{
int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
/*
判斷LCD忙信號狀態
*/
void buys()
{
int dat;
RW=1;
RS=0;
do
{
P0=0x00;
E=1;
dat=P0;
E=0;
dat=0x80 & dat;
} while(!(dat==0x00));
}
/*
LCD寫指令函數
*/
void w_com(uchar com)
{
//buys();
RW=0;
RS=0;
E=1;
P0=com;
E=0;
}
/*
LCD寫數據函數
*/
void w_date(uchar date)
{
//buys();
RW=0;
RS=1;
E=1;
P0=date;
E=0;
}
/*
LCD選屏函數
*/
void select_screen(uchar screen)
{
switch(screen)
{
case 0: //選擇全屏
CS1=0;
CS2=0;
break;
case 1: //選擇左屏
CS1=0;
CS2=1;
break;
case 2: //選擇右屏
CS1=1;
CS2=0;
break;
/* case 3: //選擇右屏
CS1=1;
CS2=1;
break;
*/
}
}
/*
LCDx向上滾屏顯示
*/
void lcd_rol()
{
int x;
for(x=0;x<64;x++)
{
select_screen(0);
w_com(0xc0+x);
delayms(500);
}
}
/*
LCD清屏函數:清屏從第一頁的第一列開始,總共8頁,64列
*/
void clear_screen(screen)
{
int x,y;
select_screen(screen); //screen:0-選擇全屏,1-選擇左半屏,2-選擇右半屏
for(x=0xb8;x<0xc0;x++) //從0xb8-0xbf,共8頁
{
w_com(x);
w_com(0x40); //列的初始地址是0x40
for(y=0;y<64;y++)
{
w_date(0x00);
}
}
}
/*
LCD顯示漢字字庫函數
*/
void lcd_display_hanzi(uchar screen,uchar page,uchar col,uint mun)
{ //screen:選擇屏幕參數,page:選擇頁參數0-3,col:選擇列參數0-3,mun:顯示第幾個漢字的參數
int a;
mun=mun*32;
select_screen(screen);
w_com(0xb8+(page*2));
w_com(0x40+(col*16));
for ( a=0;a<16;a++)
{
w_date(hanzi[mun++]);
}
w_com(0xb8+(page*2)+1);
w_com(0x40+(col*16));
for ( a=0;a<16;a++)
{
w_date(hanzi[mun++]);
}
}
/*
LCD顯示字符字庫函數
*/
void lcd_display_zifuk(uchar screen,uchar page,uchar col,uchar mun)
{ //screen:選擇屏幕參數,page:選擇頁參數0-3,col:選擇列參數0-7,mun:顯示第幾個漢字的參數
int a;
mun=mun*16;
select_screen(screen);
w_com(0xb8+(page*2));
w_com(0x40+(col*8));
for ( a=0;a<8;a++)
{
w_date(zifu[mun++]);
}
w_com(0xb8+(page*2)+1);
w_com(0x40+(col*8));
for ( a=0;a<8;a++)
{
w_date(zifu[mun++]);
}
}
/*
LCD顯示數字字庫函數
*/
void lcd_display_shuzi(uchar screen,uchar page,uchar col,uchar mun)
{ //screen:選擇屏幕參數,page:選擇頁參數0-3,col:選擇列參數0-7,mun:顯示第幾個漢字的參數
int a;
mun=mun*16;
select_screen(screen);
w_com(0xb8+(page*2));
w_com(0x40+(col*8));
for ( a=0;a<8;a++)
{
w_date(shuzi[mun++]);
}
w_com(0xb8+(page*2)+1);
w_com(0x40+(col*8));
for ( a=0;a<8;a++)
{
w_date(shuzi[mun++]);
}
}
/*
LCD初始化函數
*/
void lcd_init()
{
w_com(0x3f); //LCD開顯示
w_com(0xc0); //LCD行初始地址,共64行
w_com(0xb8); //LCD頁初始地址,共8頁
w_com(0x40); //LCD列初始地址,共64列
}
/*
LCD顯示主函數
*/
void main()
{
//第一行
int x;
lcd_init(); //LCD初始化
clear_screen(0); //LCD清屏幕
lcd_display_shuzi(1,0,4,5); //LCD顯示數字
lcd_display_shuzi(1,0,5,1); //LCD顯示數字
lcd_display_hanzi(1,0,3,0); //LCD顯示漢字
lcd_display_hanzi(2,0,0,1); //LCD顯示漢字 //LCD字符漢字
lcd_display_hanzi(2,0,1,2); //LCD顯示漢字
//第二行
lcd_display_zifuk(1,1,2,0); //LCD顯示字符
lcd_display_zifuk(1,1,3,0); //LCD顯示字符
lcd_display_zifuk(1,1,4,0); //LCD顯示字符
lcd_display_zifuk(1,1,5,4); //LCD顯示字符
lcd_display_shuzi(1,1,6,8); //LCD顯示字符
lcd_display_shuzi(1,1,7,9); //LCD顯示字符
lcd_display_shuzi(2,1,0,5); //LCD顯示字符
lcd_display_shuzi(2,1,1,1); //LCD顯示字符
lcd_display_zifuk(2,1,2,4);
lcd_display_zifuk(2,1,3,1);
lcd_display_zifuk(2,1,4,2);
lcd_display_zifuk(2,1,5,3);
//第三行
for(x=0;x<4;x++)
{
lcd_display_hanzi(1,2,x,3+x); //LCD顯示漢字
}
for(x=0;x<4;x++)
{
lcd_display_hanzi(2,2,x,7+x); //LCD顯示漢字
}
//第四行
for(x=0;x<4;x++)
{
lcd_display_zifuk(1,3,x,5+x); //LCD顯示漢字
}
lcd_display_shuzi(1,3,4,7);
lcd_display_shuzi(1,3,5,5);
lcd_display_shuzi(1,3,6,5);
lcd_display_zifuk(1,3,7,9);
lcd_display_shuzi(2,3,0,8);
lcd_display_shuzi(2,3,1,9);
lcd_display_shuzi(2,3,2,9);
lcd_display_shuzi(2,3,3,5);
lcd_display_shuzi(2,3,4,6);
lcd_display_shuzi(2,3,5,8);
lcd_display_shuzi(2,3,6,9);
lcd_display_shuzi(2,3,7,2);
while(1);
/* while(1)
{ // LCD向上滾屏顯示
lcd_rol();
}
*/
}
資源簡介:附件為:LCD12864顯示漢字和數字的程序與電路 /* ?自定義延時子函數 */ void delayms(uchar z) { ? int x,y; ? for(x=z;x>0;x--) ???? for(y=110;y>0;y--); } /* ???? 判斷LCD忙信號狀態 */ void buys() { ? int dat; ? RW=1;...
上傳時間: 2013-11-08
上傳用戶:aeiouetla
資源簡介:LCD12864 顯示漢字圖片 反白,是一個非常好的程序,可以和大家共享,
上傳時間: 2013-12-24
上傳用戶:com1com2
資源簡介:用avr單片機編程控制LCD12864顯示漢字和字符功能
上傳時間: 2017-03-22
上傳用戶:love1314
資源簡介:這是一個可以顯示漢字的時鐘程序帶有源碼和仿真
上傳時間: 2014-01-21
上傳用戶:dave520l
資源簡介:調用漢字庫顯示漢字(點陣字庫和曲線字庫)
上傳時間: 2013-11-30
上傳用戶:zhyiroy
資源簡介:本文檔是碼管顯示的頻率計程序和仿真電路圖免費下載
上傳時間: 2022-05-02
上傳用戶:
資源簡介:是HD61202液晶顯示漢字的完整程序代碼
上傳時間: 2014-01-03
上傳用戶:ryb
資源簡介:ST7920黑白液晶顯示器的AVR單片機程序,可以在屏幕任意點開始顯示漢字的小程序
上傳時間: 2014-01-25
上傳用戶:ljmwh2000
資源簡介:sst flash的讀寫程序的編寫 完整教程和實例程序和幾個實用小工具
上傳時間: 2013-12-26
上傳用戶:himbly
資源簡介:液晶JM12864的顯示程序,可以顯示漢字,希望這個程序對大家有幫助
上傳時間: 2016-06-11
上傳用戶:linlin
資源簡介:此代碼是凌陽61板實驗LCD顯示漢字的原程序
上傳時間: 2016-09-28
上傳用戶:CSUSheep
資源簡介:t6963驅動LCD12864顯示漢字菜單仿真例
上傳時間: 2014-01-03
上傳用戶:dsgkjgkjg
資源簡介:單片機控制LED點陣顯示漢字資料、程序(共陰、共陽)。
上傳時間: 2017-08-13
上傳用戶:zhaiyanzhong
資源簡介:LCD12864顯示漢字(匯編語言),可以具體了解一下漢字是怎樣顯示。
上傳時間: 2014-01-18
上傳用戶:kristycreasy
資源簡介:?滿足混合字符串(漢字和數字等字符)批量(非一個字符一個字符),轉換為16進制;同樣支持16進制轉換為字符串,C++代碼; 在VS2010上用MFC編碼測試可運行。可用于串口通信數據編碼。
上傳時間: 2017-05-31
上傳用戶:西蒙貝克
資源簡介:數字圖像處理課程 北大計算所 PPT版
上傳時間: 2013-07-16
上傳用戶:eeworm
資源簡介:51單片機顯示漢字和數字的程序,希望對大家有幫助
上傳時間: 2017-04-27
上傳用戶:ggwz258
資源簡介:電子鐘的java小程序 能進行圖和數字顯示
上傳時間: 2015-04-16
上傳用戶:FreeSky
資源簡介:我的12864驅動程序,可以顯示漢字和圖片.
上傳時間: 2014-01-04
上傳用戶:qw12
資源簡介:關于單片機AT89C51的顯示程序和電路,有靜態掃描、動態掃描,以及利用串口的掃描,給初學者能有一點幫助!
上傳時間: 2015-06-01
上傳用戶:jhksyghr
資源簡介:自己編得屏程序包括字庫和顯示16*32數字
上傳時間: 2014-11-22
上傳用戶:lacsx
資源簡介:實現LCD12864字符串和數字顯示 包含LCD的初始化和清屏等功能
上傳時間: 2014-01-18
上傳用戶:氣溫達上千萬的
資源簡介:壓縮包中含有DS10B20,JM12864液晶模塊的資料,以及DS18B201有LCD顯示溫度的2個KEIL C程序.和電路原理圖.
上傳時間: 2013-12-25
上傳用戶:253189838
資源簡介:利用一塊芯片完成除時鐘源、按鍵、揚聲器和顯示器(數碼管)之外的所有數字電路功能。所有數字邏輯功能都在CPLD器件上用VHDL語言實現。這樣設計具有體積小、設計周期短(設計過程中即可實現時序仿真)、調試方便、故障率低、修改升級容易等特點。 本設計采用...
上傳時間: 2014-01-02
上傳用戶:LIKE
資源簡介:這是linux下在LCD上顯示英文和數字的程序 已經驗證是好使的
上傳時間: 2014-01-25
上傳用戶:sardinescn
資源簡介:給出了一種基于TMS320C54X數字信號處理芯片和TLC320AD50C模擬接口電路(A IC)的語音處理 系統方案,同時提供了采用匯編語言編寫的語音處理程序。這個系統可用于多種語音處理場合,通過修改程 序可達到不同的語音處理效果,具有良好的擴展性、靈活性和適應性等。...
上傳時間: 2013-12-17
上傳用戶:風之驕子
資源簡介:QH12864驅動程序,可以顯示漢字和圖片
上傳時間: 2016-06-10
上傳用戶:牛津鞋
資源簡介:在arm_linux上無須圖形界面就可以運行的顯示漢字和圖像的程序。
上傳時間: 2014-01-17
上傳用戶:Pzj
資源簡介:里面集成了基于GSM模塊的車載防盜系統設計 TC35i 資料、數字搶答器(數字電路)、智能型充電器的電源和顯示的設計等畢業設計論文
上傳時間: 2014-01-10
上傳用戶:
資源簡介:數字電壓表,可模擬進行電壓測量,用數碼管顯示電壓值,有圖和程序
上傳時間: 2013-12-27
上傳用戶:zmy123