|
仿真報(bào)錯(cuò)的請(qǐng)看這里。。
使用proteus中12864液晶再也不用擔(dān)心沒(méi)有字庫(kù)了?
http://www.torrancerestoration.com/bbs/dpj-59193-1.html
QQ截圖20170920231434.jpg (135.02 KB, 下載次數(shù): 233)
下載附件
2017-9-21 00:02 上傳
QQ截圖20170920232504.jpg (119.68 KB, 下載次數(shù): 194)
下載附件
2017-9-21 00:02 上傳
單片機(jī)源程序如下:
- /* ***************************************************** */
- // QQ交流 :1181826414
- /* ***************************************************** */
- // 工 程 : 51單片機(jī)開(kāi)發(fā)板
- // 文件名 : LCD12864.c
- // 處理器 : STC89C52RC
- // 編譯環(huán)境 : Keil4 C51
- // 系統(tǒng)時(shí)鐘 : 11.0592MHZ
- // 版 本 : V1.0
- // 生成日期 : 2017-09-20
- // 修改日期 :
- // 簡(jiǎn)單描述 : 本文件是帶字庫(kù)LCD12864顯示程序
- /* ***************************************************** */
- #include <reg52.h>
- #define uint unsigned int
- #define uchar unsigned char
- #define Lcd_Bus P0 //數(shù)據(jù)總線
- /* ***************************************************** */
- // 位定義
- /* ***************************************************** */
- sbit RS=P2^4; //數(shù)據(jù)/命令選擇端(H/L)
- sbit RW=P2^5; //數(shù)/寫(xiě)選擇端(H/L)
- sbit E=P2^6; //使能信號(hào)
- /* ***************************************************** */
- // 函數(shù)名稱:DelayMS()
- // 函數(shù)功能:延時(shí)毫秒數(shù)(ValMS)
- // 入口參數(shù):無(wú)
- // 出口參數(shù):無(wú)
- /* ***************************************************** */
- void DelayMS(uint ValMS)
- {
- uint uiVal,ujVal;
- for(uiVal = 0; uiVal < ValMS; uiVal++)
- for(ujVal = 0; ujVal < 121; ujVal++);
- }
- /* ***************************************************** */
- // 函數(shù)名稱hk_busy()
- // 函數(shù)功能:檢測(cè)狀態(tài)標(biāo)志位(判斷是忙/閑)
- // 入口參數(shù):無(wú)
- // 出口參數(shù):無(wú)
- /* ***************************************************** */
- void chk_busy()
- {
- Lcd_Bus=0x00;
- RS=0;
- RW=1;
- E=1;
- DelayMS(1);
- while(Lcd_Bus & 0x80); // 若LCD忙,停止到這里,否則走起
- E=0; // 之后將EN初始化為低電平
- }
-
- /* ***************************************************** */
- // 函數(shù)名稱rite_com()
- // 函數(shù)功能:LCD寫(xiě)指令
- // 入口參數(shù):指令(cmdcode)
- // 出口參數(shù):無(wú)
- /* ***************************************************** */
- void write_com(unsigned char cmdcode)
- {
- chk_busy(); //忙檢查
- RS=0;
- RW=0; //RS=0,RW=0;表示MCU寫(xiě)指令到暫存器IR
- E=1;
- Lcd_Bus=cmdcode; //Lcd_Bus=P0;
- E=0; //E由高到低變化配合W進(jìn)行寫(xiě)指令或?qū)憯?shù)據(jù)
- }
- /* ***************************************************** */
- // 函數(shù)名稱rite_data()
- // 函數(shù)功能:LCD寫(xiě)數(shù)據(jù)
- // 入口參數(shù):數(shù)據(jù)(Dispdata)
- // 出口參數(shù):無(wú)
- /* ***************************************************** */
- void write_data(unsigned char Dispdata)
- {
- chk_busy(); //忙檢查
- RS=1;
- RW=0; //RS=1;RW=0;表示MCU寫(xiě)數(shù)據(jù)到暫存器IR
- E=1;
- Lcd_Bus=Dispdata; //Lcd_Bus=P0;
- E=0; //E由高到低變化配合W進(jìn)行寫(xiě)指令或?qū)憯?shù)據(jù)
- }
- /* ***************************************************** */
- // 函數(shù)名稱:lcm_init()
- // 函數(shù)功能:LCD初始化
- // 入口參數(shù):無(wú)
- // 出口參數(shù):無(wú)
- /* ***************************************************** */
- void lcm_init()
- {
- write_com(0x30); //選擇8bit數(shù)據(jù)流 0X30=0011,0000
- DelayMS(10);
- write_com(0x0C); //開(kāi)顯示(無(wú)游標(biāo),不反白)
- DelayMS(10);
- write_com(0x01); //清除顯示,并且設(shè)定地址指針為00H
- DelayMS(10);
- }
- //============================================================//寫(xiě)數(shù)據(jù)或指令(被調(diào)用層)
- void lcm_w_test(bit i,unsigned char word)
- {
- if(i == 0) //根據(jù)i的狀態(tài)區(qū)分指令或數(shù)據(jù)
- {
- write_com(word);//寫(xiě)數(shù)據(jù)或指令(0,指令)
- }
- else
- {
- write_data(word);//寫(xiě)指令或數(shù)據(jù)(1,數(shù)據(jù))
- }
- }
- //-----------------------------------------------------------//清屏函數(shù)
- void lcm_clr(void){
- lcm_w_test(0,0x01);
- }
- //===========================================================//向LCM發(fā)送一個(gè)字符串,長(zhǎng)度64字符之內(nèi)(被調(diào)用層),
- void lcm_w_word(unsigned char *s)
- {
- while(*s>0) //*s指針
- {
- write_data(*s);//用指針顯示數(shù)據(jù)地址
- s++; //自加顯示下一個(gè)數(shù)據(jù)地址
- }
- }
- void welcome(void) //初始化開(kāi)機(jī)顯示
- {
- lcm_w_test(0,0x81); //寫(xiě)指令和地址
- lcm_w_word ("空山新雨后,"); //寫(xiě)顯示數(shù)據(jù)
- lcm_w_test(0,0x91);
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
0.png (60.73 KB, 下載次數(shù): 231)
下載附件
2017-9-21 00:16 上傳
所有資料51hei提供下載:
字庫(kù)LCD12864液晶.zip
(297.99 KB, 下載次數(shù): 1752)
2017-9-21 00:04 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|