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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5033|回復: 6
收起左側

STM32使用串行模式驅動LCD12864源程序

[復制鏈接]
ID:150527 發表于 2019-7-7 14:18 | 顯示全部樓層 |閱讀模式
  LCD12864支持兩種模式驅動,分別是并行模式和串行模式,通過PSB引腳進行選擇模式,并行數據傳輸速度快,但是占用引腳多,反之串行模式,傳輸速度相對并行模式而言比較慢,但是省引腳。
串行模式驅動LCD12864
說明:
GND——GND
VCC——VCC(5V or 3.3V)
V0 ——空(或者接一個可變電阻到VCC)
RS ——接PB14 RS = 0 命令  RS = 1 數據
RW ——接PB13 RW = 0 寫   RW = 1 讀
E  ——接PB15
DB0-DB7 ——空
PSB——接GND,PSB = 0 串行模式  PSB = 1 并行模式
RST——接PB12
BLA——VCC(5V or 3.3V)
BLK——接GND
剩余引腳不接,留空

注意:ST7920在PSB為低電平時選擇串行模式,在串行模式下,一個完整的串行傳輸周期由以下組成:
首先送入啟動字節,送入連續的5個“1”來啟動一個周期此時傳輸計數器被重置,并且串行傳輸被同步。緊接的兩個位指定傳輸方向(RW,1是讀數據,0是寫數據)
以及傳輸性質(RS,0是命令寄存器,1是數據寄存器),最后第八位是固定的“0”
所以寫指令之前,必須先傳輸 11111 000 (即0xF8)
寫數據之前      必須先傳輸 11111 010 (即0xFA)

傳輸完啟動字節后,開始傳輸指令或者數據,指令或者數據都是以字節為單位,一個字節8bit,在傳輸過程中會進行拆分處理,如傳輸0x35(二進制為 0011 0101)時

將0x35的高4位放在第一個字節的高4位,低4位補0,如 0011 0000
將0x35的低4位放在第二個字節的高4位,低4位補0,如 0101 0000
所以在傳輸指令或者數據時,會將一個字節拆分為兩個字節進行傳輸 0011 0000 0101 0000
假設此時傳輸的0x35是數據而非指令,由于在代碼中將啟動字節與數據進行合并,所以傳輸的數據為:0x00FA3050

效果圖

效果圖


單片機源程序如下:
  1. //////////////////////////////////////////////////////////////////////////////////         
  2. //  文 件 名   : main.c
  3. //  版 本 號   : v1.0
  4. //  作    者   :
  5. //  生成日期   : 2019-0707
  6. //  最近修改   :
  7. //  功能描述   : 串行方式驅動LCD12864
  8. //
  9. //              說明:
  10. //              ----------------------------------------------------------------
  11. //              GND——GND
  12. //              VCC——VCC(5V or 3.3V)
  13. //              V0 ——空(或者接一個可變電阻到VCC)
  14. //              RS ——接PB14
  15. //              RW ——接PB13
  16. //              E  ——接PB15
  17. //              DB0-DB7 ——空
  18. //              PSB——接GND  串行模式
  19. //              RST——接PB12
  20. //              BLA——VCC(5V or 3.3V)
  21. //              BLK——接GND
  22. //              剩余引腳不接,留空
  23. //              ----------------------------------------------------------------
  24. //
  25. //All rights reserved
  26. //////////////////////////////////////////////////////////////////////////////////

  27. #include "sys.h"
  28. #include "delay.h"
  29. #include "usart.h"
  30. #include "iic.h"
  31. #include "oled.h"
  32. #include "bmp.h"
  33. #include "lcd12864.h"

  34. static float Data = 9876.65; //在12864顯示
  35. char Table[] = {"0000.00"};


  36. int main(void)
  37. {
  38.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置中斷優先級分組為組2:2位搶占優先級,2位響應優先級
  39.         InitDelay();
  40.         InitUart(115200);
  41.         InitLcd();
  42.        
  43.         ClearLcdDisplay();
  44.        
  45.         Table[0] = ((int)(Data * 100)/100000 + '0');     //千
  46.         Table[1] = ((int)(Data * 100)/10000%10 + '0');   //百
  47.         Table[2] = ((int)(Data * 100)/1000%10 + '0');    //十
  48.         Table[3] = ((int)(Data * 100)/100%10 + '0');     //個
  49.         Table[4] = '.';                                  //小數點
  50.         Table[5] = ((int)(Data * 100)/10%10+'0');        //小數點后一位
  51.         Table[6] = ((int)(Data * 100)%10+'0');           //小數點后兩位
  52.         while(1)
  53.         {               
  54.                 LcdDisplayString(0,0,"清時明月漢時關");
  55.                 LcdDisplayString(1,0,"萬里長征人未還");
  56.                 LcdDisplayString(2,0,"但使龍城飛將在");
  57.                 LcdDisplayString(3,0,"不教胡馬度陰山");
  58.                 DelayMs(1800);                               //最大延時不能超過2000
  59.                 ClearLcdDisplay();
  60.                 DelayMs(100);
  61.                 LcdDisplayString(0,2,"顯示浮點數");           //第0行
  62.                 LcdDisplayString(1,10,Table);
  63.                 DelayMs(1800);
  64. //                ClearLcdDisplay();                            //可不要,文字會覆蓋掉
  65. //                DelayMs(100);
  66.         }         
  67. }
復制代碼

所有資料51hei提供下載:
STM32串行模式驅動LCD12864.7z (191.21 KB, 下載次數: 236)

評分

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

查看全部評分

回復

使用道具 舉報

ID:410905 發表于 2019-7-9 11:13 | 顯示全部樓層
學習了。
回復

使用道具 舉報

ID:550084 發表于 2019-8-2 17:41 | 顯示全部樓層
謝謝了
回復

使用道具 舉報

ID:501249 發表于 2019-11-30 23:54 | 顯示全部樓層
謝謝樓主
回復

使用道具 舉報

ID:501249 發表于 2019-11-30 23:54 | 顯示全部樓層
開始學習了
回復

使用道具 舉報

ID:778692 發表于 2020-6-14 08:36 | 顯示全部樓層
厲害了!
回復

使用道具 舉報

ID:307544 發表于 2020-6-15 09:56 | 顯示全部樓層
感謝樓主分享!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 韩国欧洲一级毛片 | 日日夜夜天天久久 | 国产日韩精品在线 | 五月天综合影院 | 日韩免费一区二区 | 国产在线精品一区二区三区 | 91免费在线看 | 精产国产伦理一二三区 | 羞羞的视频在线观看 | 欧洲国产精品视频 | 久久精品欧美一区二区三区不卡 | 精品国产一区一区二区三亚瑟 | 欧美三区| 美女天天干天天操 | 无码一区二区三区视频 | 国产九九精品 | 精品国产免费一区二区三区演员表 | 久久av一区 | 亚洲成人免费视频在线观看 | 欧美在线一区二区三区 | 亚洲一区二区三区在线播放 | 精品无码久久久久久国产 | 毛片综合 | 亚洲综合国产精品 | 亚洲久草 | 欧美理论 | 在线观看成人av | 国产精品色 | 91精品国产美女在线观看 | 色综合网站 | 久久新 | 欧美一区二区在线观看 | 国产高清精品在线 | 欧洲精品在线观看 | 日韩一区中文字幕 | h在线免费观看 | 精品国产乱码久久久久久蜜退臀 | 一区二区三区在线 | 日韩人体在线 | 欧美一区二区在线看 | 亚洲国产成人精品女人久久久 |