999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STM32F 103C8T6單片機的LCD顯示系統設計*

2014-07-25 09:00:18肖義平
網絡安全與數據管理 2014年20期
關鍵詞:單片機程序游戲

楊 偉,肖義平

(湖北工業大學 電氣與電子工程學院,湖北 武漢 430068)

0 引言

隨著社會的不斷發展,人們對終端顯示器的要求越來越高,體積小、重量輕、功耗低、清晰度高的LCD顯示器無疑成為大家心中理想的選擇[1]。與傳統的CRT相比,基于單片機的LCD顯示系統具有硬件結構簡單、控制方便、成本低等優點,在現代嵌入式系統中已得到廣泛的運用。本文設計了一種基于單片機STM32F103C8T6和LCD12864的液晶顯示系統,可以實現字符、圖形的顯示,并在此基礎上設計了一個貪吃蛇游戲實例。

1 系統硬件設計

LCD顯示系統主要由單片機、LCD顯示模塊、電源模塊、4×4矩陣鍵盤、通信接口電路組成。系統方框圖如圖1所示。

圖1 系統方框圖

系統電源部分可以使用5 V電源端口供電,再通過3.3 V穩壓芯片ASM1117-3.3得到單片機與LCD顯示模塊所需電源。單片機采用ST公司的芯片STM32F103C8T6,4×4矩陣鍵盤作為系統的輸入設備,采用LCD12864液晶顯示模塊作為系統的顯示部分。單片機系統通過處理鍵盤輸入數據后,根據不同的情況對顯示屏發出不同的操作指令。通信接口電路主要是由芯片PL2303構成,它的功能主要是將電腦的USB接口轉換為串口,同時還將PC的邏輯電平轉換為與單片機系統相同的CMOS電平,方便程序的燒寫以及與上位機的通信。

1.1 Keil MDK和單片機STM32F103C8T6簡介

KeilMDK是德國Keil公司為基于Cortex-M、ARM7、ARM9等系列處理器提供的一款集成開發環境,支持程序的編輯、編譯、鏈接以及在線調試等功能,可以自動配置啟動代碼,簡單易學,性能優越,能滿足大多數嵌入式應用[2]。

STM32F103C8T6是一款基于ARM32位的Cortext M3內核的單片機,2.0~3.6 V的寬電壓供電范圍,CPU工作頻率最大可達72 MHz,具有單周期的乘法指令和硬件除法,以及優先級可編程的中斷系統。同時它還具有64 KB的Flash存儲器與20 KB的SRAM存儲器,另外還集成了非常豐富的片內外設,如看門狗、定時器、GPIO口、DMA控制器、ADC、UART、SPI接口、IIC接口等,具有成本低、速度快、性價比高等優點。

1.2 液晶LCD12864顯示模塊

LCD12864液晶屏的數據接口是串行的,工作電壓為2.8~5.5 V,像素為128×64,顯示顏色為黑白色,背光顏色為藍色,不帶字庫。模塊內部采用的控制器為ST7565P,功耗非常低,在省電模式下的工作電流最大僅為5 μA,顯示模塊僅有8個引腳接口,占用主控制器的I/O數量少。LCD12864引腳說明如表1所示。

表1 LCD12864引腳說明

1.3 LCD12864與單片機STM32F103C8T6的硬件連接

單片機STM32F103C8T6與LCD顯示模塊的硬件連接非常簡單,如圖2所示。LCD12864引腳編號為1~5的控制端口可以直接與STM32F103C8T6單片機的GPIO口相連,第8引腳是LCD的背光電源端口,通過單片機的一個I/O口控制三極管的導通來控制背光電源的通斷,從而節省功耗[3]。

圖2 單片機STM32F103C8T6與LCD12864的硬件連接圖

2 系統軟件設計

系統軟件設計主要包括LCD初始化、寫數據、寫命令,以及畫點、字符顯示等程序設計。液晶顯示模塊正常工作前,需要對其進行初始化,主要包括復位液晶、確定顯示對比度、偏壓比等參數,然后才能實現字符、圖形以及其他的顯示功能。在向液晶顯示模塊寫入數據或者命令時,一定要注意寫入的時序,只有嚴格地按照時序編寫驅動程序才能正常工作。設計程序時,為了方便移植,可以將相關引腳的操作用宏封裝起來,如將片選引腳拉低的操作可以用宏LCD_CS_0()定義[4-5]。寫數據命令的功能函數如下:

寫數據功能函數voidLCD12864_WriteData(uint8 Dat)實現方法與寫命令功能函數相同,只是打開片選后,選擇的是寫數據LCD_A0_1()。

在設計LCD液晶驅動程序時,最基本的功能就是在屏幕的任意位置顯示一個點,然后在此基礎上實現更復雜的功能。但是每次寫入的數據都包含了8個點的信息,而且該LCD顯示模塊沒有讀控制端口,不能通過讀數據的命令了解其他7個點的狀態,這樣就不能達到最終的目的。為了解決這個問題,可以在單片機的內存區開辟一個數據空間,來記錄顯示器上每個點的顯示情況,代碼如下:

因為液晶模塊未帶字庫,在字符顯示前,需要將其字模存入單片機的程序存儲空間中,然后在任意坐標顯示一個點的基礎上,實現字符的顯示。8×16字符顯示的驅動程序如下:

3 實例設計

以單片機STM32F103C8T6作為控制核心,在LCD12864驅動程序的基礎上,實現了貪吃蛇游戲的功能。貪吃蛇游戲程序主要分為3個子程序模塊,即鍵盤掃描模塊、LCD12864驅動模塊和貪吃蛇游戲數據處理模塊。貪吃蛇程序流程圖如圖3所示。

圖3 貪吃蛇程序流程圖

游戲中的食物和蛇可以看作兩個不同的對象,它們的屬性可以用兩個結構體變量來描述,然后根據游戲功能將整個大模塊合理地劃分為各個子模塊,并編寫相應的功能函數,供主模塊函數調用。在設計程序時,定義蛇的最長長度為15,蛇運動區域的長為20個單位,寬為15個單位,即橫坐標的坐標范圍為1~20,縱坐標的坐標范圍為1~15。貪吃蛇游戲中定義了食物結構體和蛇結構體變量。食物結構體定義為:

蛇結構體變量中定義了蛇體長度、蛇的等級和蛇的分數,具體定義為:

在貪吃蛇游戲的程序設計中,放置食物的程序會涉及如何獲取隨機數的問題,為了增加游戲的隨機性,本次設計不采用偽隨機數產生的方法,而是利用單片機的AD采樣引腳在懸空的情況下采樣,獲得的AD值作為隨機種子,然后通過一系列的運算來得到隨機數,經過實踐得知,此種方式得到的隨機數更真實,效果很好。食物放置程序如下:

4 結論

STM32F103C8T6是一款高性能的單片機,LCD12864硬件接口簡單,所占用單片機的I/O口資源非常少,單片機有足夠的硬件資源供其他外設使用,顯示系統可以作為其他嵌入式系統的一部分,運用于不同的顯示場合;系統的程序設計采用的是C語言,其移植性非常好,模塊化的設計思想可以在系統中靈活地擴展其他功能,滿足不同的顯示要求。

[1]劉金星,李洪文.基于高速單片機的液晶顯示模塊控制[J].液晶與顯示,2011,26(1):88-91.

[2]韓敬海,王蕊.Cortext-M3開發技術與實現[M].西安:西安電子科技大學出版社,2013.

[3]陳楊楊,陳梅.基于PIC18F458單片機的LCD顯示[J].儀表技術,2005(4):52-53.

[4]武俊鵬,張國印,姚愛紅,等.基于ARM的嵌入式系統設計實驗與實踐教程[M].北京:清華大學出版社,2011.

[5]石紅曉,吳光敏.基于Nios II處理器的TFT-LCD圖形顯示設計[J].微型機與應用,2010,29(18):37-39.

猜你喜歡
單片機程序游戲
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
數獨游戲
瘋狂的游戲
飛碟探索(2016年11期)2016-11-14 19:34:47
爆笑游戲
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 欧美曰批视频免费播放免费| 亚洲最新地址| 精品欧美视频| 国产99视频在线| 日韩不卡高清视频| 色综合色国产热无码一| 日韩高清欧美| 综合人妻久久一区二区精品| 国产综合无码一区二区色蜜蜜| 欧美在线综合视频| 国产99视频精品免费视频7| 在线网站18禁| 亚洲精品中文字幕午夜| 亚洲第一视频免费在线| 伊人久久大线影院首页| 萌白酱国产一区二区| 亚洲AV无码乱码在线观看代蜜桃| 日韩午夜福利在线观看| 中文字幕第4页| 色视频国产| 免费看a毛片| 亚洲无码高清一区| 蜜臀av性久久久久蜜臀aⅴ麻豆 | 国产国产人成免费视频77777| 高清不卡一区二区三区香蕉| 在线观看免费黄色网址| 日韩毛片在线视频| 欧美第九页| 国内精品免费| 国产乱子伦精品视频| 亚洲欧洲日产国码无码av喷潮| 国内精品九九久久久精品| 色爽网免费视频| 国产香蕉在线| 极品国产一区二区三区| 国产18在线播放| 日韩精品免费在线视频| a亚洲视频| 福利片91| 男人天堂亚洲天堂| 欧美全免费aaaaaa特黄在线| 免费看a级毛片| 精品国产免费第一区二区三区日韩| 国产自在线拍| 中文字幕精品一区二区三区视频| 亚洲天堂日本| 日韩视频免费| 91福利在线看| 亚洲第一香蕉视频| 日韩精品专区免费无码aⅴ| 久久久精品久久久久三级| 精品91自产拍在线| 国产黄在线免费观看| 视频在线观看一区二区| 欧美日韩中文国产va另类| 国产成人毛片| 国产美女在线免费观看| 中文字幕无码电影| 国产精品jizz在线观看软件| 在线免费不卡视频| 亚洲综合18p| 国产日韩精品一区在线不卡 | 欧美在线观看不卡| 91在线精品免费免费播放| 国语少妇高潮| 97色婷婷成人综合在线观看| 欧美不卡视频一区发布| 国产免费羞羞视频| 久久国产精品影院| 亚洲永久色| 欧美中文字幕在线播放| 国产91色| 91麻豆国产视频| 就去吻亚洲精品国产欧美| 国产欧美精品午夜在线播放| 四虎亚洲精品| 国产手机在线小视频免费观看 | JIZZ亚洲国产| 一本大道香蕉久中文在线播放| 国产一二三区在线| 国产免费自拍视频| 免费国产小视频在线观看|