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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

NOKIA5110LCD液晶屏的驅動實驗

  [復制鏈接]
跳轉到指定樓層
樓主
ID:104835 發表于 2016-2-4 00:12 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
所需硬件:   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.   }
復制代碼




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

使用道具 舉報

沙發
ID:302850 發表于 2018-5-2 23:54 | 只看該作者
樓主真棒,非常好!!
回復

使用道具 舉報

板凳
ID:396549 發表于 2018-10-25 19:54 | 只看該作者
超級有用。
回復

使用道具 舉報

地板
ID:251455 發表于 2019-2-14 09:05 | 只看該作者
正好需要,謝謝樓主
回復

使用道具 舉報

5#
ID:141106 發表于 2019-2-21 14:10 | 只看該作者
不錯,下載,收藏~
回復

使用道具 舉報

6#
ID:164988 發表于 2019-2-23 21:19 | 只看該作者
下載了,解壓不了,提示說文件已被破壞。
回復

使用道具 舉報

7#
ID:350671 發表于 2019-6-23 21:58 | 只看該作者
厲害啊
回復

使用道具 舉報

8#
ID:507971 發表于 2020-2-6 17:30 | 只看該作者
上面還有一個LED+是什么引腳呀.
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久精品国产一区二区三区不卡 | 欧美成人激情视频 | 中文一级片| 在线午夜| 成年人的视频免费观看 | av黄色免费 | 亚洲码欧美码一区二区三区 | 性色av一区二区三区 | 国产清纯白嫩初高生视频在线观看 | 亚洲va国产日韩欧美精品色婷婷 | 日韩精品免费在线观看 | 99久久精品免费看国产四区 | 久久久成人精品 | www.久久久 | 国产高清免费 | 在线伊人网 | 四虎在线观看 | 精品网| 少妇一区在线观看 | 最新91在线 | av黄色免费在线观看 | 久久不卡| www.日本三级 | 亚洲在线久久 | 精品亚洲一区二区三区 | 亚洲精品天堂 | 久久国产精品偷 | 伊人看片| 欧美色性| 美女视频一区二区三区 | 欧美专区在线观看 | 国产成人精品久久二区二区91 | 国产乱码精品一区二区三区中文 | www国产亚洲精品久久网站 | 99成人精品| 国产精品永久久久久久久www | 激情一区| 亚洲国产精品suv | 久久伊人操| 日本精品视频一区二区 | 亚洲国产精品视频一区 |