版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第7章單片機(jī)系統(tǒng)擴(kuò)展與接口技術(shù)7.1外部總線的擴(kuò)展
7.2外部存儲器的擴(kuò)展7.3輸入/輸出接口的擴(kuò)展7.4管理功能部件的擴(kuò)展7.5A/D和D/A接口功能的擴(kuò)展資源與擴(kuò)展
單片機(jī)集成的CPU、I/O口、定時器、中斷系統(tǒng)、存儲器等部件稱為系統(tǒng)資源。比較復(fù)雜應(yīng)用系統(tǒng)中,當(dāng)以上資源中的一種或幾種不夠用時,就需要在單片機(jī)芯片外加上相應(yīng)的芯片、電路,使得有關(guān)功能得以擴(kuò)充,稱為系統(tǒng)擴(kuò)展。
接口的含義:接口是連接單片機(jī)與外圍電路、芯片、設(shè)備(如I/O設(shè)備、A/D、D/A設(shè)備)的中間環(huán)節(jié)。
接口牽涉到外圍電路、設(shè)備、芯片的結(jié)構(gòu)、使用方法、時序要求;以及單片機(jī)本身的硬件、軟件資源等很多問題。接口技術(shù)要解決系統(tǒng)擴(kuò)展時單片機(jī)與相應(yīng)芯片的接口與編程問題。系統(tǒng)擴(kuò)展和接口技術(shù)的內(nèi)容:外部總線的擴(kuò)展外部存儲器的擴(kuò)展輸入、輸出接口的擴(kuò)展管理功能部件(如定時/計數(shù)器、鍵盤/顯示器等)的擴(kuò)展A/D和D/A的接口技術(shù)
單片機(jī)最小系統(tǒng)使單片機(jī)能運行的最少器件構(gòu)成的系統(tǒng),就是最小系統(tǒng)。無ROM芯片(8031)必須擴(kuò)展ROM,復(fù)位、晶振電路。有ROM芯片不必擴(kuò)展ROM,只要有復(fù)位、晶振電路即可。7.1外部總線的擴(kuò)展一、外部三總線的形成圖7.2地址鎖存器的引腳和接口二、總線驅(qū)動在單片機(jī)應(yīng)用系統(tǒng)中,擴(kuò)展的三總線上掛接很多負(fù)載,如存儲器、并行接口、A/D接口、顯示接口等,但總線接口的負(fù)載能力有限,因此常常需要通過連接總線驅(qū)動器進(jìn)行總線驅(qū)動。總線驅(qū)動器對于單片機(jī)的I/O口只相當(dāng)于增加了一個TTL負(fù)載,因此驅(qū)動器除了對后級電路驅(qū)動外,還能對負(fù)載的波動變化起隔離作用。在對TTL負(fù)載驅(qū)動時,只需考慮驅(qū)動電流的大小;在對MOS負(fù)載驅(qū)動時,MOS負(fù)載的輸入電流很小,更多地要考慮電平兼容。一般TTL電平和CMOS電平是不兼容的,CMOS電路能驅(qū)動TTL電路,而TTL電路一般不能驅(qū)動CMOS電路,在TTL電路和CMOS電路混用的系統(tǒng)中,應(yīng)特別注意。
1.常用的總線驅(qū)動器
系統(tǒng)總線中地址總線和控制總線是單向的,因此驅(qū)動器可以選用單向的,如74LS244。74LS244還帶有三態(tài)控制,能實現(xiàn)總線緩沖和隔離。
系統(tǒng)中的數(shù)據(jù)總線是雙向的,其驅(qū)動器也要選用雙向的,如74LS245。74LS245也是三態(tài)的,有一個方向控制端DIR,DIR=1時輸出(An→Bn),DIR=0時輸入(An←Bn)。圖7.3總線驅(qū)動器芯片管腳(a)單向驅(qū)動器;(b)雙向驅(qū)動器1G,2G為H時,Y為高阻;1G,2G為L時,Y=AG為H時,Y為高阻;G=L,DIR=0;B→AG=L,DIR=1;A→B2.總線驅(qū)動器的接口圖7.48051與總線驅(qū)動器的接口(a)P2口的驅(qū)動;(b)P0口的驅(qū)動7.2外部存儲器的擴(kuò)展
MCS-51系列單片機(jī)具有64K的程序存儲器尋址空間和64K的片外數(shù)據(jù)存儲器尋址空間。數(shù)據(jù)存儲器(RAM)和程序存儲器(ROM)的地址空間是相互獨立的。如果系統(tǒng)需要用到的存儲器超過了單片機(jī)本身具有的容量,就要進(jìn)行片外程序存儲器或者數(shù)據(jù)存儲器的擴(kuò)展。幾個問題:程序存儲器的作用:存放程序代碼或常數(shù)表格擴(kuò)展時所用芯片:一般用ROM芯片(可以是EPROM、
E2PROM、FLASH芯片等)。
存儲器地址分析:單片機(jī)輸出什么地址值時,可以指向存儲器中的某一單元。7.2.1外部程序存儲器的擴(kuò)展圖7.5MCS-51單片機(jī)程序存儲器的擴(kuò)展原理1.外部程序存儲器的擴(kuò)展原理與時序分析圖2.8讀外部程序ROM時序2.EPROM擴(kuò)展芯片(2716容量:2K×8位)圖7.62716的引腳圖
2716有五種工作方式,見表7.1。表7.12716工作方式選擇2716與8031的連接圖由圖7.7可確定2716芯片的地址范圍。方法是A10~A0從全0開始,然后從最低位開始依次加
1,最后變?yōu)槿?,相當(dāng)于211=2048個單元地址依次選通,稱為字選。即地址與單元是多對一的關(guān)系27128與MCS51的連接只有一片ROM時,CE可以接地
OE接PSEN3.E2PROM2864A的擴(kuò)展圖7.82864A管腳7.2.2外部數(shù)據(jù)存儲器RAM的擴(kuò)展1.外部數(shù)據(jù)存儲器的擴(kuò)展方法及時序圖7.10MCS-51數(shù)據(jù)存儲器的擴(kuò)展示意圖圖2-9讀外部數(shù)據(jù)RAM時序2.靜態(tài)RAM芯片
I/O0~7:數(shù)據(jù)線A0~A12:地址線CE、CE:片選線OE:輸出使能WE:寫入使能VCC、GND:電源NC:未使用圖7.12擴(kuò)展6264靜態(tài)RAM
6264的8KB地址范圍不唯一(因為A14A13可為任意值),6000H~7FFFH是一種地址范圍。當(dāng)向該片6000H單元寫一個數(shù)據(jù)DATA時,可用如下指令:MOVA,#DATAMOVDPTA,#6000HMOVX@DPTR,A從7FFFH單元讀一個數(shù)據(jù)時,可用如下指令:MOVDPTR,#7FFFHMOVXA,@DPTR擴(kuò)展一片SRAM62128同時擴(kuò)展ROM和RAM7.2.3多片存儲器芯片的擴(kuò)展1.線選法尋址線選法使用低位地址線對每個芯片內(nèi)的統(tǒng)一存儲單元進(jìn)行尋址,稱為字選。字選所需地址線數(shù)由每片的存儲單元數(shù)(存儲容量)決定,對于8K×8bit容量的芯片需要13根地址線A12~A0。然后將余下的高位地址線分別接到個存儲芯片的片選端CS,稱為線選(線選法由此得名)。圖7.13用線選法實現(xiàn)片選下圖是利用線選法,用3片2764A擴(kuò)展24K×8位EPROM的電路圖:各芯片的地址范圍如下:下圖是用線選法擴(kuò)展3片6264
P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0A7A6A5A4A3A2A1A0Ⅰ:1100000000000000=C000H
~1101111111111111
~DFFFHⅡ:1010000000000000=A000H
~1011111111111111
~BFFFHⅢ:0110000000000000~0111111111111111=6000H~7FFFH
2.譯碼法尋址使用線選法會造成地址空間不連續(xù),造成了尋址能力的浪費。多片存儲器芯片組成大容量存儲器時常使用譯碼法。譯碼法仍用低位地址線對每片內(nèi)的存儲單元進(jìn)行尋址,而高位地址線經(jīng)過譯碼器譯碼后輸出作為各芯片的片選信號。譯碼法將地址劃分為連續(xù)的地址空間塊。常用的地址譯碼器是3/8譯碼器
74LS138例要求用2764芯片擴(kuò)展8031的片外程序存儲器空間,分配的地址范圍為0000H~3FFFH。本例采用完全譯碼(用完所有地址線)的方法。
(1)確定片數(shù)。因0000H~3FFFH的存儲空間為16KB,則所需芯片數(shù)=實際要求的存儲容量/單個芯片的存儲容量
=16KB/8KB =2(片)(2)分配地址范圍。(3)存儲器擴(kuò)展連接如圖7.14所示。圖7.14采用地址譯碼器擴(kuò)展存儲器的連接圖7.3輸入/輸出接口的擴(kuò)展7.3.18255A可編程并行I/O接口
8255A具有3個8位并行I/O口,稱為PA口、PB口和PC口。其中PC口又分為高4位和低4位,通過控制字設(shè)定可以選擇三種工作方式:①基本輸入/輸出;②選通輸入/輸出;③PA口為雙向總線。
7.3.28155可編程并行I/O接口
8155芯片內(nèi)具有256個字節(jié)的RAM,兩個8位、一個6位的可編程并行I/O接口和一個14位的計數(shù)器,與MCS-51單片機(jī)接口簡單,是單片機(jī)應(yīng)用系統(tǒng)中廣泛使用的芯片。7.3.3簡單的I/O接口擴(kuò)展電路這種I/O口一般都是通過P0口擴(kuò)展。由于P0口是雙向數(shù)據(jù)線,圖中74LS244作為輸入口、74LS273作為輸出口,它們都可以通過P0口輸入、輸出數(shù)據(jù)。輸出控制信號由P2.0和WR反合成,當(dāng)二者同時為0電平時,“或”門輸出0電平,273的Q=D,數(shù)據(jù)進(jìn)入273,當(dāng)WR反無效(升為0)時,數(shù)據(jù)鎖存在Q端并輸出。輸入控制信號由P2.0和RD反合成,當(dāng)二者同時為0電平時,“或”門輸出0電平,244的Q=D(直通),當(dāng)RD反無效時,CPU已讀走數(shù)據(jù),244的Q端不鎖存輸入的數(shù)據(jù)。注意使用時P2.0(A8)必須為0。7.4管理功能部件的擴(kuò)展7.4.1鍵盤接口鍵盤實際上是由排列成矩陣形式的一系列按鍵開關(guān)組成,用戶通過鍵盤可以向CPU輸入數(shù)據(jù)、地址和命令。鍵盤按其結(jié)構(gòu)形式可分為:編碼式鍵盤和非編碼式鍵盤兩類。單片機(jī)系統(tǒng)中普遍使用非編碼式鍵盤,這類鍵盤使用中主要解決以下問題:①鍵的識別;②鍵抖動的消除;
獨立式鍵盤行列式鍵盤
1.非編碼式鍵盤工作原理非編碼式行列式鍵盤識別按鍵的方法有兩種:一是行掃描法,二是線反轉(zhuǎn)法。
1)行掃描法
通過行線發(fā)出低電平信號,如果該行線所連接的鍵沒有按下的話,則列線所接的端口得到的是全“1”信號,如果有鍵按下的話,則得到非全“1”信號。為了防止雙鍵或多鍵同時按下,往往從第0行一直掃描到最后1行,若只發(fā)現(xiàn)1個閉合鍵,則為有效鍵,否則全部作廢。找到閉合鍵后,讀入相應(yīng)的鍵值,再轉(zhuǎn)至相應(yīng)的鍵處理程序。
2)線反轉(zhuǎn)法線反轉(zhuǎn)法也是識別閉合鍵的一種常用方法,該法比行掃描速度快,但在硬件上要求行線與列線外接上拉電阻。先將行線作為輸出線,列線作為輸入線,行線輸出全“0”信號,讀入列線的值,然后將行線和列線的輸入輸出關(guān)系互換,并且將剛才讀到的列線值從列線所接的端口輸出,再讀取行線的輸入值。那么在閉合鍵所在的行線上值必為0。這樣,當(dāng)一個鍵被按下時,必定可讀到一對唯一的行列值。在一次按鍵過程中,由于人手或機(jī)械裝置的抖動,單片機(jī)輸入管腳上得到的電平實際上是振動了多次的(如圖所示),在與按鍵次數(shù)有關(guān)的應(yīng)用中必須去掉這些抖動,使操作者感到系統(tǒng)反應(yīng)靈敏、操作方便。圖中標(biāo)記為T1的為抖動期,時間一般為5~10ms;標(biāo)記為T2的是穩(wěn)定期,時間一般為數(shù)百到數(shù)千ms。按鍵抖動鍵盤去抖可以使用硬件去抖電路,也可以使用軟件去抖,專用鍵盤控制芯片(如8279中)中一般都集成了硬件去抖功能。
軟件去抖的原理是當(dāng)發(fā)現(xiàn)有按鈕按下時,并不立即去執(zhí)行相應(yīng)的操作,而是在一定時間內(nèi)多次檢測該按鍵的狀態(tài),如果這個狀態(tài)穩(wěn)定了,則執(zhí)行操作,否則就認(rèn)為是按鍵的抖動或者誤動作,不予理會。7.4.2LED顯示器接口1.LED顯示器結(jié)構(gòu)與原理圖7.277段LED數(shù)碼顯示器各段碼位的對應(yīng)關(guān)系如下:
LED在正向?qū)òl(fā)光時通過的電流一般為10~40mA,電流越大,亮度越高。當(dāng)單片機(jī)的IO引腳不能提供LED發(fā)光所需的電流時,需要在單片機(jī)的IO口和數(shù)碼管之間加上功率驅(qū)動模塊,以達(dá)到所需要的亮度,并保護(hù)單片機(jī)的引腳不因電流過大而損壞。表7.8十六進(jìn)制數(shù)及空白與P的顯示段碼2.LED顯示器接口電路
LED動態(tài)顯示接線采取軟件實現(xiàn)動態(tài)顯示的缺點是計算機(jī)必須每隔非常小的時間間隔(小于0.1s)就要把所有數(shù)碼管都刷新顯示一次,對軟件實時性的要求較高,占用CPU時間也比較多。
如果希望擴(kuò)展更多位的LED數(shù)碼管顯示器、占用更少的IO口數(shù),同時減少對CPU時間的占用,可以采用專用的LED顯示器控制芯片。常用的LED顯示控制芯片如MAX7219/MAX7221,這兩款芯片均通過類似SPI總線的方式與微控制器相連,只占用3個IO口,一個芯片可以擴(kuò)展8位數(shù)碼管,且可以多個芯片級聯(lián)使用;區(qū)別在于MAX7219配合共陰極LED顯示器使用,MAX7221配合共陽極LED顯示器使用。這兩款芯片的具體使用方法請參考Maxim(美信)公司的相關(guān)電子文檔。LED顯示器、鍵盤接口電路例一:三個按鈕分別控制三個指示燈。按鈕按下時燈亮,按鈕松開燈滅。此例中僅要求指示燈的狀態(tài)按照按鈕的狀態(tài)變化,對按鍵的按下次數(shù)的次數(shù)并不敏感,所以可以不做鍵盤去抖處理。ORG0000HSTART:MOVC,P1.0;讀取P1.0的狀態(tài)
MOVP2.0,C;根據(jù)P1.0的狀態(tài)打開或關(guān)閉led1MOVC,P1.3;MOVP2.4,C;MOVC,P1.6;MOVP2.7,C;SJMPSTART;循環(huán)處理END例二:紅綠燈控制。點亮綠燈,LED數(shù)碼管顯示9~0倒計時(間隔3s),當(dāng)?shù)褂嫊r結(jié)束時亮黃燈,再延時1s點亮紅燈,然后又開始倒計時。此例中沒有用到鍵盤,用到的只是LED數(shù)碼顯示和延時。ORG0000HAJMPMAINORG0100HLED_REQUP2.0LED_GEQUP2.4LED_YEQUP2.7MAIN:MOVDPTR,#SEG_CODE;賦值表格首地址LOOP:CLRLED_G;點亮綠燈
ACALLCOUNT_DOWN;倒計時
SETBLED_G;關(guān)滅綠燈
CLRLED_Y;點亮黃燈
ACALLDELAY;延時1秒
SETBLED_Y;關(guān)滅黃燈
CLRLED_R;點亮紅燈
ACALLCOUNT_DOWN;倒計時
SETBLED_R;關(guān)滅紅燈
CLRLED_Y;點亮黃燈
ACALLDELAY;延時1秒
AJMPLOOP;循環(huán)COUNT_DOWN:MOVR2,#10;倒計時子程序
LOOP_CD:MOVA,R2DECA;顯示0~9MOVCA,@A+DPTR;查段碼表
MOVP0,A;顯示在LED數(shù)碼管上
ACALLDELAY;延時3秒
ACALLDELAY ACALLDELAY DJNZR2,LOOP_CD;倒計時控制
RET
DELAY:MOVR7,#10;延時1秒子程序
DEL0:MOVR6,#200DEL1:MOVR5,#250DEL2:DJNZR5,DEL2DJNZR6,DEL1DJNZR7,DEL0RETSEG_CODE:DB03H,9Fh,25H,0dH,99HDB49H,41H,1fH,01H,09HEND圖6-7計數(shù)器程序框圖例三:計數(shù)器。按下key1后,LED顯示值加1;按下key2后,LED值減1;按下key3后LED顯示內(nèi)容清0。,LED值變化范圍為0~9。本例中按照按鈕的輸入改變數(shù)碼管顯示的值,為避免出現(xiàn)一次按鍵顯示內(nèi)容加了多次的情況,需要對按鍵進(jìn)行去抖處理。ORG0000HAJMPMAINORG0100HLED_REQUP2.0LED_GEQUP2.4LED_YEQUP2.7
MAIN:MOVDPTR,#SEG_CODE;賦值表格首地址
MOVR2,#00H;存儲計數(shù)器值
MOVP0,#03H;初試化時LED顯示"0"LP1:MOVA,P1CPLAJZLP1;如果P1全為高,則說明無鍵按下
ACALLDELAY;如果有鍵按下了,延時10msMOVR3,P1ADDA,R3INCAJNZLP1;如果新P1與原P1的取反值相加不為FFH,;說明按鍵不穩(wěn)定,重新讀鍵MOVA,R3;如果按鍵已經(jīng)穩(wěn)定,則
JNBACC.0,ADD1JNBACC.3,SUB1JNBACC.6,CLR0AJMPLP1ADD1:MOVA,R2;如果當(dāng)前計數(shù)器值<9,則加1CLRCSUBBA,#9JNCLP1;INCR2;
AJMPDPLY;
SUB1:MOVA,R2;如果當(dāng)前計數(shù)器值>0,則減1JZLP1;DECR2;
AJMPDPLY;CLR0:MOVR2,#00H;計數(shù)器值清0
AJMPDPLY;
DPLY:MOVA,R2;查表顯示LED的內(nèi)容
MOVCA,@A+DPTRMOVP0,A
LP2:MOVA,P1;等鍵全部松開
CPLAJNZLP2AJMPLP1;返回等新按鍵輸入DELAY:MOVR6,#20;延時10ms子程序DEL1:MOVR5,#250DEL2:DJNZR5,DEL2DJNZR6,DEL1RET
SEG_CODE:DB03H,9Fh,25H,09H,99HDB49H,41H,1fH,01H,09HEND7.5A/D和D/A接口功能的擴(kuò)展自然界和控制系統(tǒng)中的很多參數(shù)是以模擬量的形式存在的,如溫度、壓力、速度、流量等。這些模擬量要想輸入數(shù)字計算機(jī),作為控制的依據(jù),必須首先把它們轉(zhuǎn)化為數(shù)字量。很多實際的執(zhí)行元件如伺服電機(jī)、伺服閥等,需要用模擬量進(jìn)行控制,對它們進(jìn)行控制時就要把數(shù)字計算機(jī)的計算結(jié)果從數(shù)字量轉(zhuǎn)化為模擬量。實現(xiàn)從模擬量到數(shù)字量的轉(zhuǎn)化功能的器件叫做模數(shù)轉(zhuǎn)換器(Analogdigitalconverter,簡稱A/D轉(zhuǎn)換器、ADC)。實現(xiàn)從數(shù)字量到模擬量的轉(zhuǎn)化功能的器件叫做數(shù)模轉(zhuǎn)換器(digitalanalogconverter,簡稱D/A轉(zhuǎn)換器、DAC)。器件選用原則
選擇ADC或DAC芯片時,首先要考慮選用的器件的性能指標(biāo)能否滿足要求,其次要考慮系統(tǒng)軟硬件的設(shè)計簡便,工作可靠,成本低廉。為確保系統(tǒng)運算和處理結(jié)果的精確度,ADC和DAC必須有足夠高的精度;要實現(xiàn)快速變化系統(tǒng)的實時控制和檢測,ADC與DAC必須有足夠快的轉(zhuǎn)換速度。轉(zhuǎn)換精度與轉(zhuǎn)換速度是ADC和DAC的主要技術(shù)指標(biāo)。一.性能指標(biāo)1.分辨率分辨率一般用二進(jìn)制數(shù)的位數(shù)來表示,位數(shù)越多,分辨率越高。對于ADC來說,分辨率表示能引起輸出數(shù)字量變化的輸入模擬量的最小變化量。例如對于量程為0~5V的8位ADC來說,能夠分辨的最小電壓變化量為5V/28≈0.02V。A/D轉(zhuǎn)換器常見的分辨率有4位、6位、8位、10位、14位、16位和BCD碼的3位半、5位半等。對于DAC,分辨率則表示輸入數(shù)字量變化為相鄰數(shù)碼時引起的輸出模擬量的變化量。對于一個輸出電壓范圍為0~5V的10位DAC來說,當(dāng)輸入數(shù)字量變化一個LSB(LeastSignificantBit,最低有效位)時,輸出模擬電壓值的變化量為5V/210≈4.88mV。D/A轉(zhuǎn)換器常見的分辨率有8位、10位、14位、16位等。2.
量化間隔和量化誤差量化間隔由下式計算:其中n為A/D轉(zhuǎn)換器的位數(shù)(分辨率)。
量化誤差有兩種表示方法:一種是絕對量化誤差;另一種是相對量化誤差。相對量化誤差絕對量化誤差3.量程對于ADC量程指能夠輸入的模擬電壓(或電流)的范圍,對于DAC則指輸出的模擬電壓(電流)的范圍。單極性、雙極性。電壓型、電流型。常見的量程有0~3V、0~5V、0~10V、-5~5V、-10~10V、0~40mA等。4.精度精度與分辨率密切相關(guān),但有所不同。精度指轉(zhuǎn)換后的結(jié)果相對于實際值的準(zhǔn)確度,而分辨率指能夠?qū)D(zhuǎn)換結(jié)果發(fā)生影響的最小變化量。影響精度的因素除了分辨率以外,還有零值誤差、增益誤差、線性度等。分辨率很高的A/D可能由于溫度漂移,線性不良等原因并不具有很高的精度。精度指標(biāo)可從絕對精度和相對精度兩個方面進(jìn)行度量。5.轉(zhuǎn)換時間指啟動轉(zhuǎn)換到轉(zhuǎn)換完成的時間。按照轉(zhuǎn)換速度可分為
超高速(轉(zhuǎn)換時間≤330ns),
次超高速(330~3.3μS),
高速(轉(zhuǎn)換時間3.3~333μS),
低速(轉(zhuǎn)換時間>330μS)等。轉(zhuǎn)換時間的倒數(shù)(Hz)稱為轉(zhuǎn)換速率(ConversionRate),指每秒鐘能夠重復(fù)進(jìn)行的轉(zhuǎn)換的次數(shù),用SRS表示。二.選擇器件的其他考慮因素在選擇ADC器件時,除了上述性能指標(biāo)必須滿足系統(tǒng)的要求之外,還有一些因素要考慮。
1.與微控制器的接口:首先要考慮電平和邏輯是否匹配,其次要考慮并行接口還是串行接口,是否有三態(tài)輸出,采用何種編碼形式等。
2.工作溫度范圍:能夠保證精度的工作溫度范圍。
3.對電源、參考電壓的要求:單電源還是多電源,內(nèi)部參考電壓源還是外部參考電壓源。
4.功耗:如果用于手持設(shè)備等電池供電的場合,必須要考慮功耗的問題。(散熱)7.5.1A/D轉(zhuǎn)換器接口
1.概述
A/D轉(zhuǎn)換按轉(zhuǎn)換原理可分為4種:計數(shù)式、雙積分式、逐次逼近式以及并行式A/D轉(zhuǎn)換器。
2.典型A/D轉(zhuǎn)換器芯片ADC0809簡介
ADC0809是采用CMOS工藝制造的逐次逼近式單片8位A/D轉(zhuǎn)換器。分辨率8位,精度7位,帶8個模擬量輸入通道,有通道地址譯碼鎖存器,輸出帶三態(tài)數(shù)據(jù)鎖存器。啟動信號為脈沖啟動方式,最大可調(diào)節(jié)誤差為±1LSB,ADC0809內(nèi)部沒有時鐘電路,故CLK時鐘需由外部輸入,fclk
允許范圍為500kHz~1MHz,典型值為640kHz。每通道的轉(zhuǎn)換需66~73個時鐘脈沖,大約100~110μs。
工作溫度范圍為-40℃~+85℃。功耗為15mW,輸入電壓范圍為0~5V,單一+5V電源供電。它可以直接與Z80、8085、8080、8031等CPU相連,也可以獨立使用。圖7.32ADC0809的內(nèi)部結(jié)構(gòu)圖7.33ADC0809引腳圖各引腳功能為:
IN0~I(xiàn)N7:8路模擬量輸入引腳
2-1~2-8:模數(shù)轉(zhuǎn)換得到的數(shù)字量的并行輸出口(8位寬)
ADDA、ADDB、ADDC:輸入通道地址線。ADC0809內(nèi)部包含一個8通道的模擬信號多路開關(guān),通過這三個管腳狀態(tài)進(jìn)行譯碼選中8個通道中的一個。地址線與通道的對應(yīng)關(guān)系如表7-9所示。
ALE:輸入通道地址鎖存信號。當(dāng)ALE信號發(fā)生從低到高的跳變(正跳變)時,輸入通道地址線上的數(shù)據(jù)被鎖存進(jìn)地址譯碼器。
START:AD轉(zhuǎn)換啟動信號輸入端。在START信號的上升沿AD轉(zhuǎn)換器內(nèi)部的逐次比較寄存器(SAR)被重置。從SATRT信號的下降沿開始進(jìn)行模數(shù)轉(zhuǎn)換。
EOC:AD轉(zhuǎn)換結(jié)束信號輸出端。當(dāng)開始轉(zhuǎn)換后EOC變低電平,轉(zhuǎn)換完成后EOC變高電平。
OE:輸出使能信號輸入端
CLOCK:時鐘信號輸入端
VREF(+):參考電壓輸入正端
VREF(-):參考電壓輸入負(fù)端
Vcc:+5V電源
GND:地
表7.9地址碼與輸入通道的對應(yīng)關(guān)系選中通道地址線CBAIN0000IN1001IN2010IN3011IN4100IN5101IN6110IN7111
ADC0809的工作時序如圖7-34所示。從圖中可以看出,使用ADC0809進(jìn)行采樣時,首先把要選擇的通道地址輸出到三條地址線上,然后令A(yù)LE信號上出現(xiàn)一個正脈沖,鎖存地址信息。然后在START上出現(xiàn)一個正脈沖啟動轉(zhuǎn)換。在轉(zhuǎn)換過程中EOC信號保持低電平,EOC信號由低變高說明轉(zhuǎn)換已經(jīng)完成。轉(zhuǎn)換完成后令OE變高,ADC0809將轉(zhuǎn)換結(jié)果由并行輸出口輸出。圖7.34ADC0809時序圖二.ADC0809與MCS-51單片機(jī)的接口MCS51單片機(jī)通過ADC0809進(jìn)行模擬采樣有三種接口方式,即中斷方式、查詢方式和延時方式。
中斷方式即模數(shù)轉(zhuǎn)換完成信號EOC和51單片機(jī)的一個中斷源相連,當(dāng)轉(zhuǎn)換完成時ADC0809通過向單片機(jī)申請中斷,在該中斷服務(wù)程序中完成轉(zhuǎn)換結(jié)果的讀取(如果是連續(xù)采樣還要完成下一個轉(zhuǎn)換任務(wù)的啟動),工作在這種方式,單片機(jī)可以在轉(zhuǎn)換進(jìn)行的過程中轉(zhuǎn)去執(zhí)行其他的操作,工作效率較高,缺點是需要占用單片機(jī)的一個外部中斷。
查詢方式即單片機(jī)啟動轉(zhuǎn)換過程后,主動查詢ADC0809的EOC信號的狀態(tài),如果發(fā)現(xiàn)EOC由低變高,就說明轉(zhuǎn)換工作已經(jīng)完成,可以讀取轉(zhuǎn)換結(jié)果。使用查詢方式時,EOC引腳可以和單片機(jī)的任何一個IO口相連,而不要求接在外部中斷上。使用查詢方式的優(yōu)點是不牽涉中斷操作,編程較為簡單,缺點是單片機(jī)需要多次的查詢同一信號,執(zhí)行效率較低。所謂延時方式是指單片機(jī)啟動了模數(shù)轉(zhuǎn)換工作后,延時一段足夠長的時間,這段時間足以完成一次模數(shù)轉(zhuǎn)換,然后直接讀取轉(zhuǎn)換結(jié)果,并不去查詢EOC的狀態(tài),這種工作方式的優(yōu)點是占用的單片機(jī)資源(如外部中斷、IO口數(shù)量等)最少,缺點是執(zhí)行效率最低。3.ADC0809與8031的中斷方式接口電路這里將ADC0809作為一個外部擴(kuò)展的并行I/O口,直接由8031的P2.0和WR脈沖進(jìn)行啟動。因而其端口地址為0FEF8H。用中斷方式讀取轉(zhuǎn)換結(jié)果的數(shù)字量,模擬量輸入通道選擇端ADDA、ADDB、ADDC分別與8031的P0.0、P0.1、P0.2直接相連,CLK由8031的ALE提供。其讀取通道0
轉(zhuǎn)換后的數(shù)字量程序段如下:
ORG1000HINADC:SETBIT1;INT1設(shè)為邊沿觸發(fā)
SETBEA;開中斷INT1
SETBEX1MOVDPTR,#0FEF8H
;端口地址送DPTR,選擇0通道輸入
MOVX@DPTR,A;啟動輸入
…ORG0013HAJMPPINT1…PINT1:MOVDPTR,#0FEF8H;端口地址送DPTRMOVXA,@DPTR;讀取IN0的轉(zhuǎn)換結(jié)果
MOV50H,A;存入50H單元MOVA,#00HMOVX@DPTR,A;啟動A/D,IN0通道輸入并轉(zhuǎn)換RETI;返回使用查詢方式與ADC0809進(jìn)行接口的電路如圖所示。從圖中可以看出,8051單片機(jī)使用并行總線與ADC0809相連,ADC0809被配置在外部數(shù)據(jù)存儲器空間,占用8個連續(xù)的地址7FF8~7FFF。使用單片機(jī)訪問外部數(shù)據(jù)存儲器的WR信號與P2.7相或并取反后作為ADC0809的啟動轉(zhuǎn)換START信號,RD信號與P2.7相或并取反后作為ADC0809的OE信號。當(dāng)最高位地址線P2.7為高電平時,WR和RD信號被或非門屏蔽,不能到達(dá)ADC0809。
ADC0809工作時需要外加典型值為640K的時鐘信號,在本圖中這個時鐘信號是通過對單片機(jī)的ALE輸出進(jìn)行二分頻后得到的。ALE信號在一個機(jī)器中期中出現(xiàn)兩次,所以ALE脈沖的頻率是單片機(jī)時鐘頻率的1/6,當(dāng)采用6MHz的晶振時,ALE的頻率約為1MHz,再經(jīng)過2分頻,剛好可以滿足ADC0809的時鐘要求。如果單片機(jī)的運算量很小,或者對運算時間要求不高,單片機(jī)可采用3M左右的晶振,其ALE輸出可以直接作為ADC0809的時鐘信號輸入。
ADC的轉(zhuǎn)換結(jié)束標(biāo)志EOC信號和單片機(jī)的IO口P1.0相連,供單片機(jī)查詢使用。使用查詢方式連續(xù)采樣ADC0809的8個通道,將采樣結(jié)果放置在VALUE開頭的8個內(nèi)存單元中的子程序如下:
VALUEEQU70HADADDREQU7FF8HGetAD:movDPTR,#ADADDR;給DPTR賦值第一個通道的地址
MovR0,#VALUE;采樣結(jié)果數(shù)據(jù)區(qū)首地址
MovR2,#8;通道數(shù)
LOOP:Movx@DPTR,A;啟動轉(zhuǎn)換
JBP1.0,$;等待EOC變低
JNBP1.0,$;等待EOC變高
MovxA,@DPTR;讀取采樣結(jié)果
Mov@R0,A;保存采樣結(jié)果
IncR0:指向下個數(shù)據(jù)的存儲地址
IncDPTR;指向下個通道
DJNZR2,LOOP;判斷是否采樣完畢
RET7.5.2D/A轉(zhuǎn)換器接口
1.D/A轉(zhuǎn)換器的性能指標(biāo)
(1)分辨率。分辨率是D/A轉(zhuǎn)換
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度大型活動安全保障責(zé)任承諾書3篇
- 2025年選煤廠生產(chǎn)設(shè)備節(jié)能改造承包合同2篇
- 二零二五年度工程項目索賠處理與索賠評估合同3篇
- 2025年度酒店業(yè)客房清潔與售后服務(wù)協(xié)議書4篇
- 綜合組網(wǎng)課程設(shè)計
- 路基碾壓施工方案
- 2025年全民健身活動合作協(xié)議
- 2025年分銷合同表格
- 2025年度叉車租賃與節(jié)能改造工程合同3篇
- 二零二四年醫(yī)院生物樣本庫建設(shè)與合作轉(zhuǎn)化合同3篇
- 人教版小學(xué)數(shù)學(xué)(2024)一年級下冊第一單元 認(rèn)識平面圖形綜合素養(yǎng)測評 B卷(含答案)
- 企業(yè)年會攝影服務(wù)合同
- 電商運營管理制度
- 二零二五年度一手房購房協(xié)議書(共有產(chǎn)權(quán)房購房協(xié)議)3篇
- 2025年上半年上半年重慶三峽融資擔(dān)保集團(tuán)股份限公司招聘6人易考易錯模擬試題(共500題)試卷后附參考答案
- 城市公共交通運營協(xié)議
- 內(nèi)燃副司機(jī)晉升司機(jī)理論知識考試題及答案
- 2024北京東城初二(上)期末語文試卷及答案
- 2024設(shè)計院與職工勞動合同書樣本
- 2024年貴州公務(wù)員考試申論試題(B卷)
- 電工高級工練習(xí)題庫(附參考答案)
評論
0/150
提交評論