《單片機應(yīng)用技術(shù)》000-9(周君芝)課件 項目四 顯示器與鍵盤接口技術(shù)的應(yīng)用_第1頁
《單片機應(yīng)用技術(shù)》000-9(周君芝)課件 項目四 顯示器與鍵盤接口技術(shù)的應(yīng)用_第2頁
《單片機應(yīng)用技術(shù)》000-9(周君芝)課件 項目四 顯示器與鍵盤接口技術(shù)的應(yīng)用_第3頁
《單片機應(yīng)用技術(shù)》000-9(周君芝)課件 項目四 顯示器與鍵盤接口技術(shù)的應(yīng)用_第4頁
《單片機應(yīng)用技術(shù)》000-9(周君芝)課件 項目四 顯示器與鍵盤接口技術(shù)的應(yīng)用_第5頁
已閱讀5頁,還剩103頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

單片機應(yīng)用技術(shù)(第2版)項目5項目4項目3項目2項目1C語言基礎(chǔ)知識單片機開發(fā)軟件及硬件系統(tǒng)的認(rèn)識中斷系統(tǒng)與定時/計數(shù)器的應(yīng)用顯示器與鍵盤接口技術(shù)的應(yīng)用串行接口技術(shù)的應(yīng)用目錄項目7項目6A/D與D/A轉(zhuǎn)換技術(shù)的應(yīng)用單片機綜合實踐項目4顯示器與鍵盤接口技術(shù)的應(yīng)用項目導(dǎo)讀單片機應(yīng)用系統(tǒng)在運行時需要與外部設(shè)備交換信息,其中顯示器與鍵盤是實現(xiàn)人機交互不可或缺的設(shè)備。本項目主要介紹顯示器與鍵盤接口技術(shù)的相關(guān)知識,通過本項目的學(xué)習(xí),學(xué)生應(yīng)能掌握顯示器與鍵盤的工作原理及其應(yīng)用方法。知識目標(biāo) 掌握LED數(shù)碼管顯示器的結(jié)構(gòu)及工作原理 了解LED數(shù)碼管顯示器的字形碼 掌握LED點陣顯示器的結(jié)構(gòu)及工作原理 了解LCD液晶顯示器的功能及分類 掌握LCD液晶顯示器的結(jié)構(gòu)及工作原理 掌握按鍵的結(jié)構(gòu)及工作原理 了解鍵盤的分類 掌握獨立式鍵盤的結(jié)構(gòu)及工作原理 掌握矩陣式鍵盤的結(jié)構(gòu)及工作原理達(dá)成目標(biāo)達(dá)成目標(biāo)技能目標(biāo)能應(yīng)用顯示器控制顯示字符或圖形能應(yīng)用鍵盤進行檢測與控制素質(zhì)目標(biāo)擁護中國共產(chǎn)黨的領(lǐng)導(dǎo),踐行社會主義核心價值觀弘揚腳踏實地、刻苦鉆研、愛崗敬業(yè)的勞模精神加強實踐練習(xí),注重學(xué)思結(jié)合、知行統(tǒng)一,增強勇于探索的創(chuàng)新精神項目導(dǎo)航設(shè)計籃球比賽計時計分器——顯示器接口技術(shù)的應(yīng)用任務(wù)4.1設(shè)計密碼鎖——鍵盤接口技術(shù)的應(yīng)用任務(wù)4.2C設(shè)計籃球比賽計時計分器

——顯示器接口技術(shù)的應(yīng)用

011211101101011011010010011001101010100100110110100101100101110110101001101110101010101011010100110100104.14.1任務(wù)工單掃一掃查看任務(wù)工單任務(wù)描述籃球比賽是根據(jù)比賽隊伍在規(guī)定時間里的得分多少來決定勝負(fù)的,因此,籃球比賽的計時計分系統(tǒng)是一種得分類型的系統(tǒng)。一些學(xué)校的籃球場沒有設(shè)置計時計分系統(tǒng),因此在比賽時需要采用人工計時計分,即裁判自帶手表計時、人工翻頁計分,由于要裁判計時、要人工記錄兩隊累計分?jǐn)?shù),一旦協(xié)同失誤就會造成記錄錯誤,影響比賽的正常進行。因此,設(shè)計一款適合比賽、性能穩(wěn)定、操作方便的籃球比賽計時計分器,具有重要的意義。任務(wù)實施1.整體設(shè)計思想

2.硬件設(shè)計3.軟件設(shè)計4.仿真調(diào)試詳細(xì)內(nèi)容掃碼觀看4.1.1LED數(shù)碼管顯示器單片機應(yīng)用系統(tǒng)中最常用的顯示器是LED數(shù)碼管顯示器、LED點陣顯示器和LCD液晶顯示器。這3種顯示器可以顯示數(shù)字、字符、圖像等信息,它們的驅(qū)動電路簡單、易于實現(xiàn)且價格低廉,因而應(yīng)用較為廣泛。4.1.1LED數(shù)碼管顯示器目前LED數(shù)碼管顯示器的種類有很多,按外觀不同,LED數(shù)碼管顯示器可以分為七段LED數(shù)碼管顯示器、米字形LED數(shù)碼管顯示器等,如圖所示。七段LED數(shù)碼管顯示器米字形LED數(shù)碼管顯示器4.1.1LED數(shù)碼管顯示器單片機應(yīng)用系統(tǒng)中常用的是七段LED數(shù)碼管顯示器,下面以它為例來進行介紹。七段LED數(shù)碼管顯示器由8個發(fā)光二極管(以下簡稱段)構(gòu)成,其引腳排列如圖所示。通過不同的組合可以顯示數(shù)字0~9,字符A~F、H、L、P、U,符號“-”及小數(shù)點“.”。1.LED數(shù)碼管顯示器的結(jié)構(gòu)及工作原理七段LED數(shù)碼管顯示器的引腳排列4.1.1LED數(shù)碼管顯示器在七段LED數(shù)碼管顯示器中,由于小數(shù)點段不常用,因此這類數(shù)碼管顯示器一般被稱為“七段”。4.1.1LED數(shù)碼管顯示器共陽極LED數(shù)碼管顯示器的結(jié)構(gòu)原理如圖所示,由于所有段的陽極均連接高電平,因此在使用時,需要在相應(yīng)段上加低電平,才能使其發(fā)光。共陰極LED數(shù)碼管顯示器的結(jié)構(gòu)原理如圖所示,由于所有段的陰極均連接低電平,因此在使用時,需要在相應(yīng)段上加高電平,才能使其發(fā)光。bit變量名=變量值;1)共陰極LED數(shù)碼管顯示器共陽極LED數(shù)碼管顯示器2)七段LED數(shù)碼管顯示器根據(jù)發(fā)光二極管物理連接的不同,可分為共陰極和共陽極兩種類型。bit變量名=變量值;4.1.1LED數(shù)碼管顯示器如果說我們國家是塊閃閃發(fā)光的顯示器,那么我們每個人都是屬于這塊顯示器的一個“數(shù)碼管”,是這塊顯示器不可缺少的部分。所謂“天生我材必有用”,隨著國家的蓬勃發(fā)展,各行各業(yè)都亟須專業(yè)人才。我們作為新時代的青年,應(yīng)當(dāng)正視自己,發(fā)揮自己的優(yōu)勢,學(xué)成一技之長,為祖國的發(fā)展貢獻自己的力量。4.1.1LED數(shù)碼管顯示器2.LED數(shù)碼管顯示器的字形碼LED數(shù)碼管顯示器只要控制LED段的亮與滅即可顯示相應(yīng)的字符。當(dāng)LED數(shù)碼管顯示器的連接方式確定時,若要顯示某一特定字符,其控制字形是固定不變的??刂谱中慰刂频氖荓ED數(shù)碼管顯示器上要顯示的字符形狀,稱為字形代碼,簡稱為字形碼。LED數(shù)碼管顯示器八段的各代碼位與顯示段的對應(yīng)關(guān)系如表所示。代碼位D7D6D5D4D3D2D1D0顯示段dpgfedcba4.1.1LED數(shù)碼管顯示器【例4-1】

LED數(shù)碼管顯示器要顯示數(shù)字“6”,如圖所示,試確定其字形碼。4.1.1LED數(shù)碼管顯示器【問題分析】

LED數(shù)碼管顯示器有共陰極和共陽極兩種不同的連接,連接不同,其對應(yīng)的字形碼也不同?!敬_定方法】

在共陰極連接中,要點亮的段為高電平,不點亮的段為低電平,則各顯示段的狀態(tài)如表所示。顯示段dpgfedcba各段狀態(tài)011111014.1.1LED數(shù)碼管顯示器【確定方法】

因此,在共陰極連接中,數(shù)字“6”的字形碼為:7DH。在共陽極連接中,要點亮的段為低電平,不點亮的段為高電平,則各顯示段的狀態(tài)如表所示。因此,在共陽極連接中,數(shù)字“6”的字形碼為:82H。依此類推,可得到LED數(shù)碼管顯示器的字形碼,如表所示。顯示段dpGfedcba各段狀態(tài)10000010顯示

字符共陰極LED數(shù)碼管顯示器共陽極LED數(shù)碼管顯示器dpgfedcba字形碼dpgfedcba字形碼0001111113FH11000000C0H10000011006H11111001F9H2010110115BH10100100A4H3010011114FH10110000B0H40110011066H1001100199H5011011016DH1001001092H6011111017DH1000001082H70000011107H11111000F8H8011111117FH1000000080H9011011116FH1001000090HA0111011177H1000100088HB011111007CH1000001183HC0011100139H11000110C6HD010111105EH10100001A1HE0111100179H1000011086HF0111000171H100011108EHH0111011076H1000100189HL0011100038H11000111C7HP0111001173H100011008CHU001111103EH11000001C1H-0100000040H10111111BFH.1000000080H011111117FH4.1.1LED數(shù)碼管顯示器對于同一個字符,共陰極和共陽極字形碼的關(guān)系是互為反碼。4.1.1LED數(shù)碼管顯示器3.LED數(shù)碼管顯示器的顯示方式要使LED數(shù)碼管顯示器顯示某一字符,不僅需要對每一位顯示器的公共端(com)進行控制,稱為位控(控制LED數(shù)碼管顯示器的狀態(tài));還需要對每一位顯示器中的各段(a~g、dp)進行控制,稱為段控。LED數(shù)碼管顯示器的顯示方式可分為靜態(tài)顯示方式和動態(tài)顯示方式。靜態(tài)顯示方式動態(tài)顯示方式4.1.1LED數(shù)碼管顯示器

數(shù)碼管顯示器的顯示方式1)靜態(tài)顯示方式靜態(tài)顯示方式是指數(shù)碼管的位控始終被選中的方式。在這種顯示方式下,每一個LED數(shù)碼管顯示器都需要一個8位輸出端口進行控制,其接口電路如圖所示。LED4.1.1LED數(shù)碼管顯示器

數(shù)碼管顯示器的顯示方式1)靜態(tài)顯示方式靜態(tài)顯示方式的優(yōu)點是電路設(shè)計簡單、顯示穩(wěn)定、編程簡單。靜態(tài)顯示方式的缺點是占用硬件資源較多,每個LED數(shù)碼管顯示器需要獨占8條輸出線,隨著LED數(shù)碼管顯示器位數(shù)的增加,需要的I/O端口輸出線也將增加。LED4.1.1LED數(shù)碼管顯示器

數(shù)碼管顯示器的顯示方式2)動態(tài)顯示方式動態(tài)顯示方式是指多個數(shù)碼管共用一組段控,每個數(shù)碼管的位控被輪流選中的方式。動態(tài)顯示方式一般稱為“掃描”,段控數(shù)據(jù)僅對位控選中的數(shù)碼管有效。在動態(tài)顯示方式中,所有LED數(shù)碼管顯示器的段控線并在一起,接到一個8位的I/O端口上,而位控線則分別接到各自的I/O端口上,其接口電路如圖所示。LED4.1.1LED數(shù)碼管顯示器

數(shù)碼管顯示器的顯示方式LED動態(tài)顯示接口電路4.1.2LED點陣顯示器LED點陣顯示器是以發(fā)光二極管為像素組成的陣列,不僅能顯示文字、圖像,還能顯示各種動畫。LED點陣顯示器由于具有亮度高、引腳少、視角大、壽命長、耐腐蝕等特點,因此被廣泛應(yīng)用于各個領(lǐng)域。常見的LED點陣顯示器,按像素可分為5×7、7×9、8×8、16×16、24×24等不同規(guī)格;按顏色可分為單基色LED點陣顯示器、雙基色LED點陣顯示器和三基色LED點陣顯示器等;按發(fā)光二極管物理連接的不同,可分為共陰極LED點陣顯示器和共陽極LED點陣顯示器。4.1.2LED點陣顯示器知識鏈接單基色LED點陣顯示器只能顯示固定的單色,如紅、綠、黃等。雙基色LED點陣顯示器和三基色LED點陣顯示器可顯示不同的顏色,顏色由不同顏色發(fā)光二極管點亮的組合方式來決定。例如,單紅LED燈亮顯示紅色,單綠LED燈亮顯示綠色,而紅綠LED燈都亮則顯示黃色。若按脈沖方式控制點亮?xí)r間,可實現(xiàn)256級或更高級的灰度顯示,即真彩色顯示。4.1.2LED點陣顯示器1.LED點陣顯示器的結(jié)構(gòu)及工作原理8×8共陽極單色LED點陣顯示器的實物圖如圖所示,其內(nèi)部等效電路圖如圖所示。它由8行8列發(fā)光二極管組成,外部共有16個引腳,其中水平方向的8根行線(Y0~Y7)用數(shù)字0~7表示,垂直方向的8根列線(X0~X7)用字母A~H表示。LED點陣顯示器是由一個一個的點(發(fā)光二極管)組成的,總點數(shù)為行數(shù)與列數(shù)的積,引腳數(shù)為行數(shù)與列數(shù)的和。下面以一個8×8的共陽極單基色LED點陣顯示器為例進行介紹。4.1.2LED點陣顯示器實物圖等效電路圖4.1.2LED點陣顯示器由圖可知,若在某行線上加高電平,同時在某列線上加低電平,則對應(yīng)行線和列線交叉點處的LED燈將被點亮。例如,若Y7為1,X7為0,則右下角的LED燈點亮;若Y2為1,X0~X7均為0,則Y2行的8個LED燈全亮。4.1.2LED點陣顯示器在共陰極LED點陣顯示器中,每一行發(fā)光二極管的陰極連接在一起,每一列發(fā)光二極管的陽極連接在一起。如果需要點亮某個二極管,只需要設(shè)置該二極管的列引腳為高電平、行引腳為低電平即可。4.1.2LED點陣顯示器2.LED點陣顯示器的顯示方式靜態(tài)顯示方式:每一個像素都需要1套驅(qū)動電路,如果顯示器有n×m個像素,則需要n×m套驅(qū)動電路。靜態(tài)顯示方式原理簡單、控制方便,但硬件接線復(fù)雜、占用I/O端口較多。動態(tài)顯示方式:采用多路復(fù)用技術(shù),如果是P路復(fù)用,則每P個像素需要1套驅(qū)動電路,n×m個像素僅需要n×m/P套驅(qū)動電路。對于動態(tài)顯示方式而言,P越大,驅(qū)動電路就越少,成本也就越低,引線也大大減少,更有利于高密度LED點陣顯示器的制造。在實際應(yīng)用中一般采用動態(tài)顯示方式。LED點陣顯示器的顯示方式可分為靜態(tài)顯示方式和動態(tài)顯示方式。4.1.2LED點陣顯示器視野拓展動態(tài)顯示方式利用了人眼的視覺暫留特性,將連續(xù)的幾幀畫面高速地循環(huán)顯示,人眼看起來就是一個完整的、相對靜止的畫面。4.1.2LED點陣顯示器【例4-2】

利用動態(tài)顯示的方式顯示字符“工”?!締栴}分析】

假設(shè)采用8×8共陽極單基色LED點陣顯示器顯示“工”,則需要點亮的位置如圖所示。4.1.2LED點陣顯示器【顯示過程】

以行掃描的形式從上到下運行,過程如圖所示。4.1.3LCD液晶顯示器1.LCD液晶顯示器的功能與分類LCD液晶顯示器是一種功耗低、體積小的顯示器,廣泛應(yīng)用于便攜式電子產(chǎn)品中。它不僅省電,而且控制靈活,可以顯示文字、曲線、圖形等信息。隨著液晶顯示技術(shù)的發(fā)展,LCD液晶顯示器的顯示界面較LED數(shù)碼管顯示器有了質(zhì)的提高。LCD液晶顯示器可分為筆段型LCD液晶顯示器、字符型LCD液晶顯示器和點陣型LCD液晶顯示器三大類。

點陣LCD液晶顯示器

筆段LCD液晶顯示器

字符LCD液晶顯示器4.1.3LCD液晶顯示器筆段型LCD液顯示器由長條狀的顯示像素組成,主要用于顯示數(shù)字、部分英文字母及字符,廣泛應(yīng)用于電子表、數(shù)字儀表中,如圖所示。主要用于顯示數(shù)字、字母、符號和簡單的圖形,廣泛應(yīng)用于遙控器、儀器表盤中,如圖所示。字符型LCD液晶顯示器

點陣型LCD液晶顯示器通常面積較大,由多行多列的顯示像素組成矩陣形式,可以用于顯示圖形等復(fù)雜的信息,廣泛應(yīng)用于游戲機、筆記本電腦中,如圖所示。4.1.3LCD液晶顯示器知識鏈接LCD液晶顯示器是在兩片平行的玻璃當(dāng)中放置液晶材料,通過電場來控制液晶材料的方向,將光線折射出來產(chǎn)生畫面。4.1.3LCD液晶顯示器2.LCD液晶顯示器的結(jié)構(gòu)及工作原理LCD液晶顯示器一般是由液晶顯示屏LCD,主控制驅(qū)動芯片及其擴展驅(qū)動電路,以及少量電阻、電容等裝配在電路板上制成的。下面以LCD1602字符型液晶顯示器(以下簡稱LCD1602)為例來進行介紹。1)LCD1602的引腳功能和主要參數(shù)LCD1602可分為帶背光和不帶背光兩種類型,帶背光的比不帶背光的厚,是否帶背光在應(yīng)用中并無差別。4.1.3LCD液晶顯示器LCD1602采用標(biāo)準(zhǔn)的14引腳(無背光)或16引腳(帶背光)接口。帶背光的LCD1602的外形和外部引腳如圖所示,其引腳功能如表所示。4.1.3LCD液晶顯示器引腳號引腳名稱引腳功能1VSS電源地線2VDD電源引腳(+5V)3VO液晶顯示驅(qū)動電源4RS數(shù)據(jù)/命令選擇,RS=0,命令;RS=1,數(shù)據(jù)5R/讀/寫選擇,R/=0,寫;R/=1,讀6E使能信號7~14DB0~DB7數(shù)據(jù)線15A背光源正極16K背光源負(fù)極LCD1602的主要技術(shù)參數(shù)包括:顯示容量為32個字符(16列2行);芯片工作電壓為4.5~5.5V;工作電流為2.0mA(工作電壓為5.0V狀態(tài)下)。LCD1602內(nèi)部的主控制驅(qū)動芯片HD44780有以下幾個重要組成部分。CGROM:字符發(fā)生器ROM,它內(nèi)部存儲了160個不同的點陣字符圖形用于字符的顯示,每一個字符都有一個固定的地址,如表所示。低位高位0000001000110100010101100111101010111100110111101111××××0000CGRAM(1)

0?P\p

一タ三αP××××0001(2)!1AQaq口ァチム?q××××0010(3)"2BRbrгィ川メβθ××××0011(4)#3CScs丿ゥラモε∞××××0100(5)$4DTdt\ェトヤμΩ××××0101(6)%5EUeuロォナュB0××××0110(7)&6FVfvテカニョPΣ××××0111(8)>

7GWgwアキヌラgπ××××1000(1)(8HXhxイクネリ∫××××1001(2))9IYiyウケ丿ル-1y××××1010(3)*:JZjzエコリレj千××××1011(4)+;K[k{オサヒロx萬××××1100(5)フ<

L¥1|セシフヮ¢××××1101(6)一=M]m}ユスヘソも+××××1110(7).>

N^n→ヨセホハ

××××1111(8)/?O—o←ツソマロ?

4.1.3LCD液晶顯示器位置DDRAM地址第一行00H01H02H03H04H05H06H07H08H09H0AH0BH0CH0DH0EH0FH第二行40H41H42H43H44H45H46H47H48H49H4AH4BH4CH4DH4EH4FHCGRAM:字符發(fā)生器RAM,它包含了8個可由用戶自定義的5×7點陣。DDRAM:顯示數(shù)據(jù)RAM,它用于寄存待顯示的字符,共有80個字節(jié)。LCD1602在送待顯示字符的指令之前,要先送DDRAM的地址(即確定顯示字符的位置)。DDRAM地址與顯示位置的對應(yīng)關(guān)系如表所示。4.1.3LCD液晶顯示器經(jīng)驗傳承目前市面上使用的絕大多數(shù)字符型液晶顯示器都是用HD44780芯片控制的,因此它們的外觀和控制原理基本相同。只要學(xué)會使用一種字符型液晶顯示器,就會通曉所有的字符型液晶顯示器。4.1.3LCD液晶顯示器(1)LCD1602的操作指令。LCD1602的讀寫操作、移位操作等都是通過向顯示屏中寫入指令實現(xiàn)的。LCD1602共有11條操作指令,如表所示。2)LCD1602的操作指令及時序序號指令名稱RSR/DB7DB6DB5DB4DB3DB2DB1DB01清屏00000000012光標(biāo)復(fù)位000000001×3輸入方式設(shè)置00000001I/DS4顯示狀態(tài)設(shè)置0000001DCB5顯示內(nèi)容或光標(biāo)移動方向設(shè)置000001S/CR/L××6工作方式設(shè)置00001DLNF××7CGRAM地址設(shè)置0001CGRAM地址8DDRAM地址設(shè)置001DDRAM地址9讀取忙標(biāo)志或計數(shù)器地址01BF計數(shù)器地址10寫操作10寫入的內(nèi)容11讀操作11讀出的內(nèi)容4.1.3LCD液晶顯示器各指令的具體功能如下。清屏:清除液晶顯示屏,光標(biāo)撤回顯示屏左上角,地址計數(shù)器AC(其內(nèi)容是DDRAM或CGRAM的單元地址)設(shè)置為“0”,光標(biāo)移動方向為從左向右,且DDRAM的自增量為1(I/D=1)。光標(biāo)復(fù)位:將光標(biāo)移至顯示屏左上角,地址計數(shù)器AC設(shè)置為“0”,DDRAM內(nèi)容保持不變。輸入方式設(shè)置:設(shè)定每次寫入數(shù)據(jù)后光標(biāo)與畫面的移動方式。①I/D可指定光標(biāo)的移動方向。I/D=1時,光標(biāo)右移;I/D=0時,光標(biāo)左移。②S可設(shè)定顯示屏上的畫面是否移位。S=0時,畫面不移位;S=1時,畫面移位。4.1.3LCD液晶顯示器

顯示狀態(tài)設(shè)置:設(shè)置顯示、光標(biāo)和光標(biāo)閃爍的狀態(tài)。①D可控制顯示功能的開與關(guān)。D=1時,顯示功能開;D=0時,顯示功能關(guān)。②C可控制光標(biāo)的顯示。C=1時,顯示光標(biāo);C=0時,不顯示光標(biāo)。③B可控制光標(biāo)的閃爍。B=1時,光標(biāo)閃爍;B=0時,光標(biāo)不閃爍。

顯示內(nèi)容或光標(biāo)移動方向設(shè)置:設(shè)置顯示內(nèi)容或光標(biāo)的移動方向。①S/C=0、R/L=0時,光標(biāo)左移,地址計數(shù)器AC減1(即顯示內(nèi)容和光標(biāo)一起左移)。②S/C=0、R/L=1時,光標(biāo)右移,地址計數(shù)器AC加1(即顯示內(nèi)容和光標(biāo)一起右移)。③S/C=1、R/L=0時,顯示內(nèi)容左移,光標(biāo)不移動。④S/C=1、R/L=1時,顯示內(nèi)容右移,光標(biāo)不移動。4.1.3LCD液晶顯示器工作方式設(shè)置:設(shè)置數(shù)據(jù)總線位數(shù)、顯示的行數(shù)及字形。①DL=1時,數(shù)據(jù)總線為8位;DL=0時,數(shù)據(jù)總線為4位。②N=0時,顯示1行;N=1時,顯示2行。③F=0時,字形為5×7的點陣字符;F=1時,字形為5×10的點陣字符。CGRAM地址設(shè)置:設(shè)定下一個要存入數(shù)據(jù)的CGRAM地址。DB5~DB0為CGRAM的地址。4.1.3LCD液晶顯示器DDRAM地址設(shè)置:設(shè)置顯示字符的位置,DB6~DB0為DDRAM的地址,與2行液晶顯示器位置對應(yīng)。由于最高位為1,結(jié)合DDRAM的地址,命令字符顯示位置與命令字符的關(guān)系如表所示。位置命令字第一行80H81H82H83H84H85H86H87H88H89H8AH8BH8CH8DH8EH8FH第二行C0HC1HC2HC3HC4HC5HC6HC7HC8HC9HCAHCBHCCHCDHCEHCFH4.1.3LCD液晶顯示器讀取忙標(biāo)志位或計數(shù)器地址:BF為忙標(biāo)志位。BF=1時,表示模塊此時忙碌,不能進行寫指令和寫數(shù)據(jù)等操作;BF=0時,表示不忙,可以進行操作。寫操作:向DDRAM或CGRAM寫入數(shù)據(jù)或指令。①

寫數(shù)據(jù)時,RS=1,R/=0,E=1,此時DB0~DB7中裝入的是數(shù)據(jù)。②寫指令時,RS=0,R/=0,E=1,此時DB0~DB7中裝入的是指令。讀操作:從DDRAM或CGRAM讀出數(shù)據(jù)或狀態(tài)。①讀數(shù)據(jù)時,RS=1,R/=1,E=1,此時DB0~DB7中輸出數(shù)據(jù)。②讀狀態(tài)時,RS=0,R/=1,E=1,此時DB0~DB7中輸出狀態(tài)。4.1.3LCD液晶顯示器(2)LCD1602的操作時序。對引腳的操作通??梢越Y(jié)合時序圖來理解,時序圖的查看一般遵循從上到下、從左到右的原則。LCD1602的讀寫操作時序如圖所示。讀操作時序?qū)懖僮鲿r序4.1.3LCD液晶顯示器分析:先對RS引腳進行設(shè)置(高電平表示讀或?qū)憯?shù)據(jù),低電平表示讀或?qū)懼噶睿?,R/引腳的值表示是讀操作還是寫操作。在數(shù)據(jù)總線上給出數(shù)據(jù)DB0~DB7。將使能信號E設(shè)置為高電平,即可進行讀、寫操作。將使能信號E設(shè)置為低電平。復(fù)位RS、R/的狀態(tài)。4.1.3LCD液晶顯示器3)LCD1602的初始化過程LCD1602初始化時需要使用工作方式設(shè)置指令、顯示狀態(tài)設(shè)置指令、清屏指令及輸入方式設(shè)置指令等。單片機在向LCD1602發(fā)送指令之前,一定要確認(rèn)其忙標(biāo)志位BF是否為低電平,如果為低電平,表示模塊此時處于空閑狀態(tài),可以向它發(fā)送指令,否則發(fā)出的指令會失效。4.1.3LCD液晶顯示器LCD1602的初始化過程如下。(1)寫指令38H:工作方式設(shè)置指令,設(shè)置顯示器的數(shù)據(jù)總線、顯示的行數(shù)及字形。例如,設(shè)置DL=1、N=0、F=0,表示數(shù)據(jù)總線為8位、只顯示一行、字形為5×8點陣字符。本指令的功能與“寫指令30H”一樣。(2)寫指令08H:顯示狀態(tài)設(shè)置指令,設(shè)置顯示、光標(biāo)和光標(biāo)閃爍的狀態(tài)。例如,設(shè)置D=1、C=1、B=1,表示開顯示功能、顯示光標(biāo)、光標(biāo)閃爍。(3)寫指令01H:清屏指令,將光標(biāo)設(shè)置為第1行第1列。(4)寫指令06H:輸入方式設(shè)置。例如,設(shè)置I/D=1、S=0,表示光標(biāo)右移、整個屏幕不移位。4.1.3LCD液晶顯示器經(jīng)驗傳承對LCD1602初始化時需要先設(shè)置其顯示狀態(tài),在顯示字符時光標(biāo)是自動向右移的,無需人工干預(yù)。4.1.3LCD液晶顯示器【例4-3】設(shè)計將字符“A”通過LCD1602液晶顯示器顯示在屏幕的左上角?!緟⒖即a】#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintsbitRS=P3^0; /*RS接到P3.0引腳*/sbitRW=P3^1; /*RW接到P3.1引腳*/sbitE=P3^5; /*E接到P3.5引腳*/ucharnum;4.1.3LCD液晶顯示器/********延時1ms函數(shù)********/voiddelay(uintz){ uintx,y; for(y=z;y>0;y--) for(x=123;x>0;x--);}4.1.3LCD液晶顯示器/********寫指令函數(shù)********/voidlcd_wcode(ucharinst){

RS=0;RW=0; P1=inst; /*P1端口初始化*/ E=0; delay(1); E=1; delay(1);

E=0;RS=1;}4.1.3LCD液晶顯示器/********寫數(shù)據(jù)函數(shù)********/voidlcd_wdata(uchardata){

RS=1;RW=0; P1=data; E=0; delay(1); E=1; delay(1);

E=0;RS=1;}4.1.3LCD液晶顯示器/********主程序********/voidmain(){ num=0; lcd_wcode(0x38); /*設(shè)置8位、2行、5×7點陣*/ lcd_wcode(0x0f); /*顯示器開,光標(biāo)允許閃爍*/ lcd_wcode(0x06); /*文字不動,光標(biāo)自動右移*/ lcd_wcode(0x01); /*清屏并復(fù)位光標(biāo)*/ lcd_wcode(0x80+1); /*寫入第1行第2個位置*/ lcd_wdata('A'); /*顯示“A”*/ while(1);}課堂小結(jié)1LED數(shù)碼管顯示器2LED點陣顯示器3LCD液晶顯示器C設(shè)計密碼鎖

——鍵盤接口技術(shù)的應(yīng)用

011211101101011011010010011001101010100100110110100101100101110110101001101110101010101011010100110100104.24.2任務(wù)工單掃一掃查看任務(wù)工單任務(wù)描述原始社會末期,隨著生產(chǎn)力的不斷增加、生產(chǎn)工具的發(fā)明和應(yīng)用,人類社會出現(xiàn)了私有制,為了保護自己的私有財產(chǎn)安全,門鎖也就誕生了。門鎖最早的雛形是用草繩捆成的繩結(jié),后來木匠祖師魯班對其進行改進,裝上機關(guān),才形成了真正意義上的鎖,再后來又發(fā)展成三簧鎖、葉片鎖、彈子鎖、套筒轉(zhuǎn)心鎖等。隨著微電子技術(shù)的發(fā)展,現(xiàn)在出現(xiàn)了密碼鎖。任務(wù)描述密碼鎖是由電子電路控制鎖體的新型鎖具,它采用鍵盤(觸摸)方式輸入開鎖密碼,具有操作方便、安全實用及成本低等特點。密碼鎖符合住宅、辦公室的用鎖要求,在生活中隨處可見,如智能門鎖、小型保險柜鎖等,如圖所示。請設(shè)計一個密碼鎖。任務(wù)實施詳細(xì)內(nèi)容掃碼觀看1.整體設(shè)計思想

2.硬件設(shè)計3.軟件設(shè)計4.仿真調(diào)試4.2.1按鍵的結(jié)構(gòu)及工作原理鍵盤是單片機應(yīng)用系統(tǒng)中最常用的輸入設(shè)備之一。用戶可以通過鍵盤輸入數(shù)據(jù)、地址和命令等信息,進行簡單的人機交互。鍵盤一般是由多個按鍵組成的,其實物圖如圖所示。4.2.1按鍵的結(jié)構(gòu)及工作原理按鍵按照結(jié)構(gòu)的不同,可分為觸點式按鍵和無觸點式按鍵。 觸點式按鍵如機械式按鍵、導(dǎo)電橡膠式按鍵等。觸點式按鍵價格低,但壽命較短。 無觸點式按鍵如電氣式按鍵、磁感應(yīng)按鍵等。無觸點式按鍵價格高,但壽命較長。4.2.1按鍵的結(jié)構(gòu)及工作原理單片機應(yīng)用系統(tǒng)中常用的是觸點式按鍵。觸點式按鍵是一種按鈕開關(guān),其實物如圖所示。觸點式按鍵有四個引腳,如圖所示,引腳1與引腳4連通、引腳2與引腳3連通。按下按鈕時,內(nèi)部開關(guān)a接通;松開按鈕時,a自動彈起,開關(guān)斷開。4.2.1按鍵的結(jié)構(gòu)及工作原理視野拓展按鍵的抖動是指按鍵的觸點在閉合和斷開瞬間由于接觸不穩(wěn)定而產(chǎn)生抖動的現(xiàn)象(由按鍵的機械特性造成,不可避免)。如圖所示為按鍵按下和松開時的實際狀態(tài),在按鍵的前沿和后沿都會有抖動;如圖所示為按鍵按下和松開時的理想狀態(tài)。4.2.1按鍵的結(jié)構(gòu)及工作原理視野拓展在實際應(yīng)用中,按鍵按下和松開時都將產(chǎn)生抖動,同時也會產(chǎn)生干擾信號,這種干擾信號對數(shù)字電路的影響很大,往往會導(dǎo)致計數(shù)的錯誤。對于時鐘是微秒級的單片機而言,按鍵的抖動有可能造成單片機對一次按鍵的多次處理。為了提高系統(tǒng)的穩(wěn)定性,必須采用有效的方式消除抖動。消除抖動可以采用硬件方式和軟件方式。硬件方式一般是在按鍵與單片機的輸入通道上安裝硬件去抖電路(如RS觸發(fā)器、RC濾波電路)。軟件方式的實現(xiàn)方法是:當(dāng)查詢到電路中有按鍵按下時,先不進行處理,而是先執(zhí)行5~10ms的延時程序,延時程序結(jié)束后,再次查詢按鍵狀態(tài),若此時按鍵仍為按下狀態(tài),則視為按鍵被按下。4.2.1按鍵的結(jié)構(gòu)及工作原理某電腦維修店接了一臺故障電腦。經(jīng)檢查,故障是由鍵盤的某個按鍵損壞引起的,需要更換按鍵。按鍵雖然不起眼,但總在關(guān)鍵的地方發(fā)揮作用,沒有它,電腦很難運行。這就像平凡生活、平凡崗位上每個平凡的人,都有自己的價值,都在自己的位置上發(fā)揮著不平凡的作用。4.2.2鍵盤的分類鍵盤按照接口原理的不同,可分為編碼鍵盤和非編碼鍵盤。

編碼鍵盤由硬件實現(xiàn)對按鍵閉合狀態(tài)的識別。編碼鍵盤的優(yōu)點是所需軟件較簡單,缺點是硬件電路復(fù)雜,價格較貴。

非編碼鍵盤由軟件實現(xiàn)對按鍵閉合狀態(tài)的識別。非編碼鍵盤的硬件電路比較簡單,價格低廉。非編碼鍵盤按結(jié)構(gòu)的不同,可分為獨立式鍵盤和矩陣式鍵盤。51系列單片機常用的是非編碼鍵盤,下面主要介紹非編碼鍵盤及其接口電路。4.2.3獨立式鍵盤1.獨立式鍵盤的結(jié)構(gòu)及工作原理獨立式鍵盤的各按鍵相互獨立,每個按鍵占用一根I/O端口線,每個按鍵的工作狀態(tài)不會影響其他按鍵的工作狀態(tài)。通過檢測I/O端口線的高/低電平狀態(tài),即可判斷哪個按鍵被按下。獨立式鍵盤的硬件、軟件結(jié)構(gòu)簡單,判鍵速度快,使用方便,但占用I/O端口線較多,適用于按鍵數(shù)量較少的系統(tǒng)。4.2.3獨立式鍵盤獨立式鍵盤的結(jié)構(gòu)示意圖如圖所示。當(dāng)沒有按鍵被按下時,所有的數(shù)據(jù)輸入線均為高電平;當(dāng)任意一個按鍵被按下時,與之相連的數(shù)據(jù)輸入線將變?yōu)榈碗娖?;通過相應(yīng)指令,可以判斷是否有按鍵被按下。4.2.3獨立式鍵盤2.獨立式鍵盤的程序設(shè)計判斷有無按鍵按下。(1)(5)(2)(3)(6)功能計算閉合鍵的鍵值。判斷閉合鍵是否釋放,若沒釋放則繼續(xù)等待。確定閉合鍵的位置。消除按鍵的抖動。保存閉合鍵的鍵值,同時轉(zhuǎn)去執(zhí)行該閉合鍵對應(yīng)的功能。(4)獨立式鍵盤的程序一般設(shè)計為獨立函數(shù),方便調(diào)用。獨立式鍵盤程序的功能一般包含以下幾項。4.2.3獨立式鍵盤獨立式鍵盤的程序設(shè)計流程如圖所示。4.2.3獨立式鍵盤獨立式鍵盤程序如下。#include<reg51.h>voiddelay10ms(){ TH1=0xd8; /*設(shè)置10ms定時初值*/ TL1=0xf0; TR1=1; /*啟動定時器1*/ while(!TF1); /*判斷10ms定時時間是否到了*/ TF1=0; /*時間到,TF1清零*/}4.2.3獨立式鍵盤voidmain(){ unsignedchari; TMOD=0x10; /*設(shè)置定時器1*/ P1=0xff; /*P1端口全置為1*/ i=0; while(1){

do{ i=P1; i=~i; i=i&0x0f; /*屏蔽高位*/ }4.2.3獨立式鍵盤while(i==0); /*循環(huán)判斷是否有按鍵按下*/ delay10ms(); /*有按鍵按下,延遲10ms去抖動*/ do { i=~P1; /*讀按鍵狀態(tài)*/ i=i&0x0f; } while(i==0);4.2.3獨立式鍵盤 switch(i) /*根據(jù)鍵值調(diào)用不同的處理函數(shù)*/ { case0x01:KEYA();break; /*調(diào)用按鍵KEYA功能函數(shù)*/ case0x02:KEYB();break; /*調(diào)用按鍵KEYB功能函數(shù)*/ case0x04:KEYC();break; /*調(diào)用按鍵KEYC功能函數(shù)*/ case0x08:KEYD();break; /*調(diào)用按鍵KEYD功能函數(shù)*/ default:break; } }}4.2.4矩陣式鍵盤矩陣式鍵盤是由行線和列線組成的,按鍵位于行線與列線的交叉點上。相較于獨立式鍵盤,矩陣式鍵盤要節(jié)省很多I/O端口,更適用于按鍵數(shù)量較多的系統(tǒng)。如圖所示為一個4×4矩陣式鍵盤的結(jié)構(gòu)示意圖,行線連接的4根I/O端口線,作為輸入端;列線連接的4根I/O端口線作為輸出端。當(dāng)沒有按鍵按下時,所有列線的輸出均為高電平,行線的輸入也是高電平;當(dāng)有按鍵按下時,相應(yīng)列線的輸出為低電平,對應(yīng)行線的輸入也為低電平。通過檢測輸入線的電平可知是否有按鍵按下,根據(jù)行線和列線的電平信號可以判斷按鍵所在的位置。1.矩陣式鍵盤的結(jié)構(gòu)及工作原理4.2.4矩陣式鍵盤4×4矩陣式鍵盤的結(jié)構(gòu)示意圖4.2.4矩陣式鍵盤2.矩陣式鍵盤按鍵的識別矩陣式鍵盤按鍵的識別方法有列掃描法和行列反轉(zhuǎn)法兩種。1)列掃描法采用列掃描法識別矩陣式鍵盤按鍵的方法如下。(1)首先判斷是否有按鍵按下。先使所有的列線輸出低電平,然后讀取所有行線的電平信號。若讀取的行線電平信號全為高電平,則無按鍵按下;否則,有按鍵按下。4.2.4矩陣式鍵盤(2)逐列掃描判斷具體的按鍵。依次使列線輸出低電平,然后讀取該列線上所有行線的電平信號。若讀取的行線電平信號全為高電平,則該列線所連接的按鍵沒有按下;否則,該列線所連接的按鍵有按鍵按下。按下的按鍵位于行、列線均為低電平的位置。4.2.4矩陣式鍵盤經(jīng)驗傳承鍵值的計算按鍵的位置確定后,即可計算鍵值。如圖4-32所示為4×4矩陣式鍵盤鍵值的編碼示意圖,鍵值與行號、列號之間的關(guān)系為鍵值=行號×4+列號4.2.4矩陣式鍵盤2)行列反轉(zhuǎn)法采用行列反轉(zhuǎn)法識別矩陣式鍵盤按鍵的方法如下。(1)將所有的列線輸出低電平,行線輸出高電平,然后讀取行線的電平信號。若按鍵中有任意一個被按下,那么讀取的行線電平則不全為高電平,記錄此時的行值。4.2.4矩陣式鍵盤(2)將所有的列線輸出高電平,行線輸出低電平,然后讀取列線的電平信號。若按鍵中有任意一個被按下,那么讀取的列線電平則不全為高電平,并記錄此時的列值。4.2.4矩陣式鍵盤(3)將行值與列值進行運算,可得到按鍵的掃描碼。例如,4×4矩陣式鍵盤接口設(shè)計如圖所示。P2.0~P2.3連接行線,P2.4~P2.7連接列線。先給P2端口輸出00001111,假設(shè)S15按下了,此時讀取的P2端口的值為00000111;再給P2端口輸出11110000,假設(shè)S15按下了,此時讀取的P2端口的值為01110000;最后把兩次讀取的P2端口的值按位進行“或”運算,可得到01110111,即0x77,這個值就是按鍵S15的掃描碼。依此類推,可得出其他15個按鍵對應(yīng)的掃描碼,如圖所示。4.2.4矩陣式鍵盤3.矩陣式鍵盤的程序設(shè)計判斷有無按鍵按下。(1)(5)(2)(3)(6)功能計算閉合鍵的鍵值。判斷閉合鍵是否釋放,若沒釋放則繼續(xù)等待。確定閉合鍵的位置(行、列號)。消除按鍵的抖動。保存閉合鍵的鍵值,同時轉(zhuǎn)去執(zhí)行該閉合鍵對應(yīng)的功能。(4)矩陣式鍵盤的程序一般采用列掃描法,程序功能一般包含以下幾項。4.2.4矩陣式鍵盤矩陣式鍵盤列掃描法的程序設(shè)計流程如圖所示。4.2.4矩陣式鍵盤獨立式鍵盤程序如下。#include<reg51.h>voiddelay10ms(){ TH1=0xd8; /*設(shè)置10ms定時初值*/ TL1=0xf0; TR1=1; /*啟動定時器1*/ while(!TF1); /*判斷10ms定時時間是否到了*/ TF1=0; /*時間到,TF1清零*/}4.2.4矩陣式鍵盤unsignedcharkey_scan(void){ unsignedchari,temp,m,n; bitfind=0; /*有按鍵按下標(biāo)志位*/ P0=0xff; /*P0端口低4位行線輸入,先全置為1*/ P2=0x00; /*P2端口低4位列線輸出,全置為0*/ temp=~P0; /*讀行線狀態(tài)*/4.2.4矩陣式鍵盤while(temp!=0) { delay10ms(); } P2=0x00; /*輸出全掃字,列線全置為0*/ temp=~P0; /*讀行線狀態(tài)*/while(temp!=0)

{for(i=0;i<4;i++)

{4.2.4矩陣式鍵盤P2=0xfe<<1; /*逐列送低電平掃描*/ temp=~P0; /*讀行值,并取反*/ temp=temp&0x0f; /*屏蔽行高4位*/ while(temp!=0x00) /*判斷是否有按鍵按下,若為0則無按鍵按下*/ { m=i; /*保存列號到變量m中*/ find=1; /*設(shè)置找到按鍵標(biāo)志

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論