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

QQ登錄

只需一步,快速開(kāi)始

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

LCD12864中文液晶屏顯示(含仿真和程序)

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
仿真報(bào)錯(cuò)的請(qǐng)看這里。。
使用proteus中12864液晶再也不用擔(dān)心沒(méi)有字庫(kù)了?
http://www.torrancerestoration.com/bbs/dpj-59193-1.html



單片機(jī)源程序如下:
  1. /* ***************************************************** */
  2. // QQ交流 :1181826414
  3. /* ***************************************************** */
  4. // 工  程   : 51單片機(jī)開(kāi)發(fā)板
  5. // 文件名   : LCD12864.c
  6. // 處理器   : STC89C52RC
  7. // 編譯環(huán)境 : Keil4 C51
  8. // 系統(tǒng)時(shí)鐘 : 11.0592MHZ
  9. // 版    本        : V1.0
  10. // 生成日期        : 2017-09-20                                                  
  11. // 修改日期        :  
  12. // 簡(jiǎn)單描述 : 本文件是帶字庫(kù)LCD12864顯示程序
  13. /* ***************************************************** */
  14. #include <reg52.h>
  15. #define uint unsigned int
  16. #define uchar unsigned char
  17. #define Lcd_Bus P0 //數(shù)據(jù)總線
  18. /* ***************************************************** */
  19. // 位定義
  20. /* ***************************************************** */
  21. sbit RS=P2^4;     //數(shù)據(jù)/命令選擇端(H/L)
  22. sbit RW=P2^5;    //數(shù)/寫(xiě)選擇端(H/L)
  23. sbit E=P2^6;     //使能信號(hào)
  24. /* ***************************************************** */
  25. // 函數(shù)名稱:DelayMS()
  26. // 函數(shù)功能:延時(shí)毫秒數(shù)(ValMS)
  27. // 入口參數(shù):無(wú)
  28. // 出口參數(shù):無(wú)
  29. /* ***************************************************** */
  30. void DelayMS(uint ValMS)
  31. {
  32.         uint uiVal,ujVal;
  33.         for(uiVal = 0; uiVal < ValMS; uiVal++)
  34.                 for(ujVal = 0; ujVal < 121; ujVal++);
  35. }
  36. /* ***************************************************** */
  37. // 函數(shù)名稱hk_busy()
  38. // 函數(shù)功能:檢測(cè)狀態(tài)標(biāo)志位(判斷是忙/閑)
  39. // 入口參數(shù):無(wú)
  40. // 出口參數(shù):無(wú)
  41. /* ***************************************************** */
  42. void chk_busy()
  43. {  
  44.           Lcd_Bus=0x00;
  45.     RS=0;
  46.     RW=1;
  47.     E=1;  
  48.           DelayMS(1);
  49.     while(Lcd_Bus & 0x80);   // 若LCD忙,停止到這里,否則走起
  50.     E=0;                // 之后將EN初始化為低電平
  51. }

  52. /* ***************************************************** */
  53. // 函數(shù)名稱rite_com()
  54. // 函數(shù)功能:LCD寫(xiě)指令
  55. // 入口參數(shù):指令(cmdcode)
  56. // 出口參數(shù):無(wú)
  57. /* ***************************************************** */
  58. void write_com(unsigned char cmdcode)
  59. {
  60.         chk_busy();     //忙檢查
  61.         RS=0;
  62.         RW=0;      //RS=0,RW=0;表示MCU寫(xiě)指令到暫存器IR
  63.         E=1;
  64.         Lcd_Bus=cmdcode;   //Lcd_Bus=P0;
  65.         E=0;      //E由高到低變化配合W進(jìn)行寫(xiě)指令或?qū)憯?shù)據(jù)

  66. }
  67. /* ***************************************************** */
  68. // 函數(shù)名稱rite_data()
  69. // 函數(shù)功能:LCD寫(xiě)數(shù)據(jù)
  70. // 入口參數(shù):數(shù)據(jù)(Dispdata)
  71. // 出口參數(shù):無(wú)
  72. /* ***************************************************** */
  73. void write_data(unsigned char Dispdata)
  74. {  
  75.   chk_busy();     //忙檢查
  76.         RS=1;
  77.         RW=0;      //RS=1;RW=0;表示MCU寫(xiě)數(shù)據(jù)到暫存器IR
  78.         E=1;
  79.         Lcd_Bus=Dispdata;  //Lcd_Bus=P0;
  80.         E=0;      //E由高到低變化配合W進(jìn)行寫(xiě)指令或?qū)憯?shù)據(jù)
  81. }
  82. /* ***************************************************** */
  83. // 函數(shù)名稱:lcm_init()
  84. // 函數(shù)功能:LCD初始化
  85. // 入口參數(shù):無(wú)
  86. // 出口參數(shù):無(wú)
  87. /* ***************************************************** */
  88. void lcm_init()
  89. {         
  90.    write_com(0x30);    //選擇8bit數(shù)據(jù)流 0X30=0011,0000
  91.          DelayMS(10);
  92.    write_com(0x0C);    //開(kāi)顯示(無(wú)游標(biāo),不反白)
  93.          DelayMS(10);
  94.    write_com(0x01);    //清除顯示,并且設(shè)定地址指針為00H
  95.          DelayMS(10);
  96. }
  97. //============================================================//寫(xiě)數(shù)據(jù)或指令(被調(diào)用層)
  98. void lcm_w_test(bit i,unsigned char word)
  99. {
  100.    if(i == 0)   //根據(jù)i的狀態(tài)區(qū)分指令或數(shù)據(jù)
  101.          {   
  102.       write_com(word);//寫(xiě)數(shù)據(jù)或指令(0,指令)
  103.    }
  104.    else
  105.         {
  106.    write_data(word);//寫(xiě)指令或數(shù)據(jù)(1,數(shù)據(jù))
  107.   }
  108. }
  109. //-----------------------------------------------------------//清屏函數(shù)
  110. void lcm_clr(void){
  111.    lcm_w_test(0,0x01);
  112. }
  113. //===========================================================//向LCM發(fā)送一個(gè)字符串,長(zhǎng)度64字符之內(nèi)(被調(diào)用層),
  114. void lcm_w_word(unsigned char *s)
  115. {
  116.     while(*s>0)  //*s指針
  117.          {     
  118.       write_data(*s);//用指針顯示數(shù)據(jù)地址
  119.       s++;      //自加顯示下一個(gè)數(shù)據(jù)地址
  120.     }
  121. }
  122. void welcome(void)        //初始化開(kāi)機(jī)顯示
  123. {
  124.     lcm_w_test(0,0x81);   //寫(xiě)指令和地址
  125.     lcm_w_word ("空山新雨后,"); //寫(xiě)顯示數(shù)據(jù)
  126.     lcm_w_test(0,0x91);
  127. ……………………

  128. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼


所有資料51hei提供下載:
字庫(kù)LCD12864液晶.zip (297.99 KB, 下載次數(shù): 1752)



評(píng)分

參與人數(shù) 5黑幣 +81 收起 理由
stkh + 8 很給力!
莫子棟 + 5 共享資料的黑幣獎(jiǎng)勵(lì)!
chef + 10 贊一個(gè)!
almsy + 8 很給力!
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:44037 發(fā)表于 2017-10-24 20:58 | 只看該作者
謝謝分享   學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

板凳
ID:259837 發(fā)表于 2017-12-10 18:56 | 只看該作者
不錯(cuò),學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

地板
ID:333436 發(fā)表于 2018-7-19 07:52 來(lái)自手機(jī) | 只看該作者
學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

5#
ID:4294 發(fā)表于 2018-7-30 06:05 | 只看該作者
好資料,學(xué)習(xí)了,謝謝
回復(fù)

使用道具 舉報(bào)

6#
ID:355325 發(fā)表于 2018-7-30 10:22 | 只看該作者
不錯(cuò)哦
回復(fù)

使用道具 舉報(bào)

7#
ID:385852 發(fā)表于 2018-8-17 10:47 | 只看該作者
正需要的東西,非常感謝
回復(fù)

使用道具 舉報(bào)

8#
ID:382800 發(fā)表于 2018-9-1 16:28 | 只看該作者
為什么液晶左上方顯示了幾串?dāng)?shù)字,程序中并沒(méi)有寫(xiě)這個(gè)。
回復(fù)

使用道具 舉報(bào)

9#
ID:393260 發(fā)表于 2018-9-27 08:00 來(lái)自手機(jī) | 只看該作者
也就51黑的代碼能放心用
回復(fù)

使用道具 舉報(bào)

10#
ID:403645 發(fā)表于 2018-9-28 16:48 | 只看該作者
為啥能直接顯示漢字,帶字庫(kù)的應(yīng)該用兩個(gè)字節(jié),不帶字庫(kù)的應(yīng)該取模啊,看不太懂
回復(fù)

使用道具 舉報(bào)

11#
ID:403645 發(fā)表于 2018-9-28 16:49 | 只看該作者
為什么可以直接顯示漢字,帶字庫(kù)的應(yīng)該用兩個(gè)字節(jié)啊,不帶字庫(kù)取模,這個(gè)看不太懂
回復(fù)

使用道具 舉報(bào)

12#
ID:307643 發(fā)表于 2018-9-28 17:06 | 只看該作者
有用的
回復(fù)

使用道具 舉報(bào)

13#
ID:411156 發(fā)表于 2018-10-17 15:50 | 只看該作者
正在用,正好學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

14#
ID:185258 發(fā)表于 2018-10-17 17:42 | 只看該作者
學(xué)習(xí)來(lái)了
回復(fù)

使用道具 舉報(bào)

15#
ID:214223 發(fā)表于 2018-10-24 11:22 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

16#
ID:321559 發(fā)表于 2018-10-25 23:24 | 只看該作者
下來(lái)后 lcd12864.dll的大小不對(duì)啊
回復(fù)

使用道具 舉報(bào)

17#
ID:321559 發(fā)表于 2018-10-25 23:29 | 只看該作者
運(yùn)行后不對(duì)……
回復(fù)

使用道具 舉報(bào)

18#
ID:391361 發(fā)表于 2018-11-1 10:16 | 只看該作者
謝謝分享。學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

19#
ID:298195 發(fā)表于 2018-11-20 22:31 | 只看該作者
已下載學(xué)習(xí),謝謝樓主分享
回復(fù)

使用道具 舉報(bào)

20#
ID:393698 發(fā)表于 2018-11-22 12:16 來(lái)自手機(jī) | 只看該作者
這個(gè)可以啊
回復(fù)

使用道具 舉報(bào)

21#
ID:427657 發(fā)表于 2018-11-30 09:44 | 只看該作者
謝謝分享   學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

22#
ID:437661 發(fā)表于 2018-12-2 14:32 | 只看該作者
學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

23#
ID:451217 發(fā)表于 2018-12-22 13:45 | 只看該作者
學(xué)習(xí)學(xué)習(xí)啦
回復(fù)

使用道具 舉報(bào)

24#
ID:449525 發(fā)表于 2018-12-24 15:40 | 只看該作者
其實(shí)這個(gè)屏幕,排線太多了,而且價(jià)格比較貴,現(xiàn)在好多用定制的lcd屏幕,網(wǎng)上參考的代碼真的少,不過(guò)樓主剛剛學(xué)習(xí)還是可以的啊。贊一個(gè)
回復(fù)

使用道具 舉報(bào)

25#
ID:417092 發(fā)表于 2018-12-25 11:00 | 只看該作者
我的軟件里,為什么找不到這個(gè)屏呀。
回復(fù)

使用道具 舉報(bào)

26#
ID:473027 發(fā)表于 2019-1-26 10:18 | 只看該作者
畢業(yè)設(shè)計(jì)要用到這個(gè)中文屏,得好好學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

27#
ID:285175 發(fā)表于 2019-1-27 16:09 | 只看該作者
我居然看懂了
回復(fù)

使用道具 舉報(bào)

28#
ID:67085 發(fā)表于 2019-1-30 18:01 | 只看該作者
很贊!
回復(fù)

使用道具 舉報(bào)

29#
ID:404374 發(fā)表于 2019-2-27 16:45 | 只看該作者
為什么仿真什么都沒(méi)有,難受
回復(fù)

使用道具 舉報(bào)

30#
ID:482449 發(fā)表于 2019-3-1 15:13 | 只看該作者
為什么我用你的HEX燒寫(xiě)就能顯示,我自己改顯示的中文就顯示不了
回復(fù)

使用道具 舉報(bào)

31#
ID:404981 發(fā)表于 2019-4-5 15:59 | 只看該作者
我想問(wèn)一下樓主的protues是什么版本的?謝謝
回復(fù)

使用道具 舉報(bào)

32#
ID:404981 發(fā)表于 2019-4-8 17:05 | 只看該作者
感謝樓主的分享,我發(fā)現(xiàn)我的protuel直接復(fù)制這個(gè)器件無(wú)法正常工作
回復(fù)

使用道具 舉報(bào)

33#
ID:504391 發(fā)表于 2019-4-14 20:10 | 只看該作者
很好用 我最愛(ài)
回復(fù)

使用道具 舉報(bào)

34#
ID:512152 發(fā)表于 2019-4-15 11:49 | 只看該作者
下載看看怎么樣
回復(fù)

使用道具 舉報(bào)

35#
ID:318492 發(fā)表于 2019-4-15 17:26 | 只看該作者
感謝感謝
回復(fù)

使用道具 舉報(bào)

36#
ID:502817 發(fā)表于 2019-4-15 21:32 | 只看該作者
謝謝分享,小白求教,怎樣編寫(xiě)程序?qū)崿F(xiàn)建立XY軸并顯示動(dòng)態(tài)波形圖呢?求程序分享。
回復(fù)

使用道具 舉報(bào)

37#
ID:515634 發(fā)表于 2019-4-18 17:10 | 只看該作者
謝謝分享,小白求救
回復(fù)

使用道具 舉報(bào)

38#
ID:521143 發(fā)表于 2019-4-25 10:33 | 只看該作者
很實(shí)用
回復(fù)

使用道具 舉報(bào)

39#
ID:102056 發(fā)表于 2019-5-9 20:08 來(lái)自手機(jī) | 只看該作者
ly2087 發(fā)表于 2019-4-5 15:59
我想問(wèn)一下樓主的protues是什么版本的?謝謝

Protues7.9
回復(fù)

使用道具 舉報(bào)

40#
ID:426662 發(fā)表于 2019-5-23 15:36 | 只看該作者
很好!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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