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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

分享一個簡單且可行的LCD12864的顯示 單片機程序

  [復制鏈接]
跳轉到指定樓層
樓主
在用51單片機做停車場實驗的時候一直無法讓LCD12864正常顯示,用了比較久的時候才完成了這樣一個簡單且可行的程序,親測可用。并附上LCD12864的手冊與ST7920中文字型碼表。這是實驗時成功顯示的圖片:

代碼如下:
  1. #include "reg52.h"         /
  2. #include "intrins.h"
  3. #define LCD_DB  P0         //LCD12864顯示數據接口定義
  4. typedef unsigned char u8;
  5. typedef unsigned int u16;

  6. sbit LCD_RS=P2^6;         //定義LCD12864使用的IO口
  7. sbit LCD_RW=P2^5;
  8. sbit LCD_EN=P2^7;
  9. sbit DSdat=P3^4;

  10. u8 usablespace;          //停車場可用空間                 
  11. u16 time1;                                         //停車時間
  12. u8 fee;                                                 //停車費用
  13. //---車牌首位漢字顯示數據編碼---//
  14. code u16 platenumber[32]={0xBEA9,0xBDF2,0xBBA6,0xD3E5,0xD5E3,0xC3F6,0xD4C1,0xBCBD,0xBDFA,0xC3C9,        //京 津 滬 渝 浙 閩 粵 冀 晉 蒙
  15.                           0xC1C9,0xBCAA,0xBADA,0xCBD5,0xCDEE,0xB8D3,0xC2B3,0xD4A5,0xB6F5,0xCFE6,    //遼 吉 黑 蘇 皖 贛 魯 豫 鄂 湘
  16.                                       0xB9F3,0xC7ED,0xB4A8,0xB9F1,0xD4C6,0xB2D8,0xC9C2,0xB8CA,0xC7E0,0xC4FE,0xD0C2,0xA1A0};  //貴 瓊 川 桂 云 藏 陜 甘 青 寧 新 無        
  17. u8 car1[10]={22,0x11,0x11,0x12,0x01,0x02,0x03,13};         //車輛賬戶信息:車牌省位0,車牌市位1,號牌編號2~6,余額7


  18. void delay_12864(u16 del)                //LCD12864延時函數
  19. {
  20. u16 i;
  21. for(i = 0; i < del; i++){; }
  22. }

  23. void Init_LCD(void)                           //初始化LCD控制端口函數
  24. {
  25.    LCD_RS=1;                                  //輸出數據LCD_RS和LCD_EN清零
  26.    LCD_RW=0;
  27.    LCD_EN=0;
  28. }

  29. void LCD_write_command(u8 command)          //LCD12864寫指令函數
  30. {
  31. LCD_EN=0;
  32. LCD_RS=0;         //寫指令
  33. LCD_RW=0;         //寫入
  34. LCD_DB=command;//賦值給D0-D7對應的IO引腳
  35. delay_12864(50);
  36. LCD_EN=1;          //允許
  37. delay_12864(50);  
  38. LCD_EN=0;
  39. }

  40. void LCD_write_data(u8 dat)                        //LCD12864寫數據函數
  41. {
  42. LCD_EN=0;
  43. LCD_RS=1;          //寫數據
  44. LCD_RW=0;          //寫入
  45. LCD_DB=dat;//賦值給D0-D7對應的IO引腳
  46. delay_12864(50);
  47. LCD_EN=1;           //允許
  48. delay_12864(50);
  49. LCD_EN=0;
  50. }

  51. void LCD_init(void)                                //初始化LCD12864顯示設置函數
  52. {
  53. delay_12864(10000);
  54. LCD_write_command(0x30);//功能設置
  55. delay_12864(20);
  56. LCD_write_command(0x30);//功能設置
  57. delay_12864(20);
  58. LCD_write_command(0x0c);//顯示開關控制
  59. delay_12864(20);
  60. LCD_write_command(0x01);//顯示清除
  61. delay_12864(1200);
  62. LCD_write_command(0x06);//顯示清除
  63. delay_12864(50);
  64. }

  65. void LCD_SHOW()                                  //LCD顯示函數
  66. {
  67.      Init_LCD();                              //初始化LCD控制端口
  68.      LCD_init();                          //初始化LCD顯示設置
  69.          LCD_write_command(0x80);        //第一行數據指針地址
  70. //-------------第一行顯示內容-------------//
  71.      LCD_write_data(0xBF); //空   
  72.      LCD_write_data(0xD5);
  73.      LCD_write_data(0xB3); //車
  74.      LCD_write_data(0xB5);
  75.      LCD_write_data(0xCE); //位
  76.      LCD_write_data(0xBB);
  77.          LCD_write_data(0xA1); //:
  78.      LCD_write_data(0xC3);
  79.      LCD_write_data(0x20);
  80.      LCD_write_data(0x20);
  81.          LCD_write_data(usablespace/10+'0'); //空車位十位
  82.      LCD_write_data(usablespace%10+'0'); //空車位個位
  83.      LCD_write_data(0xB8); //個
  84.      LCD_write_data(0xF6);
  85.      LCD_write_data(0x20);
  86.      LCD_write_data(0x20);
  87. //-------------第三行顯示內容-------------//
  88.      LCD_write_data(0xCA); //時  
  89.      LCD_write_data(0xB1);
  90.      LCD_write_data(0xB3); //長
  91.      LCD_write_data(0xA4);
  92.      LCD_write_data(0xA1); //:
  93.      LCD_write_data(0xC3);
  94.      LCD_write_data(time1/600+'0'); //停車小時 十位
  95.      LCD_write_data(time1/60%10+'0'); //停車小時 個位
  96.      LCD_write_data(0xD0); //小
  97.      LCD_write_data(0xA1); //
  98.      LCD_write_data(0xCA); //時
  99.      LCD_write_data(0xB1); //
  100.      LCD_write_data(time1%60/10+'0'); //停車分鐘 十位
  101.      LCD_write_data(time1%60%10+'0'); //停車分鐘 個位
  102.      LCD_write_data(0xB7); //分
  103.      LCD_write_data(0xD6); //
  104. //-------------第二行顯示內容-------------//
  105.      LCD_write_data(0xB3); //車  
  106.      LCD_write_data(0xB5);
  107.      LCD_write_data(0xC5); //牌
  108.      LCD_write_data(0xC6);
  109.      LCD_write_data(0xBA); //號
  110.      LCD_write_data(0xC5);
  111.      LCD_write_data(0xA1); //:
  112.      LCD_write_data(0xC3); //
  113.      LCD_write_data(platenumber[car1[0]]>>8); //車牌省位
  114.      LCD_write_data(platenumber[car1[0]]&0xff);
  115.      LCD_write_data(car1[1]+'0'); //車牌市位
  116.      LCD_write_data(car1[2]+'0'); //車牌號編碼
  117.      LCD_write_data(car1[3]+'0');
  118.      LCD_write_data(car1[4]+'0');
  119.      LCD_write_data(car1[5]+'0');
  120.      LCD_write_data(car1[6]+'0');
  121. //-------------第四行顯示內容-------------//
  122.      LCD_write_data(0xCD); //停  
  123.      LCD_write_data(0xA3);
  124.      LCD_write_data(0xB3); //車
  125.      LCD_write_data(0xB5);
  126.      LCD_write_data(0xB7); //費
  127.      LCD_write_data(0xD1);
  128.      LCD_write_data(0xD3); //用
  129.      LCD_write_data(0xC3); //
  130.      LCD_write_data(0xA1); //:
  131.      LCD_write_data(0xC3); //
  132.      LCD_write_data(fee/10+'0'); //停車費十位
  133.      LCD_write_data(fee%10+'0'); //停車費個位
  134.      LCD_write_data(0xD4); //元
  135.      LCD_write_data(0xAA); //
  136.      LCD_write_data(0xA1); //無
  137.      LCD_write_data(0xA0);
  138.          delay_12864(10);   
  139. }


  140. void main()                        //主函數
  141. {
  142.   usablespace=50;
  143.   time1=33;
  144.   fee=5;

  145. while(1)               
  146. {         
  147.          LCD_SHOW();                //LCD12864進行顯示
  148. }  
  149. }
復制代碼


全部資料51hei下載地址:
程序代碼及LCD12864相關資料.zip (3.92 MB, 下載次數: 109)

評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:701369 發表于 2020-3-10 17:55 | 只看該作者
請問DSDATA是什么?如何連接?
回復

使用道具 舉報

板凳
ID:891154 發表于 2021-7-26 16:00 | 只看該作者
這是帶字庫的嗎
回復

使用道具 舉報

地板
ID:960749 發表于 2021-8-18 15:43 | 只看該作者
您好,請問有連接的電路圖嗎?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 色一情一乱一伦一区二区三区 | 国产精品久久99 | 亚洲色片网站 | 国产在线资源 | 日本三级在线 | av天天干 | 伊人春色成人网 | 91av亚洲| 精品在线播放 | 成人午夜影院 | 精品久久99 | 中文字幕在线观看一区二区 | 国产一区二区在线免费观看 | 精品日韩 | 4h影视| 日韩欧美精品在线 | 91中文视频| 欧美福利三区 | 亚洲一区 中文字幕 | 欧美亚洲免费 | 国产精品视频在线播放 | 久久日韩粉嫩一区二区三区 | 日中文字幕在线 | 国产传媒毛片精品视频第一次 | 精品久久久久一区二区国产 | 欧美日韩网站 | 丝袜美腿一区二区三区 | 欧美精品一区二区三区在线播放 | 午夜影院中文字幕 | 欧美日韩不卡合集视频 | 亚洲免费视频网站 | 欧美视频在线播放 | 欧美在线综合 | 日本电影韩国电影免费观看 | 欧美男人天堂 | 免费黄色录像视频 | 欧美二区在线 | 91精品国产乱码久久蜜臀 | 亚洲一区二区三区视频 | 韩日免费视频 | 久草日韩 |