文字電話的液晶顯示與實(shí)現(xiàn)
2.1 初始化與等待界面設(shè)計(jì)
初始化流程圖如圖2所示,在系統(tǒng)上電后程序開(kāi)始運(yùn)行,進(jìn)行液晶顯示模塊的初始化,針對(duì)dsPIC33F數(shù)字控制器和NT7603液晶控制器,初始化程序主要包括對(duì)相關(guān)引腳的分配,引腳的輸入輸出設(shè)置,液晶模塊的功能設(shè)置,開(kāi)關(guān)顯示和光標(biāo)控制,輸入方式設(shè)置。設(shè)置液晶輸入輸出為8位,兩行同時(shí)顯示,顯示字符為5x8點(diǎn)陣;開(kāi)顯示,關(guān)光標(biāo)與光標(biāo)閃爍;每次讀寫操作后,AC自動(dòng)加一,關(guān)移位顯示。這些完成之后就可以進(jìn)行顯示界面的設(shè)計(jì)。本文引用地址:http://butianyuan.cn/article/159286.htm
由于NT7603自帶字庫(kù)為英文字庫(kù),所以要顯示漢字需要自建字庫(kù),漢字的字??梢宰约涸O(shè)計(jì),也可以使用字模提取軟件。用戶也可以根據(jù)自己的需要設(shè)計(jì)一些小圖標(biāo),圖標(biāo)的點(diǎn)陣數(shù)據(jù)也要通過(guò)CGRAM地址設(shè)置指令保存到CGRAM中,調(diào)用時(shí)直接向DDRAM中寫入圖標(biāo)地址即可,圖3為一種設(shè)計(jì)的等待界面。為了使顯示界面更加生動(dòng),利用NT7603的移位顯示指令可以實(shí)現(xiàn)等待界面的滾屏設(shè)計(jì)。以圖3的顯示內(nèi)容為例,把代表第一行中“文字電話”的數(shù)組的顯示地址設(shè)置成0x87和0x9b,把第二行心形圖標(biāo)的顯示地址分別設(shè)置成0xc1、0xce、0xd5和0xe2,第二行字符數(shù)組的顯示地址設(shè)置成0xc4和0xd8,再調(diào)用移位顯示指令就可以實(shí)現(xiàn)等間隔的移位顯示。
2.2 通信中液晶顯示程序設(shè)計(jì)
文字電話所要實(shí)現(xiàn)的是雙方通信,所以在顯示屏的顯示設(shè)計(jì)上設(shè)定為顯示屏的上一行顯示的是作為發(fā)送方所發(fā)送的字符,在顯示屏的下一行顯示的是作為接收方接收到的字符,數(shù)據(jù)顯示的流程圖如圖4所示。在初始化程序中已經(jīng)設(shè)定好液晶模塊的輸入模式為每接收到一位數(shù)據(jù)后光標(biāo)自動(dòng)右移一位,當(dāng)光標(biāo)到達(dá)一行的最末時(shí),利用設(shè)定DDRAM地址指令重新在行首開(kāi)始顯示新一輪的數(shù)據(jù)。與以往的顯示方式不同,文字電話通信時(shí)所要顯示的內(nèi)容并不是預(yù)先設(shè)定好的,而是一個(gè)實(shí)時(shí)顯示的過(guò)程,需要用到dsPIC33F的緩沖器來(lái)臨時(shí)存儲(chǔ)所要顯示的字符數(shù)據(jù),由于文字電話的通信是在電話線上進(jìn)行的,所以所要顯示的數(shù)據(jù)在顯示之前還需要進(jìn)行調(diào)制和解調(diào)。對(duì)于通信的任意一方來(lái)說(shuō),自己發(fā)送出去的數(shù)據(jù)一方面不需要調(diào)制,直接在液晶屏的第一行進(jìn)行顯示,同樣這組數(shù)據(jù)也要送到調(diào)制緩沖器中進(jìn)行調(diào)制,以便于送到由話線去講行傳輸。
2.3 小圖標(biāo)顯示設(shè)計(jì)
NT7603為點(diǎn)陣型的液晶顯示模塊,可以通過(guò)控制像素點(diǎn)的亮暗來(lái)顯示一些圖標(biāo),NT7603的顯示方式為5x8點(diǎn)陣顯示,掃描方式為先行后列,每行為一個(gè)字節(jié),由于每行的顯示像素為5個(gè),所以行字節(jié)的前三位始終置零,后五位根據(jù)像素的亮暗情況置一或者置零。例如,圖3中心形圖案對(duì)應(yīng)的顯示數(shù)據(jù)為0x0c.0x1e,0x1f,0x1f,0x0f,0x07,0x03,0x01,0x06,0x0f,0x1f,0x1f,0x1e,0x1c,0x18,0x10,這里用到了兩個(gè)5x8的點(diǎn)陣來(lái)顯示一個(gè)心形圖案。同樣的,圖3中的“文字電話”這幾個(gè)字也可以用這種方法進(jìn)行顯示設(shè)計(jì)。
2.4 文字電話的顯示實(shí)現(xiàn)
文字電話實(shí)現(xiàn)使用Microchip公司生產(chǎn)的dsPIC33F數(shù)字信號(hào)控制器,16位開(kāi)發(fā)板與音頻子板,調(diào)試燒寫器使用MPLAB ICD3,使用超級(jí)終端模擬文字電話的全鍵盤,通信雙方之間用音頻線連接。編寫好程序后利用MPLAB IDE開(kāi)發(fā)環(huán)境與C30編譯器進(jìn)行編譯與調(diào)試,成功后可以用在線編譯器把程序燒寫到單片機(jī)中,這樣通信雙方的開(kāi)發(fā)板通電后即可完成文字電話的顯示。經(jīng)過(guò)試驗(yàn)驗(yàn)證,利用dsPIC33F數(shù)字信號(hào)控制器與16位開(kāi)發(fā)板可以成功實(shí)現(xiàn)文字電話的顯示。
3 結(jié)束語(yǔ)
基于dsPIC33F數(shù)字信號(hào)控制器與TSB1G7000液晶顯示模塊的特點(diǎn),設(shè)計(jì)了一種低成本的文字電話顯示方案,此液晶顯示方案可以實(shí)現(xiàn)雙方通信,實(shí)現(xiàn)方式簡(jiǎn)單,又可以設(shè)計(jì)一些個(gè)性化的小圖標(biāo),同時(shí)可以充分利用Microchip公司的開(kāi)發(fā)環(huán)境與調(diào)試燒寫器,大大簡(jiǎn)化了開(kāi)發(fā)過(guò)程。此方案不需要對(duì)液晶顯示原理進(jìn)行深入的學(xué)習(xí)和了解,也不需要擔(dān)心單片機(jī)速度與液晶匹配的問(wèn)題,只需要了解液晶顯示控制器的控制字就可以進(jìn)行編程完成顯示任務(wù)。
評(píng)論