《單片機(jī)(微控制器)原理及應(yīng)用》第8章單片機(jī)的系統(tǒng)擴(kuò)展_第1頁
《單片機(jī)(微控制器)原理及應(yīng)用》第8章單片機(jī)的系統(tǒng)擴(kuò)展_第2頁
《單片機(jī)(微控制器)原理及應(yīng)用》第8章單片機(jī)的系統(tǒng)擴(kuò)展_第3頁
《單片機(jī)(微控制器)原理及應(yīng)用》第8章單片機(jī)的系統(tǒng)擴(kuò)展_第4頁
《單片機(jī)(微控制器)原理及應(yīng)用》第8章單片機(jī)的系統(tǒng)擴(kuò)展_第5頁
已閱讀5頁,還剩62頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第8章單片機(jī)的系統(tǒng)擴(kuò)展

教學(xué)目的:掌握單片機(jī)應(yīng)用系統(tǒng)并行與串行外圍擴(kuò) 展的方法;掌握并行總線擴(kuò)展中的地址譯 碼技術(shù)及軟件設(shè)計方法。教學(xué)重點(diǎn):并行總線擴(kuò)展的硬件與軟件設(shè)計方法。

教學(xué)難點(diǎn):并行總線擴(kuò)展的尋址及硬件設(shè)計方法。串行總線擴(kuò)展的軟件設(shè)計方法。8.1并行擴(kuò)展概述8.1.1外部并行擴(kuò)展總線

1.擴(kuò)展方式并行I/O口并行擴(kuò)展總線:三總線方式圖8-1單片機(jī)的外部擴(kuò)展三總線2.并行總線擴(kuò)展基本問題總線連接電路設(shè)計、地址譯碼、器件地址.并行總線擴(kuò)展電路設(shè)計。 并行總線擴(kuò)展連接方式符合三總線連接方式。數(shù)據(jù)總線為三態(tài)口,在不傳送數(shù)據(jù)時為高阻態(tài)。總線分時對不同的外設(shè)進(jìn)行數(shù)據(jù)傳送。8.1.2并行擴(kuò)展的尋址方法

具有與計算機(jī)總線兼容的并行接口器件,應(yīng)選擇并行擴(kuò)展總線方式擴(kuò)展;外圍器件為非總線兼容并行接口,只能通過I/O來擴(kuò)展接口。并行總線具有三態(tài)輸出,總線上可掛接多個并行接口器件,因此存在尋址問題。單片機(jī)并行擴(kuò)展總線有嚴(yán)格的時序要求,數(shù)據(jù)傳輸要嚴(yán)格按照CPU時序運(yùn)行。

1.線選法尋址 線選法是直接以系統(tǒng)的幾根高位地址線作為芯片的片選信號。2.譯碼法尋址 譯碼法尋址由譯碼器組成譯碼電路對系統(tǒng)的高位地址進(jìn)行譯碼,譯碼電路將地址空間劃分若干塊,其輸出作為存儲器芯片的片選信號分別選通各芯片,這樣既充分利用了存儲空間,又避免了空間分散的缺點(diǎn),還可減少I/O口線。3.譯碼法尋址舉例利用138譯碼器進(jìn)行地址譯碼,將尋址范圍等分的譯碼方法見下圖。由圖可見數(shù)據(jù)存儲器與外設(shè)的統(tǒng)一編址方法。8.2存儲器的并行擴(kuò)展8.2.1數(shù)據(jù)存儲器擴(kuò)展概述單片機(jī)應(yīng)用系統(tǒng)中并行擴(kuò)展的數(shù)據(jù)存儲器都是靜態(tài)隨機(jī)存儲器SRAM,常用的SRAM有62系列的6264、62256、628128、628512等,存儲容量分別為8KB、32KB、128KB、512KB等。數(shù)據(jù)存儲器地址空間同程序存儲器一樣,由P2口提供高8位地址,P0口分時提供低8位地址和8位雙向數(shù)據(jù)線。

訪問片外擴(kuò)展數(shù)據(jù)存儲器的4條寄存器間址指令:

MOVXA,@DPTRMOVX@DPTR,AMOVXA,@RiMOVX@Ri,A

圖8-3(a)數(shù)據(jù)存儲器讀周期時序8.2.2訪問片外RAM的操作時序訪問片外RAM的操作包括讀寫兩種操作時序,通過對操作時序的了解,可以更好地理解ALE、/RD、/WR、P0及P2等信號和數(shù)據(jù)線的作用,及P0口是如何分時傳輸?shù)?位地址線和數(shù)據(jù)線的。

(b)數(shù)據(jù)存儲器寫周期時序圖8-3訪問片外RAM的操作時序(b)數(shù)據(jù)存儲器寫周期時序8.2.3數(shù)據(jù)存儲器擴(kuò)展舉例

圖8-4擴(kuò)展32KBRAM8.3并行I/O接口的擴(kuò)展

8.3.1簡單的并行I/O擴(kuò)展

在需要擴(kuò)展I/O口,或者需要提高系統(tǒng)的帶負(fù)載能力的情況,常采用鎖存器、緩沖/驅(qū)動器等作為I/O口擴(kuò)展芯片,這是單片機(jī)應(yīng)用系統(tǒng)中經(jīng)常采用的方法。這種I/O口一般都是通過P0口擴(kuò)展,具有電路簡單、成本低、配置靈活的優(yōu)點(diǎn)。一般在擴(kuò)展單個8位輸出/輸入口時,十分方便。圖8-5簡單I/O接口擴(kuò)展電路圖9-8簡單I/O接口擴(kuò)展電路圖中輸入和輸出都是在P2.0為0時有效,它們占有相同的地址空間,但由于它們分別用讀和寫信號控制,因而盡管它們都直接與P0口相接,卻不可能同時被選中,這樣在總線上就不會發(fā)生沖突。系統(tǒng)中若有其它擴(kuò)展RAM,或其它輸入/輸出接口,則可用線選法或譯碼法將地址空間區(qū)分開。按照圖8-5電路的接法,要求實(shí)現(xiàn)如下功能:任意按下一個鍵,對應(yīng)的LED亮,例如,按K1則LED1亮,按K2則LED2亮等。則編寫程序如下:LOOP:MOVDPTR,#0FEFFH ;指向I/O口地址

MOVXA,@DPTR;從244讀入數(shù)據(jù),檢測按鈕 MOVX@DPTR,A;向273輸出數(shù)據(jù),驅(qū)動LEDSJMPLOOP ;循環(huán)8.3.2可編程I/O接口電路的擴(kuò)展

可編程序接口是指其功能可由計算機(jī)的指令來加以改變的接口芯片??删幊蘄/O接口利用軟件設(shè)置片內(nèi)控制寄存器,可使一個接口芯片執(zhí)行多種不同的接口功能,因此使用十分靈活。在此僅以在單片機(jī)中常用的一種可編程通用并行接口芯片8255A為例說明問題。1.8255A的引腳介紹①數(shù)據(jù)總線:

D0~D7、PA0~PA7、PB0~PB7、PC0~PC7②控制線:、、RESET③尋址線:、A0、A12.8255A可編程接口的結(jié)構(gòu)

圖8-68255A內(nèi)部結(jié)構(gòu)與引腳

3.8255A的工作方式方式0(基本輸入/輸出方式)方式1(選通輸入/輸出方式)方式2(雙向數(shù)據(jù)傳送方式)最常用和最簡單的方法是方式04.8255A的控制寄存器8255A的工作方式選擇是通過對控制寄存器輸入控制字(或稱命令字)的方式實(shí)現(xiàn)的。

①方式選擇控制字

②C口置/復(fù)位控制字

圖8-78255A控制字的格式與定義5.80C51和8255A的接口及應(yīng)用圖8-880C51與8255A的接口電路

本例要求8255A按方式0工作,A口各位作為輸入,B口各位作為輸出,C口高4位作為輸出,低4位作為輸入。將A口數(shù)據(jù)存入R1,則編程如下:

MOVDPTR,#0EFFFH;指向控制寄存器地址

MOVA,#10010001B;按要求設(shè)的控制字

MOVX@DPTR,A;控制字送入控制寄存器

MOVDPTR,#0EFFCH;指向A口地址

MOVXA,@DPTR;讀A口數(shù)據(jù)8.4串行擴(kuò)展概述

為了進(jìn)一步縮小單片機(jī)及其外圍芯片的體積,降低價格,簡化互連線路,近年來,先后推出專門用于串行數(shù)據(jù)傳輸?shù)母黝惼骷徒涌?。串行擴(kuò)展法是利用UART、SPI和I2C串行總線中的任意一種進(jìn)行系統(tǒng)擴(kuò)展。

8.4.1常用串行總線與串行接口簡介

1.I2C總線I2C總線由2根線實(shí)現(xiàn)串行同步通信,其中一根是時鐘線SCL,一根是數(shù)據(jù)線SDA。

圖8-9典型的I2C單主系統(tǒng)配置示意圖2.SPI串行擴(kuò)展接口

圖8-10單主機(jī)SPI系統(tǒng)連接方法3.USB總線

圖8-11USB總線系統(tǒng)結(jié)構(gòu)

4.CAN總線

圖8-12CAN總線系統(tǒng)結(jié)構(gòu)5.單總線

圖8-13單總線構(gòu)成的溫度檢測系統(tǒng)

8.4.2單片機(jī)串行擴(kuò)展的模擬技術(shù)

串行擴(kuò)展模擬技術(shù)的主要要點(diǎn)如下:1.嚴(yán)格模擬時序2.確保硬件與軟件的配合3.設(shè)計通用模擬軟件包8.5I2C總線

8.5.1I2C總線的特點(diǎn)8.5.2I2C總線的組成及基本工作原理8.5.3I2C總線的傳輸時序1.I2C總線的運(yùn)行時序關(guān)系圖8-14I2C總線運(yùn)行時序關(guān)系圖8.5.4I2C總線的通用模擬軟件包

為了簡化I2C總線模擬傳送的軟件編程方法,根據(jù)其時序特點(diǎn)編制了可適用于以80C51系列為主機(jī)的通用軟件包,這個軟件包包括典型信號的通用模擬子程序和I2C總線信號模擬傳送的通用子程序。用上述子程序時,如果從器件的傳輸頻率較低,則應(yīng)該修改延時用的NOP指令個數(shù),以滿足時序要求。通用軟件包中的符號單元如下:MTD:發(fā)送緩沖區(qū)首地址MRD:接收緩沖區(qū)首地址SLAW:芯片地址與寫控制字存放單元SLA:尋址字節(jié)存放單元NUMBYT:傳送字節(jié)數(shù)存放單元ERR:錯誤標(biāo)志SDA:模擬串行數(shù)據(jù)線SCL:模擬串行時鐘線使用前要注意分配好內(nèi)存。使用上述子程序(省略)時,如果從器件的傳輸頻率較低,則應(yīng)該修改延時用的NOP指令個數(shù),以滿足時序要求。I2C總線的通用子程序適用于任何采用I2C總線接口的器件。這些子程序包括發(fā)啟動脈沖子程序,發(fā)停止脈沖子程序,檢查應(yīng)答子程序,讀、寫一個字節(jié)子程序等。不同的從器件所需要用到的子程序并不完全相同。

8.5.5I2C總線應(yīng)用舉例

本節(jié)以串行I2C總線EEPROM為例,介紹串行EEPROM芯片的尋址、操作以及它們和89系列單片機(jī)的接口技術(shù)。1.存儲器組織及引腳功能說明2.芯片及存儲單元尋址3.操作時序4.I2C總線接口實(shí)例1.

AT24CXX系列芯片的引腳功能說明

圖9-15AT24CXX引腳圖圖8-15AT24CXX引腳圖2.芯片及存儲單元尋址

圖8-16芯片地址及讀寫控制字圖8-17AT89S51和AT24C02、08的接口實(shí)現(xiàn)從AT24C02的40H單元中連續(xù)讀8個數(shù)據(jù),然后存入單片機(jī)的以60H為首地址的連續(xù)8個單元中。再把從單片機(jī)的以60H為首地址的連續(xù)16個單元中取出的數(shù)據(jù)存入AT24C08的以220H單元為首地址的連續(xù)16個單元中。程序清單如下:SLAWEQU31H;芯片地址與寫控制字存放單SLAEQU32H;尋址字節(jié)地址存放單元NUMBYTEQU33H;傳送字節(jié)數(shù)存放單元SDABITP1.2;串行數(shù)據(jù)線SCLBITP1.1;串行時鐘線ERRBIT30H;錯誤標(biāo)志MTDEQU40H;發(fā)送數(shù)據(jù)緩沖區(qū)首地址MRDEQU60H;接收數(shù)據(jù)緩沖區(qū)首地址ORG0000HLJMPMAIN……MAIN:MOVSP,#70H;設(shè)堆棧指針SETBSDA;初始化AT2402/AT2408總線SETBSDLLCALLDELAY;調(diào)延時子程序(省略)……MOVSLAW,#0A0H;置2402芯片地址和寫命令字MOVSLA,#040H;置字節(jié)地址MOVNUMBYT,#8;置傳送數(shù)據(jù)長度LCALLRDNBYT;調(diào)讀數(shù)據(jù)塊子程序

……MOVSLAW,#0ACH;置2408芯片地址和RAM地址高3位(A2,P1,P0=1,1,0)以及寫命令字

MOVSLA,#20H;送入字節(jié)地址(低8位)

MOVNUMBYT,#16;置數(shù)據(jù)長度

LCALLWRNBYT;調(diào)寫數(shù)據(jù)塊子程序8.6SPI串行接口

8.6.1SPI接口的特點(diǎn)SPI接口主要特性如下:

全雙工,三線同步傳輸。

主機(jī)方式或從機(jī)方式工作。

主機(jī)最大位傳送速率為1.05MHz,目前有的型號 速率已經(jīng)超過此值。

4種可編程主機(jī)位速率

串行時鐘極性與相位可編程。

發(fā)送結(jié)束置中斷標(biāo)志。

寫沖突保護(hù)。

總線競爭保護(hù)。8.6.2SPI系統(tǒng)的組成及基本原理

采用SPI接口可以構(gòu)成復(fù)雜或簡單的系統(tǒng),如:一個主單片機(jī)和幾個從單片機(jī);幾個單片機(jī)互連,構(gòu)成多主機(jī)系統(tǒng)以及一個主單片機(jī)和一個或多個從外圍器件。

SPI系統(tǒng)在工作時是通過MOSI和MISO這兩個數(shù)據(jù)引腳用于接收和發(fā)送串行數(shù)據(jù),傳輸時是最高位(MSB)在先。SCK是通過MISO和MOSI輸入或輸出數(shù)據(jù)的同步時鐘,SS是從機(jī)選擇端。

對于設(shè)置為主機(jī)的SPI口,MISO是主機(jī)數(shù)據(jù)輸入端,MOSI是主機(jī)數(shù)據(jù)輸出端。對于設(shè)置為從機(jī)的SPI口,MISO是從機(jī)數(shù)據(jù)輸出端,MOSI是從機(jī)數(shù)據(jù)輸入端。8.6.3SPI接口的傳輸時序

圖8-20SPI的時序圖

8.6.4SPI串行接口的通用軟件包

為了簡化SPI接口模擬傳送的軟件編程方法,根據(jù)其時序特點(diǎn)編制了通用軟件包,這個軟件包包括典型信號的通用模擬子程序和SPI接口信號模擬傳送的通用子程序。

通用軟件包中的符號定義如下:

CS 模擬片選線

SO 模擬輸出線

SI 模擬輸入線

SCK模擬時鐘線向SPI接口器件中寫單字節(jié)子程序;入口:A中為準(zhǔn)備寫入的命令字或數(shù)據(jù)BYTEOUT:CLR CS ;選擇器件

CLR SCK;時鐘線為低

MOV R0,#08HBOUTI:CLR SCK;時鐘線為低

RLC A;左移一位

MOV SI,C;發(fā)送一位

SETB SCK;時鐘線為上升沿寫入

NOP ;延時

DJNZ R0,BOUTI;8位是否發(fā)完

RET

由SPI接口器件中讀單字節(jié)子程序出口:A中為讀入的數(shù)據(jù)或狀態(tài)字BYTEIN:CLRCS;選擇器件

CLRSCK;時鐘線為低

MOVR0,#08HBINI:SETB SCK;時鐘線為高

MOVC,SO;接收一位

NOP;延時

CLR SCK;時鐘線為低

RLC A;左移一位

DJNZR0,BINI;是否接收完8位

RET8.6.5SPI串行接口應(yīng)用舉例

采用SPI串行接口的外圍器件種類也非常多,本節(jié)以XICRO公司生產(chǎn)的X25F0XX系列EEPROM為例說明該類芯片與單片機(jī)的接口及編程方法。1.X25F0XX系列EEPROM簡介X25F064/32/16/08系列是CMOS串行Flash存貯器,存儲容量為8/4/2/1KB。2.引腳功能說明

圖8-19X25F0XX的引腳排列3.操作原理

X25F0XX存貯器中有一個8位指令寄存器、一個寫允許鎖存器和一個狀態(tài)寄存器。通過對這幾個寄存器的操作,控制和管理X25F0XX存貯器的讀寫。4.X25F064與單片機(jī)接口舉例本例介紹AT89S51單片機(jī)與一片X25F064的接口及編程方法,連接電路如圖8-20所示。在圖中,AT89S51通過P1端口的P1.0、P1.1、P1.2和P1.3分別與X25F064的、SCK、SO和SI端相連,X25F064的和直接接高電平,即編程保護(hù)和保持不起作用。

圖8-20X25F064與80C51接口方法

要求實(shí)現(xiàn)的功能如下:1)從X25F064的200H開始讀出16字節(jié)數(shù)據(jù),然后寫入AT89S51單片機(jī)片內(nèi)RAM的60H開始的16字節(jié)中。圖8-20X25F064與80C51接口方法

2)把AT89S51單片機(jī)片內(nèi)RAM40H開始的32字節(jié)數(shù)據(jù),依次寫到X25F064的00H為首的32個單元。應(yīng)用程序清單如下。變量說明CS BIT P1.0 ;CS=0選通X25F064SCK BIT P1.1 ;X25F064時鐘線SO BIT P1.2 ;X25F064輸出線SI BIT P1.3 ;X25F064輸入線BYTEDATAEQU 30H ;準(zhǔn)備讀或?qū)懭氲臄?shù)據(jù)長度MTD EQU 40H ;單片機(jī)發(fā)送數(shù)據(jù)首地址MRDEQU 60H ;單片機(jī)接收數(shù)據(jù)首地址

……MAIN: MOV SP,#70H ……LCALL PREN ;允許芯片寫

…MAIN1:…MOV DPTR,#200H ;從X25F064中讀的起始地址MOV BYTEDATA,#16 ;準(zhǔn)備寫入的數(shù)據(jù)長度LCALL PAGEREAD ;調(diào)讀數(shù)據(jù)塊子程序

…MOV DPTR,#00H;向X25F064中寫入的起始地址MOV BYTEDATA,#32 ;準(zhǔn)備寫入的數(shù)據(jù)長度LCALL PAGEWITE ;調(diào)寫數(shù)據(jù)塊子程序

…;允許芯片進(jìn)行寫操作PREN:CLR CSMOVA,#6 ;寫命令字

LCALL BYTEOUT ;寫1字節(jié)子程序,發(fā)寫命令

SETB CS ;結(jié)束操作

RET;讀狀態(tài)寄存器;出口;A讀出的狀態(tài)字RDSR:CLR CSMOV A,#5 ;讀狀態(tài)寄存器命令

LCALL BYTEOUTLCALL BYTEIN ;讀1字節(jié)子程序,讀出狀態(tài)

CLR F0JNB ACC.0,WIP;寫操作是否已結(jié)束

SETB F0WIP:SETB CSRET;向存儲器某頁寫數(shù)據(jù)塊;入口:DPTR,為存儲器地址;BYTEDATA,寫入的數(shù)據(jù)長度。PAGEWRITE:CLR CSLCALL RDSR ;檢查寫操作是否結(jié)束

JBF0,PAGEWRITEMOV A,#2 ;寫存儲器命令LCALL BYTEOUTMOV A,DPH ;地址的髙8位送ALCALL BYTEOUT ;寫入存儲器的髙8位地址MOV A,DPL ;送入低8位地址LCALL BYTEOUT ;寫入存儲器的低8位地址MOV R2,BYTEDATA ;要編程的字節(jié)數(shù)MOVR0,#MTD ;發(fā)送數(shù)據(jù)首地址PROG1:MOV A,@R0 ;將一個數(shù)據(jù)取到ACC中LCALL BYTEOUT ;向存儲器中寫一個數(shù)據(jù)INC R0 ;修改源地址DJNZ R2,PROG1SETB CSRET;從存儲器的某頁中讀數(shù)據(jù)塊;入口:DPTR,為存儲器地址,MRD為向單片機(jī)片內(nèi)RAM寫數(shù)據(jù)的首地址;出口:R1,R2從存儲器中連續(xù)讀出的2個數(shù)據(jù)PAGEREAD:CLR CSLCALL RDSR ;檢查寫操作是否結(jié)束JBF0,PAGEREADMOV A,#3 ;讀存儲器命令LCALL BYTEOUTMOV A,DPH ;地址的髙8位送ALCALL BYTEOUT ;寫入存儲器的髙8位地址及讀命令MOV A,DPLLCALL BYTEOUT ;寫入存儲器的低8位地址SETB CS ;結(jié)束寫操作CLR CS ;準(zhǔn)備讀操作MOV R2,BYTEDATA;要讀的字節(jié)數(shù)MOV R0,#MRD ;接收數(shù)據(jù)首地址READ1:LCALL BYTEIN;讀一字節(jié)MOV @R0,AINC R0 ;修改目標(biāo)地址DJNZ R2,READ1SETB CS ;結(jié)束讀操作RET8.7擴(kuò)展數(shù)/模轉(zhuǎn)換器

本節(jié)將簡介D/A轉(zhuǎn)換原理,幾種典型的DAC電路以及和80C51系列單片機(jī)的接口方法,包括硬件電路和應(yīng)用實(shí)例。8.7.1DAC電路原理

D/A轉(zhuǎn)換是將數(shù)字量信號轉(zhuǎn)換成與此數(shù)值成正比的模擬量。為了將數(shù)字量轉(zhuǎn)換成模擬量,應(yīng)將每一位代碼按權(quán)大小轉(zhuǎn)換成相應(yīng)的模擬輸出分量,然后根據(jù)疊加原理將各代碼對應(yīng)的模擬輸出分量相加,其總和就是與數(shù)字量成正比的模擬量,由此完成D/A轉(zhuǎn)換。為實(shí)現(xiàn)上述D/A轉(zhuǎn)換,需要使用解碼網(wǎng)絡(luò),解碼網(wǎng)絡(luò)的主要形式有二進(jìn)制權(quán)電阻解碼網(wǎng)絡(luò)和T型電阻解碼網(wǎng)絡(luò)。實(shí)際應(yīng)用的D/A轉(zhuǎn)換器多數(shù)都采用T形電阻網(wǎng)絡(luò)。圖8-21即為其結(jié)構(gòu)原理圖。

8-21T形電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換原理圖輸出的電壓值為:V0==-[(RF

VR/3R)

2-4]

(d3

23+d2

22+d1

21+d0

20)由此公式可以看出當(dāng)VR不變,V0的電壓正好與d0~d3,大小成正比,從而實(shí)現(xiàn)了由二進(jìn)制數(shù)到模擬量電壓信號的轉(zhuǎn)換。8.7.2D/A轉(zhuǎn)換器的主要技術(shù)指標(biāo)

1.D/A建立時間(SettingTime)2.D/A轉(zhuǎn)換精度(Accuracy)3.分辨率(Resolution)8.7.3擴(kuò)展D/A轉(zhuǎn)換器實(shí)例D/A轉(zhuǎn)換器有并行與串行2種接口芯片,并行D/A轉(zhuǎn)換器轉(zhuǎn)換速度較高,但要占用較多的I/O線,隨著單片機(jī)串行接口技術(shù)的發(fā)展,出現(xiàn)了越來越多的串行D/A轉(zhuǎn)換芯片,本節(jié)以美國TI公司生產(chǎn)的一種串行D/A芯片TLC5620為例,說明這一類芯片的原理及使用方法。TLC5620是4通道串行8位電壓輸出數(shù)模轉(zhuǎn)換器(DAC),它的最大轉(zhuǎn)換速率為40kHz。1.TLC5620的引腳功能圖8-22TLC5620的引腳圖2.TLC5620的工作原理TLC5620有4路結(jié)構(gòu)完全相同的8位電壓輸出數(shù)模轉(zhuǎn)換器,每個通道都包含有8位輸入寄存器、DAC寄存器、D/A轉(zhuǎn)換器,還有一個增益可選擇為1倍和2倍的放大器。它的11位串行數(shù)據(jù)包括8位數(shù)據(jù)、2個DAC通道選擇位、1個輸出增益選擇位。通過LDAC控制同時更新DAC輸出,DAC輸出通過增益輸出放大器緩存。TLC5620輸出電壓VOUT的計算公式如下:TLC5620的數(shù)據(jù)輸出更新方式有4種,不同方式的時序不同,在此僅介紹采用由LDCA控制數(shù)據(jù)更新的8位傳輸模式,時序見圖8-23,圖8-23TLC5620工作時序圖(LDCA控制數(shù)據(jù)更新的8位傳輸模式)

3.應(yīng)用實(shí)例利用TLC5620在A、B通道分別產(chǎn)生三角波和方波,該方波與三角波幅度相等、周期相同。例題連線圖如圖8-24所示。

圖8-24TLC5620與單片機(jī)接口原理圖匯編程序清單如下:SCLA BIT P1.7;時鐘線SDAA BIT P1.6;數(shù)據(jù)線SAN BIT 10H;三角波升、降標(biāo)志位,為0時表示下降FAN BIT 11H;方波高、低電平標(biāo)志位,為0時表示低電平LOADBIT P3.5;數(shù)據(jù)控制線LDACBIT P3.4;DAC更新控制線VOUTADATA 30H;A通道數(shù)據(jù)暫存單元VOUTBDATA 31H ;B通道數(shù)據(jù)暫存單元ORG 0000HAJMP MAINORG 0100HMAIN:MOVSP,#60H CLR SCLA CLR SDAASETB LOAD SETB LDAC MOVR3,#0A2H;三角波的半周期計數(shù)器

CLRSAN;三角波幅度遞增遞減標(biāo)志位

MOVVOUTA,#00H;三角波瞬態(tài)電壓值存儲器清0 MOVR5,#0A2H;方波的半周期計數(shù)器

CLRFAN;方波幅度高低電平標(biāo)志位

MOVVOUTB,#00H;方波高低電平電壓值存儲器清0DACH:MOVR1,#01H;選擇通道A輸出,2倍增益

MOVR2,VOUTALCALLDAC5620;調(diào)用D/A轉(zhuǎn)換子程序

DJNZR3,CONTA;判斷三角波是否上升(或下降)到峰點(diǎn)(或谷點(diǎn))MOVR3,#0A2H;重賦半周期值

CPLSAN;如果已達(dá)到峰點(diǎn)(或谷點(diǎn))則改變標(biāo)志CONTA:JBSAN,CONTB;判斷當(dāng)前處于上升還是下降狀態(tài)

INC R2 SJMP CONTCCONTB:DEC R2CONTC:MOVVOUTA,R2;三角波瞬態(tài)電壓值保存在VOUTAMOVR1,#03H;選擇通道B輸出(方波),2倍增益

MOVR2,VOUTB LCALLDAC5620 DJNZR5,CONTD;判斷方波是否應(yīng)該改變電平狀態(tài)

MOVR5,#0A2H;重賦半周期值

CPLFAN;如果已達(dá)到改變電平狀態(tài)的時間,則改變方波電平標(biāo)志位CONTD:JBFAN,CONTE;根據(jù)方波高低電平標(biāo)志位決定輸出狀 態(tài)

MOVR2,#00H;給R2賦方波0電平值

SJMPCONTFCONTE:MOVR2,#0A2H;給R2賦方波最大電平值CONTIF:MOVVOUTB,R2 ;方波瞬態(tài)電壓值保存在VOUTBLJMPDACH;反復(fù)循環(huán)DAC5620: MOVA,R1;準(zhǔn)備發(fā)控制字

CLRSCL

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論