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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

lcd12232F液晶的串口C51單片機程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:70134 發表于 2020-9-11 17:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
由于12232F這個顯示器用得比較平常,但平常見到的是一些并口的匯編程序,并且也沒有對應于12232F的并口程序,串口的C51程序極少見,為了方便大家使用,所以本站把它調試了一個出來,大家多多指教!

單片機源程序如下:
  1. /******************************************************/

  2. /* 12232F串口驅動程序C51,11.0592M晶振 */

  3. /*使用這款LCD應該要注意的問題: */ z

  4. /*一定要在VO與VDD及VSS這三個腳間接一個20K的電位器, */

  5. /*電位器的中間腳接VO,其它二腳接VDD和VSS。 */

  6. /*然后調節電位器的大小,直到有顯示為止。若是不接的話,*/

  7. /*顯示器可能是一片黑暗,什么也沒有顯示,發命令也沒有反*/

  8. /*應的。本程序我已經測試通過了。歡迎大家提出意見。 */

  9. /******************************************************/

  10. #include <AT89X52.H>

  11. #include <intrins.h>

  12. #define uint unsigned int

  13. #define uchar unsigned char

  14. /*12232f pins define*/

  15. sbit CS=P1^5;

  16. sbit SID=P1^6;

  17. sbit SCLK=P1^7;

  18. void delay_1ms(uint x)

  19. {

  20. uint j;

  21. uchar i;

  22. for(j=0;j<x;j++)

  23. {

  24. for(i=0;i<120;i++);

  25. }

  26. }

  27. void send_command(uchar command_data)

  28. {

  29. uchar i;

  30. uchar i_data,temp_data1,temp_data2;

  31. i_data=0xf8;

  32. delay_1ms(10);

  33. CS=1;

  34. SCLK=0;

  35. for(i=0;i<8;i++)

  36. {

  37. SID=(bit)(i_data&0x80);

  38. SCLK=0;

  39. SCLK=1;

  40. i_data=i_data<<1;

  41. }

  42. i_data=command_data;

  43. i_data&=0xf0;

  44. for(i=0;i<8;i++)

  45. {

  46. SID=(bit)(i_data&0x80);

  47. SCLK=0;

  48. SCLK=1;

  49. i_data=i_data<<1;

  50. }

  51. i_data=command_data;

  52. temp_data1=i_data&0xf0;

  53. temp_data2=i_data&0x0f;

  54. temp_data1>>=4;

  55. temp_data2<<=4;

  56. i_data=temp_data1|temp_data2;

  57. i_data&=0xf0;

  58. for(i=0;i<8;i++)

  59. {

  60. SID=(bit)(i_data&0x80);

  61. SCLK=0;

  62. SCLK=1;

  63. i_data=i_data<<1;

  64. }

  65. CS=0;

  66. }

  67. void send_data(uchar command_data)

  68. {

  69. uchar i;

  70. uchar i_data,temp_data1,temp_data2;

  71. i_data=0xfa;

  72. delay_1ms(10);

  73. CS=1;

  74. for(i=0;i<8;i++)

  75. {

  76. SID=(bit)(i_data&0x80);

  77. SCLK=0;

  78. SCLK=1;

  79. i_data=i_data<<1;

  80. }

  81. i_data=command_data;

  82. i_data&=0xf0;

  83. for(i=0;i<8;i++)

  84. {

  85. SID=(bit)(i_data&0x80);

  86. SCLK=0;

  87. SCLK=1;

  88. i_data=i_data<<1;

  89. }

  90. i_data=command_data;

  91. temp_data1=i_data&0xf0;

  92. temp_data2=i_data&0x0f;

  93. temp_data1>>=4;

  94. temp_data2<<=4;

  95. i_data=temp_data1|temp_data2;

  96. i_data&=0xf0;

  97. for(i=0;i<8;i++)

  98. {

  99. SID=(bit)(i_data&0x80);

  100. SCLK=0;

  101. SCLK=1;

  102. i_data=i_data<<1;

  103. }

  104. CS=0;

  105. }

  106. void lcd_init()

  107. {

  108. uchar command_data;

  109. delay_1ms(100);

  110. command_data=0x30;

  111. send_command(command_data); /*功能設置:一次送8位數據,基本指令集*/

  112. command_data=0x04;

  113. send_command(command_data); /*點設定:顯示字符/光標從左到右移位,DDRAM地址加1*/

  114. command_data=0x0f;

  115. send_command(command_data); /*顯示設定:開顯示,顯示光標,當前顯示位反白閃動*/

  116. command_data=0x01;

  117. send_command(command_data); /*清DDRAM*/

  118. command_data=0x02;

  119. send_command(command_data); /*DDRAM地址歸位*/

  120. command_data=0x80;

  121. send_command(command_data); /*把顯示地址設為0X80,即為第一行的首位*/

  122. }

  123. void display_cpubbs()

  124. {

  125. uchar command_data;

  126. while(1)

  127. {

  128. command_data=0x01;

  129. send_command(command_data); /*清DDRAM*/

  130. command_data=0x80;

  131. send_command(command_data); /*把顯示地址設為0X80,即為第一行的首位*/

  132. command_data=0x68; /*“h”字的編碼*/

  133. send_data(command_data);

  134. command_data=0x74;

  135. send_data(command_data); /*“t”字的編碼*/

  136. command_data=0x74;

  137. send_data(command_data); /*“t”字的編碼*/

  138. command_data=0x70;

  139. send_data(command_data); /*“p”字的編碼*/

  140. command_data=0x3a;

  141. send_data(command_data); /*“:”字的編碼*/

  142. command_data=0x2f;

  143. send_data(command_data); /*“/”字的編碼*/

  144. command_data=0x2f;

  145. send_data(command_data); /*“/”字的編碼*/

  146. command_data=0x57;

  147. send_data(command_data); /*“w”字的編碼*/

  148. command_data=0x57;

  149. send_data(command_data); /*“w”字的編碼*/

  150. command_data=0x57;

  151. send_data(command_data); /*“w”字的編碼*/

  152. command_data=0x2e;

  153. send_data(command_data); /*“.”字的編碼*/

  154. command_data=0x63;

  155. send_data(command_data); /*“c”字的編碼*/

  156. command_data=0x70;

  157. send_data(command_data); /*“p”字的編碼*/

  158. command_data=0x75;

  159. send_data(command_data); /*“u”字的編碼*/

  160. command_data=0x62;

  161. send_data(command_data); /*“b”字的編碼*/

  162. command_data=0x90;

  163. send_command(command_data); /*把顯示地址設為0X90,即為第二行的首位,因為第一行已經滿了*/

  164. command_data=0x62;

  165. send_data(command_data); /*“b”字的編碼*/

  166. command_data=0x73;

  167. send_data(command_data); /*“s”字的編碼*/

  168. command_data=0x2e;

  169. send_data(command_data); /*“.”字的編碼*/

  170. command_data=0x63;

  171. send_data(command_data); /*“c”字的編碼*/

  172. command_data=0x6f;

  173. send_data(command_data); /*“o”字的編碼*/

  174. command_data=0x6d;

  175. send_data(command_data); /*“m”字的編碼*/

  176. delay_1ms(3000);

  177. command_data=0x01;

  178. send_command(command_data); /*清DDRAM*/

  179. command_data=0x80;

  180. send_command(command_data); /*把顯示地址設為0X80,即為第一行的首位*/

  181. command_data=0xbb;

  182. send_data(command_data);

  183. command_data=0xb6;

  184. send_data(command_data); /*“歡”字的編碼*/

  185. command_data=0xd3;

  186. send_data(command_data);

  187. command_data=0xad;

  188. send_data(command_data); /*“迎”字的編碼*/

  189. command_data=0xb7;

  190. send_data(command_data);

  191. command_data=0xc3;

  192. send_data(command_data); /*“訪”字的編碼*/

  193. command_data=0xce;

  194. send_data(command_data);

  195. command_data=0xca;

  196. send_data(command_data); /*“問”字的編碼*/

  197. command_data=0x90;

  198. send_command(command_data); /*把顯示地址設為0X90,即為第二行的首位,因為第一行已經滿了*/

  199. command_data=0x63;

  200. send_data(command_data); /*“c”字的編碼*/

  201. command_data=0x70;

  202. send_data(command_data); /*“p”字的編碼*/

  203. command_data=0x75;

  204. send_data(command_data); /*“u”字的編碼*/

  205. command_data=0x62;

  206. send_data(command_data); /*“b”字的編碼*/

  207. command_data=0x62;

  208. send_data(command_data); /*“b”字的編碼*/

  209. command_data=0x73;

  210. send_data(command_data); /*“s”字的編碼*/

  211. command_data=0xc2;

  212. send_data(command_data);

  213. command_data=0xdb;

  214. send_data(command_data); /*“論”字的編碼*/

  215. command_data=0xcc;

  216. send_data(command_data);

  217. command_data=0xb3;

  218. send_data(command_data); /*“壇”字的編碼*/

  219. delay_1ms(3000);

  220. }

  221. }

  222. main()

  223. {

  224. uchar command_data;

  225. lcd_init();

  226. display_cpubbs();

  227. while(1);

  228. }
復制代碼

以上資料51hei下載地址:
LCD_12232F串口.zip (1.31 KB, 下載次數: 24)

評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人福利| 日韩一区二区三区视频 | 国产一极毛片 | 青春草91| 欧美亚洲国产成人 | 精品久久久久久久久久久久久久 | 中文字幕91 | 成人免费在线观看 | 国产视频欧美 | 青春草国产| 91福利电影在线观看 | 欧美性网| 成人在线免费视频 | 免费看a| 一区二区三区四区电影视频在线观看 | 国产欧美视频一区二区 | h片在线播放 | 2023亚洲天堂 | 午夜免费视频 | zzzwww在线看片免费 | 亚洲国产成人精品久久久国产成人一区 | 亚洲精品日韩综合观看成人91 | 国产精品久久久久久妇女6080 | 天天操操操操操 | 91精品国产一区二区三区 | 国产精品污www一区二区三区 | 一级欧美一级日韩片 | 国产精品视频一区二区三区 | 成人国内精品久久久久一区 | 在线观看精品视频网站 | 欧美黑人又粗大 | 日韩精品人成在线播放 | 视频一二三区 | www.亚洲一区二区三区 | 91精品国产日韩91久久久久久 | 国产精品久久九九 | 日韩成人免费中文字幕 | 视频一区 国产精品 | av片在线免费看 | 日本人爽p大片免费看 | 99爱视频|