單片機(jī)應(yīng)用技術(shù)項目化教程課件-項目9 電話撥號液晶顯示系統(tǒng)設(shè)計_第1頁
單片機(jī)應(yīng)用技術(shù)項目化教程課件-項目9 電話撥號液晶顯示系統(tǒng)設(shè)計_第2頁
單片機(jī)應(yīng)用技術(shù)項目化教程課件-項目9 電話撥號液晶顯示系統(tǒng)設(shè)計_第3頁
單片機(jī)應(yīng)用技術(shù)項目化教程課件-項目9 電話撥號液晶顯示系統(tǒng)設(shè)計_第4頁
單片機(jī)應(yīng)用技術(shù)項目化教程課件-項目9 電話撥號液晶顯示系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

*開封大學(xué)單片機(jī)課件制作組項目9電話撥號液晶顯示系統(tǒng)的設(shè)計【項目導(dǎo)入】在單片機(jī)控制系統(tǒng)中,除了輸入輸出設(shè)備外,還有與操作人員進(jìn)行信息交換的常規(guī)輸入與輸出設(shè)備,鍵盤和LCD就是其中常見的一種輸入/輸出設(shè)備。在此我們通過設(shè)計一個電話撥號鍵盤顯示系統(tǒng)來講述鍵盤的接口電路、鍵盤的工作原理和LCD顯示技術(shù)。讓大家掌握輸入/輸出技術(shù)在單片機(jī)控制系統(tǒng)的應(yīng)用。*開封大學(xué)單片機(jī)課件制作組【項目目標(biāo)】1.知識目標(biāo)(1)掌握鍵盤的接口技術(shù)和編程方法;(2)理解鍵盤檢測的原理;(3)掌握單片機(jī)與LCD的接口技術(shù)。2.能力目標(biāo)(1)掌握單片機(jī)與鍵盤的連接以及鍵盤的消抖技術(shù);(2)能熟練使用C語言對液晶顯示模塊進(jìn)行編程;(3)熟練掌握常用LCD顯示器的使用方法和一般鍵盤的使用方法。3.態(tài)度目標(biāo)(1)具有認(rèn)真的學(xué)習(xí)的態(tài)度和主動學(xué)習(xí)的積極性;(2)養(yǎng)成良好的職業(yè)習(xí)慣和與團(tuán)隊協(xié)作共同開發(fā)的能力。(3)具有良好的安全意識、環(huán)保意識和責(zé)任意識。*開封大學(xué)單片機(jī)課件制作組9.1項目描述電話在人們的日常生活中是比較常見的電子產(chǎn)品之一,人們可以通過按鍵來撥打電話。當(dāng)按下所撥電話號碼時,可以清楚地看到自己撥下電話號碼?;谶@樣的理念,本項目采用AT89C51單片機(jī)、1602LCD顯示器、控制按鍵等元件來設(shè)計一個電話撥號顯示系統(tǒng)。通過此項目的學(xué)習(xí),讓大家熟悉單片機(jī)如何通過鍵盤掃描來獲得輸入數(shù)據(jù),再通過CPU把得到的數(shù)據(jù)按照一定的要求顯示。項目學(xué)習(xí)過程中重點掌握常用的LCD顯示器的使用方法和矩陣鍵盤的編程方法。*開封大學(xué)單片機(jī)課件制作組9.2項目目的與要求本項目的目的就是設(shè)計一個電話撥號顯示系統(tǒng),該系統(tǒng)能完成把所按下的鍵轉(zhuǎn)化為電話號碼,并通過LCD1602顯示出所按下的電話號碼。項目在實施過程中需要解決的一下關(guān)鍵問題(1)單片機(jī)與矩陣鍵盤的接口電路設(shè)計;(2)矩陣鍵盤掃描程序的編寫;(3)單片機(jī)與液晶顯示模塊LCD1602的接口電路的設(shè)計;(4)液晶顯示模塊LCD1602顯示數(shù)字的C語言編程方法。*開封大學(xué)單片機(jī)課件制作組9.3

項目支撐知識鏈接 鍵盤是單片機(jī)系統(tǒng)常見的輸入設(shè)備,通過鍵盤輸入與單片機(jī)建立基本的人機(jī)交互通道,使單片機(jī)能夠接受用戶輸入的數(shù)據(jù)或命令。一、鍵盤工作原理 鍵盤(按鍵)是單片機(jī)系統(tǒng)常用的輸入設(shè)備。操作人員可以通過鍵盤輸入數(shù)據(jù)或命令,實現(xiàn)簡單的人-機(jī)通信。按鍵是一種常開型按鈕開關(guān)。平時(常態(tài)時),按鍵的兩個觸點處于斷開狀態(tài),按下鍵時它們才閉合(短路)。9.3.1鍵盤接口電路工作原理*開封大學(xué)單片機(jī)課件制作組一、鍵盤識別原理 鍵盤分編碼鍵盤和非編碼鍵盤。鍵盤上閉合按鍵的識別由專用的硬件譯碼器實現(xiàn),并產(chǎn)生鍵編號或鍵值的稱為編碼鍵盤,如BCD碼鍵盤、ASCII碼鍵盤等;靠軟件識別的稱為非編碼鍵盤。在單片機(jī)組成的測控系統(tǒng)及智能儀器中,用得最多的是非編碼鍵盤。本節(jié)著重討論非編碼鍵盤原理、接口計數(shù)和程序設(shè)計。鍵盤中每個按鍵都是一個常開開關(guān)元件,如圖示。

*開封大學(xué)單片機(jī)課件制作組 當(dāng)按鍵K未被按下時,P1.0輸入為高電平;K閉合時,P1.0輸入低電平。

按鍵電路

*開封大學(xué)單片機(jī)課件制作組按鍵為機(jī)械彈性開關(guān),在斷開、閉合的瞬間,由于機(jī)械觸點的彈性作用,會有一連串的抖動,其電壓信號波形如圖7-14示。 圖7-14按鍵抖動抖動時間的長短主要由按鍵的機(jī)械特性決定,一般在5ms~10ms之間,這一時間為實際中的去除機(jī)械抖動提供了參考。

*開封大學(xué)單片機(jī)課件制作組 當(dāng)按鍵K未被按下時,P1.0輸入為高電平;K閉合時,P1.0輸入低電平。通常按鍵所用的開關(guān)為機(jī)械彈性開關(guān),當(dāng)機(jī)械觸點斷開、閉合時,由于機(jī)械觸點的彈性作用,一個按鍵開關(guān)在閉合時不會馬上穩(wěn)定地接通,在斷開時也不會立即斷開。因而在閉合及斷開的瞬間均伴隨有一連串的抖動,其電壓信號波形如圖7-14示。抖動時間一般持續(xù)在5ms~10ms之間,這一時間為實際中的去除機(jī)械抖動提供了參考。

*開封大學(xué)單片機(jī)課件制作組

去除抖動抖動時間會引起一次按鍵的多次誤讀操作。為了確保CPU對按鍵的一次閉合僅做一次處理,必須消除鍵盤抖動。

基本思路在鍵盤閉合穩(wěn)定時讀取鍵的狀態(tài),并且必須判別到按鍵釋放穩(wěn)定后再做處理。按鍵的去抖動通常有硬件和軟件兩種方法消除。 軟件/硬件去除抖動硬件去抖動電路復(fù)雜,需要添加額外的觸發(fā)器門電路,在鍵盤比較多時顯得不適用。而軟件去抖動僅僅是通過對單片機(jī)編程時做簡單的處理,不需要額外電路,實現(xiàn)方便,簡單,是最常用的鍵盤去抖動方式。

*開封大學(xué)單片機(jī)課件制作組二、獨(dú)立式鍵盤軟鍵盤可以分為獨(dú)立連接式鍵盤和行列矩陣兩類,每一類按其譯碼方式都可以分為編碼與非編碼兩種類型。由于非編碼鍵盤結(jié)構(gòu)簡單,在實際中應(yīng)用較多,此處僅介紹非編碼式鍵盤。1.獨(dú)立式按鍵獨(dú)立式按鍵是每個按鍵連接到一個單片機(jī)的I/O口上,如圖所示。這是最簡單的鍵盤結(jié)構(gòu),由于每個按鍵占用一個I/O口,當(dāng)鍵盤較多的時候需要占用較多的I/O口,顯然是不合適的,因此該類鍵盤僅適用于鍵盤數(shù)量較少的情況。*開封大學(xué)單片機(jī)課件制作組

獨(dú)立非編碼鍵盤*開封大學(xué)單片機(jī)課件制作組

可以使用用查詢方式判斷這些鍵盤是否被按下。當(dāng)開關(guān)沒有被按下時,對應(yīng)的I/O口的狀態(tài)被拉到高電平1,當(dāng)有按鍵按下時,對應(yīng)的I/O口被短接到地,為低電平。因此檢測是否按鍵按下,只需要通過查詢方式查詢對應(yīng)I/O口的狀態(tài)即可。

鍵盤結(jié)構(gòu)

以下程序使用比較指令判斷鍵值。設(shè)鍵盤接在P1口,將P1口的值讀入A,當(dāng)無鍵盤按下時,A的值為FFH。為了節(jié)省程序執(zhí)行時間,當(dāng)沒有鍵盤輸入時不執(zhí)行鍵值比較程序,故對A取反。當(dāng)判斷到A為0時,說明沒有鍵盤輸入,返回再去讀鍵盤。如果A值不為0,說明有鍵盤輸入,可找出是哪個按鍵被按下。程序中省略了軟件去抖動和判斷鍵盤釋放程序,僅包含鍵值判斷與鍵值查詢。*開封大學(xué)單片機(jī)課件制作組對圖中P1.0~P1.3的4個按鍵進(jìn)行掃描來獲得檢測觸發(fā)信息,以實現(xiàn)不同的功能控制,其C51程序如下:SbitS0=P1^0;SbitS1=P1^1;SbitS2=P1^2;SbitS3=P1^3;/*******鍵盤掃描程序********

voidKeyscan{P1=0xff;//對P1口置1While(!s0)//判斷s0按鍵是否按下

{delay();//延時去抖

While(!s0){key1();}}While(!s1)//判斷s1按鍵是否按下

{delay();//延時去抖

While(!s1){key2();}}While(!s2)//判斷s2按鍵是否按下

{delay();//延時去抖

While(!s2){key3();}}While(!s3)//判斷s3按鍵是否按下

{delay()//延時去抖

While(!s3){key4();}}}*開封大學(xué)單片機(jī)課件制作組

當(dāng)鍵盤的個數(shù)比較多的時候,比如有16個按鍵,如果仍舊按獨(dú)立式鍵盤的接法,則需要16個I/O口,這顯然不實用。一是單片機(jī)僅32個I/O口,一半用來接鍵盤不太可能,二是太多的線不利于PCB布線。因此,當(dāng)鍵盤比較多時,通常都將鍵盤排成行列矩陣的形式,如圖。

2.行列掃描鍵盤(矩陣式鍵盤)*開封大學(xué)單片機(jī)課件制作組*開封大學(xué)單片機(jī)課件制作組

2.按鍵的識別具體過程是:⑴先將全部列線置為低電平,然后通過行線接口讀取行線電平,判斷鍵盤中是否有按鍵被按下。⑵判斷閉合鍵的具體位置。在確定鍵盤中有鍵被按下后,依次將列線置為低電平,再逐行檢測各行的電平狀態(tài)。若某行為低電平,則該行與置為低電平的列線相交處的按鍵即為閉合按鍵。⑶綜合上述2步的結(jié)果,即可確定閉合按鍵所在的行和列,從而識別出所按下的鍵。*開封大學(xué)單片機(jī)課件制作組矩陣式鍵盤的掃描常用編程方式、定時掃描或中斷掃描等方式,不管采用哪種方式,都要編制相應(yīng)的鍵盤掃描程序。鍵盤掃描程序中,一般要具有以下功能。⑴判斷鍵盤上有無按鍵按下;⑵去鍵的機(jī)械抖動影響;⑶求所按下按鍵的鍵號;⑷轉(zhuǎn)向鍵處理程序。3.矩陣式鍵盤的軟件設(shè)計*開封大學(xué)單片機(jī)課件制作組

矩陣鍵盤鍵值的判斷有兩種方法,一種是逐行(列)掃描查詢法,另一種是速度較快的線反轉(zhuǎn)法。線反轉(zhuǎn)法實現(xiàn)首先是從列線上全部送0,讀入行線的狀態(tài),然后反過來,從行線全部送0,讀入從列線狀態(tài),將兩次行線、列線讀入的數(shù)據(jù)組合成一個字節(jié)就可以判斷出是哪個按鍵被按下了。這種方法只要通過兩次輸出,兩次讀入,就可以讀得鍵盤值,其實現(xiàn)過程簡單,速度快。而行列掃描方法卻相對要復(fù)雜些,以下詳細(xì)介紹之。四、鍵盤與I/O接口應(yīng)用*開封大學(xué)單片機(jī)課件制作組

以圖7-16中4×4鍵盤為例,圖中D0~D3(P1.0~P1.3)為列輸出線,D4~D7(P1.4~P1.7)為行輸入線。

首先:列線全部送0,

然后:讀入所有行數(shù)據(jù)。如果此時沒有按鍵按下,行線接高電平,讀入行線數(shù)據(jù)全部為1。反之,如果有按鍵按下,按鍵對應(yīng)的行線與列線短路,列線輸出的0送到行線,行線電平被拉低。因此,如果讀入的行線數(shù)據(jù)不全為1,說明有按鍵按下。*開封大學(xué)單片機(jī)課件制作組

為了準(zhǔn)確找出16個按鍵中,到底是哪個按鍵被按下,還需要更進(jìn)一步進(jìn)行逐行逐列掃描。具體方法是將第1列置為‘0’,其他列置為‘1’,然后讀入行線的數(shù)據(jù)。判斷第1行D4數(shù)據(jù)是否為0,如果是0,則說明按下的是第1行第1列的上的按鍵K0,反之如果第1行不為0,則判斷第2行D5的數(shù)據(jù)是否為0。按同樣的方法,直到判斷第4行D7的數(shù)據(jù)是否為0為止。*開封大學(xué)單片機(jī)課件制作組

如可見,每輸出一個列掃描信號,逐一判斷一次行數(shù)據(jù)狀態(tài)就可以知道該列的4個按鍵中是否有閉合的。如果在第一列沒有判斷按鍵閉合,則從第2列輸出0,其余列送1,再次逐行判斷,看是否有按鍵閉合。由此可見,通過16次逐列逐行掃描,即可出K0-K15中閉合鍵盤所在的行列線位置(編碼)。*開封大學(xué)單片機(jī)課件制作組

每一個鍵盤對應(yīng)的位置就進(jìn)行行列掃描時的編碼,即列線掃描狀態(tài)字與行線讀入值的組合。如圖7-16中,鍵盤鍵值從左到右的編碼依次是77H,7BH,7DH,7EH;B7H,BBH,BDH,BEH…E7H,EBH,EDH,EEH。這種編碼字通常在實際編程中不適用,可以進(jìn)一步對鍵值做處理,常用的方法是將16個鍵值映射成0~15連續(xù)16個自然數(shù)編號。*開封大學(xué)單片機(jī)課件制作組

【例9-1】設(shè)計一個通過按鍵控制LED燈亮、滅的單片機(jī)控制系統(tǒng),要求:K1~K4做按鍵狀態(tài)顯示,K1按下時D1亮,松開時滅;K2按下時D2點亮,松開時熄滅;K3按下時D3滅,松開時D3亮;K4按下時D4滅,釋放亮。電路連接如圖

*開封大學(xué)單片機(jī)課件制作組*開封大學(xué)單片機(jī)課件制作組設(shè)計分析:由于此控制電路使用按鍵較少,可以通過獨(dú)立式鍵盤來實現(xiàn)控制功能,要求K1、K2、K3、K4分別與P1.0、P1.1、P1.2、P1.3連接。根據(jù)要求,編寫C51程序如下:#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitLED1=P0^0;sbitLED2=P0^1;sbitLED3=P0^2;sbitLED4=P0^3;sbitK1=P1^0;sbitK2=P1^1;sbitK3=P1^2;sbitK4=P1^3;*開封大學(xué)單片機(jī)課件制作組/****************延時*****************/voidDelayMS(uintx){ uchari; while(x--)for(i=0;i<120;i++);} /****************主程序*****************/voidmain(){ P0=0xff;//P0口置高電平

P1=0xff;//P1口置高電平

while(1) { LED1=K1; LED2=K2; if(K3==0) { while(K3==0); LED3=~LED3; } if(K4==0) { while(K4==0); LED4=~LED4; } DelayMS(10); }}*開封大學(xué)單片機(jī)課件制作組7.6

MCS-51的顯示接口

在單片機(jī)測控系統(tǒng)中,通常需要顯示器作為人-機(jī)交換界面的終端,顯示數(shù)據(jù)處理結(jié)果和工作過程或狀態(tài)。常用的顯示終端有發(fā)光二極管顯示器(LED)、液晶顯示器(LCD)等。*開封大學(xué)單片機(jī)課件制作組9.3.2

LCD液晶顯示器控制技術(shù)

LCD為英文LiquidCrystalDisplay的縮寫,即液晶顯示器,是一種數(shù)字顯示技術(shù),可以通過液晶和彩色過濾器過濾光源,在平面面板上產(chǎn)生圖象。液晶顯示器具有結(jié)構(gòu)小巧,造型美觀,顯示內(nèi)容豐富等特點。因此在微機(jī)應(yīng)用系統(tǒng)中有廣泛應(yīng)用。*開封大學(xué)單片機(jī)課件制作組9.3.2

LCD液晶顯示器控制技術(shù)*開封大學(xué)單片機(jī)課件制作組液晶是一呈液體狀的化學(xué)物質(zhì),當(dāng)受到外界電場影響時,其分子會產(chǎn)生精確的有序排列。如果對分子的排列加以適當(dāng)?shù)目刂?,液晶分子將會允許光線穿越。位于最后面的一層是由熒光物質(zhì)組成的可以發(fā)射光線的背光層。背光層發(fā)出的光線在穿過第一層偏振過濾層之后進(jìn)入包含成千上萬水晶液滴的液晶層。

LCD顯示原理液晶層中的水晶液滴都被包含在細(xì)小的單元格結(jié)構(gòu)中,一個或多個單元格構(gòu)成屏幕上的一個像素。當(dāng)LCD中的電極產(chǎn)生電場時,液晶分子就會產(chǎn)生扭曲,從而將穿越其中的光線進(jìn)行有規(guī)則的折射,然后經(jīng)過第二層過濾層的過濾在屏幕上顯示出來。*開封大學(xué)單片機(jī)課件制作組型號為1602(A/B/C)的字符型LCD顯示器是目前市場比較常見的顯示器。目前市場上生產(chǎn)該型號LCD顯示器的廠家比較多,技術(shù)成熟。一、字符點陣式液晶顯示模塊-1602*開封大學(xué)單片機(jī)課件制作組*開封大學(xué)單片機(jī)課件制作組該顯示器能顯示2行ASCII字符,每行顯示16個。市場上的成品模組外觀見圖7-19。該模組采用了HD44780以及兼容LCD驅(qū)動芯片,使用Bonding(邦定)封裝技術(shù),將芯片與PCB板做成一體,能有效降低整個模組功耗,提高工作穩(wěn)定性。*開封大學(xué)單片機(jī)課件制作組

LCD模組提供了16個引腳接口。其中與微機(jī)接口的引腳10個,具體每個引腳定義功能見表7-9。

1.LCD模組引腳功能9*開封大學(xué)單片機(jī)課件制作組

2.字符型液晶顯示模塊LCD1602的內(nèi)部結(jié)構(gòu)LCD1602的內(nèi)部結(jié)構(gòu)可以分成三部分:一為LCD控制器,二為LCD驅(qū)動器,三為LCD顯示裝置*開封大學(xué)單片機(jī)課件制作組市場上常見的1602LCD液晶顯示模組,大多采用HD44780驅(qū)動芯片或其兼容芯片。這些兼容芯片對外的命令字大多相同。因此,同一個1602的驅(qū)動程序,可以驅(qū)動不同廠家的液晶顯示器,前提是引腳定義一樣。

HD44780的控制命令共11條,見表7-10。

3.主控驅(qū)動芯片HD44780*開封大學(xué)單片機(jī)課件制作組10*開封大學(xué)單片機(jī)課件制作組當(dāng)給LCD送01H命令,LCD顯示面板所有內(nèi)容清除,內(nèi)部數(shù)據(jù)指針清零。當(dāng)送02H命令,僅使數(shù)據(jù)指針清零,而LCD面板內(nèi)容不變。(1)清屏指令(01H)(2)置輸入模式設(shè)置光標(biāo)、畫面移動模式,其中:

I/D=1:數(shù)據(jù)讀、寫操作后,AC自動增1。

I/D=0:數(shù)據(jù)讀、寫操作后,AC自動減1。S=1:數(shù)據(jù)讀、寫操作后,畫面平移。

S=0:數(shù)據(jù)讀、寫操作后,畫面不平移。*開封大學(xué)單片機(jī)課件制作組(3)顯示開關(guān)控制 功能:設(shè)置顯示、光標(biāo)及閃爍開、關(guān)。其中:

D表示顯示開關(guān):D=1為開,D=0為關(guān);

C表示光標(biāo)開關(guān):C=1,為開,C=0為關(guān);

B表示閃爍開關(guān);B=1,為開,B=0為關(guān);(4)光標(biāo)、畫面位移功能:設(shè)置光標(biāo)、畫面移動,不影響DDRAM。其中:

S/C=1,畫面平移一個字符位;

S/C=0;光標(biāo)平移一個字符位;

R/L=1;右移;R/L=0;左移。*開封大學(xué)單片機(jī)課件制作組(5)功能設(shè)置功能:設(shè)置LCD工作模式

DL=1,8位微處理器接口,DL=0,4位微處理器接口;

N=1,兩行顯示模式,N=0,一行顯示模式

F=1,5*10點陣字符,F(xiàn)=0,5*7點陣字符(6)CGRAM地址設(shè)置 功能:設(shè)置CGRAM的地址。A5-A0=0-3FH.(7)DDRAM地址設(shè)置設(shè)置DDRAM的地址

N=0,一行顯示A6~A0=0~4FH;

N=1,兩行顯示,首行A6~A0=00H~2FH,次行A6~A0=40H~67H。*開封大學(xué)單片機(jī)課件制作組(8)讀BF及AC的值功能:讀忙值和地址計數(shù)器AC的值。其中:BF=1時忙,BF=0時準(zhǔn)備好。此時AC值意義為最近一次地址(CGRAM或DDRAM)定義。(9)寫數(shù)據(jù)功能:根據(jù)最近設(shè)置的地址性質(zhì),數(shù)據(jù)寫入DDRAM或CGRAM。(10)讀數(shù)據(jù)功能:根據(jù)最近設(shè)置的地址性質(zhì),從DDRAM或CGRAM讀出數(shù)據(jù)。*開封大學(xué)單片機(jī)課件制作組5.LCD控制器HD44780接口時序說明(1)寫操作時序

*開封大學(xué)單片機(jī)課件制作組(2)讀操作指令(LCD至單片機(jī)):

*開封大學(xué)單片機(jī)課件制作組(3)時序參數(shù)時序參數(shù)符號極限值單位測試條件最小值典型值最大值E信號周期tc400--ns引腳EE脈沖寬度tPW150--nsE上升沿/下降沿時間tR,tF--25ns地址建立時間tSP130--ns引腳E、RS、R/W地址保持時間THD110--ns數(shù)據(jù)建立時間(讀操作)tD--100ns引腳DB0~DB7數(shù)據(jù)保持時間(讀操作)tRD220--ns數(shù)據(jù)建立時間(寫操作)tSP240--ns數(shù)據(jù)保持時間(寫操作)tHD210--ns*開封大學(xué)單片機(jī)課件制作組6.LCD的初始化(1)初始化設(shè)置①顯示器清屏;②顯示器開/關(guān)及光標(biāo)設(shè)置;③顯示光標(biāo)移動設(shè)置。(2)數(shù)據(jù)控制

LCD控制器內(nèi)部設(shè)有一個數(shù)據(jù)地址指針,用戶可通過它來訪問內(nèi)部全部80字節(jié)的RAM。1)數(shù)據(jù)指針設(shè)置:數(shù)據(jù)地址指針:80H+地址碼(00H~27H,40H~67H)。2)讀數(shù)據(jù):當(dāng)LCD的RS=1、R/W=1和E端為高電平時,讀取數(shù)據(jù)。3)寫數(shù)據(jù):當(dāng)LCD的RS=1、R/W=0和E端為下降沿時,寫取數(shù)據(jù)。*開封大學(xué)單片機(jī)課件制作組例如寫指令子程序:write_com(ucharcom){rs=0;rw=0;E=1;LCD=com;Delay(5);E=0;}*開封大學(xué)單片機(jī)課件制作組

寫數(shù)據(jù)子程序:

write_data(uchardata)

{rs=1;rw=0;E=1;LCD=data;Delay(5);E=0;}*開封大學(xué)單片機(jī)課件制作組二、1602與單片機(jī)的接口與編程LCD1602初始化過程一般如下:(1) 清屏。清除屏幕,將顯示緩沖區(qū)DDRAM的內(nèi)容全部寫入空格(ASCII20H)。光標(biāo)復(fù)位,回到顯示器的左上角。地址計數(shù)器AC清零。(2) 功能設(shè)置。設(shè)置數(shù)據(jù)位數(shù),根據(jù)LCD1602與處理器的連接選擇(LCD1602與51單片機(jī)連接時一般選擇8位),設(shè)置顯示行數(shù)(LCD1602為雙行顯示)。設(shè)置字形大小(LCD1602為5×7點陣)。(3) 開/關(guān)顯示設(shè)置??刂乒鈽?biāo)顯示、字符是否閃爍等。(4) 輸入方式設(shè)置。設(shè)定光標(biāo)的移動方向以及后面的內(nèi)容是否移*開封大學(xué)單片機(jī)課件制作組【例9-3】設(shè)計一個由單片機(jī)控制LCD顯示屏,要求顯示:“welcometo

kaifeng!”*開封大學(xué)單片機(jī)課件制作組設(shè)計分析:在此采用LCD1602的數(shù)據(jù)線與AT89C51的P2口相連,RS與P1.7相連,R/與P1.6相連,E端與8951的P1.5相連。編程在LCD顯示器的第1行顯示“welcometo”,第2行、第5列開始顯示“Kaifeng!”。C51源程序見P191*開封大學(xué)單片機(jī)課件制作組9.4項目實施本項目的設(shè)計內(nèi)容主要包括主控模塊,LCD顯示模塊、鍵盤輸入模塊,晶振電路和復(fù)位電路等,其設(shè)計的整體結(jié)構(gòu)框圖如圖所示。。*開封大學(xué)單片機(jī)課件制作組9.4.1硬件設(shè)計根據(jù)項目實現(xiàn)的功能,可把LCD1602的D0~D7分別與AT89C51的P1.0~P1.7連接,LCD1602的RS與P2.0連接,RW端與P2.1連接,E端與P2.2連接。鍵盤撥號采取矩陣行列式鍵盤,把P3.4、P3.5、P3.6、P3.7作為行線,P3.0、P3.1、P3.2作為列線,項目的總體電路連接如圖

*開封大學(xué)單片機(jī)課件制作組*開封大學(xué)單片機(jī)課件制作組9.4.2軟件設(shè)計本設(shè)計是由單片機(jī)AT89C51控制的LCD顯示系統(tǒng),由外接鍵盤來控制顯示方式。設(shè)計過程如下:

按鍵輸入:采取用P3口作為鍵盤的輸入端,對于鍵盤的識別采取行掃描法進(jìn)行判定。

LCD顯示:用P

溫馨提示

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

最新文檔

評論

0/150

提交評論