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

標題: NOKIA5110LCD液晶屏的驅動實驗 [打印本頁]

作者: 51黑科技    時間: 2016-2-4 00:12
標題: NOKIA5110LCD液晶屏的驅動實驗
所需硬件:   1.單片機實驗開發板可自制
            2.杜邦頭插線
            3.NOKIA5110LCD液晶屏
            4.STC89C51RC單片機
所需軟件:   1. Keil C51 V8.08或Keil_uv3 綠色版本
            2.STC單片機ISP下載編程軟件


       NOKIA5110LCD液晶屏連接圖
C語言源程序

  1. /******************************************************************
  2. ** NOKIA5110(3310)液晶屏驅動程序
  3. ** 晶 振  頻 率:11.0592M
  4. ** 線路->單片機實驗開發板A
  5. ******************************************************************/
  6.     #include

  7. /*-- -------定義 Nokia5110 引角---- -----*/
  8.   sbit sclk = P3^3;
  9.   sbit sdin = P3^4;
  10.   sbit dc   = P3^5;
  11.   sbit sce = P3^7;
  12.   sbit res = P3^6;



  13.   void initNokia5110(void);                         /* NOkia 5110 初始化   */
  14.   void clearNokia5110(void);                         /* 清除屏幕 整屏清空 */
  15.   void Display_char(unsigned char x,unsigned char y,char *s);   /* 寫字符 x 設置顯示字符的X位置 ; y 設置顯示字符的Y位置   *s 顯示字符的首地址 */
  16.   void Display_num(unsigned char x,unsigned char y,char s);   /* 寫數字 x 設置顯示字符的X位置 ; y 設置顯示字符的Y位置   s 顯示數字 */
  17.   void write_byte(unsigned char data1);                 /* 發送1字節到 NOkia 5110 */
  18.   void setxy(unsigned char x,unsigned char y);           /* 設置顯示坐標 x 行坐標(0-83)   unsigned char y 列坐標(0-5) */
  19.   void delay(unsigned int time);


  20.    void main(void)
  21. {
  22.         initNokia5110();                         /* NOkia 5110 初始化   */
  23.         clearNokia5110();                         /* 清除屏幕 整屏清空 */
  24.         Display_char(1,2,"www.52c51.com");   /* 寫字符 x 設置顯示字符的X位置 ; y 設置顯示字符的Y位置   *s 顯示字符的首地址 */
  25.         Display_char(10,4,"NOKIA5510");   /* 寫字符 x 設置顯示字符的X位置 ; y 設置顯示字符的Y位置   *s 顯示字符的首地址 */
  26.         //Display_num(0,0,9);   // 寫數字
  27. while(1);
  28. }

  29. /****************************5110 0-9字模**************************/
  30. /*函數原型:無
  31. /*函數功能:0-9字模
  32. /*輸入參數:無
  33. /*輸出參數:無
  34. /*調用模塊:
  35. /*建立時間:2006/10/1
  36. /*作者:站長
  37. /**********************************************************************/
  38. unsigned char code asc2tab[][6] =
  39. {
  40.   
  41.   { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },// sp
  42.   
  43.   { 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00 },// !
  44.   
  45.   { 0x00, 0x00, 0x07, 0x00, 0x07, 0x00 },// "
  46.   
  47.   { 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14 },// #
  48.   
  49.   { 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12 },// $
  50.   
  51.   { 0x00, 0x62, 0x64, 0x08, 0x13, 0x23 },// %
  52.   
  53.   { 0x00, 0x36, 0x49, 0x55, 0x22, 0x50 },// &
  54.   
  55.   { 0x00, 0x00, 0x05, 0x03, 0x00, 0x00 },// '
  56.   
  57.   { 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00 },// (
  58.   
  59.   { 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00 },// )
  60.   
  61.   { 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14 },// *
  62.   
  63.   { 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08 },// +
  64.   
  65.   { 0x00, 0x00, 0x00, 0xA0, 0x60, 0x00 },// ,
  66.   
  67.   { 0x00, 0x08, 0x08, 0x08, 0x08, 0x08 },// -
  68.   
  69.   { 0x00, 0x00, 0x60, 0x60, 0x00, 0x00 },// .
  70.   
  71.   { 0x00, 0x20, 0x10, 0x08, 0x04, 0x02 },// /
  72.   
  73.   { 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E },// 0
  74.   
  75.   { 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00 },// 1
  76.   
  77.   { 0x00, 0x42, 0x61, 0x51, 0x49, 0x46 },// 2
  78.   
  79.   { 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31 },// 3
  80.   
  81.   { 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10 },// 4
  82.   
  83.   { 0x00, 0x27, 0x45, 0x45, 0x45, 0x39 },// 5
  84.   
  85.   { 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30 },// 6
  86.   
  87.   { 0x00, 0x01, 0x71, 0x09, 0x05, 0x03 },// 7
  88.   
  89.   { 0x00, 0x36, 0x49, 0x49, 0x49, 0x36 },// 8
  90.   
  91.   { 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E },// 9
  92.   
  93.   { 0x00, 0x00, 0x36, 0x36, 0x00, 0x00 },// :
  94.   
  95.   { 0x00, 0x00, 0x56, 0x36, 0x00, 0x00 },// ;
  96.   
  97.   { 0x00, 0x08, 0x14, 0x22, 0x41, 0x00 },// <
  98.   
  99.   { 0x00, 0x14, 0x14, 0x14, 0x14, 0x14 },// =
  100.   
  101.   { 0x00, 0x00, 0x41, 0x22, 0x14, 0x08 },// >
  102.   
  103.   { 0x00, 0x02, 0x01, 0x51, 0x09, 0x06 },// ?
  104.   
  105.   { 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E },// @
  106.   
  107.   { 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C },// A
  108.   
  109.   { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36 },// B
  110.   
  111.   { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22 },// C
  112.   
  113.   { 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C },// D
  114.   
  115.   { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41 },// E
  116.   
  117.   { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01 },// F
  118.   
  119.   { 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A },// G
  120.   
  121.   { 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F },// H
  122.   
  123.   { 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00 },// I
  124.   
  125.   { 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01 },// J
  126.   
  127.   { 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41 },// K
  128.   
  129.   { 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40 },// L
  130.   
  131.   { 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F },// M
  132.   
  133.   { 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F },// N
  134.   
  135.   { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E },// O
  136.   
  137.   { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06 },// P
  138.   
  139.   { 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E },// Q
  140.   
  141.   { 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46 },// R
  142.   
  143.   { 0x00, 0x46, 0x49, 0x49, 0x49, 0x31 },// S
  144.   
  145.   { 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01 },// T
  146.   
  147.   { 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F },// U
  148.   
  149.   { 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F },// V
  150.   
  151.   { 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F },// W
  152.   
  153.   { 0x00, 0x63, 0x14, 0x08, 0x14, 0x63 },// X
  154.   
  155.   { 0x00, 0x07, 0x08, 0x70, 0x08, 0x07 },// Y
  156.   
  157.   { 0x00, 0x61, 0x51, 0x49, 0x45, 0x43 },// Z
  158.   
  159.   { 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00 },// [
  160.   
  161.   { 0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55 },// 55
  162.   
  163.   { 0x00, 0x00, 0x41, 0x41, 0x7F, 0x00 },// ]
  164.   
  165.   { 0x00, 0x04, 0x02, 0x01, 0x02, 0x04 },// ^
  166.   
  167.   { 0x00, 0x40, 0x40, 0x40, 0x40, 0x40 },// _
  168.   
  169.   { 0x00, 0x00, 0x01, 0x02, 0x04, 0x00 },// '
  170.   
  171.   { 0x00, 0x20, 0x54, 0x54, 0x54, 0x78 },// a
  172.   
  173.   { 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38 },// b
  174.   
  175.   { 0x00, 0x38, 0x44, 0x44, 0x44, 0x20 },// c
  176.   
  177.   { 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F },// d
  178.   
  179.   { 0x00, 0x38, 0x54, 0x54, 0x54, 0x18 },// e
  180.   
  181.   { 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02 },// f
  182.   
  183.   { 0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C },// g
  184.   
  185.   { 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78 },// h
  186.   
  187.   { 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00 },// i
  188.   
  189.   { 0x00, 0x40, 0x80, 0x84, 0x7D, 0x00 },// j
  190.   
  191.   { 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00 },// k
  192.   
  193.   { 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00 },// l
  194.   
  195.   { 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78 },// m
  196.   
  197.   { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78 },// n
  198.   
  199.   { 0x00, 0x38, 0x44, 0x44, 0x44, 0x38 },// o
  200.   
  201.   { 0x00, 0xFC, 0x24, 0x24, 0x24, 0x18 },// p
  202.   
  203.   { 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC },// q
  204.   
  205.   { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08 },// r
  206.   
  207.   { 0x00, 0x48, 0x54, 0x54, 0x54, 0x20 },// s
  208.   
  209.   { 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20 },// t
  210.   
  211.   { 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C },// u
  212.   
  213.   { 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C },// v
  214.   
  215.   { 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C },// w
  216.   
  217.   { 0x00, 0x44, 0x28, 0x10, 0x28, 0x44 },// x
  218.   
  219.   { 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C },// y
  220.   
  221.   { 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44 },// z
  222.   
  223.   { 0x14, 0x14, 0x14, 0x14, 0x14, 0x14 }


  224. };


  225. /****************************Nokia5110初始化函數**************************/
  226. /*函數原型:initNokia5110(void)
  227. /*函數功能:Nokia5110初始化
  228. /*輸入參數:無
  229. /*輸出參數:無
  230. /*調用模塊:
  231. /*建立時間:2006/10/1
  232. /*作者:站長
  233. /**********************************************************************/
  234. void initNokia5110(void)
  235. {
  236.   delay(10);             //系統復位
  237.   res = 0;
  238.   delay(2);
  239.   res = 1;
  240.   dc   = 0;
  241.   write_byte(0x21);         //;芯片是活動的(PD=0) 使用擴展指令集
  242.   write_byte(0xd5);   
  243.   write_byte(0x20);         //;芯片是活動的(PD=0) 使用水平尋址(V=0) 使用基本指令集(H=0)
  244.   write_byte(0x0c);         //;設置顯示配置(D=1 E=0)
  245. }


  246. /****************************Nokia5110清屏函數*********************/
  247. /*函數原型:void clearNokia5110(void)
  248. /*函數功能:Nokia5110清屏
  249. /*輸入參數:無
  250. /*輸出參數:無
  251. /*調用模塊:
  252. /*建立時間:2006/10/1
  253. /*作者:站長
  254. /**********************************************************************/
  255. void clearNokia5110(void)
  256. {  
  257.   unsigned int i,j;
  258.   for(i=0;i<6;i++)
  259.   {
  260.     setxy(j,i);
  261.     dc   = 1;
  262.     while (j<84)
  263.     {

  264.         write_byte(0x00);
  265.         j++;
  266.     }
  267.     j   = 0;

  268.   }
  269. }

  270. /*--------------------------------------
  271. ;模塊名稱:Display_char(unsigned char x,unsigned char y,char *s);
  272. ;功   能:寫字符
  273. ;占用資源:
  274. ;參數說明:x 設置顯示字符的X位置 ; y 設置顯示字符的Y位置   *s 顯示字符的首地址
  275. ;創建日期:2001.01.19
  276. ;版   本:VER 2.0         ★STALI☆
  277. ;-------------------------------------*/
  278. void Display_char(unsigned char x,unsigned char y,char *s)
  279. {  
  280.   unsigned char line;
  281.   setxy(x,y);
  282.   while(*s)
  283.   {
  284.     for(line=0;line<6;line++)
  285.     {  
  286.         dc   = 1;
  287.         write_byte(asc2tab[*s - 32][line]);  
  288.     }
  289.     s++;  
  290.   }
  291.   sce = 1;
  292. }

  293. /****************************Nokia5110寫數字函數*********************/
  294. /*函數原型:void Display_num(unsigned char x,unsigned char y,char s)
  295. /*函數功能:Nokia5110寫數字
  296. /*輸入參數:x 設置顯示字符的X位置 ; y 設置顯示字符的Y位置   s 顯示數字
  297. /*輸出參數:無
  298. /*調用模塊:
  299. /*建立時間:2006/10/1
  300. /*作者:站長
  301. /**********************************************************************/
  302. void Display_num(unsigned char x,unsigned char y,char s)
  303. {
  304.   unsigned char line;
  305.   setxy(x,y);
  306.   dc   = 1;  
  307.   for(line=0;line<6;line++)
  308.   {  
  309.    
  310.     write_byte(asc2tab[s+16][line]);  
  311.   }
  312.   sce = 1;
  313. }
  314.   
  315. /*************************Nokia5110發送1字節函數*********************/
  316. /*函數原型:void Display_num(unsigned char x,unsigned char y,char s)
  317. /*函數功能:發送1字節到 NOkia 5110
  318. /*輸入參數:x 設置顯示字符的X位置 ; y 設置顯示字符的Y位置   s 顯示數字
  319. /*輸出參數:無
  320. /*調用模塊:
  321. /*建立時間:2006/10/1
  322. /*作者:站長
  323. /**********************************************************************/
  324. void write_byte(unsigned char data1)
  325. {  
  326.   unsigned char i;
  327.   res = 1;
  328.   sce = 0;
  329.   for(i=0;i<8;i++)
  330.   {
  331.     sdin = (bit) (data1&0x80);
  332.     sclk = 0;
  333.       ;  
  334.     sclk = 1;  
  335.     data1 <<=1;
  336.   }
  337. }

  338. /*************************Nokia5110設置顯示坐標函數*********************/
  339. /*函數原型:void setxy(unsigned char x,unsigned char y)
  340. /*函數功能:設置顯示坐標
  341. /*輸入參數:unsigned char x 行坐標(0-83)   unsigned char y 列坐標(0-5)
  342. /*輸出參數:無
  343. /*調用模塊:
  344. /*建立時間:2006/10/1
  345. /*作者:站長
  346. /**********************************************************************/
  347. void setxy(unsigned char x,unsigned char y)
  348. {
  349.   dc   = 0;
  350.   write_byte(y|0x40);         //設置y軸。
  351.   write_byte(x|0x80);         //設置x軸。
  352. }

  353. /*******************************延時函數*********************************/
  354. /*函數原型:delay(unsigned int delay_time)
  355. /*函數功能:延時函數
  356. /*輸入參數:delay_time (輸入要延時的時間)
  357. /*輸出參數:無
  358. /*調用模塊:無
  359. /*建立時間:2005/10/21
  360. /*作者:站長
  361. /**********************************************************************/
  362. void delay(unsigned int delay_time)   //延時子程序
  363. {for(;delay_time>0;delay_time--)
  364. {}
  365.   }
復制代碼





作者: prettytank    時間: 2018-5-2 23:54
樓主真棒,非常好!!!
作者: 陳洪雯    時間: 2018-10-25 19:54
超級有用!!
作者: fly_apple    時間: 2019-2-14 09:05
正好需要,謝謝樓主
作者: starwaver    時間: 2019-2-21 14:10
不錯,下載,收藏~
作者: LXJ50    時間: 2019-2-23 21:19
下載了,解壓不了,提示說文件已被破壞。
作者: 艱苦好    時間: 2019-6-23 21:58
厲害啊
作者: happyw2004    時間: 2020-2-6 17:30
上面還有一個LED+是什么引腳呀.




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产91在线播放 | 日b免费视频 | 91一区二区三区 | 91久久久久久久久 | 精品国产91 | 日韩一区精品 | www.com国产| 理论片中文字幕 | 免费不卡视频 | 狠狠五月天 | 99热99| av激情影院 | 国产日韩综合 | 91网站在线免费观看 | jlzzjlzz欧美大全 | 日韩综合久久 | 老司机深夜福利视频 | 国产伦理一区 | 免费h片| 影音先锋中文字幕在线 | 亚洲一区免费 | 成年人视频在线播放 | www.日日日| 一区二区三区视频在线播放 | av网站网址 | 91av免费在线观看 | 日本a级大片 | 精品亚洲国产成人av制服丝袜 | 久久精品国产视频 | 欧美亚洲自拍偷拍 | 欧美日韩a | 一级二级片 | 国产一区二区三区视频在线 | 日皮视频免费看 | 九九久久精品视频 | 日韩欧美自拍 | 国产一级片免费 | 亚洲69视频 | 亚洲欧美日韩精品 | 精品一区二区三区视频 | 一区中文字幕 |