SPCE061A與液晶模塊HS12864-1的接口及其編程介紹
本文引用地址:http://2s4d.com/article/171077.htm
3 HS12864-1與SPCE061A單片機(jī)的硬件接口設(shè)計(jì)
SPCE061A 是繼SPCE500A等之后凌陽(yáng)科技推出的又一款16位結(jié)構(gòu)的微控制器。CPU內(nèi)核采用凌陽(yáng)最新推出的16位u nsp微處理器芯片,比MCS-51 8位機(jī)的MCU集成度更高,使用更加靈活方便,縮短了開發(fā)周期和成本。
采用RISC 的SPCE061A 比8位的MCS 51系列執(zhí)行效率高,速度更快,較寬的工作電壓,低功耗抗干擾的設(shè)計(jì),使061A在電池供電的應(yīng)用領(lǐng)域更具特色,其內(nèi)置2K字SRAM和32K FLASH,32位通用可編程輸入/輸出端口,具有WatchDog等功能,在儀器儀表、工業(yè)控制和通訊產(chǎn)品等方面應(yīng)用日益廣泛。
在程序設(shè)計(jì)方面μ'nSP?單片機(jī)的匯編指令針對(duì)C語(yǔ)言進(jìn)行了優(yōu)化,所以其匯編的指令格式很多地方直接類似于C語(yǔ)言。另外其開發(fā)仿真環(huán)境IDE也直接提供了C語(yǔ)言的開發(fā)環(huán)境,C函數(shù)和匯編函數(shù)可以方便地進(jìn)行相互調(diào)用[2,3]。HS12864-1與SPCE061A單片機(jī)的硬件接口電路見圖2。
圖2中采用并行通信方式,單片機(jī)的IOA0-IOA7口與液晶模塊的DB0-DB7口相連作為數(shù)據(jù)輸入輸出用;即IOB0- IOB 4口與液晶模組的CS1、CS2、D/I、R/W、E相連作為單片機(jī)對(duì)液晶的控制口。
4顯示程序設(shè)計(jì)
在液晶上顯示整屏字符或圖像有兩種方法:一種是將所要顯示的字模數(shù)據(jù)一次性發(fā)送到顯示數(shù)據(jù)RAM中;另外一種是在屏幕上指定位置進(jìn)行單獨(dú)顯示[4]。兩種方法都要在控制器空閑的條件下進(jìn)行操作,在操作之前都要先讀取忙標(biāo)志,判斷控制器是否處于忙狀態(tài),在一般情況下,可以用延時(shí)等待的方法代替。
本系統(tǒng)程序主要包括主程序和幾個(gè)子程序塊: LCD初始化, 液晶顯示屏選擇,LCD顯示,還有若干個(gè)控制子程序。主程序分別調(diào)用這些子程序?qū)崿F(xiàn)對(duì)液晶顯示器操作控制。程序流程圖見圖3。
圖3 程序流程圖
凌陽(yáng)單片機(jī)的編程語(yǔ)言常用的有二種:匯編語(yǔ)言和C語(yǔ)言。匯編語(yǔ)言的機(jī)器代碼生成效率很高但可讀性不強(qiáng),而C語(yǔ)言在大多數(shù)情況下其機(jī)器代碼生成效率和匯編語(yǔ)言相當(dāng),但可讀性和可移植性卻遠(yuǎn)遠(yuǎn)超過(guò)匯編語(yǔ)言,而且C語(yǔ)言還可以嵌入?yún)R編來(lái)解決高時(shí)效性的代碼編寫問(wèn)題。對(duì)于開發(fā)周期來(lái)說(shuō),用C語(yǔ)言的開發(fā)周期通常要小于匯編語(yǔ)言很多。綜合以上C語(yǔ)言的優(yōu)點(diǎn),在設(shè)計(jì)時(shí)選擇了C語(yǔ)言。
這里給出右半屏送命令/數(shù)據(jù)程序,說(shuō)明SPCE061A單片機(jī)程序設(shè)計(jì)中對(duì)IOA /IOB口的設(shè)置。凌陽(yáng)單片機(jī)控制液晶顯示部分程序如下:
本系統(tǒng)調(diào)試采用的是凌陽(yáng)61板(即SPCE061A EMU BOARD)和u'nSP IDE 集成開發(fā)環(huán)境。硬件調(diào)試較為簡(jiǎn)單,只需調(diào)節(jié)好液晶的對(duì)比度和背光亮度即可;在軟件方面,使用凌陽(yáng)u'nSP IDE 軟件來(lái)編譯調(diào)試液晶程序。
在調(diào)試中字模數(shù)據(jù)來(lái)自字模生成軟件Zimo3,其生成的字模數(shù)據(jù)在本程序中不能直接使用,運(yùn)行結(jié)果會(huì)出現(xiàn)字體的上下部分顛倒,需要將其順序反轉(zhuǎn)。
調(diào)試效果達(dá)到了程序設(shè)計(jì)的要求。
評(píng)論