C51單片機(jī)應(yīng)用設(shè)計(jì)與技能訓(xùn)練(第2版)課件 6.12 掃一掃看教學(xué)課件:?jiǎn)纹瑱C(jī)與液晶顯示器的連接_第1頁(yè)
C51單片機(jī)應(yīng)用設(shè)計(jì)與技能訓(xùn)練(第2版)課件 6.12 掃一掃看教學(xué)課件:?jiǎn)纹瑱C(jī)與液晶顯示器的連接_第2頁(yè)
C51單片機(jī)應(yīng)用設(shè)計(jì)與技能訓(xùn)練(第2版)課件 6.12 掃一掃看教學(xué)課件:?jiǎn)纹瑱C(jī)與液晶顯示器的連接_第3頁(yè)
C51單片機(jī)應(yīng)用設(shè)計(jì)與技能訓(xùn)練(第2版)課件 6.12 掃一掃看教學(xué)課件:?jiǎn)纹瑱C(jī)與液晶顯示器的連接_第4頁(yè)
C51單片機(jī)應(yīng)用設(shè)計(jì)與技能訓(xùn)練(第2版)課件 6.12 掃一掃看教學(xué)課件:?jiǎn)纹瑱C(jī)與液晶顯示器的連接_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

單片機(jī)與液晶顯示器的連接單片機(jī)與液晶顯示器的連接

LCD(LiquidCrystalDisplay)是液晶顯示器的縮寫(xiě),液晶顯示器是一種被動(dòng)式的顯示器,即液晶本身并不發(fā)光,而是利用液晶經(jīng)過(guò)處理后能改變光線通過(guò)方向的特性,而達(dá)到白底黑字或黑底白字顯示的目的。液晶顯示器具有功耗低、抗干擾能力強(qiáng)等優(yōu)點(diǎn),因此被廣泛應(yīng)用。例如我們?cè)谑謾C(jī)、BP機(jī)、筆記本電腦和計(jì)算器上看到的都是液晶顯示屏幕。由于LCD的控制必須使用專(zhuān)用的驅(qū)動(dòng)電路,且LCD面板的接線需要采用特殊技巧,再加上LCD面板十分脆弱,因此一般不會(huì)單獨(dú)使用,而是將LCD面板、驅(qū)動(dòng)與控制電路組合成LCM模塊(LiquidCrystalDisplayMould,LCM)一起使用。LCM的種類(lèi)繁多,可以根據(jù)不同的場(chǎng)合、不同的需要選擇不同類(lèi)型的LCM,本書(shū)主要介紹1602字符型LCM(即兩行顯示,每行可顯示16個(gè)字符)。一、1602字符型LCM的特性及引腳功能1.字符型LCM的特性(1)具有字符發(fā)生器ROM(CharacterGenerateROM,CGROM),可顯示192個(gè)5×7點(diǎn)陣字符,LCM顯示的數(shù)字和字母部分的碼值,剛好與ACSII碼表中的數(shù)字和字母相同,所以在需要顯示數(shù)字和字母時(shí),只需要向LCM送入ASCII碼即可。(2)具有64B的自定義字符RAM(CharacterGenerateRAM,CGRAM),可自行定義8個(gè)5×7點(diǎn)陣字符。(3)具有80B的數(shù)據(jù)顯示存儲(chǔ)器(DataDisplayRAM,DDRAM)。2.字符型LCM的引腳功能字符型LCM通常有16個(gè)引腳,也有14個(gè)引腳,當(dāng)選用14個(gè)引腳的LCM時(shí),該LCM沒(méi)有背光。二、1602字特型LCM與單片機(jī)的連接1.直接訪問(wèn)方式連接該連接是由單片機(jī)的讀(—RD引腳)、寫(xiě)(—WR引腳)和高位地址線共同控制LCM的E端,由高位地址線其中的兩條分別與RS端和R/W端相連,由單片機(jī)的P0口LCM的DB0-DB7相連.這樣就構(gòu)成了三總線(數(shù)據(jù)DB、地址總線AB和控制總線CB)的連接方式,如圖所示。由于構(gòu)成了三總線的結(jié)構(gòu),所以在軟件控制上比較簡(jiǎn)單,用通過(guò)訪問(wèn)外部地址的方式就能訪問(wèn)LCM。但是,在使用這種連接方式時(shí)需要注意單片機(jī)的控制總線時(shí)序和地址總線時(shí)序必須要與LCM所需要的時(shí)序相匹配,否則將無(wú)法訪問(wèn)。LCM與單片機(jī)的直接訪問(wèn)方式連接電路2.間接控制方式連接是利用HD44780所具有的4位數(shù)據(jù)總線的功能,簡(jiǎn)化電路接口的一種連接方式,如圖8-2所示。直接訪問(wèn)方式連接電路中需要增加與非門(mén)和反相器,從原理圖上看很簡(jiǎn)單,但在實(shí)際焊接時(shí),增加兩個(gè)器件就增加了很多麻煩,另外增加器件也意味著增加了故障點(diǎn),所以在實(shí)際使用時(shí)并不采用此電路。在圖中,省去了4位數(shù)據(jù)線,電路連接十分簡(jiǎn)單,也沒(méi)有多余的器件,對(duì)于參加比賽來(lái)說(shuō)非常方便。LCM與單片機(jī)的間接控制方式連接2.間接控制方式連接但是由于LCM本身為速度較慢的器件,每一次數(shù)據(jù)傳輸大概需要幾十微秒至幾毫秒的時(shí)間,如果采用間接控制方式訪問(wèn),每傳送一個(gè)字節(jié)的數(shù)據(jù)需要訪問(wèn)兩次LCM,這將占用大量的時(shí)間,使CPU變得很繁忙,甚至影響CPU處理其他數(shù)據(jù)的傳輸速度。所以在實(shí)際的硬件電路連接中常采用如圖8-3所示的電路。采用這種連接方式不能構(gòu)成三總線的結(jié)構(gòu),所以不能通過(guò)地址的形式直接訪問(wèn),而是需要按照LCM的方式進(jìn)行數(shù)據(jù)的傳輸,同時(shí)由于數(shù)據(jù)總線使用了8條,所以在數(shù)據(jù)傳輸?shù)臅r(shí)間上與直接訪問(wèn)的時(shí)間相同,速度較間接控制方式提高了一倍,縮短了CPU對(duì)LCM的訪問(wèn)時(shí)間。常用的LCM與單片機(jī)的連接三、1602字符型LCM的指令集提示(1)對(duì)LCM操作主要是4種基本操作:寫(xiě)命令、寫(xiě)數(shù)據(jù)、讀狀態(tài)和讀數(shù)據(jù)。(2)在進(jìn)行寫(xiě)命令、寫(xiě)數(shù)據(jù)和讀數(shù)據(jù)三種操作之前,必須先查詢(xún)忙標(biāo)志,當(dāng)忙狀態(tài)BF為0時(shí),才能進(jìn)行這三種操作。(3)LCM上電時(shí),都必須按照一定時(shí)序?qū)CM進(jìn)行初始化操作,主要分以下四步:①設(shè)置LCM工作方式②設(shè)置顯示狀態(tài)③清屏:將光標(biāo)設(shè)置為第1行第1列④設(shè)置輸入方式:設(shè)置光標(biāo)移動(dòng)方向并確定整體顯示是否移動(dòng)(4)當(dāng)寫(xiě)一個(gè)顯示字符后,如果沒(méi)有再給光標(biāo)重新定位,則DDRAM地址會(huì)自動(dòng)加1或減1。(5)對(duì)LCM的讀寫(xiě)操作必須符合讀寫(xiě)操作時(shí)序,并要有一定的延時(shí)。①讀操作時(shí),先設(shè)置RS和R/W狀態(tài),再設(shè)置E信號(hào)為高,這時(shí)從數(shù)據(jù)口讀取數(shù)據(jù),然后將E信號(hào)置低。②寫(xiě)操作時(shí),先設(shè)置RS和R/W狀態(tài),再設(shè)置數(shù)據(jù),然后產(chǎn)生E的脈沖案例英文字符的液晶顯示控制利用基于HD44780控制芯片的1602液晶顯示兩行字符“Welcomeyou!”和“GuangZhou,2010”

。源程序(lcd.c)//液晶控制與顯示程序#include<reg51.h>unsignedcharcount;sbitrs=P2^0;sbitrw=P2^1;sbiten=P2^2;voiddelay(unsignedintdely){unsignedchardely1;for(;dely>0;dely--)for(dely1=10;dely1>0;dely1--);}//液晶顯示器判忙函數(shù)unsignedcharbusy(){unsignedcharlcd_status;rs=0;//寄存器選擇

rw=1;//讀狀態(tài)寄存器

en=1;//開(kāi)始讀

delay(100);lcd_status=P0;en=0;returnlcd_status;}源程序(lcd.c)//向液晶顯示器寫(xiě)命令函數(shù)voidWR_Com(unsignedchartemp){//忙等待

while((busy()&0x80)==0x80);

rs=0;//選擇命令寄存器rw=0;//寫(xiě)

P0=temp;en=1;en=0;}//向液晶顯示器寫(xiě)數(shù)據(jù)函數(shù)voidWR_Data(unsignedchardat){while((busy()&0x80)==0x80);

//向液晶顯示器寫(xiě)數(shù)據(jù)

rs=1;rw=0;P0=dat;en=1;en=0;}源程序(lcd.c)//向液晶顯示器寫(xiě)入顯示數(shù)據(jù)函數(shù)//入口條件:液晶顯示器行首地址(指示第一行還是第二行)和待顯示數(shù)組的首地址voiddisp_lcd(unsignedcharaddr,unsignedchar*pstr){unsignedchari;WR_Com(addr);delay(100);for(i=0;i<16;i++){WR_Data(pstr[i]);delay(100);}}源程序(lcd.c)//液晶顯示器初始化函數(shù)voidlcd_init(){WR_Com(0x38);//設(shè)置數(shù)據(jù)長(zhǎng)度為8位、雙行顯示、5×7點(diǎn)陣字符

delay(100);WR_Com(0x01);//清屏

delay(100);WR_Com(0x06);//字符進(jìn)入模式:屏幕不動(dòng),字符后移

delay(100);WR_Com(0x0c);//顯示開(kāi),光標(biāo)關(guān)

delay(100);}源程序(主程序main.c)//main.c主程序unsignedcharwelcome[16]="Welcomeyou!";unsignedcharaddr[16]="GuangZhou,2010";voidlcd_init();//函數(shù)原型說(shuō)明voiddisp_lcd(unsignedchar,unsignedchar*);//函數(shù)原型說(shuō)明voidmain(){inti=0;lcd_init();disp_lcd(0x82,welcome);while(1){}}disp_lcd(0xc0,addr+i);i++;if(i>strlen(addr))i=0;delay(10000);案例空調(diào)預(yù)置溫度的顯示控制兩個(gè)LED數(shù)碼管用于顯示人工設(shè)置的希望環(huán)境溫度值(簡(jiǎn)稱(chēng)預(yù)置溫度),當(dāng)實(shí)際環(huán)境溫度高于該預(yù)置溫度,則啟動(dòng)壓縮機(jī)。兩個(gè)LED數(shù)碼管段選線分別連接到80C51的P1上,即兩位預(yù)置溫度的顯示是通過(guò)將預(yù)置溫度十位、個(gè)位數(shù)字BCD碼分別由P1送入LED數(shù)碼管來(lái)實(shí)現(xiàn)。

顯示程序

#include<reg51.h>unsignedchartemp=30;main(){unsignedchart10,t;

t10=temp/10;t=temp%10;P0=(t10<<4)|(t&0x0f);while(1);}液晶顯示預(yù)置溫度本任務(wù)的任務(wù)準(zhǔn)備專(zhuān)門(mén)介紹了液晶顯示器顯示,空調(diào)制冷控制系統(tǒng)也可以使用液晶顯示預(yù)置溫度和當(dāng)前環(huán)境溫度,如果本案例改用液晶顯示預(yù)置溫度,將如何修改程序?電路圖仍可采用圖8-4的電路,假設(shè)預(yù)置溫度為30度,當(dāng)前環(huán)境溫度為32度,則液晶顯示模塊lcd.c可不必修改(見(jiàn)例8-1),只需修改主程序main.c。主程序main.c#include<string.h>unsignedcharcurrT[16]="CurrentT:";unsignedcharsetT[16]="SetTemp:";unsignedcharsetTemp=30,currTemp=32;voidlcd_init();voiddisp_lcd(unsignedchar,unsignedchar*);voidformat_Data(unsignedchartemp,unsignedchar*stemp)//將溫度值轉(zhuǎn)換為字符串{stemp[0]=temp/10+'0';//將十位數(shù)字轉(zhuǎn)換成ASCII碼字符

stemp[1]=temp%10+'0';//將個(gè)位數(shù)字轉(zhuǎn)換成ASCII碼字符}主程序main.cvoidmain(){unsignedcharstemp[2];//一定要定義為數(shù)組,不能為指針,否則溫度顯示不了

lcd_init();format_Data(currTemp,stemp);disp_lcd(0x80,currT);disp_lcd(0x8a,stemp);format_Data(setTemp,stemp);disp_lcd(0xc0,setT);di

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論