下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、chapter6第六章MCS-51單片機的擴展技術chapter6內(nèi)容提要6.1 MCS-51擴展及系統(tǒng)結構6.2 MCS-51程序存儲器擴展6.3 MCS-51數(shù)據(jù)存儲器擴展6.4 MCS-51的I/O擴展6.5 MCS-51與A/D、D/A的接口6.6 I2C總線及8051模擬6.7 SPI總線及8051模擬6.8 單相電子式預付電能表的設計與實現(xiàn)chapter6教學目的和要求 掌握MCS-51的擴展系統(tǒng)結構,以及存儲器、并行接口、模數(shù)轉(zhuǎn)換、串行口擴展接口的電路設計與相應程序編寫。chapter66.1 MCS-51擴展及系統(tǒng)結構擴展采用總線結構,通過總線把各擴展部件連接起來。chapte
2、r6單片機擴展通常采用總線結構形式,整個擴展系統(tǒng)以單片機為核心,通過總線把各擴展部件連接起來。擴展內(nèi)容包括ROM、RAM和I/O接口等??偩€,就是連接系統(tǒng)中各擴展部件的一組公共信號線。按其功能通常把系統(tǒng)總線分為三組:即地址總線、數(shù)據(jù)總線和控制總線。chapter61. 地址總線Address Bus)用于傳送地址信號,進行存儲單元和I/O端口的選擇。地址總線的數(shù)目決定著可直接訪問的存儲單元的數(shù)目。16根地址線:P0口低8位,P2口高8位。P0口采用分時復用技術對地址和數(shù)據(jù)進行分離。增加一個8位鎖存器,由地址鎖存器提供低8位地址,然后再把P0口作為數(shù)據(jù)線使用。chapter62.數(shù)據(jù)總線Data
3、 Bus)數(shù)據(jù)總線在單片機與存儲器之間或單片機與I/O端口之間傳送數(shù)據(jù)??偩€的位數(shù)與單片機處理數(shù)據(jù)的字長一致。51單片機是8位字長,所以數(shù)據(jù)總線的位數(shù)也是8位。在系統(tǒng)擴展時,數(shù)據(jù)總線由P0口構造。chapter63.控制總線Control Bus)控制總線是一組控制信號線。包括地址鎖存信號ALE、程序存儲器的讀選通信號PSEN、以及讀RD和寫WR信號等。chapter6chapter6常用地址鎖存器 51單片機中的16位地址,高8位由P2口輸出,低8位由P0口輸出。而P0口同時又是數(shù)據(jù)輸入/輸出口,因此在進行程序存儲器擴展時,必須利用地址鎖存器將地址信號鎖存起來。74LS373的功能表 OE
4、G功 能 0 1直通(OUTi=Di) 00保持(OUTi保持不變) 1 輸 出 高 阻 chapter6 幾種地址鎖存器的管腳配置與8031的連接方法圖: chapter6 6.2 MCS-51單片機程序存儲器的擴展用作程序存儲器的器件是EPROM、E2PROM和閃速存儲器(Flash)chapter6CPU讀取指令有兩種情況:不執(zhí)行MOVX指令;執(zhí)行MOVX指令。外部程序存儲器的操作時序 chapter6(b) 執(zhí)行MOVX指令時數(shù)據(jù)chapter6常用地址譯碼器在用多片存儲器芯片構成外部存儲器時,除了低8位地址需要鎖存之外,還要由高8位地址產(chǎn)生片選信號。 產(chǎn)生片選信號有線選法和譯碼法兩種
5、。chapter6線選法線選法是用某幾根多余的高位地址線作為存儲器的片選信號,來實現(xiàn)外擴存儲器的目的。優(yōu)點:電路簡單;缺點:不同的高位地址線控制不同芯片,導致地址空間不連續(xù),適用于外擴芯片數(shù)目較少、不太復雜的系統(tǒng)。chapter6譯碼法 譯碼法是由譯碼器組成譯碼電路,譯碼電路將地址空間劃分為若干塊,其輸出分別選通各存儲器芯片。 充分利用了存儲空間,克服了空間分散的缺點。 若全部地址都參加譯碼,稱為全譯碼;若部分地址參加譯碼,稱為部分譯碼,這時存在部分地址重疊的情況。chapter6 常用的地址譯碼器是3-8線譯碼器74LS138和雙2-4線譯碼器74LS139。chapter6chapter6
6、 典型EPROM擴展電路 1)常用的EPROM芯片紫外線擦除可編程只讀存儲器EPROM可作為51單片機的外部程序存儲器。芯片上有一個玻璃窗口,在紫外光下照射10分鐘左右,各位信息均變?yōu)?,此時,可以通過編程器將工作程序固化到這些芯片中。典型產(chǎn)品:Intel公司的2716(2kB8bit)、2732(4kB8bit)、2764(8kB8bit)、27128(16kB8bit)、27256(32kB8bit)和27512(64kB8bit)等。chapter6 An為地址線;On為數(shù)據(jù)輸出線;CE是片選線,OE/VPP是數(shù)據(jù)輸出選通編程電源線,PGM是編程脈沖輸入端。Vpp VccA12 PGMA
7、7 NCA6 A8A5 A9A4 A11 A3 OEA2 A10A1 CEA0 D7D0 D6D1 D5D2 D4GND D32764Vpp VccA12 PGMA7 A13A6 A8A5 A9A4 A11 A3 OEA2 A10A1 CEA0 D7D0 D6D1 D5D2 D4GND D327128Vpp VccA12 A14A7 A13A6 A8A5 A9A4 A11 A3 OEA2 A10A1 CEA0 D7D0 D6D1 D5D2 D4GND D327256chapter6 2).使用單片EPROM的擴展電路 在程序存儲器擴展電路設計中,由于所選中的EPROM芯片及地址鎖存器不同,電路
8、的連接方式也有所不同。 27128(16kB8bit)chapter63).擴展多片EPROM的擴展電路多片EPROM的擴展除片選線CE外,其它均與單片擴展電路相同。27128擴展64k字節(jié)EPROM程序存儲器,片選信號由譯碼選通法產(chǎn)生。chapter6 擴展多片程序存儲器時,也可采用線選法產(chǎn)生片選信號。 chapter651內(nèi)部僅有128字節(jié)的數(shù)據(jù)存儲器供用戶使用。實際應用時往往需要外擴數(shù)據(jù)存儲器。動態(tài)RAM需要刷新電路、靜態(tài)RAM、集成動態(tài)隨機存儲器iRAM。6.3 MCS-51單片機數(shù)據(jù)存儲器的擴展chapter6外部數(shù)據(jù)存儲器的操作時序 MCS-51單片機設置了專門指令MOVX來訪問外
9、部數(shù)據(jù)存儲器,共有4條寄存器間接尋址指令。 chapter6chapter6 常用的靜態(tài)RAM芯片 常用的靜態(tài)RAM芯片有61162kB8、6264(8kB8)、62128(16kB8)、62256(32kB8)等多種,它們都用單一+5V供電,雙列直插封裝,6116為24引腳封裝,6264、62128、62256為28引腳封裝。引腳功能:An:地址輸入線;對6116,n=10;對6264,n=12;其他的類推。Dn:雙向數(shù)據(jù)線;CE:是片選輸入線,低電平有效;WE:寫允許信號輸入線,低電平有效;OE:讀選通信號輸入線,低電平有效;VCC:工作電源+5V。GND:電源地。chapter6chap
10、ter6 靜態(tài)RAM通常有讀出、寫入和未選中三種工作方式。 SRAM的工作方式選擇表chapter664KB字節(jié)以內(nèi)SRAM的擴展:地址: P2口提供高8位地址,P0口低8位地址數(shù)據(jù): P0口8位雙向數(shù)據(jù)總線??刂? 讀和寫由RD和WR信號控制,片選端CE由地址譯碼器的譯碼輸出控制。chapter662648kB8chapter6三片6264對應的存儲空間表P2.7 P2.6 P2.5 選中芯片 地址范圍 存儲空間 1 1 0 IC1 C000HDFFFH 8KB 1 0 1 IC2 A000HBFFFH 8KB 0 1 1 IC3 6000H7FFFH 8KB chapter6chapter
11、6各62128地址分配表138譯碼器輸入 P2.7 P2.6 138譯碼器有效輸出 選中芯片地址范圍 存儲容量0 0 Y0 IC1 0000H3FFFH 16KB 0 1 Y1 IC2 4000H7FFFH 16KB 1 0 Y2 IC3 8000HBFFFH 16KB 1 1 Y3 IC4 C000HFFFFH 16KB chapter6超過64K字節(jié)SRAM的擴展可用增加地址線的辦法來擴大RAM空間。增加地址線的方法有以下兩種:一種是利用P1口增加地址線,另一種是利用擴展I/O口的方法增加地址線。chapter6 擴展既可讀又可寫的程序存儲器問題:ROM不能寫,RAM不能運行,程序調(diào)試困難
12、。程序存儲器使用PSEN作選通信號,而數(shù)據(jù)存儲器使用RD作選通信號。兩個信號經(jīng)過與門綜合后,再作為RAM存儲芯片的讀選通信號,即可達到擴展可讀寫程序存儲器的目的。RAMchapter6概述在多數(shù)應用系統(tǒng)中,MCS-51單片機都需要外擴輸入輸出(I/O)接口芯片;MCS-51單片機的外部數(shù)據(jù)存儲器RAM和I/O統(tǒng)一編址;每一個接口芯片中的一個功能寄存器口地址就相當于一個RAM存儲單元;CPU可以向訪問外部存儲器RAM那樣訪問外部接口芯片,對其功能寄存器進行讀、寫操作。 6.4 MCS-51單片機的I/O擴展chapter6編址進行I/O擴展時,同樣存在編址的問題。存儲器是對存儲單元進行編址,而接
13、口電路則是對其中的端口進行編址。常用的I/O編址有兩種方式:獨立編址方式和統(tǒng)一編址方式。獨立編址:把I/O和存儲器分開進行編址,形成兩個獨立的地址空間。需要使用存儲器讀寫指令,以及專門的I/O指令以進行數(shù)據(jù)輸入輸出操作。統(tǒng)一編址:把系統(tǒng)中的I/O和存儲器統(tǒng)一進行編址。I/O接口中的寄存器端口與存儲器中的存儲單元同等。使用一個統(tǒng)一的地址空間,既供存儲器,也供I/O編址使用。chapter6MCS-51單片機使用統(tǒng)一編址方式。進行擴展IO接口設計時,要注意以下幾個問題:(1)熟悉MCS-51P0P3口的特性及指令功能。(2)分析清楚要擴展的接口芯片的功能、結構及能力。(3)在進行硬件設計時要注意接
14、口電平及驅(qū)動能力。(4)設計驅(qū)動程序要注意,防止總線上的數(shù)據(jù)沖突。應根據(jù)實際情況采用不同的數(shù)據(jù)傳送控制方式。chapter6簡單輸入接口擴展實際上就是擴展數(shù)據(jù)緩沖器當輸入設備被選通時,使數(shù)據(jù)源能與數(shù)據(jù)總線直接溝通;當輸入設備處于非選通狀態(tài)時,把數(shù)據(jù)源與數(shù)據(jù)總線隔離,既緩沖器輸出高阻抗狀態(tài)。常用的擴展輸入口的TTL芯片有74LS244、74LS373等。74LS244是一個三態(tài)輸出八緩沖器及總線驅(qū)動器,可以作為8051外部的一個擴展輸入口,接口電路如下圖。chapter68051和74LS244的接口圖chapter68位并行輸入口74LS244,由P2.6和RD相“或控制,地址為0BFFFH,
15、當管腳P2.6=0時,執(zhí)行MOVX A,DPTR類指令可產(chǎn)生信號,將數(shù)據(jù)讀入單片機。讀入程序為:MOV DPTR,#0BFFFH ;指向244輸入口MOVX A,DPTR ;輸入數(shù)據(jù)74LS373為一個帶三態(tài)門的8D鎖存器,它可以作為8051外部的一個擴展輸入口,接口邏輯如下圖。chapter6chapter6外部設備向單片機傳送數(shù)據(jù)時,產(chǎn)生一個選通信號XT連接到373的打入端G上,在選通信號的下降沿將數(shù)據(jù)鎖存,同時向單片機發(fā)中斷請求。單片機響應中斷后,通過P0口在373鎖存器中讀取數(shù)據(jù)。74LS373的輸出由P2.7和RD相“或控制。373的口地址為7FFFH(即P2.7為0)。chapte
16、r6244為總線輸入緩沖,在選通時輸入數(shù)據(jù)送到總線上,在非選通時對總線呈高阻態(tài)。373有兩個控制端,一個是1腳的使能端為低時使能器件輸出,為高時器件呈高阻態(tài),另一個是11腳的鎖存端(先高后低完成數(shù)據(jù)鎖存),通常配合單片機用作地址鎖存。 chapter6簡單輸出接口擴展輸出接口的主要功能是進行數(shù)據(jù)保持,或者說是數(shù)據(jù)鎖存。所以簡單輸出接口擴展的電路是鎖存器。簡單輸出接口擴展通常使用74LS377、74LS373等。 74LS377為帶有允許輸出的8D鎖存器,有8個D輸入端,8個Q輸出端,一個時鐘輸入端CLK,一個鎖存允許信號E。當E=0時,CLK端信號的上升沿,把8D輸入端的數(shù)據(jù)打入8位鎖存器。
17、chapter6通過8051的P0口擴展一片74LS377鎖存器作輸出口,輸出控制信號為WR,接口邏輯如下圖。chapter6擴展一片74LS377鎖存器作輸出口,輸出控制信號為WR,鎖存器被視為8051的一個外部RAM單元。使用MOVX DPTR,A 指令訪問。圖中377的口地址為7FFFH(即P2.7=0),輸出操作程序如下: MOV DPTR,#7FFFH ;指向377口地址MOV A,#DATA ;取數(shù)MOVX DPTR, A ; 送377鎖存器chapter6chapter6可編程接口芯片擴展8255A芯片介紹8255A是Intel公司生產(chǎn)的可編程輸入輸出接口芯片;有3個8位的并行I
18、/O口,分別為PA口、PB口和PC口,其中PC口又分為高4位口PC7 PC4和低4位口(PC3 PC0),可以通過軟件編程來改變I/O口的工作方式。8255A可以與MCS-51單片機直接接口。chapter68255A的引腳圖它由以下幾個部分組成:(1)數(shù)據(jù)端口A、B、CPA口:一個8位數(shù)據(jù)輸出鎖存器和緩沖器;一個8位數(shù)據(jù)輸入鎖存器。PB口:一個8位數(shù)據(jù)輸出鎖存器和緩沖器;一個8位數(shù)據(jù)輸入緩沖器。PC口:一個8位的輸出鎖存器;一個8位數(shù)據(jù)輸人緩沖器。chapter68255A的結構框圖chapter6A組和B組控制電路A組控制PA口和PC口的上半部PC7-PC4;B組控制PB口和PC口的下半部
19、(PC3-PC0)。雙向三態(tài)數(shù)據(jù)緩沖器 8255A和CPU數(shù)據(jù)總線的接口,CPU和8255A之間的命令、數(shù)據(jù)和狀態(tài)的傳遞都通過雙向三態(tài)總線緩沖器傳送,D7-D0接CPU的數(shù)據(jù)總線。chapter6讀寫和控制邏輯A0、A1、 CS :8255A的端口選擇信號和片選信號,RD 、WR : 8255A的讀寫控制信號,這些信號線分別和MCS-51的地址線和讀寫信號線相連接,實現(xiàn)CPU對8255A的口選擇和數(shù)據(jù)傳送。CPU對8255A的A口、B口、C口和控制口的尋址如表8-1所示。 復位控制引腳RESET為復位信號輸入腳,高電平有效。復位有效時,它把控制寄存器清零和 置所有端口(A、B、C)為輸入方式。
20、chapter6表8-1 8255A端口選擇表操作CSA1A0RDWR功能輸入00001A口數(shù)據(jù)總線(讀端口A)輸入00101B口數(shù)據(jù)總線(讀端口B)輸入01001C口數(shù)據(jù)總線(讀端口C)輸入01101狀態(tài)寄存器數(shù)據(jù)總線輸出00010數(shù)據(jù)總線A口(寫端口A)輸出00110數(shù)據(jù)總線B口(寫端口B)輸出01010數(shù)據(jù)總線C口(寫端口C)輸出01110數(shù)據(jù)總線控制寄存器禁止1數(shù)據(jù)總線為高阻態(tài)chapter68255A的3種工作方式及選擇8255A有三種基本工作方式: 方式0一基本輸入輸出; 方式1一選通輸入輸出; 方式2一雙向傳送(僅PA口)。chapter6工作方式的選擇由CPU輸出的控制字決定1
21、)“方式選擇控制字8255A的工作方式,由CPU送出一個控制字到8255A的控制字寄存器來選擇。chapter68255A的控制字D7是該控制字的標志位,其狀態(tài)固定為1,用于表明本字節(jié)是方式控制字。chapter6例8-1: 若對8255A作如下設置:A口方式0輸入,B口方式1輸出,C口高位部分輸出低位部分為輸入。設控制寄存器地址為0FFFBH。按各口的設置要求,工作方式控制字為10010101B,即95H。則初始化程序段為:MOV DPTR,#0FFFBHMOV A,#95HMOVX DPTR,Achapter62)C口按位置位/復位功能這個功能主要用于控制端口C的8位中的任一位,可用一個寫
22、入8255A的控制口的置位復位控制字來置位或復位??刂谱值母袷饺鐖D8-4所示。D7是該控制字的標志,其狀態(tài)固定為0。chapter6chapter6例8-2:如果想把8255A的C口的PC1置1,PC7復位,該如何對8255A編程。將03H寫入控制口,置“1PC1;0EH寫入控制口,清“0”PC7。設控制寄存器地址為0FFFBH。程序如下:MOV DPTR,#0FFFBHMOV A,#03HMOVX DPTR,AMOV A,#0EH MOVX DPTR,Achapter63. 接口應用舉例例8-3:在8051單片機上擴展一片8255A芯片,設端口A為方式0輸入,端口B方式0輸出,端口C上半部)
23、PC7PC4輸入,端口C(下半部)PC3PC0輸出。要求從A口讀入的數(shù)據(jù)從B口輸出。試設計擴展接口電路,并給出初始化程序。完成上述功能的接口電路如下圖。chapter68255A的擴展接口圖chapter6根據(jù)題目要求,8255A的控制字為10011000B=98H(控制字的格式見圖8-3)。初始化程序清單如下:MOV A,#98HMOV DPTR,#7FFFHMOVX DPTR, A MOV DPTR, #7FFCHMOVX A, DPTRINC DPTRMOVX DPTR,Achapter6能夠把模擬量變成數(shù)字量的器件稱為模數(shù)轉(zhuǎn)換器(A/D)。能夠把數(shù)字量變成模擬量的器件稱為數(shù)模轉(zhuǎn)換器(D
24、/A)。6.5 MCS-51單片機與A/D、D/A的接口chapter6目前常用單片A/D轉(zhuǎn)換器的輸出形式大致可分為并行、串并行和串行輸出三種。 并行輸出A/D轉(zhuǎn)換器接口以位并行的形式輸出通過I/O口與微機連接,其接口包括三態(tài)緩沖器、狀態(tài)應答和地址選擇等部分,這些部分可以集成于A/D轉(zhuǎn)換器之內(nèi),也可以包含在由CPU、I/O端口及內(nèi)存等組成的單片機內(nèi)。chapter6并行輸出ADC接口框圖chapter68位并行輸出A/D轉(zhuǎn)換器ADC0809接口 (1)ADC0809的結構ADC0809是一種8路模擬輸入8位數(shù)字輸出的A/D轉(zhuǎn)換芯片,它是采用逐次逼近的方法完成A/D轉(zhuǎn)換的。帶鎖存8通道多路模擬開
25、關,可對8路05V輸入模擬電壓信號分時進行轉(zhuǎn)換,完成一次轉(zhuǎn)換約100us。chapter605V三個地址信號A、B和C決定是哪一路模擬信號被選中并送到內(nèi)部A/D轉(zhuǎn)換器中進行轉(zhuǎn)換,完成一次轉(zhuǎn)換約需100s可對8路05V的輸入模擬電壓信號分時進行轉(zhuǎn)換輸出具有TTL三態(tài)鎖存緩沖器,可直接接到單片機數(shù)據(jù)總線上。chapter6(2)ADC0809的引腳 ADC0809是28腳雙列直插式封裝各引腳功能如下:IN0IN7:8路模擬量輸入引腳。START:AD轉(zhuǎn)換啟動信號輸入端。當START為高電平時,A/D開始轉(zhuǎn)換。ALE:通道地址鎖存允許信號輸入端,上升沿有效。EOC:轉(zhuǎn)換結束信號輸出引腳,開始轉(zhuǎn)換時為
26、低電平,當轉(zhuǎn)換結束時為高電平。 chapter6OE:輸出允許控制端,用以打開三態(tài)數(shù)據(jù)輸出鎖存器。CLK:時鐘信號輸入端。A、B、C:地址輸入線,經(jīng)譯碼后可選通IN0IN7八通道中的一個通道進行轉(zhuǎn)換。A為最低,C為最高。 D7 D0: 8位數(shù)字量輸出引腳。VR():參考電壓正端。一般接+5V高精度參考電源。VR():參考電壓負端。一般接模擬地。Vcc,GND:電源電壓Vcc接+5V,GND為數(shù)字地。chapter6ADC0809的操作時序:轉(zhuǎn)換結束允許輸出chapter6ALE腳的頻率是單片機時鐘頻率的1/6。轉(zhuǎn)換完成后可申請中斷。轉(zhuǎn)換通道地址選擇。轉(zhuǎn)換開始轉(zhuǎn)換結束chapter6 4ADC0
27、809接口控制程序圖示接口可以采用定時采樣、查詢和中斷三種控制方式,其程序如下。例:下面的程序是采用軟件延時的方法,分別對8路模擬信號輪流采樣一次,并依次把結果轉(zhuǎn)儲到數(shù)據(jù)存儲區(qū)20H開始的單元。 ADC8: MOV R1,20H ;置數(shù)據(jù)區(qū)首地址 MOV DPTR,#0FEF8H ;? MOV R7,#08H ;置通道數(shù) LOOP: MOVX DPTR,A ;啟動A/D轉(zhuǎn)換 MOV R6,0AH ;軟件延時,等待轉(zhuǎn)換結束chapter6DLAY: NOP NOP NOP DJNZ R6,DLAY MOVX A,DPTR ;讀取轉(zhuǎn)換結果 MOV R1,A ;轉(zhuǎn)儲 INC DPTR ;指向下一個通
28、道 INC R1 ;修改數(shù)據(jù)區(qū)指針 DJNZ R7,LOOP ;8個通道全采樣完了嗎? RETchapter6 ADC0809的EOC腳經(jīng)過一非門連接到8051的INTl腳,P3.3腳,可用查詢或中斷讀取轉(zhuǎn)換結果。 例:用查詢方式控制程序完成一次A/D啟動并讀取轉(zhuǎn)換結果。讀取數(shù)據(jù)存儲于內(nèi)部存儲單元30H中。ADCON:MOV DPTR,#0FEF8H MOVX DPTR,A WAIT:JB P3.3,WAIT ;0,wait WAIT1:JNB P3.3,WAIT1 ;1,wait1 MOVX A,DPTR MOV 30H,A RETchapter6例3:ADC0809中斷接口控制程序。程序如
29、下:ORG 0000HAJMP ADCNORG 0013HAJMP PINTIORG 1000H ADCN: SETB IT1 ;外部中斷1初始化編程 SETB EA SETB EX1 MOV DPTR,#0FEF8H ;啟動0809的IN0 MOV A,00H MOVX DPTR,A ADED: SJMP ADENchapter6; 中斷服務程序: PINTI:MOV DPTR,#0FEF8H ;讀取AD結果 MOVX A,DPTR MOV 30H,A MOV A,#00H ;啟動0809對IN0的轉(zhuǎn)換 MOVX DPTR,A; RETI # include # include unsign
30、ed char xdata AD08090 x8 _ at_ 0 xFEF8; /通道0unsigned char xdata buf0 x8 _at _ 0 x2000; /存放采集數(shù)據(jù)unsigned int idata pointer;unsigned char idata count;void main(void) pointer=0 x0000;count=0 x8;IT1=0;EA=1;EX1=0;AD08988-count=0 x00;while(1);unsigned char xdata *pointer=0 x2000;for(;count0;count-)AD08098-
31、count=0 x00;Delay(100us);*pointer=AD08098-count;pointer+;chapter6; 中斷服務程序:void ad() interrupt 2 unsigned char tmp;tmp=AD08098-count;bufpointer=tmp;pointer=pointer+1;count=count-1if(count=0) EX1=0;chapter6串行輸出ADC與單片機的接口以串行數(shù)據(jù)形式輸出有利于提高儀器的集成度和減小體積。在需要進行模擬與數(shù)字隔離的場合,能方便、廉價地實現(xiàn)隔離。具備串行輸出接口的A/D轉(zhuǎn)換器有多種,其接口時序隨型號不
32、同而有所不同。但從接口的實現(xiàn)和控制方法來說,基本相同。chapter6(1)MAX1241串行輸出ADC簡介MAX1241是低功耗、低電壓的12位串行ADC。它使用逐次逼近技術完成A/D轉(zhuǎn)換過程。最大非線性誤差小于1LSB,轉(zhuǎn)換時間9s。采用三線式串行接口,內(nèi)置快速采樣/保持電路。chapter6chapter6(2) MAX1241A/D轉(zhuǎn)換器與8051的接口一是使用普通端口,利用程序?qū)崿F(xiàn)串行輸入。另一種則是直接使用串行口。前者輸入速度低,后者需占用串行通訊口。以接口使用三位通用I/O端口P1.0P1.2為例.#include#define uchar unsigned char#defin
33、e uint unsigned intsbit ADC_CS=P10;sbit ADC_CLK=P11;sbit ADC_DOUT=P12;uint Read_Max1241() uint ADC_Data;uchar i;ADC_CLK=0;ADC_CS=0;ADC_Data=0;while(!ADC_DOUT);/0waitADC_CLK=1;ADC_CLK=0;for(i=0;i12;i+)ADC_CLK=1;ADC_Data1;ADC_Data=ADC_DOUT;ADC_CLK=0;ADC_CS=1;ADC_CLK=0;return ADC_Data;chapter6MCS-51單片機
34、與8位DA轉(zhuǎn)換器接口技術 DAC0832的結構原理1DAC0832的特性分辨率為8位;電流輸出,穩(wěn)定時間為1s;可雙緩沖、單緩沖或直接數(shù)字輸入;只需在滿量程下調(diào)整其線性度;單一電源供電+5+15V;低功耗,20mW。chapter6DAC0832的邏輯結構DAC0832主要由一個8位輸入寄存器、一個8位DAC 寄存器和一個8位D/A 轉(zhuǎn)換器組成。在D/A 轉(zhuǎn)換器中采用的是T型R-2R電阻網(wǎng)絡。chapter6DAC0832芯片為20腳雙列直插式封裝,各管腳的功能如下:CS:片選信號引腳(低電平有效)。ILE:數(shù)據(jù)鎖存允許控制信號輸入線(高電平有效)。WRl:第一級鎖存寫選通(低電平有效)。XF
35、ER:數(shù)據(jù)傳輸控制信號輸入線,低電平有效。WR2:第二級鎖存寫選通(低電平有效)。當XFER=0,WR2=0時,可使輸入寄存器中的數(shù)據(jù)傳送到DAC寄存器中 。chapter6D0D7:數(shù)據(jù)輸入線。D0是最低位(LSB),D7是最高位(MSB)。 Iout1(IO1):DAC電流輸出線。當DAC寄存器為全1時,表示Ioutl為最大值,當DAC寄存器為全0時,表示Ioutl為0。Iout2(IO2):DAC電流輸出線。Iout2為常數(shù)減去Iout1,或者Iout1+Iout2=常數(shù)。在單極性輸出時,Iout2通常接地。Rfb:內(nèi)部集成反饋電阻,為外部運算放大器提供一個反饋電壓。Rfb可由內(nèi)部提供,
36、也可由外部提供。chapter6VREF:參考電壓輸入,要求外部接一個精密的電源。當VREF為10V(或5V)時,可獲得滿量程四象限的可乘操作。Vcc:數(shù)字電路供電電壓,一般為5V5V +15V。AGND:模擬地。DGND:數(shù)字地。chapter6工作原理 內(nèi)部結構框圖0鎖存,1轉(zhuǎn)換chapter68位D/A轉(zhuǎn)換器的接口方法1單緩沖型接口方法把D/A轉(zhuǎn)器中的兩個寄存器中任一個接成常通狀態(tài)。 2雙緩沖型接口方法雙緩沖方式的接口主要應用在多路DA轉(zhuǎn)換器同步輸出系統(tǒng)中。這種接口電路主要是把0832的輸入寄存器的鎖存信號和DAC寄存器的鎖存信號分別進行控制。3直通型的接口方法 直通型電路與單緩沖接法比
37、較相似,只是要把兩級緩沖器接成常通。 chapter6直通型接口電路即將ILE接高電平,WRl和WR2與單片機的WR連接,CS和XFER與P2.7口連接,最終進行I/V轉(zhuǎn)換輸出電壓信號。chapter6可以編出許多種波形輸出的D/A轉(zhuǎn)換程序,如鋸齒波、三角波、梯形波、矩形波等。例:利用DAC0832產(chǎn)生各種波形。產(chǎn)生鋸齒波程序如下: DAADR EQU 7FFFH ORG 2000H STAR: MOV DPTR,#DAADR ;選中DAC0832 MOV A,#00H LP: MOVX DPTR,A ;向0832輸出數(shù)據(jù) INC A SJMP LPchapter6# include # de
38、fine DAC0832 XBYTE0 x7fffvoid delay(unsigned char t) while(t-);void saw(void)unsigned char j;for(j=0;j255;j+)DAC0832=j;delay(10);void main(void)while(1)saw();chapter6三角波程序如下: STAR: MOV DPTR,#DAADR DAS0: MOV A,#00H DASl: MOVX DPTR,A INC A JNZ DASl DAS2: DEC A MOVX DPTR,A JNZ DAS2 AJMP DAS0chapter6# i
39、nclude # define DAC0832 XBYTE0 x7fffvoid delay(unsigned char t) while(t-);void saw(void)unsigned char j;for(j=0;j0;j-)DAC0832=j;delay(10);chapter6梯形波程序如下:ORG 2000HSTAR:MOV DPTR,#DAADR ;選中D/ALP1:MOV A,#dataL ;置下限LP2:MOVX DPTR,AINC ACLR CSUBB A,#dataH ;與上限比較JNC DOWNADD A,#dataH ;恢復原值SJMP LP2chapter6DOWN:LCALL DEL ;調(diào)上限延時程序 LP3:MOVX DPTR,A DEC A SUBB A,#dataL ;與下限比較 JC LP1 ADD A,#dataL SJMP LP3chapter6# include # define DAC0832 XBYTE0 x7fffvoid delay(unsigned char t) while(t-);void saw(void)unsigned char j;for(j=0;j0;j-)DAC0832=j;delay(10);chapter66.6 I2C總線及8051單片機模擬簡介I
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年經(jīng)濟法案例分析企業(yè)法律風險防范與應對策略題庫
- 2026年股票投資基礎考試題與詳細答案解析
- 外貿(mào)財務知識
- 2026年綿陽飛行職業(yè)學院單招綜合素質(zhì)筆試參考題庫含詳細答案解析
- 2026年長春醫(yī)學高等??茖W校單招綜合素質(zhì)考試參考題庫含詳細答案解析
- 2026年河南職業(yè)技術學院單招綜合素質(zhì)筆試參考題庫含詳細答案解析
- 2026年貴陽幼兒師范高等??茖W校單招綜合素質(zhì)筆試備考試題含詳細答案解析
- 2026年鶴壁能源化工職業(yè)學院單招職業(yè)技能考試模擬試題含詳細答案解析
- 2026年廣州城建職業(yè)學院單招職業(yè)技能考試參考題庫含詳細答案解析
- 2026年江蘇財會職業(yè)學院單招綜合素質(zhì)考試參考題庫含詳細答案解析
- 易方達基金公司招聘筆試題
- 2026年陜西眉太麟法高速項目招聘(11人)備考題庫及答案1套
- 2026年中國航空傳媒有限責任公司市場化人才招聘備考題庫帶答案詳解
- 2026年交管12123學法減分復習考試題庫附答案(黃金題型)
- 未來停車新設施-探索機械式停車設備市場
- 林木清理施工方案(3篇)
- 護理不良事件防范制度
- 2025年香云紗市場環(huán)境分析
- 數(shù)據(jù)中心設備部署管理指南
- 《 基本權利的規(guī)范建構》讀書筆記
- 高新技術企業(yè)專項審計操作手冊
評論
0/150
提交評論