微機(jī)原理-第7章 常用數(shù)字接口電路_第1頁(yè)
微機(jī)原理-第7章 常用數(shù)字接口電路_第2頁(yè)
微機(jī)原理-第7章 常用數(shù)字接口電路_第3頁(yè)
微機(jī)原理-第7章 常用數(shù)字接口電路_第4頁(yè)
微機(jī)原理-第7章 常用數(shù)字接口電路_第5頁(yè)
已閱讀5頁(yè),還剩76頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第7章

常用數(shù)字接口電路1主要內(nèi)容掌握二種可編程接口芯片的應(yīng)用了解串行通信的一般概念

2§7.1接口電路概述CPU與外設(shè)之間信息交換的通道作用:信息緩沖、信息變換、電平轉(zhuǎn)換、聯(lián)絡(luò)控制分類:8086系統(tǒng)中最常用的數(shù)字接口電路芯片有:8253、8255、8250功能傳送方式傳送的信息類型輸入接口并行接口數(shù)字量的輸入/輸出接口輸出接口串行接口模擬量的輸入/輸出接口3§7.2可編程定時(shí)/計(jì)數(shù)器8253引線功能及計(jì)數(shù)啟動(dòng)方法6種工作方式及其輸出波形8253的使用:芯片與系統(tǒng)的連接、芯片的初始化編程4定時(shí)/計(jì)數(shù)器的用途可以實(shí)現(xiàn)定時(shí)與計(jì)數(shù)兩個(gè)功能,用于系統(tǒng)時(shí)鐘DRAM刷新定時(shí)定時(shí)采樣實(shí)時(shí)控制脈沖的計(jì)數(shù)5如何實(shí)現(xiàn)定時(shí)?軟件方法用一段程序?qū)崿F(xiàn)延時(shí)利用程序循環(huán)延遲指定的時(shí)間缺點(diǎn):CPU占用率?延時(shí)精度?兼容?硬件方法定時(shí)/計(jì)數(shù)器電路利用脈沖計(jì)數(shù)在設(shè)定的時(shí)間輸出定時(shí)信號(hào)8253是一種硬件定時(shí)/計(jì)數(shù)器芯片6§7.2.1外部引線及內(nèi)部結(jié)構(gòu)3個(gè)16位的定時(shí)/計(jì)數(shù)器(通道)24引腳雙列直插式最高計(jì)數(shù)頻率2MHzTTL電平兼容單電源+5V供電7外部引線片選信號(hào)OUT0GATE0GATE1OUT1GATE1OUT1A1A0#WR#RD#CS通道2通道1通道0CLK0CLK1CLK1A1#IOWA0#IOR8連接系統(tǒng)端的外部引線D7~D0#CS#RD#WRA1,A0

用于選擇四個(gè)編址部件之一A1A0選擇00計(jì)數(shù)通道001計(jì)數(shù)通道110計(jì)數(shù)通道211控制寄存器9全部引線結(jié)構(gòu)10計(jì)數(shù)器通道的外部引線每通道均相同,(n=0~2)CLKn

時(shí)鐘脈沖輸入,計(jì)數(shù)器的計(jì)時(shí)基準(zhǔn)。GATEn

門控信號(hào)輸入,控制計(jì)數(shù)器的啟停。OUTn計(jì)數(shù)器輸出信號(hào),不同工作方式下產(chǎn)生不同波形。118253的內(nèi)部結(jié)構(gòu)編址部件0編址部件1編址部件2編址部件312編程結(jié)構(gòu)—程序員的觀點(diǎn)計(jì)數(shù)器(3個(gè)),包括:16位初值寄存器、16位計(jì)數(shù)寄存器(減法計(jì)數(shù)器)控制寄存器存放控制命令字(只寫)占用4個(gè)地址3個(gè)計(jì)數(shù)器、1個(gè)控制寄存器13定時(shí)/計(jì)數(shù)的工作過(guò)程設(shè)置8253的工作方式設(shè)置計(jì)數(shù)初值到初值寄存器第一個(gè)CLK信號(hào)使初值寄存器的內(nèi)容置入計(jì)數(shù)寄存器以后每來(lái)一個(gè)CLK信號(hào),計(jì)數(shù)寄存器減1減到0時(shí),OUT端輸出一特殊波形的信號(hào)注:以上計(jì)數(shù)過(guò)程中還受到GATE信號(hào)的控制14計(jì)數(shù)啟動(dòng)方式軟件啟動(dòng)——程序指令啟動(dòng)啟動(dòng)過(guò)程:GATE端保持為高電平;寫入計(jì)數(shù)初值后的第2個(gè)CLK脈沖的下降沿開始計(jì)數(shù)硬件啟動(dòng)——外部電路信號(hào)啟動(dòng)啟動(dòng)過(guò)程:GATE端有一個(gè)上升沿;對(duì)應(yīng)CLK脈沖的下降沿開始計(jì)數(shù)15§7.2.18253的工作方式方式0——計(jì)數(shù)結(jié)束中斷方式1——可重復(fù)觸發(fā)的單穩(wěn)態(tài)觸發(fā)器方式2——頻率發(fā)生器方式3——方波發(fā)生器方式4——軟件觸發(fā)選通方式5——硬件觸發(fā)選通16方式0計(jì)數(shù)結(jié)束中斷特點(diǎn):軟件啟動(dòng),不自動(dòng)重復(fù)計(jì)數(shù)裝入初值后OUT端變低電平計(jì)數(shù)結(jié)束OUT輸出高電平。17方式0的工作波形計(jì)數(shù)初值=4方式0中GATE的作用18方式1單穩(wěn)態(tài)觸發(fā)器特點(diǎn):硬件啟動(dòng),不自動(dòng)重復(fù)計(jì)數(shù)。裝入初值后OUT端變高電平,計(jì)數(shù)開始OUT端變?yōu)榈碗娖剑?jì)數(shù)結(jié)束后又變高。19方式1工作波形正常情況提前觸發(fā)20方式2頻率發(fā)生器特點(diǎn):軟、硬件啟動(dòng),自動(dòng)重復(fù)計(jì)數(shù)。裝入初值后OUT端變高電平,計(jì)數(shù)到最后一個(gè)CLK時(shí)OUT輸出負(fù)脈沖,并連續(xù)重復(fù)此過(guò)程。21方式2工作波形22方式3方波發(fā)生器特點(diǎn):軟、硬件啟動(dòng),自動(dòng)重復(fù)計(jì)數(shù)。裝入初值后OUT端變高電平,然后OUT連續(xù)輸出對(duì)稱方波:

前N/2或(N+1)/2個(gè)CLK,OUT為高,后N/2或(N-1)/2個(gè)CLK,OUT為低。23方式3工作波形24方式4軟件觸發(fā)選通特點(diǎn):軟件啟動(dòng),不自動(dòng)重復(fù)計(jì)數(shù)。裝入初值后輸出端變高電平,計(jì)數(shù)結(jié)束輸出一個(gè)CLK寬度的負(fù)脈沖25方式4工作波形26方式5硬件觸發(fā)選通特點(diǎn):硬件啟動(dòng),不自動(dòng)重復(fù)計(jì)數(shù)。OUT端波形與方式4相同27方式5工作波形28各種工作方式特點(diǎn)方式0(計(jì)數(shù)結(jié)束中斷)計(jì)數(shù)過(guò)程中,GATE端應(yīng)保持高電平。每寫入一次初值計(jì)數(shù)一個(gè)周期,然后停止計(jì)數(shù)。OUT端輸出是一個(gè)約(N+1)TCLK寬度的負(fù)脈沖。計(jì)數(shù)過(guò)程中可隨時(shí)修改初值重新開始計(jì)數(shù)。方式1(單穩(wěn)態(tài)觸發(fā)器)門控信號(hào)GATE端的跳變觸發(fā)計(jì)數(shù),可重復(fù)觸發(fā)。若下一次GATE上升沿提前到達(dá),則OUT端負(fù)脈沖拉寬為兩次計(jì)數(shù)過(guò)程之和。計(jì)數(shù)過(guò)程中寫入新初值不影響本次計(jì)數(shù)。29各種工作方式特點(diǎn)方式2(頻率發(fā)生器)GATE為計(jì)數(shù)的控制信號(hào):GATE變低計(jì)數(shù)停止,再變高時(shí)的下一個(gè)CLK下降沿,從初值開始重新數(shù)。每個(gè)計(jì)數(shù)周期結(jié)束時(shí)(減到1時(shí)),OUT端輸出一個(gè)TCLK寬度的負(fù)脈沖。計(jì)數(shù)過(guò)程自動(dòng)重復(fù)進(jìn)行。計(jì)數(shù)過(guò)程中修改初值不影響本輪計(jì)數(shù)過(guò)程。方式3(方波發(fā)生器)OUT輸出方波,前半周期為高,后半周期為低。計(jì)數(shù)過(guò)程中修改初值不影響本半輪計(jì)數(shù)過(guò)程。其余的與方式2類似。30各種工作方式特點(diǎn)方式4(軟件觸發(fā)選通)計(jì)數(shù)過(guò)程中,GATE端應(yīng)保持高電平。每寫入一次初值,計(jì)數(shù)一個(gè)周期,然后停止計(jì)數(shù)。每個(gè)計(jì)數(shù)周期結(jié)束時(shí)(減到0時(shí)),OUT端輸出一個(gè)TCLK寬度的負(fù)脈沖。計(jì)數(shù)過(guò)程中修改初值不影響本輪計(jì)數(shù)過(guò)程。方式5(硬件觸發(fā)選通)寫入初值時(shí),GATE端應(yīng)保持低電平。GATE每出現(xiàn)一次正脈沖,計(jì)數(shù)一個(gè)周期,然后停止計(jì)數(shù)。每個(gè)計(jì)數(shù)周期結(jié)束時(shí)(減到0時(shí)),OUT端輸出一個(gè)TCLK寬度的負(fù)脈沖。計(jì)數(shù)過(guò)程中修改初值不影響本輪計(jì)數(shù)過(guò)程。318253工作方式一覽表工作方式啟動(dòng)計(jì)數(shù)中止計(jì)數(shù)自動(dòng)重復(fù)更新初值輸出波形0軟GATE=0立即有效延時(shí)時(shí)間可變的上跳沿1硬/下一輪有效寬度為N×TCLK的單一負(fù)脈沖2軟/硬GATE=0√下一輪有效周期為N×TCLK寬度為TCLK的連續(xù)負(fù)脈沖3軟/硬GATE=0√下半輪有效周期為N×TCLK的連續(xù)方波4軟GATE=0下一輪有效寬度為TCLK的單一負(fù)脈沖5硬/下一輪有效寬度為TCLK的單一負(fù)脈沖32§7.2.28253的控制字用于確定各計(jì)數(shù)器的工作方式。8253必須先初始化才能正常工作。每個(gè)計(jì)數(shù)器都必須初始化一次。CPU通過(guò)OUT指令把控制字寫入控制寄存器。33控制字格式34§7.2.48253的應(yīng)用與系統(tǒng)的連接設(shè)置工作方式置計(jì)數(shù)初值358253占用4個(gè)接口地址:

計(jì)數(shù)器0

計(jì)數(shù)器1

計(jì)數(shù)器2

控制寄存器與系統(tǒng)的連接示意圖CLKGATEOUTD0~D7#WR#RDA1A0#CSDB#IOW#IORA1A0譯碼器高位地址A15-A28253共三組(決定8253的基地址)36初始化程序流程寫控制字寫計(jì)數(shù)值低8位寫計(jì)數(shù)值高8位非必須寫入順序:可按計(jì)數(shù)器分別寫入控制字和初值。也可先寫所有計(jì)數(shù)器控制字,再寫入它們的初值37[8253使用舉例]采用8253作定時(shí)/計(jì)數(shù)器,其接口地址為0120H~0123H。輸入8253的時(shí)鐘頻率為2MHz。計(jì)數(shù)器0:每10ms輸出1個(gè)CLK脈沖寬的負(fù)脈沖計(jì)數(shù)器1:產(chǎn)生10KHz的連續(xù)方波信號(hào)計(jì)數(shù)器2:啟動(dòng)計(jì)數(shù)5ms后OUT輸出高電平。畫線路連接圖,并編寫初始化程序。38計(jì)算初值確定計(jì)數(shù)初值:CNT0:10ms/0.5us=20000CNT1:2MHz/10KHz=200CNT2:5ms/0.5us=10000確定控制字:

CNT0:方式2,16位計(jì)數(shù)值00110100CNT1:方式3,低8位計(jì)數(shù)值01010110CNT2:方式0,16位計(jì)數(shù)值1011000039線路連接CLK0GATE0OUT1D0~D7#WR#RDA1A0#CSDB#IOW#IORA1A0譯碼器8253CLK2GATE1GATE2+5VCLK12MHzOUT0OUT240初始化程序CNT0:MOVDX,0123HMOVAL,34HOUTDX,ALMOVDX,0120HMOVAX,20000OUTDX,ALMOVAL,AHOUTDX,ALCNT1:……CNT2:……41*如何讀出當(dāng)前計(jì)數(shù)值第1種方法——在計(jì)數(shù)過(guò)程中讀計(jì)數(shù)值先鎖存當(dāng)前計(jì)數(shù)值,再用兩條輸入指令將16位計(jì)數(shù)值讀出。第2種方法——停止計(jì)數(shù)器再讀用GATE信號(hào)使計(jì)數(shù)器停止,再規(guī)定RL1和RL0的讀寫格式,然后讀出。42*擴(kuò)展定時(shí)/計(jì)數(shù)范圍當(dāng)定時(shí)長(zhǎng)度不夠時(shí),可把2個(gè)或3個(gè)計(jì)數(shù)通道串聯(lián)起來(lái)使用,甚至可把多個(gè)8253串聯(lián)起來(lái)使用。如:CLK頻率為1MHz,要求在OUT1端產(chǎn)生頻率1Hz的脈沖。這時(shí)可將計(jì)數(shù)器0、1串聯(lián),工作方式都均為方式3,計(jì)數(shù)初值均為1000。連接方法見下頁(yè)。43擴(kuò)展定時(shí)/計(jì)數(shù)范圍8253OUT1GATE1CLK1OUT0GATE0CLK0+5V+5V1MHz1KHz1Hz44小結(jié)包含3個(gè)16位計(jì)數(shù)器通道4個(gè)編址部件:CNT0/1/2和控制寄存器每個(gè)計(jì)數(shù)器通道工作前必須初始化:控制字和計(jì)數(shù)初值6種工作方式每種工作方式:?jiǎn)?dòng)方式、輸出波形、是否可重復(fù)計(jì)數(shù)等各不相同45§7.3可編程并行接口8255特點(diǎn):含3個(gè)獨(dú)立的8位并行輸入/輸出端口,各端口均具有數(shù)據(jù)的控制和鎖存能力可通過(guò)編程設(shè)置各端口的工作方式和數(shù)據(jù)傳送方向(入/出/雙向)。46§7.3.18255的引線及結(jié)構(gòu)47連接系統(tǒng)端的引線D0~D7#CS#RD#WRA0,A1

RESET復(fù)位信號(hào),接系統(tǒng)總線的RESETA1A0選擇00端口A01端口B10端口C11控制寄存器48連接外設(shè)端的引線分別對(duì)應(yīng)A、B、C三個(gè)8位輸入/輸出端口PA0~PA7PB0~PB7PC0~PC7

三個(gè)端口可通過(guò)編程分別指定為輸入或輸出口。其中,C口即可用作獨(dú)立的輸入/輸出口,也可用作A、B口的控制信號(hào)輸出或狀態(tài)信號(hào)輸入。49結(jié)構(gòu)A組端口A、端口C的高4位B組端口B、端口C的低4位50結(jié)構(gòu)518255與系統(tǒng)的連接示意圖D0~D7#WR#RDA1A0#CSDB#IOW#IORA1A0譯碼器8255A口B口C口D0~D7外設(shè)A15~A2系統(tǒng)總線52§7.3.28255工作方式基本輸入/輸出方式(方式0)選通工作方式(方式1)雙向傳送方式(方式2)(僅A口)

某端口工作于哪一種方式,可通過(guò)軟件編程來(lái)指定。即向8255寫入方式控制字來(lái)決定其工作方式。53工作方式08255相當(dāng)于三個(gè)獨(dú)立的8位簡(jiǎn)單接口。各端口既可設(shè)置為輸入口,也可設(shè)置為輸出口,但不能同時(shí)實(shí)現(xiàn)輸入及輸出。C端口即可以是一個(gè)8位的簡(jiǎn)單接口,也可以分為兩個(gè)獨(dú)立的4位端口。設(shè)置為輸出口時(shí)有鎖存能力,設(shè)置為輸入口時(shí)無(wú)鎖存能力。54方式0的應(yīng)用用于連接簡(jiǎn)單外設(shè)適用于:無(wú)條件輸入輸出方式。查詢輸入輸出方式:把A、B口作為8位數(shù)據(jù)的輸入或輸出口,C口的高/低4位分別定義為A、B口的控制位和狀態(tài)位。55工作方式1利用一組選通控制信號(hào)控制A端口和B端口的數(shù)據(jù)輸入輸出。A、B口作輸入或輸出口,C口的部分位固定用作A、B口的選通控制信號(hào)。A口、B口在作為輸入和輸出時(shí)的選通信號(hào)不同。56C口的信號(hào)功能(方式1輸入)STB#選通信號(hào)。它將外設(shè)數(shù)據(jù)送入8255的輸入鎖存器。IBF輸入鎖存器滿。通知外設(shè)不能送下一個(gè)數(shù)據(jù)。此信號(hào)由STB的前沿產(chǎn)生。CPU用IN指令取走數(shù)據(jù)后,此信號(hào)被清除。INTR中斷請(qǐng)求。STB#的后沿產(chǎn)生,用于中斷CPU,讓CPU讀走輸入鎖存器中的數(shù)據(jù)。INTE中斷允許位,是否允許發(fā)出INTR請(qǐng)求。INTE=1和IBF為高電平時(shí),允許發(fā)出INTR請(qǐng)求。57方式1輸入信號(hào)58方式1輸入工作時(shí)序59C口的信號(hào)功能(方式1輸出)OBF#通知外設(shè)取走數(shù)據(jù)。ACK#外設(shè)響應(yīng)信號(hào),表示已從數(shù)據(jù)端口取走數(shù)據(jù)。此信號(hào)使OBF變高。INTRACK#上升沿產(chǎn)生,通知CPU輸出下一個(gè)數(shù)據(jù)(通常接到8259)。INTE中斷允許位,INTE=1和OBF#為高電平時(shí),允許產(chǎn)生INTR信號(hào)。60方式1輸出信號(hào)61方式1輸出工作時(shí)序62注意INTE的狀態(tài)可利用C口的位控方式來(lái)設(shè)置:輸入:A口的INTE:寫入PC4B口的INTE:寫入PC2輸出:A口的INTE:寫入PC6B口的INTE:寫入PC2如:方式1輸入允許A口中斷,則應(yīng)按如下方法設(shè)置INTEA。MOVDX,控制寄存器地址MOVAL,0xxx1001B;1=允許中斷,0=禁止中斷OUTDX,AL63方式1的應(yīng)用主要用于中斷控制方式下的輸入輸出。C口除部分位用作選通信號(hào)外,其余位可工作在方式0下,作為輸入或輸出線。特別是A、B均為方式1時(shí)僅使用C口的6條線,余下二條線可作為單獨(dú)的輸入輸出線,用程序指定其數(shù)據(jù)傳送方向。64工作方式2雙向方式——既是輸入口,又是輸出口。利用C口的5條線提供傳輸聯(lián)絡(luò)信號(hào)。類似于A口方式1下輸入和輸出的組合。只有A口可工作在方式2下。INTE1為PC.bit6,INTE2為PC.bit4。65方式2信號(hào)66方式2工作時(shí)序67方式2的應(yīng)用可用于中斷控制輸入輸出方式。當(dāng)A口工作于方式2時(shí),B口可工作于方式1(此時(shí)C口的剩余位都用作B口選通控制線);B口也可工作于方式0(此時(shí)C口的剩余位也只能用作方式0下的輸入輸出線)。68方式控制字及位控字可以利用軟件編程確定8255的3個(gè)端口工作于何種方式下;8255的C端口可以按位操作。當(dāng)其工作于方式0下且作為輸出口時(shí),對(duì)于那些作為輸出的位需要設(shè)置初始狀態(tài)(1/0)。69§7.3.3方式控制字及狀態(tài)字控制字確定3個(gè)端口的工作方式位控字確定C口某一位的初始狀態(tài),或用于設(shè)置INTE位(方式1,2)。70控制字71狀態(tài)字72§7.3.3方式8255的應(yīng)用芯片與系統(tǒng)的連接芯片的初始化相應(yīng)的控制程序73[例7-3線路連接圖]74[例7-3時(shí)序圖]75[8255使用舉例]利用8255實(shí)現(xiàn)開關(guān)檢測(cè)和繼電器控制電路;當(dāng)開關(guān)閉合時(shí),使繼電器通電動(dòng)作;開關(guān)斷開時(shí),繼電器不動(dòng)作;系統(tǒng)每隔100ms檢測(cè)一次開關(guān)狀態(tài),實(shí)現(xiàn)相應(yīng)的繼電器控制;初始狀態(tài)下繼電器不動(dòng)作。76#CSA0A1#WR#RDDBPA0PA7???PB0PB7???384H~387H388H~38BH#CSA0A1OUT1CLK12MHzCLK0OUT08259APIC#WR#RDDB82538255中斷請(qǐng)求信號(hào)INTR+12V繼電器Q1R1D1+5VKR277計(jì)算初值使8255的A端口和

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論