8位的51單片機長期占據(jù)著微控制器(MCU)的主流市場,但隨著技術與需求的發(fā)展,32位微控制器應用增長率也在不斷攀升。目前,基于arm內核的32位微處理器在市場上處于領導地位。
基于arm處理器的片上系統(tǒng)解決方案可應用于企業(yè)應用、汽車系統(tǒng),家庭網絡和無線技術等市場領域。ARM CortexTM系列提供了一個標準的體系結構來滿足以上各種技術的不同性能要求,基于ARM架構有3個分工明確的系列:A系列面向復雜的尖端應用程序,用于運行開放式的復雜操作系統(tǒng);R系列針對實時系統(tǒng);M系列專為低成本控制和微控制器應用開發(fā)。Cortex-M3是基于ARM架構的處理器,是專門為了在微控制器等對功耗和成本敏感的應用領域實現(xiàn)高系統(tǒng)性能而設計的,它簡化了可編程的復雜性,使arm架構成為各種應用方案的良好選擇。
Luminary Micro公司(已被TI公司收購)StelIaris提供一系列的微控制器是首款基于armCortex-M3的控制器,它們?yōu)閷Τ杀居绕涿舾械奈⒖刂破鲬梅桨笌砹烁咝阅艿?2位運算能力。這些具備領先技術的芯片使用戶能夠以傳統(tǒng)的8位和16位器件的價位來享受32位的性能。其中,LM3S811微控制器正是針對工業(yè)應用方案而設計的,包括測試和測量設備、工廠自動化、建筑控制、運動控制、醫(yī)療器械、火警安防以及電力能源等。
TH12864等圖形點陣液晶顯示器以其工作電壓低、功耗低、壽命長、不產生電磁輻射污染、可以顯示復雜的文字及圖形等優(yōu)點,已被廣泛應用在各種儀器儀表、電子設備和家用電器等領域。
本文嘗試將基于arm的LM3S811微控制器與TH12864顯示模塊相結合的技術應用。
1 系統(tǒng)硬件設計
1.1 LM3S811主控芯片
本次系統(tǒng)硬件設計的主控芯片選擇TI公司LM3S811芯片,其電源電壓為3.3 V,最高時鐘頻率50 MHz,64 kHz的單周期FLASH;3個32位通用定時器,可分成6個16位定時器使用;一組同步串行接口(SSI),2個異步串行接口(UART);4通道模數(shù)轉換器(ADC),1組模擬比較器和I2C接口;3個脈寬調制信號(PWM)模塊,32個通用輸入輸出管腳(GPIO)及硬件看門狗等。LM3S811系統(tǒng)方框圖如圖1所示。
1.2 TH12864顯示模塊
本次系統(tǒng)設計的顯示模塊選擇帶中文字庫的TH12864,其電源電壓為3.3 V。TH12864液晶顯示模塊是128×64點陣的漢字圖形型液晶顯示模塊,可顯示漢字及圖形,內置國標GB2312碼簡體中文字庫(16×16點陣)、128個字符(8×16點陣)及64×256點陣顯示RAM(GDRAM)??商峁?位并行及串行2種連接方式,具有多種功能:光標顯示、畫面移位、睡眠模式等。其中TH12864的管腳功能如下:
1:VSS,地(GND);2:VDD,電源;3:V0,背光調節(jié);4:CS,片選信號;5:STD,串行數(shù)據(jù);6:SCLK,串行時鐘;14:DB0-DB7,并行數(shù)據(jù);15:PSB,串并口選擇,串行模式為低電平有效;17:/RST,復位;19:LEDA,背光正極;20:LEDK,背光負極。
1.3 LM3S811主控芯片與TH12864顯示模塊的連接
為節(jié)約系統(tǒng)硬件資源以便其他用途,故選擇TH12864顯示模塊為串行模式。則主控芯片LM3S811只需要占用3個GPIO管腳即可,保留PWM等用于小車驅動等,選擇與比較器和I2C復用的PB2,PB4和PB6,如圖2所示。
2 系統(tǒng)軟件設計
系統(tǒng)軟件設計分為底層驅動程序、中層實現(xiàn)程序和上層應用程序。軟件以IAR集成開發(fā)環(huán)境為開發(fā)平臺,用C語言編寫,便于維護和移植。下面是部分源程序。
2.1 底層驅動部分
底層驅動程序完成的功能是實現(xiàn)TH12864的硬件時序。
程序如下:
驅動程序先預處理3個字節(jié)要發(fā)送數(shù)據(jù)的具體內容,片選后,依次循環(huán),按時鐘信號發(fā)送每個字節(jié)的每一位,其中延時不能省略。
2.2 中層實現(xiàn)程序
中層實現(xiàn)程序完成主要功能是,按照TH12864的用戶指令集,用底層驅動程序發(fā)送指令,完成初始化、顯示、清除、設定等功能。例如初始化程序:
從前兩句可以看出LM3S811在設置GPIO時,比普通51單片機設置要簡單許多,無需記憶眾多的寄存器,由于廠家提供了Stellaris外設驅動庫函數(shù),只要調用相應API接口函數(shù)即可,簡化了編程的復雜性,對于新學者也可以迅速上手編程工作。
2.3 上層應用程序
在底層驅動程序和中層實現(xiàn)程序的基礎上,程序移植方便??梢愿鶕?jù)系統(tǒng)需求完成字符、漢字和圖片等實際顯示內容。
此次系統(tǒng)實現(xiàn)了開機圖片顯示,歡迎詞和小車狀態(tài)的循環(huán)動態(tài)顯示,速度顯示及電子秒表等功能。
3 結語
通過本次系統(tǒng)集成的設計、制作、調試和驗證,完成并實現(xiàn)了基于arm單片機的小車顯示系統(tǒng)功能。實現(xiàn)了LM3S811對于TH12864顯示模塊的控制,其底層驅動程序可以供大家參考。在實現(xiàn)過程中發(fā)現(xiàn),在硬件方面,LM3S811的主頻較高,運算能力較強,外設資源豐富。在軟件方面,由于廠家提供了Stellaris外設驅動庫函數(shù),降低了編程的難度,可以快速上手工作。此外,本系統(tǒng)也可以推廣應用到其他小型儀表或設備顯示系統(tǒng)。