




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
?單片機應(yīng)用技術(shù)?工程9調(diào)壓電路設(shè)計瀘州職業(yè)技術(shù)學(xué)院機電工程系?單片機應(yīng)用技術(shù)?精品課程組本講主要內(nèi)容4相關(guān)知識1教學(xué)目標(biāo)2工作任務(wù)3工程實踐6工程考核1、終極目標(biāo):制作一個基于單片機控制的調(diào)壓電路系統(tǒng)。2、促成目標(biāo):(1)了解D/A轉(zhuǎn)換芯片的根本工作原理及特性;(2)了解D/A轉(zhuǎn)換器的技術(shù)指標(biāo);(3)掌握常用D/A芯片與單片機的接口方法;(3)掌握D/A轉(zhuǎn)換程序設(shè)計方法;【教學(xué)目標(biāo)】采用8位的D/A轉(zhuǎn)換芯片DAC0832來完成數(shù)模轉(zhuǎn)換過程,DAC0832是電流輸出型D/A轉(zhuǎn)換芯片,因此,后面接有集成運放LM358來完成電流到電壓的轉(zhuǎn)換。其中的數(shù)字信號的輸入從“D0-D7〞端口輸入,控制DAC0832工作的控制信號由“WR-CS〞端口輸入,模擬量的輸出從“DA輸出〞端口輸出,由于LM358工作在雙電源條件下,因此要給LM358參加±12V電壓,從+12,-12V的電源的由MAX232來產(chǎn)生。通過按鍵K1、K2實現(xiàn)DAC值的加減,并且在LCD1602上顯示出來。DAC轉(zhuǎn)換的模擬電壓值從DA輸出座子輸出(用萬用表測量)?!竟ぷ魅蝿?wù)】【活動一】總體設(shè)計
本系統(tǒng)功能由硬件和軟件兩大部份協(xié)調(diào)完成,硬件局部主要完成信息的顯示;軟件主要完成信號的處理及控制功能等。本系統(tǒng)的硬件采用模塊化設(shè)計,以AT89S52單片機為核心,與LCD顯示電路、鍵盤電路、D/A轉(zhuǎn)換電路組成控制系統(tǒng)。該系統(tǒng)硬件主要包括以下幾個模塊:AT89S52主控模塊、LCD顯示模塊、鍵盤輸入模塊、D/A模塊等。其中AT89S52主要完成外圍硬件的控制以及一些運算功能;LCD顯示模塊完成字符、數(shù)字的顯示功能;鍵盤電路主要實現(xiàn)DAC值的加減;D/A模塊由D/A芯片和放大電路組成,DAC轉(zhuǎn)換的模擬電壓值從DA輸出座子輸出,可用萬用表測量?!竟こ虒嵺`】系統(tǒng)組成方框圖如下圖。
單片機LCD顯示電路復(fù)位電路時鐘電路電源電路D/A轉(zhuǎn)換電路鍵盤電路串口通信電路圖9.1D/A轉(zhuǎn)換控制系統(tǒng)組成方框圖【工程實踐】應(yīng)用軟件采用模塊化設(shè)計方法。該系統(tǒng)軟件主要由主程序、定時器T0中斷效勞子程序、D/A轉(zhuǎn)換子程序、計算D/A轉(zhuǎn)換值子程序、按鍵掃描子程序、串口中斷效勞子程序、LCD顯示子程序、LCD顯示A/D轉(zhuǎn)換值子程序等模塊組成,系統(tǒng)軟件結(jié)構(gòu)框圖如下圖。LCD顯示子程序定時器T0中斷服務(wù)子程序主程序計算D/A轉(zhuǎn)換值子程序D/A轉(zhuǎn)換子程序LCD顯示D/A轉(zhuǎn)換值子程序按鍵掃描子程序串口中斷服務(wù)子程序圖9.2系統(tǒng)軟件結(jié)構(gòu)框圖【工程實踐】1.主控模塊設(shè)計本工程采用ATMEL公司生產(chǎn)的AT89S52單片機,主控模塊的具體設(shè)計參見工程1。2.LCD顯示模塊設(shè)計LCD顯示模塊選用1602字符型LCD模塊,具體設(shè)計請參見工程6。3.鍵盤輸入模塊設(shè)計鍵盤輸入使用獨立式按鍵K1、K2,具體設(shè)計請參見工程3。4.串口通信電路模塊設(shè)計串口通信電路模塊的具體設(shè)計請參見工程7。5.D/A轉(zhuǎn)換模塊設(shè)計D/A模塊由D/A芯片和放大電路組成,通過按鍵K1、K2實現(xiàn)DAC值的加減,范圍在0~255之間,并且在LCD1602上顯示出來。DAC轉(zhuǎn)換的模擬電壓值從DA輸出座子輸出,可用萬用表測量?!竟こ虒嵺`】【活動二】硬件設(shè)計在本工程中,D/A芯片選用DAC0832芯片來完成數(shù)模轉(zhuǎn)換過程,該芯片的詳細介紹請參考本工程的“相關(guān)知識〞局部。DAC0832是電流輸出型D/A轉(zhuǎn)換芯片,因此,后面接有集成運放LM358來完成電流到電壓的轉(zhuǎn)換。其中的數(shù)字信號的輸入從“D0-D7〞端口輸入,控制DAC0832工作的控制信號由“WR-CS〞端口輸入,模擬量的輸出從“DA輸出〞端口輸出,由于LM358工作在雙電源條件下,因此要給LM358參加±12V電壓,從+12,-12V的電源的由MAX232來產(chǎn)生。D/A模塊與單片機的接口電路如下圖?!竟こ虒嵺`】圖9.3D/A模塊與單片機的接口電路原理圖【工程實踐】1.算法設(shè)計由PC機發(fā)送到單片機串口的值作為數(shù)字量初始值,通過按鍵K1、K2實現(xiàn)DAC值的加減,按鍵K1實現(xiàn)數(shù)字量初始值加1,按鍵K2實現(xiàn)數(shù)字量初始值減1,使數(shù)字量在20~200的范圍內(nèi)變化,從而模擬數(shù)字信號的輸入。根據(jù)D/A轉(zhuǎn)換芯片DAC0832的工作時序,20ms進行一次D/A轉(zhuǎn)換,可以利用定時器T0定時,根本定時時間為5ms,控制軟計數(shù)器的累計次數(shù)為4次,20ms〔4*5ms〕定時到時,產(chǎn)生定時器T0中斷,在定時器T0中斷效勞子程序中調(diào)用DA轉(zhuǎn)換子程序進行D/A采樣轉(zhuǎn)換,然后調(diào)用計算D/A轉(zhuǎn)換值子程序把DA轉(zhuǎn)換值轉(zhuǎn)換成相應(yīng)的ASCII碼,最后通過LCD顯示D/A轉(zhuǎn)換值子程序把DAC轉(zhuǎn)換的模擬電壓值〔0V~5V〕顯示在液晶LCD1602上,并從DA輸出座子輸出DAC轉(zhuǎn)換的模擬電壓,可用萬用表測量。【工程實踐】【活動三】軟件設(shè)計2.?dāng)?shù)據(jù)結(jié)構(gòu)設(shè)計1602LCD使能信號E定義為P2口線的;1602LCD讀/寫選擇信號R/W定義為P2口線的,0為寫數(shù)據(jù)信號,1為讀數(shù)據(jù)信號;1602LCD數(shù)據(jù)/命令選擇信號RS定義為P2口線的,0為命令信號;1為數(shù)據(jù)信號;1602LCD的8位雙向數(shù)據(jù)線DB7~DB0信號LCDPORT定義為P0口線;1602LCD寫命令入口參數(shù)CMD_BYTE定義為片內(nèi)數(shù)據(jù)存儲器的2EH單元;1602LCD寫顯示數(shù)據(jù)入口參數(shù)DAT_BYTE定義為片內(nèi)數(shù)據(jù)存儲器的2FH單元;D/A芯片DAC0832的片選信號DAC_CS定義為P3口線的;D/A芯片DAC0832的寫信號DAC_WR定義為P3口線的;【工程實踐】當(dāng)前的DA變量DABL定義為片內(nèi)數(shù)據(jù)存儲器的30H單元;輸出值顯示的百位LEDBAI定義為片內(nèi)數(shù)據(jù)存儲器的31H單元;輸出值顯示的十位LEDSHI定義為片內(nèi)數(shù)據(jù)存儲器的32H單元;輸出值顯示的個位LEDGE定義為片內(nèi)數(shù)據(jù)存儲器的33H單元;3.程序設(shè)計(1)主程序設(shè)計主程序主要完成硬件初始化、子程序調(diào)用等功能。①初始化首先調(diào)用LCD子程序,設(shè)置LCD的DDRAM地址,在LCD上顯示字符數(shù)據(jù)“DAC:〞。將DA轉(zhuǎn)換值DABL設(shè)置為初值20,設(shè)置定時軟計數(shù)器KEYTIME初值為4。設(shè)置串口成功接收數(shù)據(jù)標(biāo)志位RECOKBIT為1。②定時初值計算定時器T0定時時間為5ms,系統(tǒng)所用的石英晶體振蕩頻率為,因此,1個機器周期=1/石英頻率*12,即為微秒,定時器工作方式設(shè)置為方式1,計算初值如下:【工程實踐】x=216-t*fosc/12=65536-5*10-3*11.0592*106/12=60928=EE00H所以TH0=0EEH,TL0=00H③定時器與串口設(shè)置設(shè)置存放器SCON的SM0、SM1位,定義串口工作方式,選擇波特率發(fā)生器為定時器T1;設(shè)定定時器T1工作方式為方式2;設(shè)置波特率參數(shù)為9600bps;允許串行中斷及總中斷;允許串口接收數(shù)據(jù),定義REN=1;啟動定時/計數(shù)器T1工作,定義TR1=1。設(shè)定定時器T0的工作方式為方式1;啟動定時器T0,即TR0=1,開放定時器T0中斷及總中斷。綜述,設(shè)置TMOD=21H,IE=92H。④等待中斷定時器T0啟動計時后,CPU等待定時中斷的到來。當(dāng)定時器T0定時5ms后,進入定時器T0中斷效勞子程序。【工程實踐】主程序設(shè)計流程圖如下圖?!竟こ虒嵺`】圖9.4主程序設(shè)計流程圖【工程實踐】(2)定時器T0中斷效勞子程序當(dāng)定時器T0定時5ms后,進入定時器T0中斷效勞子程序。重裝定時器T0初值,即TH0=0EEH,TL0=00H。判斷軟計數(shù)器KEYTIME值是否為0,假設(shè)KEYTIME值不為0,說明20ms計時未到,這時中斷子程序返回主程序,繼續(xù)計時;假設(shè)KEYTIME值為0,說明20ms計時已到,重置軟計數(shù)器KEYTIME初值為4,為下次定時做準備。設(shè)置按鍵輸入口P1口的值為0DFH,調(diào)用按鍵掃描子程序。接著調(diào)用D/A轉(zhuǎn)換子程序進行D/A轉(zhuǎn)換,得到DA轉(zhuǎn)值值DABL,然后換調(diào)用計算D/A轉(zhuǎn)換值子程序計算DA轉(zhuǎn)值DABL相應(yīng)的ASCII碼,再調(diào)用LCD顯示D/A轉(zhuǎn)換值子程序把數(shù)字量輸入值進行轉(zhuǎn)換后的模擬量顯示在液晶LCD1602上。最后T0中斷子程序返回主程序進行下一次DA轉(zhuǎn)換?!竟こ虒嵺`】【工程實踐】圖9.5定時器T0中斷效勞子程序設(shè)計流程圖【工程實踐】(3)D/A轉(zhuǎn)換子程序模塊設(shè)計根據(jù)D/A轉(zhuǎn)換芯片DAC0832的工作時序,片選信號低電平有效。把芯片DAC0832片選信號置低電平,選中該芯片。把數(shù)字量D/A轉(zhuǎn)換值DABL送給P0口,準備送入芯片DAC0832進行轉(zhuǎn)換處理。芯片DAC0832寫信號置低電平后再過兩個時鐘周期至高電平,產(chǎn)生一個上升沿信號,進行數(shù)據(jù)轉(zhuǎn)換處理。模擬量DABL從Iout1、Iout2引腳輸出送到運算放大器進行處理,最后從DA輸出座子輸出,可用萬用表測量到輸出電壓。數(shù)據(jù)轉(zhuǎn)換完畢,把芯片DAC0832片選信號置高電平。子程序返回。D/A轉(zhuǎn)換子程序設(shè)計流程圖如下圖?!竟こ虒嵺`】芯片DAC0832片選信號置低電平,選中該芯片開始把D/A轉(zhuǎn)換值DABL送給P0口,準備送入芯片DAC0832芯片DAC0832寫信號置低電平后再過兩個時鐘周期至高電平,產(chǎn)生一個上升沿信號子程序返回芯片DAC0832片選信號置高電平圖9.6D/A轉(zhuǎn)換值子程序設(shè)計流程圖【工程實踐】(4)計算D/A轉(zhuǎn)換值子程序要把DA轉(zhuǎn)換值DABL顯示在LCD上,需要把它轉(zhuǎn)換為相應(yīng)的ASCII碼。先把D/A轉(zhuǎn)換值A(chǔ)DBL送給累加器A,除以100,商即為百位計數(shù)單元值,該值加上30H,得到百位數(shù)的ASCII碼,將它送給LCD百位計數(shù)單元顯示值LEDBAI。將第一次除法運算得到的余數(shù)送給累加器A,再除以10,商為十位計數(shù)單元值,該值加上30H,得到十位計數(shù)單元的ASCII碼,將它送給LCD十位計數(shù)單元顯示值LEDSHI。將第二次除法運算得到的余數(shù)送給累加器A,為個位計數(shù)單元值,該值加上30H,得到個位計數(shù)單元的ASCII碼,將它送給LCD個位計數(shù)單元顯示值LEDGE。最后子程序返回。計算D/A轉(zhuǎn)換值子程序設(shè)計流程圖如下圖。【工程實踐】把D/A轉(zhuǎn)換值DABL送給累加器A,除以100,商為百位計數(shù)單元值;加30H,得到百位數(shù)的ASCII碼;送給LCD百位計數(shù)單元顯示值LEDBAI開始子程序返回將第一次除法運算的余數(shù)送給累加器A,再除以10,商為十位計數(shù)單元值;加30H,得到十位計數(shù)單元的ASCII碼;送給LCD十位計數(shù)單元顯示值LEDSHI將第二次除法運算的余數(shù)送給累加器A,為個位計數(shù)單元值;加30H,得到個位計數(shù)單元的ASCII碼;送給LCD個位計數(shù)單元顯示值LEDGE圖9.7計算D/A轉(zhuǎn)換值子程序設(shè)計流程圖【工程實踐】(5)按鍵掃描子程序模塊設(shè)計通過按鍵K1、K2實現(xiàn)DAC值的加減。程序通過、的值來判斷是否有鍵按下。假設(shè)P1.0=0,說明K1鍵按下,使DAC值加1,但不能大于201,否那么使DAC值返回為20。假設(shè)P1.0=1,說明K2鍵按下,使DAC值減1,但不能小于19,否那么使DAC值返回為200。按鍵掃描子程序設(shè)計流程圖如下圖?!竟こ虒嵺`】【工程實踐】圖9.8按鍵掃描子程序設(shè)計流程圖【工程實踐】(6)串口中斷效勞子程序設(shè)計當(dāng)串口中斷標(biāo)志位RI為1時,進入串口接收數(shù)據(jù)中斷效勞子程序,開始接收數(shù)據(jù)。把串口中斷標(biāo)志位RI復(fù)位置0,把串口接收緩沖器SBUF中的數(shù)據(jù)寫入累加器A,再把累加器A的值傳給DA轉(zhuǎn)換值變量DABL作為數(shù)模轉(zhuǎn)換的初始值,同時設(shè)置串口成功接收數(shù)據(jù)標(biāo)志位RECOKBIT為1,說明串口成功接收數(shù)據(jù),最后中斷子程序返回。串口中斷效勞子程序設(shè)計流程圖如下圖。接收標(biāo)志位RI清零從PC機串口接收數(shù)據(jù),把接收緩沖器SBUF中的數(shù)據(jù)寫到單片機的累加器A,再送給D/A變量單元DABL設(shè)置串口成功接收數(shù)據(jù)標(biāo)志位RECOKBIT中斷子程序返回開始圖9.9串口中斷效勞子程序設(shè)計流程圖【工程實踐】(7)LCD顯示子程序模塊設(shè)計LCD顯示子程序模塊包括LCD初始化子程序、寫入指令數(shù)據(jù)到LCD子程序、寫入顯示數(shù)據(jù)到LCD子程序、LCD顯示D/A轉(zhuǎn)換值子程序、延時子程序等模塊組成,詳細設(shè)計請參見工程6“LCD顯示技術(shù)〞。4.匯編語言源程序;*******************************************************************;工程名稱:DA轉(zhuǎn)換;功能:串口發(fā)送一個要輸出的電壓(00--FF),模數(shù)轉(zhuǎn)換輸出一個當(dāng)前串口發(fā)出;的電壓;輸出的電壓為V=5*KK/255。其中KK為串口接收到的二進制數(shù);*******************************************************************;*******************************************************************;功能:LCD口線的定義;*******************************************************************【工程實踐】LCDPORTEQUP0CMD_BYTEEQU2EHDAT_BYTEEQU2FH;*******************************************************************;功能:DAC0832的引腳定義;*******************************************************************;*******************************************************************;功能:;*******************************************************************DABLEQU30H;當(dāng)前DA的變量(00到255間),從串口接收LEDBAIEQU31H;顯示的百位LEDSHIEQU32H;顯示的十位LEDGEEQU33H;顯示的個位KEYTIMEEQU35H;KEYBITBIT00H;RECOKBITBIT01H;串口成功接收數(shù)據(jù)標(biāo)志位【工程實踐】ORG0000HAJMPMAIN;*******************************************************************;功能:定時器T0中斷效勞入口地址;*******************************************************************ORG000BH;T0中斷效勞入口地址AJMPTIME0_1;*******************************************************************;功能:串口接收數(shù)據(jù)中斷效勞子程序;*******************************************************************ORG0023H;串口中斷效勞入口地址;RS232:CLRRIMOVA,SBUF;單片機從PC串口接收數(shù)據(jù)MOVDABL,A;PC串口發(fā)送的數(shù)據(jù)送給D/A轉(zhuǎn)換值SETBRECOKBITRETI【工程實踐】;*******************************************************************;功能:主程序;*******************************************************************ORG0030HMAIN:MOV20H,#00HLCALLINITLCDMOVDABL,#20MOVKEYTIME,#04HMOVCMD_BYTE,#80H;設(shè)置DDRAM的地址LCALLWRITE_CMDLCALLDELAY0MOVDAT_BYTE,#"D"LCALLWRITE_DATMOVDAT_BYTE,#"A"LCALLWRITE_DATMOVDAT_BYTE,#"C"LCALLWRITE_DAT【工程實踐】MOVDAT_BYTE,#":"LCALLWRITE_DATMOVTH0,#0EEH;定時器T0,定時5ms,D/A轉(zhuǎn)換時間MOVTL0,#00HMOVTMOD,#21HMOVTH1,#0FDH;T1位波特率發(fā)生器,波特率9600MOVTL1,#0FDHMOVSCON,#50H;設(shè)置串口工作方式SETBTR1;啟動定時器T1SETBREN;允許串行口接收數(shù)據(jù)SETBTR0;啟動定時器T0MOVIE,#92H;允許定時器0中斷,允許串口中斷SETBRECOKBITSJMP$;等待中斷【工程實踐】;*******************************************************************;功能:定時器T0中斷效勞子程序;*******************************************************************ORG0100HTIME0_1:MOVTH0,#0EEHMOVTL0,#00HDJNZKEYTIME,TIME0_REMOVKEYTIME,#04HMOVP1,#0DFHLCALLKEYSCANLCALLDAC0832;調(diào)用D/A轉(zhuǎn)換子程序LCALLJSDPBL;調(diào)用計算D/A轉(zhuǎn)換值子程序LCALLDISPDPBL;調(diào)用LCD顯示D/A轉(zhuǎn)換值子程序TIME0_RE:RETI;*******************************************************************;功能:;按鍵掃描子程序;*******************************************************************KEYSCAN:MOVP1,#0FFH【工程實踐】;*******************************************************************;功能:;D/A轉(zhuǎn)換子程序;*******************************************************************DAC0832:CLRDAC_CSMOVA,DABLMOVP0,ACLRDAC_WRNOPNOPSETBDAC_WRSETBDAC_CSRET;***********************************************************;功能:LCD1602要用到的一些子程序;***********************************************************;***********************************************************;功能:寫入指令數(shù)據(jù)到LCD子程序(入口參數(shù)CMD_BYTE);***********************************************************WRITE_CMD:CLRRSCLRRW【工程實踐】MOVA,CMD_BYTE
MOVLCDPORT,ASETBENOPNOPCLRELCALLDELAY0RET;***********************************************************;功能:寫入顯示數(shù)據(jù)到LCD子程序(入口參數(shù)DAT_BYTE);***********************************************************WRITE_DAT:SETBRSCLRRWMOVA,DAT_BYTEMOVLCDPORT,ASETBENOPNOP【工程實踐】CLRELCALLDELAY0RET
***********************************************************;功能:LCD顯示初始化子程序;***********************************************************INITLCD:MOVCMD_BYTE,#30HLCALLWRITE_CMDMOVCMD_BYTE,#30HLCALLWRITE_CMDMOVCMD_BYTE,#30HLCALLWRITE_CMDMOVCMD_BYTE,#38H;設(shè)定工作方式LCALLWRITE_CMDMOVCMD_BYTE,#0CH;顯示狀態(tài)設(shè)置LCALLWRITE_CMDMOVCMD_BYTE,#01H;清屏【工程實踐】LCALLWRITE_CMDMOVCMD_BYTE,#06H;輸入方式設(shè)置LCALLWRITE_CMDRET
;***********************************************************;功能:延時子程序;***********************************************************DELAY0:MOVR5,#0A0HDELAY1:NOPDJNZR5,DELAY1RET;***********************************************************;功能:計算D/A轉(zhuǎn)換值子程序;***********************************************************JSDPBL:MOVA,DABL;取得A/D轉(zhuǎn)換值MOVB,#64H;除以100,得到百位【工程實踐】DIVABORLA,#30H;加30H,變換成相應(yīng)的ASCIIMOVLEDBAI,A;送到LCD顯示MOVA,BMOVB,#0AH;除以10,得到十位DIVABORLA,#30H;加30H,變換成相應(yīng)的ASCIIMOVLEDSHI,A;送到LCD顯示MOVA,B;余數(shù)為個位ORLA,#30H;加30H,變換成相應(yīng)的ASCIIMOVLEDGE,A;送到LCD顯示RET【工程實踐】;*******************************************************************;功能:LCD顯示D/A轉(zhuǎn)換值子程序;*******************************************************************DISPDPBL:MOVCMD_BYTE,#85H;設(shè)置DDRAM的地址LCALLWRITE_CMD;MOVDAT_BYTE,LEDBAI;百位顯示LCALLWRITE_DATMOVDAT_BYTE,LEDSHI;十位顯示LCALLWRITE_DATMOVDAT_BYTE,LEDGE;個位顯示LCALLWRITE_DATRETEND【工程實踐】【活動四】系統(tǒng)仿真調(diào)試【工程實踐】系統(tǒng)仿真調(diào)試過程參見工程1。1、D/A轉(zhuǎn)換器的根本原理D/A轉(zhuǎn)換器的根本功能是將一個用二進制表示的數(shù)字量轉(zhuǎn)換成相應(yīng)的模擬量。實現(xiàn)這種轉(zhuǎn)換的根本方法是對應(yīng)于二進制數(shù)的每一位,產(chǎn)生一個相應(yīng)的電壓〔電流〕,而這個電壓〔電流〕的大小那么正比于相應(yīng)的二進制位的權(quán)。具體電路較復(fù)雜,這里就不多述,有興趣的同學(xué)請看有關(guān)書籍。2、主要技術(shù)指標(biāo)〔1〕分辯率。通常用數(shù)字量的數(shù)位表示,一般為8位,12位,16位等。分辯率10位,表示它可能對滿量程的1/210=1/1024的增量作出反響?!?〕輸入編碼形式。如二進制碼,BCD碼等?!?〕轉(zhuǎn)換線性。通常給出在一定溫度下的最大非線性度,一般為~0.03%?!?〕轉(zhuǎn)換時間。通常為幾十納秒~幾微秒?!?〕輸出電平。不同型號的輸出電平相差很大。大局部是電壓型輸出,一般為5~10伏;也有高壓輸出型的,為24~30伏。也有一些是電流型的輸出,低者為20毫安左右,高者可達3安培?!鞠嚓P(guān)知識】3、集成D/A轉(zhuǎn)換器——DAC0832DAC0832是目前國內(nèi)用得較普遍的D/A轉(zhuǎn)換器。⑴、DAC0832主要特性DAC0832是采用CMOS/Si-Cr工藝制成的雙列直插式單片8位D/A轉(zhuǎn)換器。它可直接與Z80,8085,8080等CPU相連,也可同8031相連,以電流形式輸出;當(dāng)轉(zhuǎn)換為電壓輸出時,可外接運算放大器。其主要特性有:1〕出電流線性度可在滿量程下調(diào)節(jié)。2〕轉(zhuǎn)換時間為1μS。3〕數(shù)據(jù)輸入可采用雙緩沖、單緩沖或直通方式。4〕增益溫度補償為0.02%FS/℃。5〕每次輸入數(shù)字為8位二進制數(shù)。6〕功耗20mW。7〕邏輯電平輸入與TTL兼容。8〕供電電源為單一電源,可在5~15V內(nèi)?!鞠嚓P(guān)知識】⑵DAC0832內(nèi)部結(jié)構(gòu)及外部引腳DAC0832D/A轉(zhuǎn)換器,其內(nèi)部結(jié)構(gòu)由一個數(shù)據(jù)存放器、DAC存放器和D/A轉(zhuǎn)換器三大局部組成。DAC0832內(nèi)部采用R-2R梯形電阻網(wǎng)絡(luò)。兩個存放器輸入數(shù)據(jù)存放器和DAC存放器用以實現(xiàn)兩次緩沖,故在輸出的同時,尚可集一個數(shù)字,這就提高了轉(zhuǎn)換速度。當(dāng)多芯片同時工作時,可用同步信號實現(xiàn)各模擬量同時輸出。圖示出了DAC0832的外部引腳【相關(guān)知識】圖9.11DAC0832引腳圖【相關(guān)知識】片選信號,低電平有效。與ILE相配合,可對寫信號是否有效起到控制作用。ILE允許輸入鎖存信號,高電平有效,輸入存放器的鎖存信號由ILE,,的邏輯組合產(chǎn)生。當(dāng)ILE為高電平,為低電平,輸入負脈沖時,輸入存放器的鎖存信號產(chǎn)生正脈沖。當(dāng)輸入存放器的鎖存信號為高電平時輸入線的狀態(tài)變化,輸入存放器的鎖存信號的負跳變將輸入在數(shù)據(jù)線上的信息打入輸入鎖存器。寫信號1,低電平有效。當(dāng),,ILE均有效時,可將數(shù)據(jù)寫入8位輸入存放器。寫信號2,低電平有效。當(dāng)有效時,在傳送控制信號作用下,可將鎖存在輸入存放器的8位數(shù)據(jù)送到DAC存放器。數(shù)據(jù)傳送信號,低電平有效。當(dāng),均有效時,那么在DAC存放器的鎖存信號產(chǎn)生正脈沖,當(dāng)DAC存放器的鎖存信號為高電平時,DAC存放器的輸出和輸入存放器的狀態(tài)一致,DAC存放器的鎖存信號負跳變,輸入存放器的內(nèi)容打入DAC存放器?!鞠嚓P(guān)知識】Vref基準電源輸入端,它與DAC內(nèi)的R-2R梯形網(wǎng)絡(luò)相接,Vref可在±10V范圍內(nèi)調(diào)節(jié)。DI0~DI78位數(shù)字量輸入端,ID7為最高位,DI0為最低位。Iout1:DAC的電流輸出1,當(dāng)DAC存放器各位為1時,輸出電流為最大。當(dāng)DAC存放器各位為0時,輸出電流為0。Iout2:DAC的電流輸出2,它使Iout1+Iout2恒為一常數(shù)。一般在單極性輸出時Iout2接地,在雙極性輸出時接運放〔詳見圖9-46〕Rfb反響電阻。在DAC0832芯片內(nèi)有一個反響電阻,可用作外部運放的分路反響電阻。Vcc:電源輸入線:DGND為數(shù)字地,AGND為模擬信號地。4、DAC0832和MCS-51的接口DAC0832可工作在單、雙緩沖器方式。單緩沖器方式即輸入存放器的信號和DAC存放器的信號同時控制,使一個數(shù)據(jù)直接寫入DAC存放器。這種方式適用于只有一路模擬量輸出或幾路模擬量不需要同步輸出的系統(tǒng);雙緩沖器方式,即輸入存放順的信號和DAC存放器信號分開控制,這種方式適用于幾個模擬量需同時輸出的系統(tǒng)。下面我們分別討論上述兩種方式時的接口方法?!鞠嚓P(guān)知識】1、單緩沖器方式圖9.12單極性單緩沖器電路接口圖【相關(guān)知識】圖為具有單極性一路模擬量的8031系統(tǒng)。圖中ILE接+5V,Iout2接地,Iout1輸出電流經(jīng)運放器741輸出一個單極性電壓范圍為0~5V。片選信號和傳送信號都連到地址線A15,輸入存放器和DAC存放器地址都可選為7FFFH,寫選通輸入線,都和8031的寫信號連接,CPU對0832
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 車輛買賣賒購合同
- 倉房買賣合同協(xié)議書
- 的聘用合同年
- 銀行解除借款合同
- 《蘇武傳》教學(xué)設(shè)計 2024-2025學(xué)年統(tǒng)編版高中語文選擇性必修中冊
- Unit 1 How can I get there?PartA(教學(xué)設(shè)計)-2024-2025學(xué)年人教PEP版英語六年級上冊
- 山東醫(yī)學(xué)高等??茖W(xué)校《物理化學(xué)B(下)》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東華宇工學(xué)院《土木工程材料》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西藥科職業(yè)學(xué)院《財務(wù)大數(shù)據(jù)決策》2023-2024學(xué)年第二學(xué)期期末試卷
- 內(nèi)蒙古電子信息職業(yè)技術(shù)學(xué)院《有色冶金設(shè)備》2023-2024學(xué)年第二學(xué)期期末試卷
- 中債違約債券估值方法(2020年版)
- 《經(jīng)典常談》課件
- 四川省2024年中考數(shù)學(xué)試卷十七套合卷【附答案】
- 北師大版二年級數(shù)學(xué)下冊全冊10套試卷(附答案)
- GB/T 2423.17-2024環(huán)境試驗第2部分:試驗方法試驗Ka:鹽霧
- 數(shù)字出版概論 課件 第六章 數(shù)字內(nèi)容加工、管理技術(shù)
- 糖尿病并發(fā)癥的早期篩查
- 2019年山東省職業(yè)院校技能大賽中職組“沙盤模擬企業(yè)經(jīng)營”賽項規(guī)程
- GB/T 32399-2024信息技術(shù)云計算參考架構(gòu)
- 初中體育與健康 初二 水平四(八年級)田徑大單元教學(xué)設(shè)計+快速跑教案
-
評論
0/150
提交評論