找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機(jī)lcd12864顯示程序(資源共享)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:589455 發(fā)表于 2019-7-24 11:43 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. #include<reg52.h>
  2. #include<intrins.h>
  3. sbit io_LCD12864_RS=P2^0;
  4. sbit io_LCD12864_RW=P2^1;
  5. sbit io_LCD12864_EN=P2^2;

  6. #define io_LCD12864_DATAPORT P0

  7. #define SET_DATA io_LCD12864_RS=1;
  8. #define SET_INC io_LCD12864_RS=0;
  9. #define SET_READ io_LCD12864_RW=1;
  10. #define SET_WRITE io_LCD12864_RW=0;
  11. #define SET_EN io_LCD12864_EN=1;
  12. #define CLR_EN io_LCD12864_EN=0;


  13. void v_Lcd12864CheckBusy_f(void)
  14. {
  15. unsigned int nTimeOut=0;
  16. SET_INC
  17. SET_READ
  18. SET_EN        
  19. SET_EN
  20.         while((io_LCD12864_DATAPORT&0X80)&&(++nTimeOut!=0));
  21.         CLR_EN
  22.         SET_INC
  23.         SET_READ
  24. }

  25. void v_Lcd12864SendCmd_f(unsigned char byCmd)
  26. {
  27. v_Lcd12864CheckBusy_f();
  28.         SET_INC
  29. SET_WRITE
  30.         CLR_EN
  31.         io_LCD12864_DATAPORT=byCmd;
  32.         _nop_();
  33.         _nop_();
  34.         SET_EN
  35.         _nop_();
  36.         _nop_();
  37.         CLR_EN
  38.         SET_READ
  39.         SET_INC
  40. }
  41. void v_Lcd12864SendData_f(unsigned char byData)
  42. {
  43. v_Lcd12864CheckBusy_f();
  44. SET_DATA
  45.         SET_WRITE
  46.         CLR_EN
  47.         io_LCD12864_DATAPORT=byData;
  48.         _nop_();
  49.         _nop_();
  50.         SET_EN
  51.         _nop_();
  52.         _nop_();
  53.         CLR_EN
  54.         SET_READ
  55.         SET_INC
  56. }
  57. void v_DelayMs_f(unsigned int nDelay)
  58. {
  59.   unsigned int i;
  60.         for(;nDelay>0;nDelay--)
  61.         {
  62.           for(i=125;i>0;i--);
  63.         }
  64. }
  65. void v_Lcd12864Init_f(void)
  66. {
  67.   v_Lcd12864SendCmd_f(0x30);
  68.         v_DelayMs_f(50);
  69.         v_Lcd12864SendCmd_f(0x10);
  70.         v_DelayMs_f(50);
  71.         v_Lcd12864SendCmd_f(0x06);
  72.         v_DelayMs_f(50);
  73.         v_Lcd12864SendCmd_f(0x0c);
  74. }
  75. void v_Lcd12864SetAddress_f(unsigned char x,y)
  76. {
  77.   unsigned char byAddress;
  78.         switch(y)
  79.         {
  80.                 case 0: byAddress=0x80+x;
  81.                    break;
  82.                 case 1: byAddress=0x90+x;
  83.                    break;
  84.                 case 2: byAddress=0x88+x;
  85.                    break;
  86.           case 3: byAddress=0x98+x;
  87.                    break;
  88.                 default:
  89.                    break;        
  90.         }
  91.         v_Lcd12864SendCmd_f(byAddress);
  92. }
  93. void v_Lcd12864PutString_f(unsigned char x,unsigned char y,unsigned char*pData)
  94. {
  95.   v_Lcd12864SetAddress_f(x,y);
  96.         while(*pData!='\0')
  97.         {
  98.         v_Lcd12864SendData_f(*pData++);
  99.         }
  100. }
  101. void main(void)
  102. {
  103.         v_Lcd12864Init_f();
  104.         
  105.         v_Lcd12864PutString_f(0,0,"2019 6 7pm 16:30");
  106. v_Lcd12864PutString_f(0,1,51黑電子");
  107.         v_Lcd12864PutString_f(0,2,"認(rèn)真學(xué)習(xí)");
  108. v_Lcd12864PutString_f        (0,3,"資源共享");
  109. while(1);
  110. }

復(fù)制代碼


816F3B3149CDB7A71EE34DA88CFB0912.jpg (73.39 KB, 下載次數(shù): 27)

lcd12864接線圖

lcd12864接線圖

評分

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

查看全部評分

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

使用道具 舉報

沙發(fā)
ID:485870 發(fā)表于 2019-7-25 01:54 | 只看該作者
為什么我用這代碼什么都不能顯示呢?是不是沒有漢字庫還是什么問題,引腳我已經(jīng)改成我的了
回復(fù)

使用道具 舉報

板凳
ID:485870 發(fā)表于 2019-7-25 01:55 | 只看該作者
為什么我不能用啊,試了好多代碼,都崩潰了
回復(fù)

使用道具 舉報

地板
ID:589455 發(fā)表于 2019-7-29 11:57 | 只看該作者
_nop_() 發(fā)表于 2019-7-25 01:55
為什么我不能用啊,試了好多代碼,都崩潰了

你把LCD顯示接的電位器調(diào)節(jié)一下,電位器合適的時候就會有反應(yīng)
回復(fù)

使用道具 舉報

5#
ID:589455 發(fā)表于 2019-7-29 11:58 | 只看該作者
_nop_() 發(fā)表于 2019-7-25 01:54
為什么我用這代碼什么都不能顯示呢?是不是沒有漢字庫還是什么問題,引腳我已經(jīng)改成我的了

可能是電位器的緣故,你把電位器調(diào)節(jié)一下
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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