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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

12864.h頭文件下載 可直接調用的51單片機液晶驅動程序

  [復制鏈接]
跳轉到指定樓層
樓主
我這個12864.h 頭文件的調用方法(51單片機)是不是很簡單:
  1. #include<stc12c5a60s2.h>
  2. #include<12864.h>

  3. void main()
  4. {
  5. LCDInit();
  6. Str_6x12(1,0,"蘇冰航");
  7. Str_6x12(2,0,"2015212211035");        
  8.         
  9. while(1){}

  10. }
復制代碼



12864.h液晶驅動的頭文件內容預覽(附件里面可下載完整代碼):
  1. #include <STC12C5A60S2.H>
  2. #include <string.H>
  3. #include <intrins.h>

  4. #define uint  unsigned int
  5. #define uchar unsigned char
  6. /**************************************************************
  7. 12864基本指令宏定義
  8. **************************************************************/
  9. #define     SCREEN_CLEAR            0XF4        //整屏清屏命令
  10. #define     BACK_ONOFF              0XB5        //背光開關命令
  11. #define     CONTRAST_GRADIENT       0XE6        //對比度調整命令
  12. #define     TEMPERATURE_SET         0XEE        //設置溫度補償開關和系數命令
  13. #define     SOFT_RESET              0XEF        //復位命令
  14. #define     SINGLE_DOT              0XF2        //任意點: 顯示命令
  15. #define     DRAWLINE                0XC5        //任意點: 畫線
  16. #define     SCREEN_ONOFF            0XFE        //屏幕開命令
  17. #define     STR_ASCII_8X8_LOC       0XDF        //任意點: 顯示8X8ASCII字符串命令
  18. #define     STR_6X12                0XB9        //固定處: 顯示12X12中文和6X12ASCII混合字符串命令
  19. #define     WHOLE_MOVE_RIGHT        0XF8        //整屏右移命令


  20. //********************
  21. //UART口初始化 串口中斷初始化
  22. //********************
  23. void Uart_Init(void)
  24. {
  25.         TMOD = 0x20;                                //timer 1 working mode 1
  26.         TL1  = 0xfa;                                //   fa=9600 for 1.0592mhz Fosc,and ...
  27.         TH1  = 0xfa;                                //...fd=19200 for 11.0592mhz Fosc
  28.         SCON = 0x50;//d8                         //uart mode 3,ren==1   1100 1000
  29.         PCON = 0x80;                                //smod=1
  30.         TR1  = 1;                                //start timer1
  31. }
  32. //********************
  33. //延時函數100us
  34. //********************
  35. void Delay_100us(uint j)          //對于11.0592MHz時鐘延時100us
  36. {
  37.         uchar i;
  38.         while(j--)
  39.         {
  40.                 for(i=0;i<12;i++)
  41.                 {}
  42.         }
  43. }
  44. //*********************
  45. //串口方式寫數據
  46. //*********************
  47. void put_char(uchar ch)
  48. {        
  49.         SBUF = ch;  
  50.         while( TI == 0 );                        //查詢法
  51.           TI = 0;
  52. }
  53. /*************************************************************
  54. 函數名稱:Screen_Clear
  55. 函數功能:整屏清屏
  56. 調用函數:NO
  57. 被調函數:NO
  58. 輸入參數:NO
  59. 輸出參數:NO
  60. 函數返回:NO
  61. 其他說明:NO     
  62. *************************************************************/
  63. void Screen_Clear(void)
  64. {                                                
  65.         put_char(SCREEN_CLEAR);                                                                   //0xE3 行位置0-7 列位置0-25 ASC2字符代碼 9*16 0-9數字
  66.         Delay_100us(600);        //延時
  67. }
  68. /*************************************************************
  69. 函數名稱:Back_Onoff
  70. 函數功能:背光開關命令
  71. 調用函數:NO
  72. 被調函數:NO
  73. 輸入參數:Back-背光開關(0/1)
  74. 輸出參數:NO
  75. 函數返回:NO
  76. 其他說明:NO
  77. *************************************************************/
  78. void Back_Onoff(unsigned char Back)
  79. {
  80.     put_char(BACK_ONOFF);
  81.     put_char(Back);
  82.         Delay_100us(600);        //延時
  83. }
  84. /*************************************************************
  85. 函數名稱:Contrast_Gradient
  86. 函數功能:顯示對比度設置
  87. 調用函數:NO
  88. 被調函數:NO
  89. 輸入參數:Contrast-對比度級數(0-63)
  90. 輸出參數:NO
  91. 函數返回:NO
  92. 其他說明:NO
  93. *************************************************************/
  94. void Contrast_Gradient(unsigned char Contrast)
  95. {
  96.     put_char(CONTRAST_GRADIENT);
  97.     put_char(Contrast);
  98.         Delay_100us(600);        //延時
  99. }
  100. /*************************************************************
  101. 函數名稱:Temperature_Set
  102. 函數功能:溫度補償開關和系數
  103. 調用函數:NO
  104. 被調函數:NO
  105. 輸入參數:Temperature-溫度補償系數,0-關閉,1-5為系數
  106. 輸出參數:NO
  107. 函數返回:NO
  108. 其他說明:NO
  109. *************************************************************/
  110. void Temperature_Set(unsigned char Temperature)
  111. {
  112.     put_char(TEMPERATURE_SET);
  113.     put_char(Temperature);
  114.         Delay_100us(600);        //延時
  115. }
  116. /*************************************************************
  117. 函數名稱:Soft_Reset
  118. 函數功能:復位
  119. 調用函數:NO
  120. 被調函數:NO
  121. 輸入參數:NO
  122. 輸出參數:NO
  123. 函數返回:NO
  124. 其他說明:NO
  125. *************************************************************/
  126. void Soft_Reset(void)
  127. {
  128.     put_char(SOFT_RESET);
  129.         Delay_100us(600);        //延時
  130. }
  131. /*************************************************************
  132. 函數名稱:Whole_Move_Right
  133. 函數功能:整屏右移
  134. 調用函數:NO
  135. 被調函數:NO
  136. 輸入參數:NO
  137. 輸出參數:NO
  138. 函數返回:NO
  139. 其他說明:NO     
  140. *************************************************************/
  141. void Whole_Move_Right(void)
  142. {
  143.         put_char(WHOLE_MOVE_RIGHT);                                                                   //0xE3 行位置0-7 列位置0-25 ASC2字符代碼 9*16 0-9數字
  144.         Delay_100us(100);        //延時
  145. }
  146. /*************************************************************
  147. 函數名稱:Single_Dot
  148. 函數功能:在指定位置顯示一個點
  149. 調用函數:NO
  150. 被調函數:NO
  151. 輸入參數:Y-行數(0-63),X-列數(0-127)
  152. 輸出參數:NO
  153. 函數返回:NO
  154. 其他說明:在MCU端口初始化時調用     
  155. *************************************************************/
  156. void Single_Dot(unsigned char Y, unsigned char X)
  157. {
  158.     put_char(SINGLE_DOT);
  159.     put_char(Y);
  160.     put_char(X);
  161.         Delay_100us(100);        //延時
  162. }
  163. /*************************************************************
  164. 函數名稱:Drawline
  165. 函數功能:任意點畫線
  166. 調用函數:NO
  167. 被調函數:NO
  168. 輸入參數:CursorY-起始點行坐標(0-63),CursorX-起始點坐標(0-127)
  169.           LH-0畫垂直線,1畫水平線,Line-畫清零/實線/虛線(0/1/2)
  170.           S-顯示內容
  171. 輸出參數:NO
  172. 函數返回:NO
  173. 其他說明:NO
  174. *************************************************************/
  175. void Drawline(unsigned char CursorY, unsigned char CursorX,
  176.                           unsigned char LH, unsigned char Line, unsigned char LineLen)
  177. {
  178.     put_char(DRAWLINE);
  179.     put_char(CursorY);
  180.     put_char(CursorX);
  181.     put_char(LH);
  182.     put_char(Line);
  183.     put_char(LineLen);                 // 顯示字符
  184.         Delay_100us(600);        //延時
  185. }
  186. /*************************************************************
  187. 函數名稱:Screen_Onoff
  188. 函數功能:屏幕全亮命令0/1
  189. 調用函數:NO
  190. 被調函數:NO
  191. 輸入參數:Switch-開關(0/1)
  192. 輸出參數:NO
  193. 函數返回:NO
  194. 其他說明:NO
  195. *************************************************************/
  196. void Screen_Onoff(unsigned char Switch)
  197. {
  198.     put_char(SCREEN_ONOFF);
  199.     put_char(Switch);
  200.     put_char(02);
  201.         Delay_100us(600);        //延時
  202. }
  203. /*************************************************************
  204. 函數名稱:Str_Ascii_8x8_Loc
  205. 函數功能:任意點顯示一個8X8的ASCII字符串
  206. 調用函數:NO
  207. 被調函數:NO
  208. 輸入參數:CursorY-左上角行坐標(0-56),CursorX-左上角坐標(0-120)
  209.           S-顯示內容
  210. 輸出參數:NO
  211. 函數返回:NO
  212. 其他說明:NO
  213. *************************************************************/
  214. void Str_Ascii_8x8_Loc(unsigned char CursorY, unsigned char CursorX, unsigned char *s)
  215. {
  216.     put_char(STR_ASCII_8X8_LOC);
  217.     put_char(CursorY);
  218.     put_char(CursorX);
  219.     while (*s)                          
  220.     {
  221.         put_char(*s);                 // 顯示字符
  222.         s++;
  223.     }
  224.     put_char(0X00);                   //結束符
  225.         Delay_100us(600);        //延時
  226. }
  227. /*************************************************************
  228. 函數名稱:Str_6x12
  229. 函數功能:在指定位置顯示12X12中文和6X12ASCII字符串
  230. 調用函數:NO
  231. 被調函數:NO
  232. 輸入參數:Y-行數(0-3),X-列數(0-15), *S-顯示內容
  233. 輸出參數:NO
  234. 函數返回:NO
  235. 其他說明:NO
  236. *************************************************************/
  237. void Str_6x12(unsigned char Y, unsigned char X, unsigned char *s)
  238. {
  239.     put_char(STR_6X12);
  240.     put_char(Y);
  241.     put_char(X);
  242.     while (*s)                          
  243.     {
  244.         put_char(*s);                 // 顯示字符
  245.         s++;
  246.     }
  247.     put_char(0X00);                   //結束符
  248.         Delay_100us(600);        //延時
  249. }R
  250. /***********************************************************
  251. 函數名稱:LCDInit
  252. 函數功能:12864初始化
  253. 輸入參數:無
  254. ***********************************************************/
  255. void LCDInit(void)
  256. {
  257.         uchar i;
  258.         Soft_Reset();                                        //復位
  259.         Screen_Clear();                 //函數功能:整屏清屏
  260.         Uart_Init();                        //串口初始化
  261.         Back_Onoff(1);                                        //打開背光

  262.         …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼


全部資料下載地址:
12864.rar (33.71 KB, 下載次數: 182)




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

使用道具 舉報

來自 2#
ID:375003 發表于 2018-7-28 01:12 | 只看該作者
終于搞好了,好深的坑啊.錯誤的地方太多.浪費太多的時間,有圖有真象.

IMG_0193.JPG (2.01 MB, 下載次數: 41)

IMG_0193.JPG

OLED12864.zip

74.58 KB, 下載次數: 32, 下載積分: 黑幣 -5

評分

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

查看全部評分

回復

使用道具 舉報

板凳
ID:219862 發表于 2017-7-15 13:05 | 只看該作者
謝樓主分享
回復

使用道具 舉報

地板
ID:217154 發表于 2018-4-23 20:38 | 只看該作者
謝謝樓主分享,最近正在做這方面的,很需要~~~
回復

使用道具 舉報

5#
ID:343953 發表于 2018-6-3 13:37 | 只看該作者
我來看看哈
回復

使用道具 舉報

6#
ID:377923 發表于 2018-7-23 14:58 | 只看該作者
好東西,可是小白下載不到啊。 5555

評分

參與人數 1黑幣 +5 收起 理由
huaxinnan + 5 資助一下

查看全部評分

回復

使用道具 舉報

7#
ID:269211 發表于 2018-7-25 16:55 | 只看該作者
你這個是帶字庫的吧。
回復

使用道具 舉報

8#
ID:379198 發表于 2018-7-25 23:16 | 只看該作者
謝樓主分享
回復

使用道具 舉報

9#
ID:522838 發表于 2019-4-27 12:35 | 只看該作者
樓主這個硬件怎么連接呢
回復

使用道具 舉報

10#
ID:243394 發表于 2019-7-8 16:38 | 只看該作者
謝樓主分享
回復

使用道具 舉報

11#
ID:452731 發表于 2019-7-11 23:32 | 只看該作者
四根線連接,和一般的連接方式不同
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 九九爱这里只有精品 | 中文字幕 国产精品 | 亚洲第一成年免费网站 | 亚洲一区二区精品视频在线观看 | 国产精品日产欧美久久久久 | 成人免费视频久久 | 日韩久久久久久久 | 可以在线看的黄色网址 | 国产精品我不卡 | av网站在线播放 | 欧美激情久久久 | 日韩成人av在线 | av一区二区在线观看 | 国产欧美综合在线 | 国产一区二区三区亚洲 | 91精品国产色综合久久不卡98口 | 久久夜色精品国产 | 日韩在线免费视频 | 国产成人精品一区二区三区 | 中文字幕精品一区二区三区在线 | 美女一级黄 | 91久久国产综合久久 | 欧美11一13sex性hd | 成人精品视频99在线观看免费 | 国产1区| 欧美日韩视频在线 | 国产一区二区影院 | av大片| 2019精品手机国产品在线 | 国产一区二区小视频 | 99精品福利视频 | 中文字幕一级毛片视频 | 先锋影音资源网站 | www.久久.com| 日韩精品一区在线 | 国产色婷婷精品综合在线手机播放 | 91操操操| 日韩一区二区三区在线观看 | 91视频一88av | www..com18午夜观看 | 国产农村一级国产农村 |