單片機(jī)原理及應(yīng)用課件:第9章_第1頁
單片機(jī)原理及應(yīng)用課件:第9章_第2頁
單片機(jī)原理及應(yīng)用課件:第9章_第3頁
單片機(jī)原理及應(yīng)用課件:第9章_第4頁
單片機(jī)原理及應(yīng)用課件:第9章_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

內(nèi)容提要

并行接口I/O擴(kuò)展器件8255A

模數(shù)轉(zhuǎn)換器MAX114與51機(jī)接口電路設(shè)計(jì)

數(shù)模轉(zhuǎn)換器DAC08329.1并行接口I/O擴(kuò)展器件8255A

并行接口芯片8255A是Intel公司產(chǎn)品。在單片機(jī)I/O擴(kuò)展中得到了廣泛的應(yīng)用。 并行接口芯片有8155H、8255A、Z-80PIO、MC6820等,他們有差異,但工作原理基本相同。本書只討論8255A。9.1.18255A的內(nèi)部結(jié)構(gòu)和外部特性

并行接口分為不可編程和可編程接口芯片兩種。 所謂可編程就是具有可選擇性,應(yīng)用起來更靈活,這類芯片在計(jì)算機(jī)系統(tǒng)中得到廣泛應(yīng)用。

1.8255A的基本特性

(1)具有A、B兩個(gè)8位和C口高/低兩個(gè)4位并行I/O端口的接口芯片,提供TTL電平兼容的接口,其中C口有按位置/復(fù)位功能。

(2)能適應(yīng)CPU與I/O接口間的多種數(shù)據(jù)傳送方式的要求。如無條件傳送、查詢方式傳送和中斷傳送,與此相應(yīng),8255A設(shè)置了方式0,方式1及方式2。

(3)通過方式字命令寄存器設(shè)置其功能。 (4)單一+5V電源供電。

(2)8255A的內(nèi)部結(jié)構(gòu)

8255A的內(nèi)部結(jié)構(gòu)與管腳布置如圖9-1所示。8255A由以下幾部分組成:

(1)數(shù)據(jù)(或I/O)端口A、B、C:

(2)A組和B組控制電路

(3)8位數(shù)據(jù)總線緩沖器及控制邏輯單元,包括:讀/寫、地址線、復(fù)位信號(hào)輸入及片選輸入端共6線,如圖9-1(a)所示。38255A芯片的管腳 以40引腳雙列直插式標(biāo)準(zhǔn)芯片為例,其引腳排列如圖9-1

(b)所示。 其中A1、A0:寄存器線。用于選擇8255A內(nèi)部端口。8255A內(nèi)部有3個(gè)數(shù)據(jù)(I/O)端口和1個(gè)控制端口,A1、A0的4種組合,分別對(duì)應(yīng)8255A內(nèi)部的4個(gè)端口地址,表9-1給出8255A內(nèi)部各端口地址的偏移量及工作狀態(tài)選擇方式。

注意:A1、A0:也可以稱為地址線。

4.基地址概念 同一接口器件,在不同應(yīng)用系統(tǒng)中的絕對(duì)地址一般是不同的。但在地址連續(xù)的前提下,一個(gè)器件內(nèi)各個(gè)寄存器的相對(duì)位置是不變的,因此,在接口技術(shù)中,經(jīng)常出現(xiàn)基地址這一詞匯,其定義為:器件中寄存器的最低地址。從定義出發(fā),再結(jié)合表9-1可知,8255A的基地址是A口寄存器的地址,A、B、C口及控制字寄存器相對(duì)于基地址的偏移量分別為0、1、2、3。

9.1.28255A的編程命令

8255A的編程命令包括工作方式命令和對(duì)PC口的按位操作命令,通過對(duì)控制字寄存器各位的配置、按位操作命令來實(shí)現(xiàn)的。

1。方式控制字

8255A的工作方式可由CPU寫入控制字到8255A的控制寄存器來選擇,方式控制字的格式如圖9-2所示。

【例9-1】設(shè)某一51機(jī)系統(tǒng)分配給8255A的基地址為E000H。編寫一個(gè)將A組指定為方式1,A口輸入,C口上半部定為輸出;B組指定為方式0,B口輸出,C口下半部定為輸出的8255A初始化程序段。 解根據(jù)圖9-2得到8255A的工作方式命令代碼:10110000B或B0H。 將此代碼寫入8255A的控制字寄存器,完成對(duì)8255A的初始化,初始化的程序段為:MOV DPTR,#0E003H;控制字地址=基地址+3MOV A,#0B0H ;初始化命令MOVX @DPTR,A ;送入控制字端口

注意: (1)8255A的基地址是A口而不是控制寄存器。 (2)所有的可編程接口芯片,應(yīng)先定義,后使用。 (3)8255A上電復(fù)位之初,默認(rèn)3個(gè)口均為方式0輸入。所以在使用8255A時(shí),一定要先進(jìn)行初始化工作,確定其工作方式。 2.PC口按位置/復(fù)位命令字

8255A的端口C是一個(gè)特殊的8位并行口,在輸出狀態(tài)下,還可指定C口的某一位(某一個(gè)管腳)輸出高電平或低電平,稱為C口的按位置/復(fù)位功能。并且,此功能不受工作方式的限制。而A、B口不具備按位置/復(fù)位功能。

對(duì)PC口的按位操作命令,是通過對(duì)8255A的控制字寄存器寫命令代碼實(shí)現(xiàn)的。 若寫入的命令字的最高位D7=1,則是工作方式命令;若D7=0,則是對(duì)PC口按位置位/復(fù)位命令。

C口的按位置/復(fù)位命令字格式的特點(diǎn):8位命令數(shù)據(jù),其中最高位是特征位,一定要寫0,以區(qū)別方式命令。其余各位根據(jù)定義,按用戶的設(shè)計(jì)要求寫1或0,而字節(jié)中的高3位,與命令內(nèi)容無關(guān),可以用“1”或“0”填充,但習(xí)慣用“0”填充。如圖9-3所示。

【例9-2】設(shè)8255A已按例9-1的要求初始化,8255A的基地址仍為E000H?,F(xiàn)要把C口的PC6管腳置成高電平,試寫出完成此任務(wù)的程序段。

解:根據(jù)題意,命令字應(yīng)為00001101B或0DH。程序段如下:MOV DPTR,#0E003H;控制字地址=基地址+3MOV A,#0DH ;C口按位置位、復(fù)位命令MOVX @DPTR,A ;送入控制字端口9.1.

3.8255A的工作方式0 8255A有三種工作方式,即方式0,1,2。1。方式0及其應(yīng)用 具有如下特點(diǎn):

(1)方式0是基本輸入/輸出方式。不用聯(lián)絡(luò)信號(hào)。采用查詢方式無條件傳送。不能采用中斷方式與CPU交換數(shù)據(jù)。圖9-4為8255A在工作方式0下的功能結(jié)構(gòu)圖;

(2)各端口在輸出方式下均有鎖存功能,輸入時(shí)有三態(tài)緩沖能力。 (3)在方式0下彼此獨(dú)立的兩個(gè)8位和兩個(gè)4位并行口,共24根I/O線全部由用戶支配,都能被指定作為輸入或輸出用,共有16種不同的使用組態(tài)。在方式0下,C口的高、低4位可分別或同時(shí)定義為輸入或輸出,但讀、寫時(shí)8位要一起行動(dòng)。 (4)C口還可按位進(jìn)行置位或復(fù)位。

方式0是8255A最基本、最常用的一種工作方式。

【例9-3】設(shè)8255A的初始化要求為:A組、B組均為方式0,A口為輸入,其它口均為輸出,8255A基地址為E000H。編程實(shí)現(xiàn):(1)將A口的狀態(tài)讀入單片機(jī);(2)將B口的高4位置1,低4位清0;(3)C口下半部輸出1010,并且要求不影響C口上半部輸出狀態(tài)。 解:8255A的初始化命令字為:10010000B或90H。參考程序如下: ORG 0000H LJMP SATRT ORG 0100HSTART: MOV SP,#5FH MOV DPTR,#0E003H ;控制口地址 MOV A,#90H ;初始化命令

MOVX @DPTR,A ;先定義,后使用 MOV DPTR,#0E000H ;端口A地址 MOVX A,@DPTR ;讀入寄存器A …… ;其它處理工作INC DPTR ;8255A端口B=基地址+1MOV A,#0F0H ;(2)B口的高4位置1,低4位清0MOVX @DPTR,A ;送入端口B…… ;其它處理工作MOV DPTR,#0E002H ;8255A端口C地址=基地址+2MOVX A,@DPTR ;(3)將C口的狀態(tài)讀入AANL A,#0F0H ;不影響C口上半部狀態(tài)ORL A,#0AH ;(3)C口下半部輸出MOVX @DPTR,A ;送入端口C…… ;其它處理工作END

在方式0下,A口、B口也可以按位輸出高/低電平,但與C口按位置位/復(fù)位命令有本質(zhì)差別,實(shí)現(xiàn)方法也不同。例如,只將PB7輸出高/低電平,其它位不變的程序段為:MOV DPTR,#0E001H ;端口B地址MOVX A,@DPTRORL A,#80H ;使PB7=1

MOVX @DPTR,A ;使PB7輸出高電平MOV DPTR,#0E001H ;端口B地址

MOVX A,@DPTR ANL A,#7FH ;使PB7輸出低電平

MOVX @DPTR,A

根據(jù)8255A工作方式0提供I/O的特點(diǎn),方式0一般用于無聯(lián)絡(luò)信號(hào)線的查詢傳送,或無條件傳送的場合。

【例9-4】某51機(jī)擴(kuò)展系統(tǒng)電路原理如圖9-5所示。 (1)試指出8255A的基地址、端口A、B、C及控制口的地址。

(2)圖9-6是由圖9-5中的8255A控制的4×4行列掃描-I/O編碼鍵盤接口電路,試編寫鍵值識(shí)別程序。 (3)圖9-7是由圖9-5中的8255A與8位共陽型LED數(shù)碼管的接口電路圖,試編寫對(duì)其的顯示驅(qū)動(dòng)程序。

解: (1)要選中圖9-5中的8255A,而不選DAC0832,只需P2.6為0,P2.7為1即可,將與選片無關(guān)的14根地址線全取0和全取1,得到:1000000000000000和1011111111111111所形成的閉區(qū)間,即8000H~BFFFH就是8255A的地址范圍,取8000H為8255A的基地址,于是端口A、B、C及控制口的一套地址分別為:8000H、8001H、8002H、8003H。

(2)編寫之前,先要確定8255A的工作方式。為此,需要將鍵盤電路和顯示驅(qū)動(dòng)電路綜合起來,才能得到適合圖9-6和圖9-7兩個(gè)電路8255A的輸入/輸出功能組態(tài)。 從圖9-6可知,8255A的C口低4位,提供列掃描電壓,應(yīng)該設(shè)置為輸出,C口高4位,監(jiān)視行狀態(tài),應(yīng)設(shè)置為輸入;圖9-7中,8255A的A口提供顯示段碼,B口提供顯示器位掃描電壓的,都應(yīng)設(shè)置為輸出。

由以上分析的結(jié)果可知,8255A的命令控制字應(yīng)為:10001000B,即88H。

鍵盤掃描原理與4.6.3的行×列掃描I/O編碼原理相同,但

溫馨提示

  • 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)論