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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

詳細LCD12864串行或者并行數據傳輸51單片機程序(自編)

[復制鏈接]
跳轉到指定樓層
樓主
詳細LCD12864串行或者并行數據傳輸51單片機程序(自編)


單片機串行源程序如下:
  1. #include <reg52.h>  
  2.   
  3.   
  4. //LCD12864端口定義  
  5. //sbit LCD12864_CS    = P3^5;//片選信號  
  6. sbit LCD12864_SID   = P2^6;//數據信號  
  7. sbit LCD12864_SCLK  = P2^7;//時鐘信號  
  8. //sbit LCD12864_RST   = P3^7;//復位信號  
  9.   
  10. /********************************************************************
  11. * 名稱 : LCD12864_Delay()
  12. * 功能 : 延時
  13. * 輸入 : z
  14. * 輸出 : 無
  15. ***********************************************************************/  
  16. void LCD12864_Delay(unsigned int z)  
  17. {  
  18. //  uchar i;  
  19. //  while(z --) for(i = 0;i < 120;i ++);  
  20.     unsigned char a,b;  
  21.     for(a=0; a<z; a++)  
  22.         for(b=0; b<120; b++);  
  23. }  
  24. /********************************************************************
  25. * 名稱 : LCD12864_sendbyte
  26. * 功能 : 按照液晶的串口通信協議,發送數據
  27. * 輸入 : zdata
  28. * 輸出 : 無
  29. ***********************************************************************/  
  30. void LCD12864_SendByte(unsigned char zdata)  
  31. {  
  32.     unsigned char i;  
  33.     for(i = 0;i < 8;i ++)  
  34.     {  
  35.         if((zdata<<i) & 0x80)  
  36.         {  
  37.             LCD12864_SID = 1;  
  38.         }  
  39.         else  
  40.         {  
  41.             LCD12864_SID = 0;  
  42.         }  
  43.         LCD12864_SCLK = 0;  
  44.         LCD12864_SCLK = 1;   
  45.     }     
  46. }  
  47. /********************************************************************
  48. * 名稱 : LCD12864_write_com()
  49. * 功能 : 寫串口指令,分三字節寫完
  50. * 輸入 : com
  51. * 輸出 : 無
  52. ***********************************************************************/  
  53. void  LCD12864_WriteCom(unsigned char com)  
  54. {  
  55.       //LCD12864_CS = 1;//打開片選,高電平有效  
  56.       LCD12864_SendByte(0xf8); //第一字節  
  57.       LCD12864_SendByte(com & 0xf0);     //第二字節  
  58.       LCD12864_SendByte((com << 4) & 0xf0);//第三字節  
  59. }  
  60.   
  61. /********************************************************************
  62. * 名稱 : LCD12864_write_date()
  63. * 功能 : 寫串口指令
  64. * 輸入 : date
  65. * 輸出 : 無
  66. ***********************************************************************/  
  67. void LCD12864_WriteDate(unsigned char date)  
  68. {  
  69.     //LCD12864_CS = 1; //打開片選  
  70.     LCD12864_SendByte(0xfa);//第一字節  
  71.     LCD12864_SendByte(date & 0xf0);  //第二字節  
  72.     LCD12864_SendByte((date << 4) & 0xf0);//第三字節  
  73. }  
  74. /********************************************************************
  75. * 名稱 : LCD12864_init()
  76. * 功能 : 12864初始化函數
  77. * 輸入 : com
  78. * 輸出 : 無
  79. ***********************************************************************/  
  80. void LCD12864_Init()  
  81. {  
  82.      //LCD12864_RST = 0;  
  83.      LCD12864_Delay(100);  
  84.      //LCD12864_RST = 1;  
  85.      LCD12864_Delay(100);  
  86.      //LCD12864_WriteCom(0x34);//擴充指令集動作 ,繪圖不顯示  
  87.      LCD12864_WriteCom(0x30);//基本指令集動作, 繪圖不顯示  
  88.      LCD12864_WriteCom(0x0c);//開顯示,不顯示游標和游標位置  
  89.      LCD12864_WriteCom(0x01);//清屏  
  90.      LCD12864_Delay(100);  
  91.            
  92. }  
  93. /********************************************************************
  94. * 名稱 :LCD_clean_scans()
  95. * 功能 : 清屏
  96. * 輸入 : 無
  97. * 輸出 : 無
  98. ***********************************************************************/  
  99. void LCD12864_CleanScans()  
  100. {  
  101.      LCD12864_WriteCom(0x01);//清屏  
  102. }  
  103. /********************************************************************
  104. * 名稱 :  LCD12864_pos()
  105. * 功能 : 設定顯示位置
  106. * 輸入 :  x,y
  107. * 輸出 : 無
  108. ***********************************************************************/  
  109. void LCD12864_SetPos(unsigned char x,unsigned char y)  
  110. {  
  111.     unsigned char pos;  
  112.     if(x == 0)  
  113.             x = 0x80;  
  114.     else if(x == 1)  
  115.             x = 0x90;  
  116.     else if(x == 2)  
  117.             x = 0x88;  
  118.     else if(x == 3)  
  119.             x = 0x98;  
  120.     pos = x + y;  
  121.     LCD12864_WriteCom(pos);//顯示地址         
  122. }  
  123. /********************************************************************
  124. * 名稱 : LCD12864_dishz()
  125. * 功能 : 顯示字符串
  126. * 輸入 : *s
  127. * 輸出 : 無
  128. ***********************************************************************/  
  129. void LCD12864_DisplayString(unsigned char *s)  
  130. {   
  131.     unsigned char  i = 0;  
  132.     while(s[i]!='\0')  
  133.     {   
  134.         LCD12864_WriteDate(s[i]);  
  135.         i++;  
  136.         LCD12864_Delay(5);  
  137.     }  
  138. }
  139. void main()
  140. {
  141. while(1);
  142. }
復制代碼

所有資料51hei提供下載:
LCD12864.zip (54.64 KB, 下載次數: 106)


評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:260698 發表于 2018-4-26 19:31 | 只看該作者
又不能用傳上來干嘛
回復

使用道具 舉報

板凳
ID:530859 發表于 2019-5-11 01:46 | 只看該作者
我的顯示不了,不知道為什么
回復

使用道具 舉報

地板
ID:491687 發表于 2020-4-26 16:35 | 只看該作者
樓主代碼并非直接可用,需要根據自己需要修改,小白慎下
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91色在线| 九九热在线精品视频 | 久热久热 | 欧美一区免费 | 91精品国产综合久久久久久丝袜 | 高清国产午夜精品久久久久久 | 成人在线一级片 | 一区二区视频在线 | 色www精品视频在线观看 | 久久国内精品 | 狠狠干2020 | 国产精品视频在线播放 | 免费二区| 久久最新网址 | 欧美精品成人 | 国产精品福利在线观看 | 黄色网址av | 国产在线视频一区二区 | 中文字幕视频在线 | 成人免费小视频 | 日韩一区二区三区av | 亚洲精品成人网 | 91高清视频在线观看 | 国产精品国产三级国产aⅴ中文 | 精品国产1区2区3区 在线国产视频 | 色在线免费视频 | 欧美激情精品久久久久久变态 | 欧美视频在线一区 | 毛片入口| 特级毛片爽www免费版 | 国产精品免费一区二区 | 免费一区二区三区在线视频 | 人人干人人草 | 日韩在线精品 | 激情国产| 福利视频网 | 国产精品自拍视频网站 | 国产免费观看一级国产 | 亚洲精品久久久久久久久久久久久 | 一级黄色片一级黄色片 | 久久人人网 |