余 江,劉赫洋,姜欣欣
(延邊大學(xué)工學(xué)院,電子信息工程專(zhuān)業(yè),吉林 延吉 133002)
隨著社會(huì)的發(fā)展,各種各樣的液晶顯示器應(yīng)運(yùn)而生,且廣泛應(yīng)用于儀器儀表、通信產(chǎn)品、醫(yī)療設(shè)備及家用電器等設(shè)備,可精確且及時(shí)地顯示各種參數(shù)的數(shù)據(jù),由人或機(jī)器監(jiān)測(cè),從而有效控制各種事故的發(fā)生。
目前,作為教學(xué)用途的中低端液晶顯示器主要以LCD1602、LCD12864為主,具有低功耗、控制簡(jiǎn)單及成本較低等優(yōu)點(diǎn);缺點(diǎn)是尺寸有限,LCD1602顯示容量為16×2個(gè)字符,LCD12864具有128×64點(diǎn)陣液晶的點(diǎn)陣數(shù),故顯示的信息量不足。
因此,在不增加液晶顯示器數(shù)量的條件下,設(shè)計(jì)能使液晶顯示器翻頁(yè)的功能,使液晶顯示器能夠顯示更多的信息。
本文以LCD1602液晶顯示器為例,針對(duì)相應(yīng)紅外按鍵控制液晶顯示器翻頁(yè)的設(shè)計(jì)問(wèn)題進(jìn)行了探討。
ATMEL公司開(kāi)發(fā)的AT89C51單片機(jī)是一款具有低電壓、高性能指標(biāo)的CMOS8位單片機(jī)[1]。片內(nèi)集成有4 KB的Flash存儲(chǔ)器和128 B的數(shù)據(jù)存儲(chǔ)器,擁有速度快、可靠性高及實(shí)時(shí)性好等特點(diǎn),被廣泛應(yīng)用于電子領(lǐng)域。
AT89C51擁有40個(gè)引腳,其中包括:4個(gè)8位并行I/O端口(P0口、P1口、P2口及P3口),5個(gè)中斷源,3個(gè)程序加密鎖,2個(gè)16位可編程定時(shí)器/計(jì)數(shù)器中斷,1個(gè)全雙工的異步串行口,1個(gè)看門(mén)狗定時(shí)器,同樣還擁有26個(gè)特殊功能寄存器[2]。
系統(tǒng)主要由紅外遙控器、紅外接收模塊、液晶顯示模塊及控制芯片AT89C51組成,其原理電路如圖1所示。
其中,38K載波由紅外遙控器中時(shí)基電路NE555產(chǎn)生,通過(guò)Q1管放大后與輸出信號(hào)進(jìn)行調(diào)制后發(fā)送,紅外接收電路對(duì)接收信號(hào)進(jìn)行監(jiān)控、放大、濾波及解調(diào)后輸出基帶信號(hào)。當(dāng)HS0038監(jiān)測(cè)到有38K紅外信號(hào)時(shí),就會(huì)在輸出端OUT輸出低電平;當(dāng)沒(méi)有38K信號(hào)時(shí),OUT引腳就會(huì)輸出高電平。OUT引腳接到了AT89C51的P3.3引腳上,通過(guò)觸發(fā)外部中斷1判斷高電平的時(shí)間,從而判斷數(shù)據(jù)位的電平的高低,讀8次數(shù)據(jù)位,從而讀出按鍵鍵碼后再對(duì)LCD1602液晶顯示屏進(jìn)行翻頁(yè)操作。
系統(tǒng)主程序流程如圖2所示。
系統(tǒng)初始化后,檢測(cè)是否成功接受完數(shù)據(jù),再判斷所發(fā)送數(shù)據(jù)格式中的按鍵鍵碼,并實(shí)現(xiàn)相應(yīng)的功能。
下面是I/O接口定義以及相關(guān)變量定義的代碼:
#include
#define LCD1602_DB P0 //數(shù)據(jù)并行輸出引腳
sbit LCD1602_RS=P1^1; //LCD1602數(shù)據(jù)、命令選擇引腳
sbit LCD1602_RW=P1^3; //LCD1602讀、寫(xiě)選擇引腳
sbit LCD1602_E=P1^5; //LCD1602使能引腳
sbit IR_INPUT=P3^3; //紅外接收引腳
bit irflag=0; //紅外接收標(biāo)志,收到一幀正確數(shù)據(jù)后置1
unsigned char ircode[4]; //紅外代碼接收緩沖區(qū)
unsigned char page; //液晶顯示器頁(yè)碼
圖1 系統(tǒng)原理圖
圖2 主程序流程圖
本裝置使用的紅外遙控器采用NEC協(xié)議,其數(shù)據(jù)格式包括了引導(dǎo)碼、用戶碼、用戶反碼、按鍵鍵碼、按鍵反碼及最后一位停止位。停止位主要起隔離作用,編程時(shí)不用考慮。其中數(shù)據(jù)編碼共4個(gè)字節(jié)32位[3]。
紅外接收引腳接到了AT89C51的P3.3引腳上,通過(guò)觸發(fā)外部中斷1判斷高電平的時(shí)間,從而判斷數(shù)據(jù)位的電平的高低,最終讀出按鍵鍵碼。
每按下一次紅外翻頁(yè)按鍵(可上下翻頁(yè)),LCD1602顯示屏?xí)⑿鲁鲆粋€(gè)新的界面,新界面不僅可靜態(tài)顯示,而且能動(dòng)態(tài)顯示,如圖3和圖4所示(只是其中部分顯示界面)。
本設(shè)計(jì)以AT89C51單片機(jī)、LCD1602、HS0038B紅外一體化接收探頭、紅外遙控器為系統(tǒng)構(gòu)成,并利用C51語(yǔ)言對(duì)所要實(shí)現(xiàn)的功能進(jìn)行編程,在不增加液晶顯示器數(shù)量的條件下,用紅外按鍵控制液晶顯示器進(jìn)行翻頁(yè),從而使液晶顯示器能夠顯示更多的信息量,更加有利于對(duì)顯示在液晶顯示屏的眾多參數(shù)進(jìn)行實(shí)時(shí)記錄與監(jiān)控,最終成功實(shí)現(xiàn)了預(yù)期的功能。
圖3 界面1顯示
圖4 界面2顯示