亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

    標(biāo)題: JLX12832G cog 128x32 28pin單片機(jī)驅(qū)動程序源碼 [打印本頁]

    作者: lephuocthe    時間: 2018-4-12 23:26
    標(biāo)題: JLX12832G cog 128x32 28pin單片機(jī)驅(qū)動程序源碼
    JLX12832G-037 使用說明書
    單片機(jī)源程序如下:
    1. /* JLX12832G-037-P-FOG 測試程序****/
    2. /* LCD 驅(qū)動 IC:ST7567

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

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

    8. //--------------------------------------------------------  
    9. #define lcd_cs1 10  //接口定義,CS:片選
    10. #define lcd_reset 9  //接口定義,RESET:復(fù)位  
    11. #define lcd_rs  11  //接口定義,RS:命令/數(shù)據(jù)寄存器選擇。也叫"A0",或“CD”  
    12. #define lcd_sid 12  //接口定義,SID 即 SDA:串行數(shù)據(jù)  
    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;  此字體下對應(yīng)的點陣為:寬 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;  此字體下對應(yīng)的點陣為:寬 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,片選清零才可以傳送命令或數(shù)據(jù)  
    35. digitalWrite(lcd_rs,LOW);   //rs=0:表示以下發(fā)送 1 個字節(jié)的命令  
    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,當(dāng)不用傳數(shù)據(jù)給液晶屏?xí)r片選盡量置高,以免接收到一些干擾信號
    45. }  
    46. //寫數(shù)據(jù)到 LCD 模塊  
    47. void transfer_data(int data1)  
    48. {  
    49. char i;  
    50. digitalWrite(lcd_cs1,LOW);   //cs1=0,片選清零才可以傳送命令或數(shù)據(jù)  
    51. digitalWrite(lcd_rs,HIGH);   //rs=0:表示以下發(fā)送 1 個字節(jié)的數(shù)據(jù)  
    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,當(dāng)不用傳數(shù)據(jù)給液晶屏?xí)r片選盡量置高,以免接收到一些干擾信號
    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);   /*設(shè)置頁地址*/
    84. transfer_command(0x10+(column>>4&0x0f)); /*設(shè)置列地址的高 4 位*/
    85. transfer_command(column&0x0f); /*設(shè)置列地址的低 4 位*/
    86. }
    87. /*顯示 16x16 點陣圖像、漢字、生僻字或 16x16 點陣的其他圖標(biāo)*/
    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);     /*寫數(shù)據(jù)到 LCD,每寫完一個 8 位的數(shù)據(jù)后列地址自動加 1*/
    98.    dp++;
    99.   }
    100.   page++;
    101. }
    102. digitalWrite(lcd_cs1,HIGH);
    103. }

    104. /*顯示 5*7 點陣圖像、ASCII, 或 5x7 點陣的自造字符、其他圖標(biāo)*/
    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 點陣的自造字符、其他圖標(biāo)*/
    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);     /*寫數(shù)據(jù)到 LCD,每寫完一個 8 位的數(shù)據(jù)后列地址自動加 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. /*--  調(diào)入了一幅圖像: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);  /*軟復(fù)位*/
    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);  /*粗調(diào)對比度,可設(shè)置范圍 20~27*/
    203. transfer_command(0x81);  /*微調(diào)對比度*/
    204. transfer_command(0x1b);  /*微調(diào)對比度的值,可設(shè)置范圍 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. }


    復(fù)制代碼

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







    歡迎光臨 (http://www.denmoz.com/bbs/) Powered by Discuz! X3.1