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