樹狀菜單界面的軟件設(shè)計方案分析
1 引言
本文引用地址:http://www.ex-cimer.com/article/171499.htm隨著信息產(chǎn)業(yè)的迅速發(fā)展,作為信息顯示終端之一的LCD器件也得到了空前的發(fā)展。液晶顯示器(LCD)具有顯示信息豐富、功耗低、體積小、重量輕、超薄等許多其他顯示器無法比擬的優(yōu)點。近些年來被廣泛應(yīng)用于單片機控制的智能儀器、儀表和低功耗電子產(chǎn)品中。為LCD配置驅(qū)動電路,就形成了液晶顯示模塊LCM(Liquid Crystal Module)。它的基本組成部件除了LCD、驅(qū)動電路外一般還有連接件、背光源等。液晶顯示模塊同一個系統(tǒng)中的其他電路一樣,有簡單的接口,并提供了豐富的控制顯示的指令系統(tǒng)。為整機的開發(fā)節(jié)約了時間。AVR單片機是Atmel公司推出的具有精簡指令集RISC結(jié)構(gòu)的新型8位單片機。具有豐富的硬件接口。它采用低功耗、非揮發(fā)的CMOS工藝制造,內(nèi)部分別集成Flash、EEPROM和SRAM三種不同性能和用途的存儲器。除了可以通過SPI口和一般的編程器對AVR單片機的Flash程序存儲器和EEPROM數(shù)據(jù)存儲器進(jìn)行編程外,大多數(shù)的AVR單片機還具有ISP在線編程和IAP在級應(yīng)用編程的特點。其中一些高檔的AVR單片機,例如ATmega64、ATmegal28等還具有mG接口。這些優(yōu)點為使用AVR單片機開發(fā)設(shè)計和生產(chǎn)產(chǎn)品提供了極大的方便。
介紹了圖像點陣式液晶模塊CM320240與AVR單片機ATmega64相結(jié)合實現(xiàn)終端設(shè)備顯示控制的一種方法。給出了硬件電路的設(shè)計以及系統(tǒng)軟件架構(gòu)的搭建,并闡述了一種樹形菜單界面的設(shè)計方法。
2系統(tǒng)硬件設(shè)計
2.1 液晶模塊CM3XPA0-7及ATmega64單片機簡介
CM320240-7是一個中英文文字與繪圖模式的點陣式液晶顯示模塊(LCM),點陣數(shù)是320*240。內(nèi)建512KB的ROM字型碼,可以顯示中文字型、數(shù)字符號、英日歐文等字母。在文字模式中,可接受標(biāo)準(zhǔn)中文文字內(nèi)碼直接顯示中文,而不需要進(jìn)入繪圖模式描述中文,可以節(jié)省許多微處理器時間,提升液晶顯示中文的處理效率。ATmaga64是一款高檔的AVR單片機,具有豐富的硬件資源。
(1)先進(jìn)的RISC結(jié)構(gòu),130條指令,大多數(shù)指令執(zhí)行時間為單個時鐘周期,32個8位通用工作寄存器。全靜態(tài)工作,工作于16MHz時性能高達(dá)16MIPs,只需兩個時鐘周期的硬件乘法器。
(2)非易失性程序和數(shù)據(jù)存儲器。64K字節(jié)系統(tǒng)可編程Flash,具有獨立鎖定位的可選Boot代碼區(qū),通過片上Boot程序?qū)崿F(xiàn)系統(tǒng)內(nèi)編程真正的讀寫同時操作2K字節(jié)的EEPROM,4K字節(jié)片內(nèi)SRAM,64K字節(jié)可選外部程序存儲空間,可以對鎖定位進(jìn)行編程以實現(xiàn)用戶程序的加密。
(3)JTAG接口(與IEEE1149.1標(biāo)準(zhǔn)兼容),符合JrIAG標(biāo)準(zhǔn)的邊界掃描功能,支持?jǐn)U展的片內(nèi)調(diào)試功能,可以通過JTAG接口實現(xiàn)Flash、EEPROM、熔絲位和鎖定位的編程。
(4)外設(shè)豐富,兩個具有獨立預(yù)分頻器和比較器功能的8位定時器/計數(shù)器。兩個具有預(yù)分頻器、比較功能和捕捉功能的16位定時器/計數(shù)器。具有獨立振蕩器的實時計數(shù)器RTC,兩路8位PWM通道。8路十位ADC,面向字節(jié)的兩線接口冊,與12C完全兼容。兩個可編程的串行USART,可工作于主杌/從機模式的SPI串行接口。具有獨立片內(nèi)振蕩器的可編程看門狗定時器。
(5)還具有一些特殊的處理器特點:上電復(fù)位以及可編程的掉電檢測,片內(nèi)經(jīng)過標(biāo)定的RC振蕩器,軟件選擇時鐘頻率,具有六種睡眠模式。
2.2系統(tǒng)硬件組成
系統(tǒng)硬件平臺主要由MCU、人機接口(液晶模塊和鍵盤)、通信接口三部分組成,系統(tǒng)框圖如圖1所示。
圖1系統(tǒng)硬件框圖
單片機與設(shè)備主機之間使用標(biāo)準(zhǔn)的UART串口通信,硬件接13比較簡單,加一片TTL到RS232的電平轉(zhuǎn)換芯片即可。
鍵盤我們采用常用的六鍵小鍵盤,即回車、返回、上、下、左、右。由于ATmega64單片機的I/O資源比較豐富,共有53個可編程的I/O口,并且我們采用六鍵鍵盤,因此可以直接將按鍵連到I/O口上面。如果使用較多的按鍵開關(guān),還可以使用矩陣鍵盤的方式以節(jié)省I/O,這里不贅述。AVR單片機的I/O端口具有上拉電阻,所以我們無需加外部上拉電阻,只需軟件初始化的時候使能這些按鍵接口的上拉電阻即可。將每個按鍵的一端接地,另一端除了分別連接到PC0一PC5端口之外,還連接到一個與非門上面,與非門的輸出腳連到單片機的一個外部中斷上面。這樣,當(dāng)任意一個按鍵按下的時候。與非門的輸出都由低變高,使單片機產(chǎn)生中斷。所以既可以使用查詢方式進(jìn)行鍵盤操作,也可以使用中斷方式,增加了設(shè)計靈活性。
CM320240-7液晶模塊支持8080和6800系列的MCU,同時也提供了4一Bit或8一Bit的數(shù)據(jù)總線接口。我們這里使用的是8080方式下的8一Bit數(shù)據(jù)總線接口,8080系列MCU與6800系列的MCU最大的不同是讀、寫的控制信號是分開的,RD為低時進(jìn)行讀取動作,WR為低時進(jìn)行寫入動作。MCU對液晶模塊的命令寄存器和DisplayRAM進(jìn)行讀寫操作時是有一些不同的:如果是對寄存器進(jìn)行讀寫操作,MCU必須先通過數(shù)據(jù)總線送出寄存器的地址,然后才能在數(shù)據(jù)總線上讀寫寄存器資料;如果是對DisplayRAM進(jìn)行讀寫操作,MCU可以直接在數(shù)據(jù)總線上讀取和寫入DisplayRAM的資料。需要注意的是:初始化的時候,讀寫控制信號一定先置高,讀寫操作都禁能,否則會造成后面時序的紊亂,即使后面的讀寫程序正確,液晶模塊也不會有任何顯示。AVR單片機的IO管腳即使不用,初始化的時候也要給它一個確定的狀態(tài),否則容易出問題。
液晶模塊的八位數(shù)據(jù)總線直接連到單片機的PA口上面,幾個控制管腳連到單片機的普通IO上即可。值得注意的就是液晶模塊對比度的控制,在LCD驅(qū)動電壓輸入端V0和LCD驅(qū)動電壓輸出端VEE之間必須接一可調(diào)電阻,阻值20K左右,用于調(diào)節(jié)液晶模塊的對比度。VEE輸出固定為-23V.
通過實踐,當(dāng)Vo輸入為-18V左右的時候效果最好。我們希望平時不用的時候,液晶背光燈關(guān)閉以節(jié)省功耗,當(dāng)進(jìn)行鍵盤操作的時候喚醒。所以在液晶模塊背光電源的輸人端加一個開關(guān)管控制。液晶模塊與ATmaga64單片機的接口電路如圖2所示。
圖2液晶模塊接口電路
led顯示器相關(guān)文章:led顯示器原理
分頻器相關(guān)文章:分頻器原理 塵埃粒子計數(shù)器相關(guān)文章:塵埃粒子計數(shù)器原理 上拉電阻相關(guān)文章:上拉電阻原理
評論