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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于51單片機通過12864顯示一個靜態波形

[復制鏈接]
跳轉到指定樓層
樓主

完整代碼下載:
12864波形 顯示.zip (45.33 KB, 下載次數: 38)

12864顯示程序如下:
  1. #include<lcd12864.h>
  2. /*------------------檢查忙位-----------------------------*/
  3. void Check_Busy()
  4. {
  5. LCD12864_RS=0;
  6. LCD12864_RW=1;
  7. LCD12864_E=1;
  8. LCD12864_DATAPINS=0xff;
  9. while((LCD12864_DATAPINS&0x80)==0x80);
  10. LCD12864_E=0;
  11. }
  12. /******************************************
  13. *函數名        :Delay
  14. *函數功能      :延時
  15. *輸入          :t
  16. *輸出          :無
  17. *說明          :該函數是在12MHz
  18. *******************************************/
  19. void Delay(unsigned int t)
  20. {
  21. unsigned int i,j ;
  22. for(i=0;i<t;i++)
  23. for(j=0;j<10;j++);
  24. }
  25. /****************************************************
  26. * 函 數 名         : LcdWriteCom
  27. * 函數功能     : 向LCD寫入一個字節的命令
  28. * 輸    入         : com
  29. * 輸    出         : 無
  30. *****************************************************/
  31. void LcdWriteCom(unsigned char com)
  32. {
  33. Check_Busy();
  34. LCD12864_RS=0;
  35. LCD12864_RW=0;
  36. LCD12864_E=1;
  37. LCD12864_DATAPINS=com;
  38. Delay(5);
  39. LCD12864_E=0;
  40. Delay(5);
  41. }
  42. /**********************************************
  43. * 函 數 名         : LcdWriteData
  44. * 函數功能     : 向LCD寫入一個字節的數據
  45. * 輸    入         : dat
  46. * 輸    出         : 無
  47. ***********************************************/
  48. void LcdWriteData(unsigned char dat)
  49. {
  50. Check_Busy();
  51. LCD12864_RS=1;
  52. LCD12864_RW=0;
  53. LCD12864_E=1;
  54. LCD12864_DATAPINS=dat;
  55. Delay(5);
  56. LCD12864_E=0 ;
  57. Delay(5);
  58. }
  59. /*******************************************
  60. *函數名:     Lcd_pos
  61. *函數功能:   定位顯示
  62. *入口參數:   x,y,date
  63. *輸出參數:   無
  64. ********************************************/
  65. void lcd_pos(uchar X,uchar Y)
  66. {
  67.   uchar pos;
  68.   if(X==0)
  69. {X=0x80;}
  70. else if(X==1)
  71. {X=0x90;}
  72. else if(X==2)
  73. {X=0x88;}
  74. else if(X==3)
  75. {X=0x98;}
  76. pos = X+Y;
  77. LcdWriteCom(pos);    //顯示地址
  78. }
  79. /****************************************
  80. * 函 數 名       : LcdInit()
  81. * 函數功能   : 初始化LCD屏
  82. * 輸    入       : 無
  83. * 輸    出       : 無
  84. ****************************************/
  85. void LcdInit()
  86. {
  87. Delay(2000);
  88. LcdWriteCom(0x30);
  89. Delay(10); //選擇基本指令集
  90. LcdWriteCom(0x30); //選擇8bit數據流
  91. Delay(5);
  92. LcdWriteCom(0x0c); //開顯示(無游標、不反白)
  93. Delay(10);
  94. LcdWriteCom(0x01); //清除顯示,并且設定地址指針為00H
  95. Delay(500);
  96. LcdWriteCom(0x06); //指定在資料的讀取及寫入時,設定游標的移動方向及指定顯示的移位
  97. Delay(0);
  98. }
  99. /*------------------顯示字符串--------------------------*/
  100. void hzkdis(unsigned char code*s)
  101. {
  102. while(*s>0)
  103. {
  104.   LcdWriteData(*s);
  105.   s++;
  106.   Delay(50);
  107. }
  108. }
  109. //------------------清整個GDRAM
  110. void clrgdram()
  111. {
  112. unsigned char x,y ;
  113. for(y=0;y<64;y++)
  114. for(x=0;x<16;x++)
  115. {
  116.   LcdWriteCom(0x34);
  117.   LcdWriteCom(y+0x80); //行地址
  118.   LcdWriteCom(x+0x80); //列地址
  119.   LcdWriteCom(0x30);
  120.   LcdWriteData(0x00);
  121.   LcdWriteData(0x00);
  122. }
  123. }
  124. //------------------------------------------------------------
  125. void clrscreen()
  126. {
  127. LcdWriteCom(0x01);
  128. Delay(10);
  129. }
  130. unsigned char ReadByte(void)
  131. {
  132. unsigned char byReturnValue ;
  133. Check_Busy();
  134. LCD12864_DATAPINS=0xff ;
  135. LCD12864_RS=1 ;
  136. LCD12864_RW=1 ;
  137. LCD12864_E=0 ;
  138. LCD12864_E=1 ;
  139. byReturnValue=LCD12864_DATAPINS ;
  140. LCD12864_E=0 ;
  141. return byReturnValue ;
  142. }
  143. //增加畫點子程序
  144. void DrawPoint(unsigned char X,unsigned char Y,unsigned char Color)
  145. {
  146. unsigned char Row,Tier,Tier_bit ;
  147. unsigned char ReadOldH,ReadOldL ;
  148. LcdWriteCom(0x34);
  149. LcdWriteCom(0x36);
  150. Tier=X>>4 ;
  151. Tier_bit=X&0x0f ;
  152. if(Y<32)
  153. {
  154.   Row=Y ;
  155. }
  156. else
  157. {
  158.   Row=Y-32 ;
  159.   Tier+=8 ;
  160. }
  161. LcdWriteCom(Row+0x80);
  162. LcdWriteCom(Tier+0x80);
  163. ReadByte();
  164. ReadOldH=ReadByte();
  165. ReadOldL=ReadByte();
  166. LcdWriteCom(Row+0x80);
  167. LcdWriteCom(Tier+0x80);
  168. if(Tier_bit<8)
  169. {
  170.   switch(Color)
  171.   {
  172.    case 0 :
  173.     ReadOldH&=(~(0x01<<(7-Tier_bit)));
  174.     break ;
  175.    case 1 :
  176.     ReadOldH|=(0x01<<(7-Tier_bit));
  177.     break ;
  178.    case 2 :
  179.     ReadOldH^=(0x01<<(7-Tier_bit));
  180.     break ;
  181.    default :
  182.     break ;
  183.   }
  184. LcdWriteData(ReadOldH);
  185. LcdWriteData(ReadOldL);
  186. }
  187. else
  188. {
  189.   switch(Color)
  190.   {
  191.    case 0 :
  192.     ReadOldL&=(~(0x01<<(15-Tier_bit)));
  193.     break ;
  194.    case 1 :
  195.     ReadOldL|=(0x01<<(15-Tier_bit));
  196.     break ;
  197.    case 2 :
  198.     ReadOldL^=(0x01<<(15-Tier_bit));
  199.     break ;
  200.    default :
  201.     break ;
  202.   }
  203. LcdWriteData(ReadOldH);
  204. LcdWriteData(ReadOldL);
  205. }
  206. LcdWriteCom(0x30);
  207. }

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

使用道具 舉報

沙發
ID:540111 發表于 2019-5-20 15:53 | 只看該作者
你好 有原理圖嗎
回復

使用道具 舉報

板凳
ID:442931 發表于 2019-5-25 14:59 | 只看該作者
希望可以看到更全的信息,例如實樣
回復

使用道具 舉報

地板
ID:243174 發表于 2019-5-25 17:03 | 只看該作者
程序能運行嗎?如何修改波形?
回復

使用道具 舉報

5#
ID:166284 發表于 2019-5-25 22:29 | 只看該作者
void Delay(unsigned int t)  這是延時的幾毫秒還是幾微妙? 寫清楚注釋啊
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 不卡的av一区 | 精品一区二区三区在线观看国产 | 亚洲夜夜爽 | 国产一区二区影院 | 看羞羞视频 | 人碰人操 | 很黄很污的网站 | 日韩在线播放av | 日韩视频三区 | 好婷婷网 | 久久这里只有精品首页 | 精品伊人久久 | 国产精品美女在线观看 | 欧美男男videos | 亚洲伦理自拍 | 欧美性另类 | 日韩免费视频 | 五月天天丁香婷婷在线中 | 国产一区久久精品 | 久久欧美精品 | 久久99精品久久久久久国产越南 | 天天操天天射天天舔 | 日韩一级精品视频在线观看 | 国产日韩中文字幕 | 天堂综合网 | 国产精品一区二区三区免费观看 | 亚洲综合在线播放 | 干出白浆视频 | 中文在线www | 国产精彩视频 | 国产精品久久免费观看 | 精品国产一区一区二区三亚瑟 | 欧美成人黄色小说 | 成年人免费看的视频 | 久久久久国产一区二区三区四区 | 欧美一卡二卡在线 | 日韩精品1区2区3区 成人黄页在线观看 | 国产2区 | 久久一区二区三区四区 | 国产精品夜色一区二区三区 | 亚洲欧美一区二区三区1000 |