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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

JLX12832G cog 128x32 28pin單片機驅動程序源碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:307026 發表于 2018-4-12 23:26 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
JLX12832G-037 使用說明書
單片機源程序如下:
  1. /* JLX12832G-037-P-FOG 測試程序****/
  2. /* LCD 驅動 IC:ST7567

  3. /* 該程序顯示 2 行中文如下:*/
  4. /* 全套液晶解決方案*/
  5. /* 質量取勝創建口碑*/

  6. //#include <reg51.H>
  7. //#include <intrins.h>

  8. //--------------------------------------------------------  
  9. #define lcd_cs1 10  //接口定義,CS:片選
  10. #define lcd_reset 9  //接口定義,RESET:復位  
  11. #define lcd_rs  11  //接口定義,RS:命令/數據寄存器選擇。也叫"A0",或“CD”  
  12. #define lcd_sid 12  //接口定義,SID 即 SDA:串行數據  
  13. #define lcd_sclk 13  //接口定義,sclk:串行時鐘  
  14. //-------------------------------------------------------  




  15. #define uchar unsigned char  
  16. #define uint unsigned int
  17. #define ulong unsigned long
  18. #define uchar unsigned char  
  19. #define uint unsigned int
  20. #define ulong unsigned long

  21. void displaygraphic(char *dp);

  22. uchar jiong1[]={/*--  文字:  囧  --*/
  23. /*--  宋體 12;  此字體下對應的點陣為:寬 x 高=16x16   --*/
  24. 0x00,0xFE,0x82,0x42,0xA2,0x9E,0x8A,0x82,0x86,0x8A,0xB2,0x62,0x02,0xFE,0x00,0x00,
  25. 0x00,0x7F,0x40,0x40,0x7F,0x40,0x40,0x40,0x40,0x40,0x7F,0x40,0x40,0x7F,0x00,0x00};

  26. uchar lei1[]={/*--  文字:  畾  --*/
  27. /*--  宋體 12;  此字體下對應的點陣為:寬 x 高=16x16   --*/
  28. 0x80,0x80,0x80,0xBF,0xA5,0xA5,0xA5,0x3F,0xA5,0xA5,0xA5,0xBF,0x80,0x80,0x80,0x00,
  29. 0x7F,0x24,0x24,0x3F,0x24,0x24,0x7F,0x00,0x7F,0x24,0x24,0x3F,0x24,0x24,0x7F,0x00};

  30. //寫命令到 LCD 模塊  
  31. void transfer_command(int data1)     
  32. {  
  33. char i;  
  34. digitalWrite(lcd_cs1,LOW);   //cs1=0,片選清零才可以傳送命令或數據  
  35. digitalWrite(lcd_rs,LOW);   //rs=0:表示以下發送 1 個字節的命令  
  36. for(i=0;i<8;i++)  
  37. {  
  38.   digitalWrite(lcd_sclk,LOW);  
  39.   if(data1&0x80) digitalWrite(lcd_sid,HIGH);  
  40.   else digitalWrite(lcd_sid,LOW);  
  41.   digitalWrite(lcd_sclk,HIGH);
  42.    data1<<=1;  
  43. }  
  44. digitalWrite(lcd_cs1,HIGH);   //cs1=1,當不用傳數據給液晶屏時片選盡量置高,以免接收到一些干擾信號
  45. }  
  46. //寫數據到 LCD 模塊  
  47. void transfer_data(int data1)  
  48. {  
  49. char i;  
  50. digitalWrite(lcd_cs1,LOW);   //cs1=0,片選清零才可以傳送命令或數據  
  51. digitalWrite(lcd_rs,HIGH);   //rs=0:表示以下發送 1 個字節的數據  
  52. for(i=0;i<8;i++)  
  53. {  
  54.   digitalWrite(lcd_sclk,LOW);  
  55.   if(data1&0x80) digitalWrite(lcd_sid,HIGH);  
  56.   else digitalWrite(lcd_sid,LOW);  
  57.   digitalWrite(lcd_sclk,HIGH);  
  58.    data1<<=1;  
  59. }  
  60. digitalWrite(lcd_cs1,HIGH);      //cs1=1,當不用傳數據給液晶屏時片選盡量置高,以免接收到一些干擾信號
  61. }



  62. /*延時*/
  63. void delay(int i)               
  64. {
  65. int j,k;
  66. for(j=0;j<i;j++)
  67. for(k=0;k<500;k++);
  68. }


  69. /*等待一個按鍵,我的主板是用 P2.0 與 GND 之間接一個按鍵
  70. void waitkey()
  71. {
  72. repeat:
  73.    if (P2&0x01) goto repeat;
  74. else delay(6);
  75. if (P2&0x01) goto repeat;
  76. else
  77. delay(40);
  78. }
  79. */
  80. void lcd_address(int page,int column)
  81. {

  82. column=column;
  83. transfer_command(0xb0+page-1);   /*設置頁地址*/
  84. transfer_command(0x10+(column>>4&0x0f)); /*設置列地址的高 4 位*/
  85. transfer_command(column&0x0f); /*設置列地址的低 4 位*/
  86. }
  87. /*顯示 16x16 點陣圖像、漢字、生僻字或 16x16 點陣的其他圖標*/
  88. void display_graphic_16x16(uint page,uint column,uchar *dp)
  89. {
  90. uint i,j;
  91. digitalWrite(lcd_cs1,LOW);
  92. for(j=0;j<2;j++)
  93. {
  94.   lcd_address(page,column);
  95.   for (i=0;i<16;i++)
  96.   {  
  97.    transfer_data(*dp);     /*寫數據到 LCD,每寫完一個 8 位的數據后列地址自動加 1*/
  98.    dp++;
  99.   }
  100.   page++;
  101. }
  102. digitalWrite(lcd_cs1,HIGH);
  103. }

  104. /*顯示 5*7 點陣圖像、ASCII, 或 5x7 點陣的自造字符、其他圖標*/
  105. void display_graphic_5x7(uint page,uchar column,uchar *dp)
  106. {
  107. uint col_cnt;
  108. digitalWrite(lcd_cs1,LOW);  
  109. lcd_address(page,column);
  110. for (col_cnt=0;col_cnt<8;col_cnt++)
  111. {  
  112.   transfer_data(*dp);
  113.   dp++;
  114. }
  115. digitalWrite(lcd_cs1,HIGH);
  116. }


  117. /*顯示 8x16 點陣圖像、ASCII, 或 8x16 點陣的自造字符、其他圖標*/
  118. void display_graphic_8x16(uint page,uchar column,uchar *dp)
  119. {
  120. uint i,j;
  121. digitalWrite(lcd_cs1,LOW);  
  122. for(j=0;j<2;j++)
  123. {
  124.   lcd_address(page,column);
  125.   for (i=0;i<8;i++)
  126.   {  
  127.    transfer_data(*dp);     /*寫數據到 LCD,每寫完一個 8 位的數據后列地址自動加 1*/
  128.    dp++;
  129.   }
  130.   page++;
  131. }
  132. digitalWrite(lcd_cs1,HIGH);
  133. }



  134. //==================display a piture of 128*64 dots================
  135. void displaygraphic(char *dp)
  136. {
  137.         int i,j;
  138.         for(i=0;i<4;i++)
  139.         {
  140.         digitalWrite(lcd_cs1,LOW);
  141.   transfer_command(0xb0+i);   //set page address,
  142.   transfer_command(0x10);
  143.   transfer_command(0x00);
  144.   for(j=0;j<128;j++)
  145.   {
  146.          transfer_data(*dp);     
  147.    dp++;   
  148.   }
  149.           }
  150.    
  151. }


  152. char graphic1[]={
  153. /*--  調入了一幅圖像:D:\Backup\我的文檔\圖片\G-037.bmp  --*/
  154. /*--  寬度 x 高度=128x32  --*/
  155. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x2A,0x2A,0x2A,
  156. 0x2A,0x2A,0x2A,0x7E,0x00,0x00,0x00,0x00,0x02,0xFE,0x92,0x92,0x92,0xFE,0x12,0x11,
  157. 0x12,0x1C,0xF0,0x18,0x17,0x12,0x10,0x00,0x20,0x21,0x2E,0xE4,0x00,0x42,0x42,0xFE,
  158. 0x42,0x42,0x42,0x02,0xFE,0x00,0x00,0x00,0x00,0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,
  159. 0x48,0x48,0x48,0x48,0xF8,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0xE2,
  160. 0x12,0x0A,0x06,0x02,0x00,0x80,0x00,0x00,0x00,0x00,0x80,0x40,0x30,0x0E,0x84,0x00,
  161. 0x00,0x0E,0x10,0x60,0xC0,0x80,0x80,0x00,0x00,0x10,0x92,0x92,0x92,0x92,0x92,0x92,
  162. 0x92,0x92,0x12,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  163. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x25,0x25,0x25,0x25,0x7F,0x00,
  164. 0x00,0x7F,0x25,0x25,0x25,0x25,0x7F,0x00,0x08,0x1F,0x08,0x08,0x04,0xFF,0x05,0x81,
  165. 0x41,0x31,0x0F,0x11,0x21,0xC1,0x41,0x00,0x00,0x00,0x00,0x7F,0x20,0x10,0x00,0x7F,
  166. 0x00,0x00,0x00,0x00,0x3F,0x40,0x38,0x00,0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0x3F,
  167. 0x44,0x44,0x44,0x44,0x4F,0x40,0x70,0x00,0x01,0x01,0x01,0x01,0x01,0x41,0x81,0x7F,
  168. 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x01,0x20,0x70,0x28,0x24,0x23,0x31,
  169. 0x10,0x10,0x14,0x78,0x30,0x01,0x00,0x00,0x00,0x00,0x1F,0x04,0x04,0x04,0x04,0x04,
  170. 0x04,0x0F,0x00,0x20,0x40,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  171. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0xF8,0x08,0x08,0x00,
  172. 0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x08,0x18,0x68,0x80,0x80,0x68,0x18,0x08,
  173. 0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,
  174. 0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,
  175. 0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0xC0,0x30,0x08,0x08,0x08,0x38,0x00,0x00,
  176. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,
  177. 0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,
  178. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  179. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,0x00,
  180. 0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00,0x20,0x30,0x2C,0x03,0x03,0x2C,0x30,0x20,
  181. 0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,
  182. 0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,
  183. 0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00,
  184. 0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,
  185. 0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,
  186. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  187. };

  188. //============initial
  189. void initial_lcd()
  190. {
  191.     digitalWrite(lcd_cs1,LOW);
  192.     digitalWrite(lcd_reset,LOW);                 //Reset the chip when reset=0  
  193.     delay(20);
  194.     digitalWrite(lcd_reset,HIGH);
  195. transfer_command(0xe2);  /*軟復位*/
  196. transfer_command(0x2c);  /*升壓步聚 1*/
  197. delay(5);  
  198. transfer_command(0x2e);  /*升壓步聚 2*/
  199. delay(5);
  200. transfer_command(0x2f);  /*升壓步聚 3*/
  201. delay(5);
  202. transfer_command(0x22);  /*粗調對比度,可設置范圍 20~27*/
  203. transfer_command(0x81);  /*微調對比度*/
  204. transfer_command(0x1b);  /*微調對比度的值,可設置范圍 0~63*/
  205. transfer_command(0xa2);  /*1/9 偏壓比(bias)*/
  206. transfer_command(0xc8);  /*行掃描順序:從上到下*/
  207. transfer_command(0xa0);  /*列掃描順序:從左到右*/
  208. transfer_command(0x40);  /*起始行:從第一行開始*/
  209. transfer_command(0xaf);  /*開顯示*/
  210.     digitalWrite(lcd_cs1,HIGH);
  211. }

  212. //===============clear all dot martrics=============
  213. void clear_screen()
  214. {
  215. unsigned char i,j;
  216.         
  217.   for(i=0;i<4;i++)
  218.         {
  219.         digitalWrite(lcd_cs1,LOW);
  220.   transfer_command(0xb0+i);
  221.   transfer_command(0x10);
  222.   transfer_command(0x00);
  223.   for(j=0;j<132;j++)
  224.   {
  225.           transfer_data(0x00);
  226.   }
  227.          }
  228. }
  229. //===============main program===================
  230. void setup()
  231. {
  232.   pinMode(lcd_cs1,OUTPUT);
  233.   pinMode(lcd_reset,OUTPUT);
  234.   pinMode(lcd_rs,OUTPUT);
  235.   pinMode(lcd_sid,OUTPUT);
  236.   pinMode(lcd_sclk,OUTPUT);      
  237. //  int i,j,k;
  238. digitalWrite(lcd_cs1,LOW);
  239. initial_lcd();
  240.         while(1)
  241.         {
  242.    
  243.   clear_screen();    //clear all dots   
  244.          displaygraphic(graphic1);  //display a picture of 128*64 dots         
  245.   //waitkey();
  246.      
  247.     }
  248. }


復制代碼

所有資料51hei提供下載:
st7567_SPI.zip (6.86 KB, 下載次數: 24)


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 女人牲交视频一级毛片 | 一区二区在线不卡 | aaaaa毛片 | 国产精品自产拍在线观看蜜 | 成人在线视频网 | 男女视频91 | 亚洲精品中文在线观看 | 91免费版在线观看 | 久久精品国产免费高清 | 欧产日产国产精品国产 | 中文字幕一区二区三区精彩视频 | 国产精品一区二区在线播放 | 国产高清一区二区三区 | 国产婷婷在线视频 | 国产精品久久久久久久岛一牛影视 | 成人3d动漫一区二区三区91 | 精品国产一区二区三区av片 | 欧美三区 | 久久久久国产精品 | 久久综合久久久 | 狠狠操电影 | 成人片免费看 | 国产一区黄色 | 国产精品免费一区二区三区 | 一级做a爰片性色毛片 | 中文字幕av免费 | 国产亚洲精品精品国产亚洲综合 | 激情综合五月天 | 99中文字幕| 在线看黄免费 | 久久国产婷婷国产香蕉 | av在线免费观看网站 | 一区二区日韩 | 亚洲免费片 | 精品国产一区二区三区久久 | 亚洲一区精品在线 | 日日日操 | 国产一区二区不卡 | 在线一区视频 | wwwsihu | 日韩美香港a一级毛片免费 国产综合av |