第8章-MCS-51的系統(tǒng)擴(kuò)展和接口技術(shù)-課件_第1頁
第8章-MCS-51的系統(tǒng)擴(kuò)展和接口技術(shù)-課件_第2頁
第8章-MCS-51的系統(tǒng)擴(kuò)展和接口技術(shù)-課件_第3頁
第8章-MCS-51的系統(tǒng)擴(kuò)展和接口技術(shù)-課件_第4頁
第8章-MCS-51的系統(tǒng)擴(kuò)展和接口技術(shù)-課件_第5頁
已閱讀5頁,還剩102頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)原理及應(yīng)用技術(shù)第8章 MCS-51的系統(tǒng)擴(kuò)展與接口技術(shù)7/19/2022計(jì)算機(jī)系 第7章 MCS-51的系統(tǒng)擴(kuò)展與接口技術(shù)掌握I/O接口的擴(kuò)展、8255A的初始化及擴(kuò)展I/O掌握程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器的擴(kuò)展了解鍵盤的掃描、去抖、識(shí)別,了解顯示接口了解A/D、D/A轉(zhuǎn)換器的工作原理及典型的A/D、D/A芯片應(yīng)用實(shí)例學(xué)習(xí)重點(diǎn)和難點(diǎn) I/O接口的擴(kuò)展存儲(chǔ)器的擴(kuò)展A/D、D/A轉(zhuǎn)換器的工作原理及應(yīng)用教學(xué)目的 7/19/2022計(jì)算機(jī)系 第7章 MCS-51的系統(tǒng)擴(kuò)展與接口技術(shù)7.1 并行I/O口的擴(kuò)展7.2 存儲(chǔ)器的擴(kuò)展7.3 最小系統(tǒng)與三總線的概念7.4 鍵盤接口7.5 顯示接口7.6 A/D

2、接口7.7 D/A轉(zhuǎn)換接口7.8 習(xí)題7/19/2022計(jì)算機(jī)系 7.1 并行I/O口的擴(kuò)展單片機(jī)應(yīng)用系統(tǒng)需要為外圍設(shè)備及被控對(duì)象提供數(shù)據(jù)交換接口。MCS-51擴(kuò)展I/O口時(shí),擴(kuò)展結(jié)構(gòu)可分為3種類型。MCS-51是將外部I/O口和外部 RAM統(tǒng)一編址的,每個(gè)I/O口相當(dāng)于一個(gè)外部RAM單元,訪問外部接口就象訪問外部RAM一樣,用MOVX指令。7/19/2022計(jì)算機(jī)系 8.1.1 并行I/O口的簡單擴(kuò)展簡單I/O接口擴(kuò)展所用芯片為74系列的TTL電路,CMOS電路也可作為MCS-51的擴(kuò)展I/O接口。這些芯片結(jié)構(gòu)簡單,配置靈活方便,比較容易擴(kuò)展,使系統(tǒng)降低了成本、縮小了體積,因此在單片機(jī)應(yīng)用系

3、統(tǒng)中經(jīng)常被采用。常用芯片有74LS244(八緩沖器/線驅(qū)動(dòng)器/線接收器)、74LS245(八雙向總線收發(fā)器)、74LS273(八D觸發(fā)器)、74LS373(八D鎖存器)、74LS377(帶使能的八D觸發(fā)器)等。74LS244是八緩沖器/線驅(qū)動(dòng)器/線接收器,內(nèi)部有兩組4位三態(tài)緩沖器,具有數(shù)據(jù)緩沖隔離和驅(qū)動(dòng)作用,其輸入阻抗較高,輸出阻抗低,常用于單向三態(tài)緩沖輸出。 7.1 并行I/O口的擴(kuò)展7/19/2022計(jì)算機(jī)系 74LS244各引腳定義如下:1A11A4:第1組4條輸入線1Y11Y4:第1組4條輸出線2A12A4:第2組4條輸入線2Y12Y4:第2組4條輸出線1G:第1組三態(tài)門使能端, 低電

4、平有效2G:第2組三態(tài)門使能端, 低電平有效VCC:工作電源,接+5V電壓GND:接地 7.1 并行I/O口的擴(kuò)展7/19/2022計(jì)算機(jī)系 74LS273各引腳定義如下:D0D7:輸入線。Q0Q7:輸出線。CLR:清除控制端, 低電平有效。CLK:時(shí)鐘輸入端, 上升沿有效。VCC:工作電源, 接+5V電壓。GND:接地。7.1 并行I/O口的擴(kuò)展7/19/2022計(jì)算機(jī)系 74LS273的工作方式 74LS244的工作方式 7.1 并行I/O口的擴(kuò)展7/19/2022計(jì)算機(jī)系 【例】 用74LS244作為擴(kuò)展輸入,74LS273作為擴(kuò)展輸出。解:P0口作為雙向數(shù)據(jù)總線,用74LS244擴(kuò)展8

5、位輸入,輸入八只控制開關(guān)的控制信號(hào);用74LS273擴(kuò)展8位輸出,輸出信號(hào)控制八只發(fā)光二極管。編寫控制程序,可使八只發(fā)光二極管分別受各自對(duì)應(yīng)的控制開關(guān)的控制。 只要P2.7為0,就選中74LS244或74LS273,其他位均為無關(guān)位,所以74LS244和74LS273的地址均為7FFFH。 7.1 并行I/O口的擴(kuò)展7/19/2022計(jì)算機(jī)系 簡單I/O口擴(kuò)展電路 7/19/2022計(jì)算機(jī)系 參考程序:7.1 并行I/O口的擴(kuò)展 ORG 0000H AJMP MAIN ORG 0050HMAIN: MOV DPTR,#8000 ;置輸入口地址 MOVX A,DPTR ;讀輸入口數(shù)據(jù) MOV D

6、PTR,#9000H ;置輸出口地址 MOVX DPTR,A ;寫輸出口數(shù)據(jù) SJMP MAIN END7/19/2022計(jì)算機(jī)系 8.1.2 用8255A芯片擴(kuò)展I/O口8255A是一個(gè)可編程并行接口芯片,它主要作為外圍設(shè)備與微型計(jì)算機(jī)總線之間的I/O接口。8255A可以通過軟件來設(shè)置芯片的工作方式,因此用8255A連接外部設(shè)備時(shí),通常不需要再附加外部電路,給使用帶來很大的方便。 8255A有三個(gè)8位可編程并行I/O端口,從編程上可分成2組,每組12個(gè),有3種工作模式。7.1 并行I/O口的擴(kuò)展7/19/2022計(jì)算機(jī)系 8255A的引腳與封裝 7/19/2022計(jì)算機(jī)系 8255A各引腳定

7、義如下:D7D0:雙向數(shù)據(jù)線,用于傳送數(shù)據(jù)和控制字。PA7PA0、PB7PB0、PC7PC0:輸入/輸出信號(hào)線,用于傳送數(shù)據(jù)。CS:片選信號(hào),低電平有效。只有該引腳為低電平時(shí),8255A才與CPU建立通信。RD:芯片讀出信號(hào),低電平有效。當(dāng)引腳為低電平時(shí),CPU可以從8255A中讀取輸入數(shù)據(jù)。WR:芯片寫入信號(hào),低電平有效。當(dāng)引腳為低電平時(shí),CPU可以往8255A中寫入數(shù)據(jù)或控制字。7.1 并行I/O口的擴(kuò)展7/19/2022計(jì)算機(jī)系 8255A各引腳定義如下:A0 、A1:端口選擇信號(hào),這兩個(gè)引腳的輸入和RD、WR兩個(gè)引腳的輸入,一起控制8255A內(nèi)部三個(gè)數(shù)據(jù)端口及一個(gè)控制端口的選擇。它們一

8、般和地址總線的兩個(gè)最低位(A0、A1)相連。選擇如下: A1A0為00時(shí)選中端口A;為01時(shí)選中端口B;為10時(shí)選中端口C;為11時(shí)選中命令字口。RESET:復(fù)位,當(dāng)該輸入信號(hào)為高電平時(shí),控制寄存器被清除,所有的端口(A、B、C)都被設(shè)為輸入狀態(tài)。復(fù)位引腳上的高電平,使各個(gè)端口都置為輸入模式(也就是24個(gè)引腳都被置為高阻態(tài))。 7.1 并行I/O口的擴(kuò)展7/19/2022計(jì)算機(jī)系 8255A的內(nèi)部結(jié)構(gòu) 7/19/2022計(jì)算機(jī)系 8.1 并行I/O口的擴(kuò)展8255A在三種基本的方式下工作:方式 0:基本輸入/輸出。方式 1:選通的輸入/輸出。方式 2:雙向傳輸。 7/19/2022計(jì)算機(jī)系 【

9、例】 用8255控制打印機(jī),打印機(jī)與8051采用查詢方式交換數(shù)據(jù)。解:下圖是8255A作為打印機(jī)接口與8051相連的電路圖。其工作方式為0,片選信號(hào)為P0.7,端口A作數(shù)據(jù)輸出通道,端口B不用,PC7與打印機(jī)的狀態(tài)信號(hào)BUSY相連,PC0與打印機(jī)的選通信號(hào)STB。打印機(jī)與8051采用查詢方式交換數(shù)據(jù)。當(dāng)BUSY為0,在STB負(fù)跳變時(shí),數(shù)據(jù)被輸入。 按照接口電路可知(無關(guān)的位全設(shè)為1),端口A地址為7CH,端口B地址為7DH,端口C地址為7EH,控制端口地址為7FH。方式選擇字(無關(guān)的位全設(shè)為0)為88H。要打印的數(shù)據(jù)開始地址為30H;要打印的數(shù)據(jù)個(gè)數(shù)設(shè)為50。 7.1 并行I/O口的擴(kuò)展7/1

10、9/2022計(jì)算機(jī)系 8051通過8255A與打印機(jī)電路圖 參考程序7/19/2022計(jì)算機(jī)系 8155并行接口芯片8155是一種多功能可編程外圍擴(kuò)展接口芯片,它也有三個(gè)可編程I/O端口(端口A、B、C)。與8255A的區(qū)別在于PC口是6位,同時(shí)還有一個(gè)可編程14位定時(shí)器/計(jì)數(shù)器和256字節(jié)的RAM,能方便地進(jìn)行I/O擴(kuò)展和RAM擴(kuò)展。 7.1 并行I/O口的擴(kuò)展7/19/2022計(jì)算機(jī)系 8.1 并行I/O口的擴(kuò)展8155的引腳與封裝 8155內(nèi)部結(jié)構(gòu) 7/19/2022計(jì)算機(jī)系 8155內(nèi)部的I/O口、RAM、定時(shí)器和命令/狀態(tài)寄存器的地址分配 A7A6A5A4A3A2A1A0選中寄存器0

11、00命令/狀態(tài)寄存器001PA口010PB口011PC口100定時(shí)器高8位101定時(shí)器低8位7.1 并行I/O口的擴(kuò)展7/19/2022計(jì)算機(jī)系 8155的工作方式1. 8155作片外RAM(256B)在片選信號(hào)CE有效的情況下,IO/M信號(hào)為高電平,8155作片外RAM使用。地址的高8位由片選信號(hào)確定,地址的低8位為00HFFH。 8.1 并行I/O口的擴(kuò)展7/19/2022計(jì)算機(jī)系 2. 8155作I/O口 8155有兩種工作方式:基本I/O和選通I/O。當(dāng)8155的PA口、PB口、PC口工作在基本I/O方式下,可用于無條件I/O操作。基本輸入時(shí)執(zhí)行“MOVX A,DPTR”類指令,基本輸

12、出時(shí)執(zhí)行“MOVX DPTR,A”類指令。當(dāng)8155的PA口工作在選通I/O方式下時(shí),PC口低三位作PA口聯(lián)絡(luò)線,其余位作I/O線,PB口定義為基本I/O;PA口和PB口也可同時(shí)定義為選通I/O,此時(shí)PC作PA口、PB口聯(lián)絡(luò)線。在8155操作前,須由CPU向命令寄存器送命令字,設(shè)定其工作方式,命令字只能寫入不能讀出。8155內(nèi)部還有一個(gè)狀態(tài)寄存器,可以鎖存8155 I/O口和定時(shí)器的當(dāng)前狀態(tài),供CPU查詢,狀態(tài)寄存器和命令寄存器共用一個(gè)地址,只能讀出不能寫入。因此可以認(rèn)為8155的00H口是命令/狀態(tài)口,CPU往00H寫入的是命令字,而從中讀出的是狀態(tài)字。 8.1 并行I/O口的擴(kuò)展7/19/

13、2022計(jì)算機(jī)系 7.2 存儲(chǔ)器的擴(kuò)展單片機(jī)外部擴(kuò)展常用程序存儲(chǔ)器芯片為EPROM,其掉電后信息不會(huì)丟失,且只有在紫外線的照射下,存儲(chǔ)器的單元信息才可擦除。用作擴(kuò)展的EPROM主要是27系列,如2716、2732、2764、27128、27256等,其中高位數(shù)字27表示該芯片是EPROM,低位數(shù)字表明存儲(chǔ)容量,如2716表示16K個(gè)存儲(chǔ)位,亦即字節(jié)容量為2K的EPROM。常用的還有EEPROM ,即28系列,如2816/2817、2864等,型號(hào)含義同上。 8.2.1 程序存儲(chǔ)器的擴(kuò)展7/19/2022計(jì)算機(jī)系 常用EPROM芯片管腳和封裝如下圖所示。EPROM除2716外均為28線雙列直插式

14、封裝,各引腳定義如下。A0Ai:地址輸入線,i=1215。D0Di:三態(tài)數(shù)據(jù)總線,讀或編程校驗(yàn)時(shí)為數(shù)據(jù)輸出線,編程時(shí)為數(shù)據(jù)輸入線。其余時(shí)間呈高阻狀態(tài)。PGM:編程脈沖輸入線。OE:讀出選通線,低電平有效。CE:片選線,低電平有效。VPP:編程電源線,其值因芯片及制作廠商而異。VCC:電源線,接+5V電源。GND:接地。7.2 存儲(chǔ)器的擴(kuò)展7/19/2022計(jì)算機(jī)系 EPROM的操作方式主要有以下幾種。編程方式:把程序代碼(目標(biāo)文件)固化到EPROM中。編程校驗(yàn)方式:讀出EPROM中的內(nèi)容,校驗(yàn)編程操作的正確性。讀出方式:CPU從EPROM中讀出代碼。維持方式:數(shù)據(jù)端呈高阻態(tài)。編程禁止方式:用于

15、多片EPROM并行編程。 7.2 存儲(chǔ)器的擴(kuò)展7/19/2022計(jì)算機(jī)系 2764和27128的操作方式 27256的操作方式 7/19/2022計(jì)算機(jī)系 注: X 代表任意狀態(tài)。 * 代表VPP的大小與型號(hào)和編程方式有關(guān)。 * * 代表VCC的大小與型號(hào)和編程方式有關(guān)。 27512 的操作方式 7.2 存儲(chǔ)器的擴(kuò)展7/19/2022計(jì)算機(jī)系 【例】 8051擴(kuò)展一片2764 EPROM(8KB)。解:1. 單片機(jī)的接口信號(hào):ALE、PSEN、EA 2. 與單片機(jī)的連接方法 (1)地址線 P2口的P2.0P2.4與EPROM的高5位地址線及片選CE連接;P0口經(jīng)地址鎖存器輸出的地址線與EPRO

16、M的低8位地址線相連,同時(shí)P0口又與EPROM的數(shù)據(jù)線相連;單片機(jī)ALE連接鎖存器的鎖存控制端; (2)數(shù)據(jù)線:P0 (3)控制線:PSEN接EPROM的輸出允許OE;8051的內(nèi)、外存儲(chǔ)器選擇端EA接地。擴(kuò)展單片EPROM,其片選CE直接接地即可。7.2 存儲(chǔ)器的擴(kuò)展7/19/2022計(jì)算機(jī)系 單片機(jī)與外部ROM的連接 7.2 存儲(chǔ)器的擴(kuò)展7/19/2022計(jì)算機(jī)系 7.2.2 數(shù)據(jù)存儲(chǔ)器的擴(kuò)展數(shù)據(jù)存儲(chǔ)器用于存儲(chǔ)現(xiàn)場采集的原始數(shù)據(jù)、運(yùn)算結(jié)果等。外部數(shù)據(jù)存儲(chǔ)器應(yīng)能隨機(jī)讀/寫,通常由半導(dǎo)體靜態(tài)隨機(jī)讀/寫存儲(chǔ)器RAM組成。EEPROM芯片有時(shí)也會(huì)用作外部數(shù)據(jù)存儲(chǔ)器。靜態(tài)RAM主要有讀出、寫入、維持

17、三種工作方式。常用的靜態(tài)RAM(SRAM)電路有61系列的6116以及62系列的6264、62128、62256等。 8.2 存儲(chǔ)器的擴(kuò)展7/19/2022計(jì)算機(jī)系 各引腳定義如下:A0Ai:地址輸入線,i=10(6116), 12(6264), 13(62128),14(62256)。D0Di:雙向三態(tài)數(shù)據(jù)線(6116為I/O0I/O7)。CE:片選信號(hào)輸入端,低電平有效。6264的26腳(CS1)為高電平,且CE為低電平時(shí)才選中該片。OE:讀選通信號(hào)輸入端,低電平有效。WE:寫允許信號(hào)輸入端,低電平有效。VCC:工作電源,接+5V電壓。GND:接地。 7.2 存儲(chǔ)器的擴(kuò)展7/19/2022

18、計(jì)算機(jī)系 6116的引腳與封裝 7/19/2022計(jì)算機(jī)系 62系列SRAM引腳與封裝 OEOEOEWEWEWE7/19/2022計(jì)算機(jī)系 注: X代表任意狀態(tài)。 *代表對(duì)于CMOS靜態(tài)RAM電路,CE為高電平時(shí),電路處于降耗狀態(tài)。此時(shí)VCC可降至3V左右,內(nèi)部所存數(shù)據(jù)也不會(huì)丟失。 6116/6264/62128/62258的操作方式 7.2 存儲(chǔ)器的擴(kuò)展7/19/2022計(jì)算機(jī)系 【例】 8051擴(kuò)展三片6116靜態(tài)RAM(6KB)。解:擴(kuò)展靜態(tài)RAM與擴(kuò)展ROM相似,只是控制信號(hào)有所不同,如下圖所示為8051用線選法擴(kuò)展2KB靜態(tài)RAM6116的連線圖。 單片機(jī)的RD接EPROM的輸出允許

19、OE;WR接EPROM的寫允許WE。 P2口的P2.3、P2.4未用,所以它們的狀態(tài)與2764的尋址無關(guān);假設(shè)無關(guān)位P2.3和P2.4為0,則1號(hào)片的地址為C000HC7FFH,2號(hào)片的地址為 A000HA7FFH,3號(hào)片的地址為6000H67FFH。7.2 存儲(chǔ)器的擴(kuò)展7/19/2022計(jì)算機(jī)系 8051擴(kuò)展6KB RAM 7/19/2022計(jì)算機(jī)系 【例】 8051同時(shí)擴(kuò)展一片62256 RAM和一片27256 ROM。解:用線選法同時(shí)擴(kuò)展一片62256 RAM和一片27256 ROM,邏輯電路圖如下圖所示。 32KB EPROM的地址為 0000H7FFFH, 32KB RAM的地址也為

20、 0000H7FFFH; 雖然片選信號(hào)同為P2.7,兩者的地址相同,但不會(huì)發(fā)生地址沖突;因?yàn)橥獠縍AM的讀寫控制信號(hào)為RD和WR,它們由MOVX指令產(chǎn)生,而外部ROM的讀控制信號(hào)在CPU向外部ROM取指令時(shí)才產(chǎn)生,也就是說外部RAM的讀寫控制信號(hào)與外部ROM的讀控制信號(hào)不會(huì)同時(shí)產(chǎn)生。7.2 存儲(chǔ)器的擴(kuò)展7/19/2022計(jì)算機(jī)系 8051擴(kuò)展ROM與RAM的邏輯電路圖 7/19/2022計(jì)算機(jī)系 8.3.1 最小系統(tǒng)1. 單片機(jī)最小系統(tǒng)的結(jié)構(gòu)單片機(jī)最小系統(tǒng)也稱為單片機(jī)的基本系統(tǒng),這種系統(tǒng)所選擇的單片機(jī)內(nèi)部資源已能滿足系統(tǒng)的硬件需求,不需外接存儲(chǔ)器或I/O接口。如圖8.10所示2. 8051/8

21、751最小應(yīng)用系統(tǒng)如圖8.11所示3. 8031最小應(yīng)用系統(tǒng)如圖8.12所示7.3 最小系統(tǒng)與三總線的概念7/19/2022計(jì)算機(jī)系 7.3 最小系統(tǒng)與三總線的概念總線是單片機(jī)應(yīng)用系統(tǒng)中,各部件之間傳輸信息的通路,為CPU和其他部件之間提供數(shù)據(jù)、地址以及控制信息。按總線所在位置可分:內(nèi)部總線和外部總線,前者是指CPU系統(tǒng)內(nèi)部各部件之間的通路,后者指CPU系統(tǒng)和其外圍單元之間的通路,通常所說總線是指外部總線。按通路上傳輸?shù)男畔⒖煞郑簲?shù)據(jù)總線(DB,Data Bus)、地址總線(AB,Address Bus)和控制總線(CB,Control Bus)。 8.3.2 單片機(jī)的三組總線7/19/202

22、2計(jì)算機(jī)系 1. 地址總線地址總線AB用于傳送單片機(jī)送出的地址信號(hào),以便進(jìn)行存儲(chǔ)單元和I/O端口的選擇。地址總線的位數(shù)決定了單片機(jī)可擴(kuò)展存儲(chǔ)容量的大小。如8051單片機(jī)地址總線為16位,其最大可擴(kuò)展存儲(chǔ)容量為216=64K字節(jié)。地址總線是單向的,因地址信息總是由CPU發(fā)出的。7.3 最小系統(tǒng)與三總線的概念7/19/2022計(jì)算機(jī)系 2. 數(shù)據(jù)總線數(shù)據(jù)總線(DB)用于單片機(jī)與存儲(chǔ)器之間或單片機(jī)與I/O端口之間傳輸數(shù)據(jù)。數(shù)據(jù)總線的位數(shù)與單片機(jī)處理數(shù)據(jù)的字長一致,如8051單片機(jī)是8位字長,數(shù)據(jù)總線的位數(shù)也是8位。從結(jié)構(gòu)上來說數(shù)據(jù)總線是雙向的,即數(shù)據(jù)既可以從單片機(jī)送到I/O端口,也可以從I/O端口送

23、到單片機(jī)。3. 控制總線控制總線用來傳輸控制信號(hào),其中包括CPU送往外圍單元的控制信號(hào),如讀信號(hào)、寫信號(hào)和中斷響應(yīng)信號(hào)等;還包括外圍單元發(fā)給送給CPU的信號(hào),如時(shí)鐘信號(hào)、中斷請(qǐng)求信號(hào)以及準(zhǔn)備就緒信號(hào)等。7.3 最小系統(tǒng)與三總線的概念7/19/2022計(jì)算機(jī)系 單片機(jī)的三總線結(jié)構(gòu) 7.3 最小系統(tǒng)與三總線的概念7/19/2022計(jì)算機(jī)系 并行擴(kuò)展總線組成 80C51系列總線型單片機(jī)中,由P0口做地址/數(shù)據(jù)復(fù)用口;P2口做地址線的高八位;P3口的RD、WR加上控制線EA、ALE、PSEN等組成控制總線。(1) 地址總線A0A15地址總線的高8位是由P2口提供的,低8位是由P0口提供的。在訪問外部存

24、儲(chǔ)器時(shí),由地址鎖存信號(hào)ALE的下降沿把P0口的低8位以及P2口的高8位鎖存至地址鎖存器中,從而構(gòu)成系統(tǒng)的16位地址總線。實(shí)際應(yīng)用系統(tǒng)中,高位地址線并不固定為8位,需要用幾位就從P2口中引出幾條口線。7.3 最小系統(tǒng)與三總線的概念7/19/2022計(jì)算機(jī)系 (2) 數(shù)據(jù)總線D0D7數(shù)據(jù)總線是由P0口提供的,因?yàn)镻0口線既用作地址線,又用作數(shù)據(jù)線(分時(shí)使用),因此,需要加一個(gè)8位鎖存器。在實(shí)際應(yīng)用時(shí),先把低8位地址送鎖存器暫存,然后再由地址鎖存器給系統(tǒng)提供低8位地址,而把P0口線作為數(shù)據(jù)線使用。在讀信號(hào)RD與寫信號(hào)WR有效時(shí),P0口上出現(xiàn)的為數(shù)據(jù)信息。 7.3 最小系統(tǒng)與三總線的概念7/19/20

25、22計(jì)算機(jī)系 7.3 最小系統(tǒng)與三總線的概念(3) 控制總線 系統(tǒng)控制總線共12根,既P3口的第二功能再加上RESET、EA、ALE和PSEN。實(shí)際應(yīng)用中的常用控制信號(hào)如下。使用ALE作為地址鎖存的選通信號(hào),以實(shí)現(xiàn)低8位地址的鎖存。以PSEN信號(hào)作為擴(kuò)展程序存儲(chǔ)器的讀選通信號(hào)。以EA信號(hào)作為內(nèi)、外程序存儲(chǔ)器的選擇信號(hào)。以RD和WR作為擴(kuò)展數(shù)據(jù)存儲(chǔ)器和I/O端口的讀、寫選通信號(hào)。執(zhí)行MOVX指令時(shí),這兩個(gè)信號(hào)分別自動(dòng)有效。 7/19/2022計(jì)算機(jī)系 7.4 鍵盤接口鍵盤是單片機(jī)應(yīng)用系統(tǒng)中人機(jī)交流不可缺少的輸入設(shè)備。鍵盤由一組規(guī)則排列的按鍵組成,一個(gè)按鍵實(shí)際上是一個(gè)開關(guān)元件。鍵盤通常使用機(jī)械觸點(diǎn)

26、式按鍵開關(guān),其主要功能是把機(jī)械上的通斷轉(zhuǎn)換為電氣上的邏輯關(guān)系(1和0)。常見的種類有:獨(dú)立式按鍵和矩陣式鍵盤。 7/19/2022計(jì)算機(jī)系 1. 獨(dú)立式按鍵 結(jié)構(gòu)如下圖所示,其特點(diǎn)是每個(gè)按鍵單獨(dú)占用一根I/O口線,每個(gè)按鍵工作不會(huì)影響其他I/O口線的狀態(tài)。多用于所需按鍵不多的場合??刹捎肑NB(或JB)來查詢哪一個(gè)按鍵按下,并轉(zhuǎn)向相應(yīng)的功能處理程序。 JNB P1.0, A0 ;如P1.0鍵按下,就跳到A0 JNB P1.1, A1 ;如P1.1鍵按下,就跳到A1 JNB P1.2, A2 ;如P1.2鍵按下,就跳到A2 JNB P1.3, A3 ;如P1.3鍵按下,就跳到A3 JNB P1.

27、4, A4 ;如P1.4鍵按下,就跳到A4 JNB P1.5, A5 ;如P1.5鍵按下,就跳到A5 JNB P1.6, A6 ;如P1.6鍵按下,就跳到A6 JNB P1.7, A7 ;如P1.7鍵按下,就跳到A77.4 鍵盤接口7/19/2022計(jì)算機(jī)系 2. 矩陣式鍵盤 單片機(jī)系統(tǒng)中,若使用按鍵較多時(shí),通常采用矩陣式鍵盤,其結(jié)構(gòu)如下圖所示。由圖可知,一個(gè)44的行、列結(jié)構(gòu),可以構(gòu)成一個(gè)含有16個(gè)按鍵的鍵盤,節(jié)省了很多I/O口。 控制方式:先判斷是否有鍵按下。 如有,再判斷哪一鍵按下,并得到 鍵碼值,然后根據(jù)鍵碼值轉(zhuǎn)向不同 的功能程序。矩陣式結(jié)構(gòu)鍵盤比獨(dú)立式按鍵要復(fù) 雜,識(shí)別也要復(fù)雜一些。最

28、常用的 識(shí)別方法是鍵盤掃描法。 7.4 鍵盤接口7/19/2022計(jì)算機(jī)系 7.4 鍵盤接口8.4.1 鍵盤消抖原理機(jī)械式按鍵在按下或釋放時(shí),由于機(jī)械彈性作用的影響,通常伴隨有一定時(shí)間的觸點(diǎn)機(jī)械抖動(dòng),然后其觸點(diǎn)才穩(wěn)定下來。其抖動(dòng)過程如右圖所示,抖動(dòng)時(shí)間的長短與開關(guān)的機(jī)械特性有關(guān),一般為510ms。 按鍵觸點(diǎn)的機(jī)械抖動(dòng)7/19/2022計(jì)算機(jī)系 在觸點(diǎn)抖動(dòng)期間檢測按鍵的通與斷狀態(tài),可能導(dǎo)致判斷出錯(cuò),即按鍵一次按下或釋放被錯(cuò)誤地認(rèn)為是多次操作。系統(tǒng)設(shè)計(jì)中如果開關(guān)脈沖是作為外部中斷觸發(fā)信號(hào)或要對(duì)開關(guān)脈沖進(jìn)行計(jì)數(shù)時(shí),這種情況是不允許出現(xiàn)的。為了克服按鍵觸點(diǎn)機(jī)械抖動(dòng)所致的檢測誤判,必須采取去抖動(dòng)措施,可

29、從硬件、軟件兩方面予以考慮。在鍵數(shù)較少時(shí),可采用硬件去抖;而當(dāng)鍵數(shù)較多時(shí),采用軟件去抖。 7.4 鍵盤接口1. 濾波 P142 圖8.137/19/2022計(jì)算機(jī)系 2. 雙穩(wěn)態(tài)去抖動(dòng)電路 在硬件上可采用在鍵輸出端加R-S觸發(fā)器(雙穩(wěn)態(tài)觸發(fā)器)或單穩(wěn)態(tài)觸發(fā)器構(gòu)成去抖動(dòng)電路,如下圖所示是一種由R-S觸發(fā)器構(gòu)成的去抖動(dòng)電路,當(dāng)觸發(fā)器翻轉(zhuǎn)時(shí),觸點(diǎn)抖動(dòng)不會(huì)對(duì)其產(chǎn)生任何影響。鍵盤輸出經(jīng)雙穩(wěn)態(tài)電路之后變?yōu)橐?guī)范的矩形方波。 7.4 鍵盤接口 1 2 3 A 4 5 6 B S GND +5V Q a b 5.1kW5.1kW7/19/2022計(jì)算機(jī)系 3. 軟件去抖軟件上采取的措施是在檢測到有按鍵按下時(shí),執(zhí)

30、行一個(gè)10ms左右(具體時(shí)間應(yīng)視所使用的按鍵進(jìn)行調(diào)整)的延時(shí)程序,再確認(rèn)該鍵電平是否仍保持閉合狀態(tài)電平,若仍保持閉合狀態(tài)電平,則確認(rèn)該鍵處于閉合狀態(tài);同理,在檢測到該鍵釋放后,也應(yīng)采用相同的步驟進(jìn)行確認(rèn),從而消除抖動(dòng)的影響。7.4 鍵盤接口7/19/2022計(jì)算機(jī)系 8.4.2 鍵盤工作原理 對(duì)矩陣鍵盤的工作過程可分兩步:第一步是CPU首先檢測鍵盤上是否有鍵按下;第二步是再識(shí)別是哪一個(gè)鍵按下。7.4 鍵盤接口+5VX3X2X1X0Y0 Y1 Y2 Y3R0 1 2 34 5 6 7 8 9 10 11 12 13 14 15 10 0 0 00 1 1 11 0 1 1111011117/19

31、/2022計(jì)算機(jī)系 1檢測鍵盤上是否有鍵按下處理方法是:將列線送入全掃描字,讀入行線的狀態(tài)來判別。其具體過程如下:將所有列線置成低電平,然后將行線電平狀態(tài)讀入累加器A中。如果有鍵按下,總會(huì)有一根行線電平被拉至低電平,從而使行輸入狀態(tài)不全為1。2識(shí)別鍵盤中哪一個(gè)鍵按下處理方法是:將列線逐列置低電平,檢查行輸入狀態(tài),稱為逐列掃描。其具體過程如下:從Y0開始,依次輸出“0”,置對(duì)應(yīng)的列線為低電平,然后讀入行線狀態(tài),如果全為“1”,則按下的鍵不在此列;如果不全為“1”,則按下的鍵必在此列,而且是該列與“0”電平行線相交的交點(diǎn)上的那個(gè)鍵。為求取編碼,在逐列掃描時(shí),可用計(jì)數(shù)器記錄下當(dāng)前掃描列的列號(hào),檢測到

32、第幾行有鍵按下,就用該行的首鍵碼加列號(hào)得到當(dāng)前按鍵的編碼。7.4 鍵盤接口7/19/2022計(jì)算機(jī)系 矩陣鍵盤的連接方法有多種,可直接連接于單片機(jī)的I/O口線;可利用擴(kuò)展的并行I/O口連接;也可利用可編程的鍵盤、顯示接口芯片(如8279)進(jìn)行連接等等。其中,利用擴(kuò)展的并行I/O口連接方便靈活,在單片機(jī)應(yīng)用系統(tǒng)中比較常用。下圖就是通過8255A芯片擴(kuò)展的并行I/O口連接48的矩陣鍵盤。PA7PA6PA5PA4PA3PA2PA1PA0PC0PC1PC2PC30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 316 17 18 19 20 21 22 23 24 25 26

33、 27 28 29 30 31 CS74LS373WRRDA1A0P2.7WRRDALEP0.0P0.7D0D7RESET1K20F+5V+5V82555.1K480517/19/2022計(jì)算機(jī)系 8.4.3 鍵盤輸入程序鍵盤輸入程序設(shè)計(jì)有以下幾個(gè)方面。(1) 判別鍵盤上有無鍵閉合 其方法為:PA0PA7輸出0,然后讀PC口,若全為1,則鍵盤上沒有閉合鍵,若PC口不全為1,則有鍵處于閉合狀態(tài)。(2) 去除鍵的機(jī)械抖動(dòng) 其方法為:當(dāng)判別到鍵盤上有鍵閉合后,延時(shí)一段時(shí)間再判別鍵盤的狀態(tài),若仍有鍵閉合,則認(rèn)為鍵盤上有一個(gè)鍵處于穩(wěn)定的閉合狀態(tài),否則認(rèn)為鍵抖動(dòng)。 7.4 鍵盤接口7/19/2022計(jì)算機(jī)

34、系 (3) 判別閉合鍵的鍵號(hào) 其方法為:對(duì)鍵盤的行線進(jìn)行掃描,PA7PA0依次循環(huán)輸出11111110、11111101、0111111,相應(yīng)地讀PC口,若全為“1”,則說明該行上沒有鍵閉合;否則,這一行上有鍵閉合,而且就是行線為0,列線為0的交叉鍵。行首鍵號(hào)+列號(hào)即得到鍵碼值。 例如,PA7PA0輸出“11111101”時(shí),讀入PC3PC0為“1101”時(shí),即不全為“1”,說明有鍵按下,那一個(gè)鍵呢?顯然是PA1與PC1交叉的鍵。將行首鍵號(hào)+列號(hào)=8+1=9;也就是該鍵的鍵碼值。依此類推可得各鍵的健碼值。 (4) 使CPU對(duì)鍵的一次閉合僅作一次處理 采用的方法是等待閉合鍵釋放以后再作處理。 7

35、.4 鍵盤接口7/19/2022計(jì)算機(jī)系 開始有鍵按下否?調(diào)用6ms延時(shí)子程序?調(diào)用12ms延時(shí)子程序?有鍵按下否?判閉合鍵,編碼入棧保護(hù)閉合鍵釋放否?編碼A返回否否否是是是7.4 鍵盤接口7/19/2022計(jì)算機(jī)系 編程說明:在單片機(jī)應(yīng)用系統(tǒng)中,鍵盤掃描只是系統(tǒng)的部分程序。進(jìn)行軟件系統(tǒng)編程時(shí),一般作為子程序調(diào)用或中斷服務(wù)程序使用。該子程序入口參數(shù)為無,出口參數(shù)為鍵碼值,存于A。因此,其調(diào)用十分簡單,但一定要注意返回的鍵碼值所對(duì)應(yīng)的鍵在鍵盤的哪個(gè)位置,即要掌握鍵碼分配表。矩陣式鍵盤盡管比獨(dú)立式鍵盤復(fù)雜。但有了上述子程序后,只要學(xué)會(huì)調(diào)用,你甚至不需要知道鍵盤掃描程序是如何編寫的,COPY即可,編

36、程也就變得十分簡單了。從這可以看出平時(shí)注意查閱資料,收集實(shí)用子程序,掌握子程序的調(diào)用,對(duì)提高編程效率是多么重要。 7.4 鍵盤接口程序如:P1451487/19/2022計(jì)算機(jī)系 8.4.5 定時(shí)掃描方式CPU每隔10ms對(duì)鍵盤進(jìn)行掃描。8.4.6 中斷掃描方式當(dāng)鍵盤上有鍵按下時(shí)產(chǎn)生中斷請(qǐng)求,CPU響應(yīng)中斷,執(zhí)行中斷服務(wù)程序,判別鍵盤上閉合鍵的鍵號(hào),并作相應(yīng)處理。7.4 鍵盤接口7/19/2022計(jì)算機(jī)系 7.5 顯示接口1. 顯示器的結(jié)構(gòu)七段LED顯示器(數(shù)碼管)系發(fā)光器件的一種。常用的LED發(fā)光器件有兩類:數(shù)碼管和點(diǎn)陣。數(shù)碼管內(nèi)部由七個(gè)條形發(fā)光二極管和一個(gè)小圓點(diǎn)發(fā)光二極管組成,根據(jù)各管的亮

37、暗組合成字符。常見數(shù)碼管有10根管腳。管腳排列如下圖所示。其中COM為公共端,根據(jù)內(nèi)部發(fā)光二極管的接線形式可分為共陰極和共陽極兩種。使用時(shí),共陰極數(shù)碼管公共端接地,共陽極數(shù)碼管公共端接電源。每段發(fā)光二極管需510mA的驅(qū)動(dòng)電流才能正常發(fā)光,一般需加限流電阻控制電流的大小。 7/19/2022計(jì)算機(jī)系 abcdefgdpcomabcdefgdpcomabcdefgdp10 9 8 7 61 2 3 4 5 g f com a be d com c dp( a )( b )(c )7.5 顯示接口共陰極 共陽極7/19/2022計(jì)算機(jī)系 LED數(shù)碼管的ag七個(gè)發(fā)光二極管。加正電壓的發(fā)光,加零電壓的

38、不能發(fā)光,不同亮暗的組合就能形成不同的字型,這種組合稱為字型碼。共陽極和共陰極的字型碼是不同的,如下表所示。 可采用硬件譯碼輸出字型碼控制顯示內(nèi)容,如采用74LS48、CD4511(共陰極)或74LS46(74LS47)、CD4513(共陽極)。也可用單片機(jī)I/O口直接輸出字型碼控制數(shù)碼管的顯示內(nèi)容。用單片機(jī)驅(qū)動(dòng)LED數(shù)碼管顯示有很多方法,按顯示方式分有靜態(tài)顯示和動(dòng)態(tài)顯示。 7.5 顯示接口7/19/2022計(jì)算機(jī)系 從ag管腳輸入不同的8位二進(jìn)制編碼,可顯示不同的數(shù)字或字符。共陰極和共陽極的字段碼互為反碼 。顯示字符共陰極字段碼共陽極字段碼顯示字符共陰極字段碼共陽極字段碼03FHC0HC39

39、HC6H106HF9HD5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82HT31HCEH707HF8HY6EH91H87FH80HL38HC7H96FH90H8FFH00HA77H88H“滅”00FFHB7CH83H7/19/2022計(jì)算機(jī)系 2. 顯示器的工作方式和顯示程序設(shè)計(jì)(1)靜態(tài)顯示方式靜態(tài)顯示就是顯示驅(qū)動(dòng)電路具有輸出鎖存功能,單片機(jī)將所要顯示的數(shù)據(jù)送出去后,數(shù)碼管始終顯示該數(shù)據(jù)(不變),CPU不再控制LED。到下一次顯示時(shí),再傳送一次新的顯示數(shù)據(jù)。靜態(tài)顯示的接口電路采用一個(gè)并行口接一個(gè)數(shù)碼管,數(shù)

40、碼管的公共端按共陰極或共陽極分別接地或接VCC。這種接法,每個(gè)數(shù)碼管都要單獨(dú)占用一個(gè)并行I/O口,以便單片機(jī)傳送字形碼到數(shù)碼管控制數(shù)碼管的顯示。顯然其缺點(diǎn)就是當(dāng)顯示位數(shù)多時(shí),占用I/O口過多。為了解決靜態(tài)顯示I/O口占用過多的問題,可采用串行接口擴(kuò)展LED數(shù)碼管的技術(shù)。靜態(tài)顯示方式的優(yōu)點(diǎn)是顯示的數(shù)據(jù)穩(wěn)定,無閃爍,占用CPU時(shí)間少。其缺點(diǎn)是由于數(shù)碼管始終發(fā)光,功耗比較大。 圖8.21 3位靜態(tài)顯示接口 圖8.22 8位靜態(tài)顯示接口7.5 顯示接口7/19/2022計(jì)算機(jī)系 【例】 用一位數(shù)碼管顯示開關(guān)來回?fù)軇?dòng)的次數(shù)。 解:電路如下圖所示,8051的P1口經(jīng)74LS373接一個(gè)共陰極數(shù)碼管,數(shù)碼管

41、的公共端接地。P1口輸出字型碼送至數(shù)碼管,就能控制數(shù)碼管的顯示內(nèi)容。74LS373為8D鎖存器,在電路中起驅(qū)動(dòng)作用。兩個(gè)與非門組成的RS觸發(fā)器主要起消抖作用,用來消除開關(guān)按下及彈起過程中的抖動(dòng)所引起的判斷錯(cuò)誤。開關(guān)信號(hào)經(jīng)消抖動(dòng)電路后接單片機(jī)的INT1引腳。每來回?fù)軇?dòng)一次將產(chǎn)生一個(gè)下降沿信號(hào),通過INT1向CPU申請(qǐng)中斷。 軟件設(shè)計(jì)時(shí),可用R0作為記錄中斷次數(shù)的指針(每中斷一次R0加1),然后根據(jù)R0用查表程序查出對(duì)應(yīng)的字形碼,再由P1口送出,控制數(shù)碼管顯示中斷次數(shù)值。 7.5 顯示接口7/19/2022計(jì)算機(jī)系 一位數(shù)碼管顯示電路圖 30pF 30pF 12MHz GND EA/VP 31 X

42、1 19 X2 18 RESET 9 RD 17 WR 16 INT0 12 INT1 13 T0 14 T1 15 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE/P 30 TXD 11 RXD 10 U1 8051 10F VCC VCC X1 X2 X1 X2 1 2 3 U1A 4 5 6 U1

43、B 74ALS00 S 1k 1k VCC D0 3 Q0 2 D1 4 Q1 5 D2 7 Q2 6 D3 8 Q3 9 D4 13 Q4 12 D5 14 Q5 15 D6 17 Q6 16 D7 18 Q7 19 OE 1 LE 11 U2 74LS373 GND GND VCC 3007 a b f c g d e DPY dp a 7 b 6 c 4 d 2 e 1 f 9 g 10 3 LED GND 7/19/2022計(jì)算機(jī)系 (2)動(dòng)態(tài)顯示方式動(dòng)態(tài)掃描方法是用其接口電路把所有數(shù)碼管的8個(gè)筆劃段ag和dp同名端連在一起,而每一個(gè)數(shù)碼管的公共極COM各自獨(dú)立地受I/O線控制。CPU

44、向字段輸出口送出字形碼時(shí),所有數(shù)碼管接收到相同的字形碼。但究竟是哪個(gè)數(shù)碼管亮,則取決于COM端,COM端與單片機(jī)的I/O口相連接,由單片機(jī)輸出位碼到I/O控制何時(shí)哪一位數(shù)碼管亮。動(dòng)態(tài)掃描用分時(shí)的方法輪流控制各個(gè)數(shù)碼管的COM端,使各個(gè)數(shù)碼管輪流點(diǎn)亮。在輪流點(diǎn)亮數(shù)碼管的掃描過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間極為短暫。但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù)。7.5 顯示接口7/19/2022計(jì)算機(jī)系 優(yōu)點(diǎn):當(dāng)顯示位數(shù)較多時(shí),采用動(dòng)態(tài)顯示方式比較節(jié)省I/O口,硬件電路也較靜態(tài)顯示簡單。缺點(diǎn):其穩(wěn)定度不如靜態(tài)顯示方式。而且在顯示位數(shù)較多時(shí)CPU要輪番掃描,占用CPU較多的

45、時(shí)間。 圖8.23 6位動(dòng)態(tài)顯示器接口7.5 顯示接口7/19/2022計(jì)算機(jī)系 A/D轉(zhuǎn)換器用于實(shí)現(xiàn)模擬量到數(shù)字量的轉(zhuǎn)換,按轉(zhuǎn)換原理可分為四種:計(jì)數(shù)式A/D轉(zhuǎn)換器、雙積分式A/D轉(zhuǎn)換器、逐次逼近式A/D轉(zhuǎn)換器和并行式A/D轉(zhuǎn)換器。目前最常用的是雙積分式A/D轉(zhuǎn)換器和逐次逼近式A/D轉(zhuǎn)換器。雙積分式A/D轉(zhuǎn)換器的主要優(yōu)點(diǎn)是轉(zhuǎn)換精度高,抗干擾性能好,價(jià)格便宜,但轉(zhuǎn)換速度較慢。因此這種轉(zhuǎn)換器主要用于轉(zhuǎn)換速度要求不高的場合。逐次逼近式A/D轉(zhuǎn)換器是一種轉(zhuǎn)換速度較快、精度較高的轉(zhuǎn)換器。其轉(zhuǎn)換時(shí)間大約在幾微秒到幾百微秒之間。 7.6 A/D轉(zhuǎn)換接口7/19/2022計(jì)算機(jī)系 通常使用的逐次逼近式典型A/

46、D轉(zhuǎn)換器芯片有:ADC0801ADC0805型8位MOS型A/D轉(zhuǎn)換器,美國國家半導(dǎo)體公司產(chǎn)品。它是目前最流行的中速廉價(jià)型產(chǎn)品。片內(nèi)有三態(tài)數(shù)據(jù)輸出鎖存器,單通道輸入,轉(zhuǎn)換時(shí)間約100s左右。ADC0808/0809型8位MOS型A/D轉(zhuǎn)換器??蓪?shí)現(xiàn)8路模擬信號(hào)的分時(shí)采集,片內(nèi)有8路模擬選通開關(guān),以及相應(yīng)的通道地址鎖存用譯碼電路,其轉(zhuǎn)換時(shí)間為100s左右。ADC0816/0817。這類產(chǎn)品除輸入通道數(shù)增加至16個(gè)以外,其他性能與ADC0808 /0809型基本相同。7.6 A/D轉(zhuǎn)換接口7/19/2022計(jì)算機(jī)系 A/D轉(zhuǎn)換器的主要技術(shù)指標(biāo)有:分辨率。以輸出二進(jìn)制的位數(shù)表示分辨率,位數(shù)越多,誤差

47、越小,轉(zhuǎn)換精度越高。相對(duì)精度。相對(duì)精度是指實(shí)際的各個(gè)轉(zhuǎn)換點(diǎn)偏理想特性的誤差。在理想的情況下,所有的轉(zhuǎn)換點(diǎn)應(yīng)當(dāng)在一條直線上。轉(zhuǎn)換速度。它是指完成一次轉(zhuǎn)換所需的時(shí)間。轉(zhuǎn)換時(shí)間是指由啟動(dòng)轉(zhuǎn)換命令到轉(zhuǎn)換結(jié)束信號(hào)開始有效的時(shí)間間隔。電源抑制。在輸入電壓不變的前提下,當(dāng)轉(zhuǎn)換電路的供電電源電壓發(fā)生變化時(shí),對(duì)輸出也會(huì)產(chǎn)生影響。這種影響可用輸出數(shù)字量的絕對(duì)變化量來表示。此外,尚有功率損耗、溫度系數(shù)、輸入模擬電壓范圍以及輸出數(shù)字信號(hào)的邏輯電平等指標(biāo)。 7.6 A/D轉(zhuǎn)換接口7/19/2022計(jì)算機(jī)系 1. ADC0809 ADC0809是典型的8位8通道逐次逼近式A/D轉(zhuǎn)換器,CMOS工藝;片內(nèi)有8路模擬開關(guān),可

48、對(duì)8路模擬電壓量實(shí)現(xiàn)分時(shí)轉(zhuǎn)換。ADC0809的引腳如下圖所示,邏輯結(jié)構(gòu)圖如下圖所示。 ADC0809的引腳如下圖7.6 A/D轉(zhuǎn)換接口7/19/2022計(jì)算機(jī)系 ADC0809邏輯結(jié)構(gòu)圖7.6 A/D轉(zhuǎn)換接口7/19/2022計(jì)算機(jī)系 ADC0809其引腳定義如下:IN7-IN0:8條模擬量輸入通道。 D7-D0 :輸出數(shù)據(jù)端。其中D7是最高位M SB,D0為最高位LSB。START:啟動(dòng)轉(zhuǎn)換命令輸入端。高電平有效。 EOC:轉(zhuǎn)換結(jié)束指示腳。平時(shí)它為高電平,在轉(zhuǎn)換開始后及轉(zhuǎn)換過程中為低電平,轉(zhuǎn)換結(jié)束,它又變回高電平。OE:輸出使能端。此腳為高電平,即打開輸出緩沖器三態(tài)門,讀出數(shù)據(jù)。C、B和A:

49、通道號(hào)選擇輸入端。其中A是LSB位,這三個(gè)引腳上所加電平的編碼為000111時(shí),分別對(duì)應(yīng)于選通通道IN7IN0。ALE:通道號(hào)鎖存控制端。當(dāng)它為高電平時(shí),將C、B和A三個(gè)輸入引腳上的通道號(hào)選擇碼鎖存,也就是使相應(yīng)通道的模擬開關(guān)處于閉合狀態(tài)。實(shí)際使用時(shí),常把ALE和START連在一起,在START端加上高電平啟動(dòng)信號(hào)的同時(shí),將通道號(hào)鎖存起來。CLK:外部時(shí)鐘輸入。ADC809典型的時(shí)鐘頻率為640KHz ,轉(zhuǎn)換時(shí)間為100s。時(shí)鐘信號(hào)一般由單片機(jī)ALE經(jīng)分頻得到;VREF(+)、VREF(-):兩個(gè)參考電壓輸入端。 7/19/2022計(jì)算機(jī)系 2. ADC0809接口及應(yīng)用ADC0809與單片機(jī)

50、有3種接口方式:查詢方式中斷方式等待延時(shí)方式ADC0809與8051單片機(jī)的一種接口如下圖所示。電路連接及編程主要涉及兩個(gè)問題,一是8路模擬信號(hào)通道選擇及啟動(dòng)A/D轉(zhuǎn)換,二是確認(rèn)A/D轉(zhuǎn)換完成及轉(zhuǎn)換數(shù)據(jù)的傳送。 7.6 A/D轉(zhuǎn)換接口7/19/2022計(jì)算機(jī)系 ADC0809與8051單片機(jī)的連接 P2.07.6 A/D轉(zhuǎn)換接口問:8個(gè)通道的地址分別是多少?7/19/2022計(jì)算機(jī)系 2. ADC0809接口及應(yīng)用(1) 八路模擬通道選擇及啟動(dòng)A/D轉(zhuǎn)換 A、B、C分別接地址鎖存器提供的低三位地址,只要把三位地址寫入ADC0809中的地址鎖存器,就實(shí)現(xiàn)了模擬通道選擇。圖中使用的是線選法,口地址

51、由P2.0確定,同時(shí)和相或取反后作為開始轉(zhuǎn)換的選通信號(hào)。因此該ADC0809的通道地址確定如下: 若無關(guān)位都取1,則8路通道IN0IN7的地址為FEF8HFFFFH。 7.6 A/D轉(zhuǎn)換接口7/19/2022計(jì)算機(jī)系 2. ADC0809接口及應(yīng)用(1) 八路模擬通道選擇及啟動(dòng)A/D轉(zhuǎn)換 從上圖中可以看到,把ADC0809的ALE信號(hào)與START信號(hào)連接在一起了。這樣使得在ALE信號(hào)的前沿寫入地址信號(hào),緊接著在其后沿就啟動(dòng)轉(zhuǎn)換。 啟動(dòng)圖中的ADC0809進(jìn)行轉(zhuǎn)換只需要下面的指令(以通道0為例): MOV DPTR,#0FEF8H ; 選中通道0 MOVX DPTR,A ; WR信號(hào)有效,啟動(dòng)轉(zhuǎn)

52、換7.6 A/D轉(zhuǎn)換接口7/19/2022計(jì)算機(jī)系 2. ADC0809接口及應(yīng)用(2) 轉(zhuǎn)換完成的確認(rèn)和數(shù)據(jù)的傳送 A/D轉(zhuǎn)換后得到的是數(shù)字量的數(shù)據(jù),這些數(shù)據(jù)應(yīng)傳送給單片機(jī)進(jìn)行處理。數(shù)據(jù)傳送的關(guān)鍵問題是如何確認(rèn)A/D轉(zhuǎn)換完成,因?yàn)橹挥写_認(rèn)數(shù)據(jù)轉(zhuǎn)換完成后,才能進(jìn)行傳送。為此可采用下述三種方式。 定時(shí)傳送方式 對(duì)于一種A/D轉(zhuǎn)換器來說,轉(zhuǎn)換時(shí)間作為一項(xiàng)技術(shù)指標(biāo)是已知的和固定的。例如,若ADC0809轉(zhuǎn)換時(shí)間為128s,相當(dāng)于6MHz的MCS-51單片機(jī)的64個(gè)機(jī)器周期??蓳?jù)此設(shè)計(jì)一個(gè)延時(shí)子程序,A/D轉(zhuǎn)換啟動(dòng)后即調(diào)用這個(gè)延時(shí)子程序,延遲時(shí)間一到,轉(zhuǎn)換肯定已經(jīng)完成了,接著就可進(jìn)行數(shù)據(jù)傳送。 7.6

53、 A/D轉(zhuǎn)換接口7/19/2022計(jì)算機(jī)系 2. ADC0809接口及應(yīng)用(2) 轉(zhuǎn)換完成的確認(rèn)和數(shù)據(jù)的傳送 查詢方式 A/D轉(zhuǎn)換芯片有表明轉(zhuǎn)換完成的狀態(tài)信號(hào),ADC0809的EOC端就是轉(zhuǎn)換結(jié)束指示腳。因此可以用查詢方式,軟件測試EOC的狀態(tài),即可確知轉(zhuǎn)換是否完成,然后進(jìn)行數(shù)據(jù)傳送。 中斷方式 把表明轉(zhuǎn)換完成的狀態(tài)信號(hào)(EOC)作為中斷請(qǐng)求信號(hào),以中斷方式進(jìn)行數(shù)據(jù)傳送。 在圖中,EOC信號(hào)經(jīng)過反相器后送到單片機(jī)的INT1,因此可以采用查詢?cè)撘_或中斷的方式進(jìn)行轉(zhuǎn)換后數(shù)據(jù)的傳送。 7.6 A/D轉(zhuǎn)換接口7/19/2022計(jì)算機(jī)系 2. ADC0809接口及應(yīng)用(2) 轉(zhuǎn)換完成的確認(rèn)和數(shù)據(jù)的傳送

54、 不管使用上述哪種方式,只要一旦確認(rèn)轉(zhuǎn)換完成,即可通過指令進(jìn)行數(shù)據(jù)傳送。首先送出口地址并以RD作選通信號(hào), 當(dāng)RD信號(hào)有效時(shí),OE信號(hào)即有效,把轉(zhuǎn)換數(shù)據(jù)送上數(shù)據(jù)總線,供單片機(jī)接收,即: MOV DPTR,#0FEF8H ; 選中通道0 MOVX A, DPTR, ; RD信號(hào)有效,輸出轉(zhuǎn)換后 的數(shù)據(jù)到A累加器7.6 A/D轉(zhuǎn)換接口7/19/2022計(jì)算機(jī)系 測控系統(tǒng)是單片機(jī)應(yīng)用的重要領(lǐng)域。在測控系統(tǒng)中,除數(shù)字量之外還會(huì)遇到另一種物理量,即模擬量。例如:溫度、速度、電壓、電流、壓力等,它們都是連續(xù)變化的物理量。單片機(jī)系統(tǒng)中凡是遇到有模擬量的地方,就要進(jìn)行模擬量向數(shù)字量、數(shù)字量向模擬量的轉(zhuǎn)換,也就

55、要涉及到單片機(jī)的數(shù)/模(D/A)和模/數(shù)(A/D)轉(zhuǎn)換的接口技術(shù)。數(shù)/模轉(zhuǎn)換主要用于將單片機(jī)的數(shù)字量輸出轉(zhuǎn)化為實(shí)際的模擬量控制外接設(shè)備。 7.7 D/A轉(zhuǎn)換接口7/19/2022計(jì)算機(jī)系 D/A轉(zhuǎn)換器輸入的是數(shù)字量,經(jīng)轉(zhuǎn)換后輸出的是模擬量。數(shù)/模轉(zhuǎn)換器集成電路芯片種類很多。按輸入的二進(jìn)制數(shù)的位數(shù)分類,有八位、十位、十二位和十六位等。按輸出是電流還是電壓分類,分為電壓輸出器件和電流輸出器件。 7.7 D/A轉(zhuǎn)換接口7/19/2022計(jì)算機(jī)系 1. D/A轉(zhuǎn)換器的技術(shù)指標(biāo) 有關(guān)D/A轉(zhuǎn)換器的技術(shù)性能指標(biāo)很多,例如絕對(duì)精度、相對(duì)精度、線性度、輸出電壓范圍、溫度系數(shù)、輸入數(shù)字代碼種類(二進(jìn)制或BCD碼

56、)等。D/A轉(zhuǎn)換器與接口有關(guān)的技術(shù)性能指標(biāo):分辯率。數(shù)/模轉(zhuǎn)換的分辯率是指最小輸出電壓(對(duì)應(yīng)的輸入二進(jìn)制數(shù)為1)與最大輸出電壓(對(duì)應(yīng)的輸入二進(jìn)制數(shù)的所有位全為1)之比。例如8位數(shù)的分辨率為1/2560.004,10位數(shù)分辨率為1/1024,約等于0.001。由此可見數(shù)字量位數(shù)越多,分辨率也就越高。分辨率通常用數(shù)字輸入信號(hào)的位數(shù)表示,有8位、10位、12位等。7.7 D/A轉(zhuǎn)換接口7/19/2022計(jì)算機(jī)系 1. D/A轉(zhuǎn)換器的技術(shù)指標(biāo)建立時(shí)間。也稱穩(wěn)定時(shí)間,它是指從數(shù)字量輸入到建立穩(wěn)定的輸出電流的時(shí)間,是描述D/A轉(zhuǎn)換速率的一個(gè)重要參數(shù)。轉(zhuǎn)換精度。由于轉(zhuǎn)換器內(nèi)部的誤差等原因,當(dāng)送一個(gè)確定的數(shù)字

57、量給DAC后,它的實(shí)際輸出值與該數(shù)值應(yīng)產(chǎn)生的理想輸出值之間會(huì)有一定的誤差,它就是D/A轉(zhuǎn)換器的精度。 7.7 D/A轉(zhuǎn)換接口7/19/2022計(jì)算機(jī)系 2. D/A轉(zhuǎn)換芯片DAC0832 DAC0832是一個(gè)8位D/A轉(zhuǎn)換器。單電源供電,從+5V+15V均可正常工作?;鶞?zhǔn)電壓的范圍為-10V+10V;電流建立時(shí)間為1s;采用CMOS工藝,低功耗20mW。 DAC0832轉(zhuǎn)換器芯片為20引腳,雙列直插式封裝。 其引腳排列如右圖所示。DAC0832引腳圖7.7 D/A轉(zhuǎn)換接口7/19/2022計(jì)算機(jī)系 DAC0832引腳的功能定義如下:DI7DI0 :8位的數(shù)據(jù)輸入端,DI7為最高位。IOUT1

58、:模擬電流輸出端1,當(dāng)DAC寄存器中數(shù)據(jù)全為1時(shí),輸出電流最大,當(dāng) DAC寄存器中數(shù)據(jù)全為0時(shí),輸出電流為0。IOUT2 :模擬電流輸出端2,IOUT2與IOUT1的和為一個(gè)常數(shù), 即IOUT1+IOUT2=常數(shù)。RFB:反饋電阻引出端,DAC0832是電流輸出,為了取得電壓輸出,需在電壓輸出端接運(yùn)算放大器。DAC0832內(nèi)部已經(jīng)有反饋電阻,所以 RFB端可以直接接到外部運(yùn)算放大器的輸出端,這樣相當(dāng)于將一個(gè)反饋電阻接在運(yùn)算放大器的輸出端和輸入端之間。 VREF :參考電壓輸入端,此端可接一個(gè)正電壓,也可接一個(gè)負(fù)電壓,它決定0至255的數(shù)字量轉(zhuǎn)化出來的模擬量電壓值的幅度,VREF范圍為(+10-

59、10)V。VREF端與D/A內(nèi)部T形電阻網(wǎng)絡(luò)相連。VCC:芯片供電電壓,范圍為(+515)V。AGND:模擬量地,即模擬電路接地端。DGND:數(shù)字量地。 7.7 D/A轉(zhuǎn)換接口7/19/2022計(jì)算機(jī)系 DAC0832內(nèi)部結(jié)構(gòu)框圖如下圖所示。從圖中可見,在DAC0832中有兩個(gè)數(shù)據(jù)緩沖器:輸入寄存器和DAC寄存器。其控制端分別受ILE、CS、WR1和WR2、XFER的控制。 DAC0832內(nèi)部結(jié)構(gòu)框圖7.7 D/A轉(zhuǎn)換接口7/19/2022計(jì)算機(jī)系 DAC0832有三種不同的工作方式:直通方式、單緩沖方式、雙緩沖方式。1. 直通方式的接口與應(yīng)用當(dāng)ILE接高電平,CS、WR1、WR2和XFER都接數(shù)字地時(shí),DAC處于直通方式,8位數(shù)字量一旦到達(dá)DI7DI0輸入端,就立即加到8位D/A轉(zhuǎn)換器,被轉(zhuǎn)換成模擬量。DAC0832直通方式輸出連接圖如下圖所示。運(yùn)放U3輸出電壓為 UOUT=-(D/256)*VREF,圖中如果向DAC0832傳送的8位數(shù)據(jù)量為40H(01000000B),則輸出電壓UOUT=-(64/256)*5V=-1.25V(反相),其輸出過程可用“MOV P0,#40H”一條指令

溫馨提示

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

評(píng)論

0/150

提交評(píng)論