當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]1 引言隨著信息產(chǎn)業(yè)的迅速發(fā)展,作為信息顯示終端之一的LCD器件也得到了空前的發(fā)展。液晶顯示器(LCD)具有顯示信息豐富、功耗低、體積小、重量輕、超薄等許多其他顯示器無(wú)法比擬的優(yōu)點(diǎn)。近些年來(lái)被廣泛應(yīng)用于單片機(jī)控

1 引言

隨著信息產(chǎn)業(yè)的迅速發(fā)展,作為信息顯示終端之一的LCD器件也得到了空前的發(fā)展。液晶顯示器(LCD)具有顯示信息豐富、功耗低、體積小、重量輕、超薄等許多其他顯示器無(wú)法比擬的優(yōu)點(diǎn)。近些年來(lái)被廣泛應(yīng)用于單片機(jī)控制的智能儀器、儀表和低功耗電子產(chǎn)品中。為L(zhǎng)CD配置驅(qū)動(dòng)電路,就形成了液晶顯示模塊LCM(Liquid Crystal Module)。它的基本組成部件除了LCD、驅(qū)動(dòng)電路外一般還有連接件、背光源等。液晶顯示模塊同一個(gè)系統(tǒng)中的其他電路一樣,有簡(jiǎn)單的接口,并提供了豐富的控制顯示的指令系統(tǒng)。為整機(jī)的開發(fā)節(jié)約了時(shí)間。AVR單片機(jī)是Atmel公司推出的具有精簡(jiǎn)指令集RISC結(jié)構(gòu)的新型8位單片機(jī)。具有豐富的硬件接口。它采用低功耗、非揮發(fā)的CMOS工藝制造,內(nèi)部分別集成Flash、EEPROM和SRAM三種不同性能和用途的存儲(chǔ)器。除了可以通過(guò)SPI口和一般的編程器對(duì)AVR單片機(jī)的Flash程序存儲(chǔ)器和EEPROM數(shù)據(jù)存儲(chǔ)器進(jìn)行編程外,大多數(shù)的AVR單片機(jī)還具有ISP在線編程和IAP在級(jí)應(yīng)用編程的特點(diǎn)。其中一些高檔的AVR單片機(jī),例如ATmega64、ATmegal28等還具有mG接口。這些優(yōu)點(diǎn)為使用AVR單片機(jī)開發(fā)設(shè)計(jì)和生產(chǎn)產(chǎn)品提供了極大的方便。

介紹了圖像點(diǎn)陣式液晶模塊CM320240與AVR單片機(jī)ATmega64相結(jié)合實(shí)現(xiàn)終端設(shè)備顯示控制的一種方法。給出了硬件電路的設(shè)計(jì)以及系統(tǒng)軟件架構(gòu)的搭建,并闡述了一種樹形菜單界面的設(shè)計(jì)方法。

2系統(tǒng)硬件設(shè)計(jì)

2.1 液晶模塊CM3XPA0-7及ATmega64單片機(jī)簡(jiǎn)介

CM320240-7是一個(gè)中英文文字與繪圖模式的點(diǎn)陣式液晶顯示模塊(LCM),點(diǎn)陣數(shù)是320*240。內(nèi)建512KB的ROM字型碼,可以顯示中文字型、數(shù)字符號(hào)、英日歐文等字母。在文字模式中,可接受標(biāo)準(zhǔn)中文文字內(nèi)碼直接顯示中文,而不需要進(jìn)入繪圖模式描述中文,可以節(jié)省許多微處理器時(shí)間,提升液晶顯示中文的處理效率。ATmaga64是一款高檔的AVR單片機(jī),具有豐富的硬件資源。

(1)先進(jìn)的RISC結(jié)構(gòu),130條指令,大多數(shù)指令執(zhí)行時(shí)間為單個(gè)時(shí)鐘周期,32個(gè)8位通用工作寄存器。全靜態(tài)工作,工作于16MHz時(shí)性能高達(dá)16MIPs,只需兩個(gè)時(shí)鐘周期的硬件乘法器。

(2)非易失性程序和數(shù)據(jù)存儲(chǔ)器。64K字節(jié)系統(tǒng)可編程Flash,具有獨(dú)立鎖定位的可選Boot代碼區(qū),通過(guò)片上Boot程序?qū)崿F(xiàn)系統(tǒng)內(nèi)編程真正的讀寫同時(shí)操作2K字節(jié)的EEPROM,4K字節(jié)片內(nèi)SRAM,64K字節(jié)可選外部程序存儲(chǔ)空間,可以對(duì)鎖定位進(jìn)行編程以實(shí)現(xiàn)用戶程序的加密。

(3)JTAG接口(與IEEE1149.1標(biāo)準(zhǔn)兼容),符合JrI"AG標(biāo)準(zhǔn)的邊界掃描功能,支持?jǐn)U展的片內(nèi)調(diào)試功能,可以通過(guò)JTAG接口實(shí)現(xiàn)Flash、EEPROM、熔絲位和鎖定位的編程。

(4)外設(shè)豐富,兩個(gè)具有獨(dú)立預(yù)分頻器和比較器功能的8位定時(shí)器/計(jì)數(shù)器。兩個(gè)具有預(yù)分頻器、比較功能和捕捉功能的16位定時(shí)器/計(jì)數(shù)器。具有獨(dú)立振蕩器的實(shí)時(shí)計(jì)數(shù)器RTC,兩路8位PWM通道。8路十位ADC,面向字節(jié)的兩線接口"冊(cè),與12C完全兼容。兩個(gè)可編程的串行USART,可工作于主杌/從機(jī)模式的SPI串行接口。具有獨(dú)立片內(nèi)振蕩器的可編程看門狗定時(shí)器。

(5)還具有一些特殊的處理器特點(diǎn):上電復(fù)位以及可編程的掉電檢測(cè),片內(nèi)經(jīng)過(guò)標(biāo)定的RC振蕩器,軟件選擇時(shí)鐘頻率,具有六種睡眠模式。

2.2系統(tǒng)硬件組成

系統(tǒng)硬件平臺(tái)主要由MCU、人機(jī)接口(液晶模塊和鍵盤)、通信接口三部分組成,系統(tǒng)框圖如圖1所示。


圖1系統(tǒng)硬件框圖

單片機(jī)與設(shè)備主機(jī)之間使用標(biāo)準(zhǔn)的UART串口通信,硬件接13比較簡(jiǎn)單,加一片TTL到RS232的電平轉(zhuǎn)換芯片即可。

鍵盤我們采用常用的六鍵小鍵盤,即回車、返回、上、下、左、右。由于ATmega64單片機(jī)的I/O資源比較豐富,共有53個(gè)可編程的I/O口,并且我們采用六鍵鍵盤,因此可以直接將按鍵連到I/O口上面。如果使用較多的按鍵開關(guān),還可以使用矩陣鍵盤的方式以節(jié)省I/O,這里不贅述。AVR單片機(jī)的I/O端口具有上拉電阻,所以我們無(wú)需加外部上拉電阻,只需軟件初始化的時(shí)候使能這些按鍵接口的上拉電阻即可。將每個(gè)按鍵的一端接地,另一端除了分別連接到PC0一PC5端口之外,還連接到一個(gè)與非門上面,與非門的輸出腳連到單片機(jī)的一個(gè)外部中斷上面。這樣,當(dāng)任意一個(gè)按鍵按下的時(shí)候。與非門的輸出都由低變高,使單片機(jī)產(chǎn)生中斷。所以既可以使用查詢方式進(jìn)行鍵盤操作,也可以使用中斷方式,增加了設(shè)計(jì)靈活性。

CM320240-7液晶模塊支持8080和6800系列的MCU,同時(shí)也提供了4一Bit或8一Bit的數(shù)據(jù)總線接口。我們這里使用的是8080方式下的8一Bit數(shù)據(jù)總線接口,8080系列MCU與6800系列的MCU最大的不同是讀、寫的控制信號(hào)是分開的,RD為低時(shí)進(jìn)行讀取動(dòng)作,WR為低時(shí)進(jìn)行寫入動(dòng)作。MCU對(duì)液晶模塊的命令寄存器和DisplayRAM進(jìn)行讀寫操作時(shí)是有一些不同的:如果是對(duì)寄存器進(jìn)行讀寫操作,MCU必須先通過(guò)數(shù)據(jù)總線送出寄存器的地址,然后才能在數(shù)據(jù)總線上讀寫寄存器資料;如果是對(duì)DisplayRAM進(jìn)行讀寫操作,MCU可以直接在數(shù)據(jù)總線上讀取和寫入DisplayRAM的資料。需要注意的是:初始化的時(shí)候,讀寫控制信號(hào)一定先置高,讀寫操作都禁能,否則會(huì)造成后面時(shí)序的紊亂,即使后面的讀寫程序正確,液晶模塊也不會(huì)有任何顯示。AVR單片機(jī)的IO管腳即使不用,初始化的時(shí)候也要給它一個(gè)確定的狀態(tài),否則容易出問(wèn)題。

液晶模塊的八位數(shù)據(jù)總線直接連到單片機(jī)的PA口上面,幾個(gè)控制管腳連到單片機(jī)的普通IO上即可。值得注意的就是液晶模塊對(duì)比度的控制,在LCD驅(qū)動(dòng)電壓輸入端V0和LCD驅(qū)動(dòng)電壓輸出端VEE之間必須接一可調(diào)電阻,阻值20K左右,用于調(diào)節(jié)液晶模塊的對(duì)比度。VEE輸出固定為-23V.

通過(guò)實(shí)踐,當(dāng)Vo輸入為-18V左右的時(shí)候效果最好。我們希望平時(shí)不用的時(shí)候,液晶背光燈關(guān)閉以節(jié)省功耗,當(dāng)進(jìn)行鍵盤操作的時(shí)候喚醒。所以在液晶模塊背光電源的輸人端加一個(gè)開關(guān)管控制。液晶模塊與ATmaga64單片機(jī)的接口電路如圖2所示。


圖2液晶模塊接口電路

3系統(tǒng)軟件架構(gòu)

AVR單片機(jī)的軟件開發(fā)使用的集成開發(fā)環(huán)境是Atmel公司提供的AVR Studio.為了能夠使用C語(yǔ)言進(jìn)行軟件開發(fā),還必須另外安裝C編譯器。目前有許多關(guān)于AVR的C編譯器,常用的是GCC(即WINAVR)、ICC、IAR以及CodeVisionAVR等。其中GCC是公開源代碼的自由軟件,使用它完全不必考慮價(jià)格因素,因此無(wú)論是GCC本身還是與CCC配套的AVR編譯包,其更新速度和效率都是其他開發(fā)工具所不能比擬的。用GCC編寫的源程序可讀性和可移植性都很高。本文所涉及到的軟件開發(fā)就是利用AVR Studio和GCC.

3.1 系統(tǒng)軟件整體框架

整個(gè)終端顯控系統(tǒng)的功能就是為了能夠顯示設(shè)備內(nèi)部工況,并能夠設(shè)置一些參數(shù),所以最主要的就是顯控系統(tǒng)跟設(shè)備主機(jī)之間的數(shù)據(jù)交互以及美觀舒適的人機(jī)交互界面。數(shù)據(jù)交互以及界面的切換也要配合鍵盤的操作。同時(shí)應(yīng)當(dāng)增加睡眠模式,即平時(shí)不進(jìn)行操作的時(shí)候可以關(guān)閉背光燈,關(guān)掉一些模塊,當(dāng)用戶使用鍵盤的時(shí)候,產(chǎn)生鍵盤中斷,從睡眠模式喚醒。因此我們可以定出系統(tǒng)軟件的基本架構(gòu),如圖3所示。


圖3主程序流程圖

3.2樹狀菜單界面的軟件設(shè)計(jì)

可以看出系統(tǒng)軟件整體框架也比較簡(jiǎn)單,重點(diǎn)是在于如何跟設(shè)備主機(jī)進(jìn)行數(shù)據(jù)交互,同時(shí)配合菜單顯示,下面我們就介紹一種樹狀菜單界面的軟件設(shè)計(jì)。這種方法將整個(gè)菜單看作一個(gè)樹形結(jié)構(gòu),每個(gè)菜單界面則是菜單樹上的一個(gè)節(jié)點(diǎn):其父節(jié)點(diǎn)為當(dāng)前菜單的上一級(jí)菜單,子節(jié)點(diǎn)為當(dāng)前菜單的第一個(gè)子菜單;左右節(jié)點(diǎn)為當(dāng)前菜單的"兄弟"菜單,也就是其上一級(jí)菜單的其余子菜單。

對(duì)每個(gè)節(jié)點(diǎn)進(jìn)行編號(hào),定義一個(gè)長(zhǎng)整數(shù)D為節(jié)點(diǎn)號(hào),根節(jié)點(diǎn)D=l,考慮到有的節(jié)點(diǎn)其子菜單大于10,子菜單為父菜單ID乘100再加上下級(jí)菜單在上級(jí)菜單中對(duì)應(yīng)的子項(xiàng)ID(1,2,……),這樣第1級(jí)子菜單的ID就分別為101,102,103.對(duì)應(yīng)IDl01的下級(jí)ID即為10101,10102,10103……,這樣,不同的按鍵操作對(duì)應(yīng)不同的菜單節(jié)點(diǎn)搜索方法,即每次只需要修改全局的節(jié)點(diǎn)號(hào)ID即可。我們同時(shí)還可以定義幾個(gè)全局變量來(lái)代表每級(jí)菜單的子菜單數(shù)、鄰近菜單數(shù)以及菜單類型,這樣,我們可以更加方便的在各個(gè)菜單之間切換。鍵盤配合菜單切換的程序流程如圖4所示。


圖4菜單選擇程序流程

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉