版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
工程7 學習A/D接口和D/A接口任務(wù)1用DAC0832實現(xiàn)方波、三角波、鋸齒波波形發(fā)生器任務(wù)2用ADC0809實現(xiàn)數(shù)字電壓表點擊此處結(jié)束任務(wù)1 用DAC0832實現(xiàn)方波、三角波、鋸齒波波形發(fā)生器點擊此處結(jié)束任務(wù)分析任務(wù)實現(xiàn)相關(guān)知識任務(wù)分析圖7.1 信號發(fā)生器波形點擊此處結(jié)束任務(wù)實現(xiàn)步驟1—認識轉(zhuǎn)換元器件圖7.2
DAC0832芯片引腳圖點擊此處結(jié)束圖7.3
DAC0832芯片的內(nèi)部結(jié)構(gòu)圖點擊此處結(jié)束步驟2—硬件電路設(shè)計圖7.4 波形發(fā)生器電路圖點擊此處結(jié)束處結(jié)束步驟3—準備元器件并制作電路板波形發(fā)生器電路元器件清單如表7.1所示。表7.1 波形發(fā)生器電路元器件清單元器件名稱參數(shù)數(shù)量元器件名稱參數(shù)數(shù)量IC插座DIP401電阻10kW1單片機89C511電阻5.1kW1晶體振蕩器12MHz1電解電容22μF2瓷片電容22pF2可變電阻10kW3集成運放LM3241IC插座DIP20點1擊此圖7.5 集成運放LM324芯片的引腳圖點擊此處結(jié)束圖7.6 波形發(fā)生器電路板硬件實物點擊此處結(jié)束鋸齒波編程思路:先輸出二進制最小值
00H,然后按+1規(guī)律遞增,當輸出數(shù)據(jù)到達最大值FFH時,再回到00H重復(fù)這一過程。源程序如下:點擊此處結(jié)束步驟4—編寫波形發(fā)生程序;************鋸齒波程序
*******************;程序名:鋸齒波程序PM7_1_1.asm;程序功能:產(chǎn)生鋸齒波信號輸出ORG
0000H點擊此處結(jié)束AJMPSTARTSTART:MOVDPTR,#7FFFH;輸入存放器地址AA:
MOVA,
#00H;送轉(zhuǎn)換初值BB:
MOVX@DPTR,A;D/A轉(zhuǎn)換NOP;延時NOPCJNEA,#0FFH,CC;判斷最大值到否SJMPAACC:INCAAJMPBBEND正弦波編程思路:源程序如下:點擊此處結(jié)束;**********正弦波程序
***************;程序名:正弦波程序PM7_1_2.asm;程序功能:產(chǎn)生正弦波輸出,周期約256ms,幅度約2.5V0000HMAIN0100H#6FHR4,#00HDPTR,#TAB;確定表首地址A,R4A,@A+DPTR;查表取輸出參數(shù)ORGLJMPORGMAIN:
MOV
SP,PUB0:MOVPUB1:MOVMOVMOVCMOVDPTR,
#7FFFHPUB2:
MOVX@DPTR,ALCALL
DELAY_1msINC
R4CJNE
R4,#00H,PUB1;判斷一個周期到否LJMPPUB0TAB
:DB
80H,83H,86H,89H,8DH,90H,93H,96H,99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEHDB
1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H,0C7H,0CAH,0CCH,0CFH,0D1H,0D4H,0D6H
0D8H
DB0DAH,0DDH,0DFH,0E1H,0E3H,0E5H,0E7H,0E9H,0EAH,0ECH,0EEH,0EFH,0F1H,0F2H,0F4H,0F5HDB0F6H,0F7H,0F8H,0F9H,0FAH,0FBH,0FCH,0FDH,0FDH,0FEH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFHDB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FEH,0FDH,0FDH,0FCH,0FBH,0FAH,0F9H,0F8H,0F7H,0F6HDB0F5H,0F4H,0F2H,0F1H,0EFH,0EEH,0ECH,0EAH,0E9H,0E7H,0E5H,0E3H,0E1H,0DFH,0DDH,0DAHDB0D8H,0D6H,0D4H,0DlH,0CFH,0CCH,0CAH,0C7H,0C5H,0C2H,0BFH,0BCH,0BAH,0B7H,0B4H,0B1HDB
0AEH,0ABH,0A8H,0A5H,0A2H,9FH,9CH,99H,96H,93H,90H,8DH,89H,86H,83H,80HDB
80H,7CH,79H,76H,72H,6FH,6CH,69H,66H,63H,60H,5DH,5AH,57H,55H,51HDB
4EH,4CH,48H,45H,43H,40H,3DH,3AH,38H,35H,33H,30H,2EH,2BH,29H,27HDB
25H,22H,20H,1EH,1CH,1AH,18H,16H,15H,13H,11H,10H,0EH,0DH,0BH,0AHDB
09H,08H,07H,06H,05H,04H,03H,02H,02H,01H,00H,00H,00H,00H,00H,00HDB
00H,00H,00H,00H,00H,00H,01H,02H,02H,03H,04H,05H,06H,07H,08H,09HDB
0AH,0BH,0DH,0EH,10H,11H,13H,15H,16H,18H,1AH,1CH,1EH,20H,22H,25HDB
27H,29H,2BH,2EH,30H,33H,35H,38H,點3AH擊,3D此H,4處0H,結(jié)43H束,束,束45H,48H,4CH,4EH點擊此處結(jié)束;**************延時1ms子程序
***************;程序名:DELAY_1ms;程序功能:延時1msDELAY_1ms:PUSH
ACC ;249×4μs+4μs
=1msNOPCLRAPD:NOPINCACJNEA,#0F9H,PD;#F9H
=
249DPOPACCRETEND方波編程思路:源程序如下:;************ 方波程序
*********;程序名:方波程序PM7_1_3.asm;程序功能:產(chǎn)生方波信號輸出0000HSTARTDPTR,#7FFFH;A,
#00H;送ORG
AJMPSTART:MOV輸入存放器地址AA:MOV轉(zhuǎn)換最小值00H;MOVX
@DPTR,AD/A轉(zhuǎn)換LCALL
D點E點E點L擊A此Y此Y此_處1結(jié)m結(jié)ms束;延將硬件電路板和單片機開發(fā)系統(tǒng)連接好,進行以下操作。①
輸入源程序。②
編譯源程序。③ 將輸出Vo與示波器連接。④
運行程序,用示波器觀察輸出電壓波形。點擊此處結(jié)束步驟5—調(diào)試并運行程序①
鋸齒波、正弦波、方波程序的流程圖如圖7.7、圖7.8、圖7.9所示。步驟6—程序分析總結(jié)圖7.7 鋸齒波程序的流程圖點擊此處結(jié)束圖7.8 正弦波程序的流程圖點擊此處結(jié)束圖7.9 方波程序的流程圖點擊此處結(jié)束相關(guān)知識D/A轉(zhuǎn)換器的性能指標〔1〕分辨率〔2〕建立時間D/A轉(zhuǎn)換器芯片DAC0832功能圖7.10 運算放大器接法點擊此處結(jié)束3.接口方式與編程〔1〕直通方式圖7.11 直通方式接線的原理示意圖點擊此處結(jié)束【例7.1】
DAC0832芯片直通方式下的信號發(fā)生器。用采用直通方式連接的DAC0832芯片產(chǎn)生一個周期為1kHz的方波信號?!?〕題意分析在直通方式下,直接將要轉(zhuǎn)換的二進制數(shù)輸出即可獲得相應(yīng)的模擬電壓。因此,先輸出二進制最小值00H,延時
0.5ms,再輸出二進制最大值FFH,延時0.5ms,然后不斷重復(fù)這一過程即可產(chǎn)生方波。點擊此處結(jié)束〔2〕程序設(shè)計用匯編語言實現(xiàn)的程序如下:;***********直通方式下的方波信號發(fā)生器*************;程序名:DAC0832芯片直通方式的方波信號發(fā)生器EX7_1.asm;程序功能:1kHz的方波信號發(fā)生器點擊此處結(jié)束0000HSTARTP1,
#00H;送轉(zhuǎn)ORG
AJMPSTART:MOV換最小值00HLCALL
DELAY1;延時;*************延時0.5ms子程序***************;程序名:DELAY1;程序功能:延時0.5msDELAY_1ms:PUSH
ACC ;124×4μs+4μs
=0.5msNOP點擊此處結(jié)束A;#7BH
=
124DCLRPD:
NOPINC
ACJNE
A,#7BH,PDPOP
ACCRETEND〔2〕單緩沖方式圖7.12
DAC
0832單緩沖方式接口1點擊此處結(jié)束圖7.13
DAC
0832單緩沖方式接口2點擊此處結(jié)束〔3〕雙緩沖方式圖7.14
DAC
0832芯片雙緩沖方式連接圖點擊此處結(jié)束【例7.2】
DAC0832芯片雙緩沖方式下的信號發(fā)生器。假定圖7.14所示的電路中輸入存放器地址為FEH,DAC存放器地址為FFH。請利用該電路設(shè)計一個任意周期的鋸齒波發(fā)生器。〔1〕題意分析先輸出二進制最小值00H,然后按+1規(guī)律遞增,當輸出數(shù)據(jù)到達最大值FFH時,再回到
00H重復(fù)這一過程。由于輸入存放器地址為FEH,DAC存放器地址為FFH,因此在程序中使用MOVX
@
R0,
A和MOVX
@
R1,A兩條傳送指令,才能完成一個數(shù)字量的模擬轉(zhuǎn)換。點擊此處結(jié)束〔2〕程序設(shè)計源程序如下:;**************
鋸齒波程序**************;程序名:DAC0832芯片雙緩沖方式的鋸齒波程序EX7_2.asm;程序功能:產(chǎn)生鋸齒波信號輸出ORG
0000HAJMP
STARTR0,#0FEH;裝入輸R1,#0FFH;裝入DACA,
#00H點擊此處結(jié)束;送轉(zhuǎn)換START:MOV入存放器地址MOV存放器地址AA:MOV初值任務(wù)2 用ADC0809實現(xiàn)數(shù)字電壓表點擊此處結(jié)束任務(wù)分析任務(wù)實現(xiàn)相關(guān)知識任務(wù)分析圖7.15 數(shù)字電壓表電路框圖點擊此處結(jié)束任務(wù)實現(xiàn)步驟1—認識轉(zhuǎn)換元器件圖7.16
ADC0809芯片的引腳圖點擊此處結(jié)束表7.2通道選擇表點擊此處結(jié)束ADDCADDBADDA選擇的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7表7.3 簡易數(shù)字電壓表元器件清單點擊此處結(jié)束步驟2—硬件電路設(shè)計步驟3—準備元器件并制作電路板元器件名稱參
數(shù)數(shù)
量元器件名稱參
數(shù)數(shù)
量IC插座DIP401電阻10kW2IC插座DIP141電阻5kW(可調(diào))1晶體振蕩器12MHz1模數(shù)轉(zhuǎn)換ADC08091瓷片電容22pF2雙D觸發(fā)器74LS741七段數(shù)碼管2或非門74LS021單片機89C511圖7.17 簡易數(shù)字電壓表電路圖點擊此處結(jié)束圖7.18 數(shù)字電壓表電路板硬件實物點擊此處結(jié)束源程序如下:;************簡易數(shù)字電壓表程序
************;程序名:簡易數(shù)字電壓表程序PM7_2.asm;程序功能:顯示0.0~5.0V測量電壓值,分辨率0.1V點擊此處結(jié)束0000HORGAJMPORGMAIN:
MOVMAIN0030HSP,#60HLP:
LCALL
ADCHNLCALLLCALLDATAPRDISP1;調(diào)用取A/D轉(zhuǎn)換電壓數(shù)據(jù)子程序;調(diào)用數(shù)據(jù)處理子程序;調(diào)用顯示子程序LPAJMPEND步驟4—編寫控制程序**********;*********
A/D轉(zhuǎn)換子程序ADCHN;子程序名:ADCHN;功能:讀取A/D轉(zhuǎn)換電壓值;入口參數(shù):無;出口參數(shù):A,存放轉(zhuǎn)換后8位數(shù)字量P0.2P0.2;A/D轉(zhuǎn)換器清0;A/D轉(zhuǎn)換啟動;查詢轉(zhuǎn)換是否結(jié)束?;允許讀取轉(zhuǎn)換結(jié)果ADCON:SETBNOPNOPCLRNOPNOPSETB
P0.2JB
P0.3,
$CLR
P0.2NOPNOPMOVMOV;從P1端口讀取轉(zhuǎn)換數(shù)據(jù)P1,
#0FFHA,
P1RET〔1〕單片機與A/D轉(zhuǎn)換器接口子程序
ADCHN設(shè)計思路點擊此處結(jié)束;********顯示數(shù)據(jù)處理子程序
DATAPR
*************;子程序名:DATAPR;功能:將A中的數(shù)據(jù)轉(zhuǎn)換成0.0~5.0之間的十進制數(shù)。;出口參數(shù):顯示數(shù)據(jù)存放在40H、41H單元中,40H單元存放整數(shù),41H單元存放小數(shù)?!?〕數(shù)據(jù)處理子程序設(shè)計思路點擊此處結(jié)束HE:MOVR2,#00HMOVR3,AMOVR6,#00HMOVR7,#0AHLCALLMULDMOVR6,#00HMOVR7,#33H;把51送到R7LCALLDIVDMOVA,
R3LCALLHBCDMOV41H,AANL41H,
#0FH;把個位的數(shù)送到40H單元SWAPAANLA,#0FHMOV40H,
A;把十位的數(shù)送到40H單元RET點擊此處結(jié)束;************雙字節(jié)乘法子程序MULD*****************;子程序名:MULD;功能:雙字節(jié)二進制無符號數(shù)乘法;入口參數(shù):被乘數(shù)在R2、R3中,乘數(shù)在R6、R7中。;出口參數(shù):乘積在R2、R3、R4、R5中。點擊此處結(jié)束MULD:
MOVA,
R3;計算R3乘R7MOVB,R7MULABMOVR4,B;暫存局部積MOVR5,AMOVA,R3;計算R3乘R6MOVB,R6MULABADDA,R4;累加局部積MOVR4,ACLRAADDCA,BMOVR3,AMOVA,R2;計算R2乘R7MOVB,R7MULABADDA,R4;累加局部積MOVR4,
AMOVA,R3ADDCA,B點擊此處結(jié)束;計算R2乘R6;累加局部積MOV
R3,ACLR
ARLC
AXCH
A,R2MOV
B,R6MUL
ABADD
A,R3MOV
R3,AMOV
A,R2ADDC
A,BMOV
R2,ARET*********雙字節(jié)除法子程序DIVD*********************;子程序名:DIVD;功能:雙字節(jié)二進制無符號數(shù)除法;入口參數(shù):被除數(shù)在R2、R3、R4、R5中,除數(shù)在R6、R7中。;出口參數(shù):OV=0時,雙字節(jié)商在R2、R3中,OV=1時表示溢出。點擊此處結(jié)束;比較被除數(shù)和除數(shù);溢出DIVD:
CLR
CMOV
A,R3SUBB
A,R7MOV
A,R2SUBB
A,R6JC
DVD1SETB
OVRETDVD1:
MOVB,#10H;計算雙字節(jié)商DVD2:
CLRC;局部商和余數(shù)同時左移一位MOVA,R5RLCAMOVR5,AMOVA,R4RLCAMOVR4,AMOVA,R3RLCAMOVR3,AXCHA,R2RLCAXCHA,R2MOVF0,C;保存溢出位點擊此處結(jié)束CLRCSUBBA,R7;計算R2R3-R6R7MOVR1,AMOVA,R2SUBBA,R6ANLC,/F0;結(jié)果判斷JCDVD3MOVR2,A;存放新的余數(shù)MOVA,R1MOVR3,AINCR5DVD3:
DJNZB,DVD2;是否計算完十六位商MOVA,R4;將商移至R2R3中MOVR2,AMOVA,R5MOVR3,ACLROVRET點擊此處結(jié)束********將十六進制數(shù)轉(zhuǎn)換成BCD碼子程序HBCD*********;子程序名:HBCD;功能:將單字節(jié)十六進制整數(shù)轉(zhuǎn)換成單字節(jié)BCD碼整數(shù);入口參數(shù):單字節(jié)十六進制整數(shù)在A中;出口參數(shù):轉(zhuǎn)換后的BCD碼十位和個位整數(shù)存在A中,百位點擊此處結(jié)束存在R3中HBCD:
MOVB,#100;別離出百位,存放在R3中DIVABMOVR3,AMOVA,#10;余數(shù)別離為十位和個位XCHA,BDIVABSWAPAORLA,B;將十位和個位拼成壓縮BCD碼RET*************數(shù)碼管動態(tài)顯示子程序DISP1***********;子程序名:DISP1;功能:用兩位數(shù)碼管顯示0.0~5.0數(shù)字;入口參數(shù):40H、41HDISP1:MOVDPTR,#TAB;設(shè)置不含小數(shù)點顯示字符表首地址MOVA,
41HMOVCA,@A+DPTR ;取顯示字符SETBP0.7 ;屏蔽十位顯示CLRP0.6 ;選擇個位顯示MOVP2,A ;送個位顯示字符LCALLDELAYLCALLDELAY〔3〕分析顯示程序設(shè)計思路點擊此處結(jié)束MOV
DPTR,#EVER;設(shè)置含小數(shù)點顯示字符表首地址點擊此處結(jié)束;屏蔽個位顯示;選擇十位顯示;送十位顯示字符A,
40HA,
@A+DPTRP0.6P0.7P2,ADELAYDELAYMOVMOVCSETBCLRMOVLCALLLCALLRETTAB:DB80H,90HEVER:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,;顯示字符40H,79H,24H,30H,19H,12H,02H,078H,00H,10HR6,#10R7,#250R7,DEL1R6,DEL2DELAY:MOVDEL2:
MOVDEL1:
NOPNOPDJNZDJNZRETEND① 按照工程1建立起單片機開發(fā)環(huán)境,連接目標板和仿真器。② 在MedWin界面下輸入?yún)R編語言程序
PM7_2.asm。③
保存程序到指定的路徑下。④
編譯上述程序。⑤
用單步運行、斷點運行等方法調(diào)試程序,當程序運行無誤后,在連續(xù)運行狀態(tài)下觀察初始顯示狀態(tài)是否正確。點擊此處結(jié)束步驟5—調(diào)試并運行程序⑥當改變輸入被測電壓時,觀察顯示是否跟隨變化。用萬用表測量一下實際電壓并與顯示電壓值對照,如果有很大的誤差,分析可能產(chǎn)生誤差的原因。點擊此處結(jié)束① 數(shù)字電壓表程序流程圖如圖7.19所示。② 在完成0.0~5.0V數(shù)字電壓表的根底上,做一個分辨率為0.01V的電壓表或制作一個最大量程為12V的電壓表。思考硬件和軟件應(yīng)做如何改動。點擊此處結(jié)束步驟6—程序分析總結(jié)圖7.19 數(shù)字電壓表程序流程圖點擊此處結(jié)束相關(guān)知識1.ADC0809的內(nèi)部結(jié)構(gòu)圖7.20
ADC0809內(nèi)部邏輯結(jié)構(gòu)點擊此處結(jié)束2.MCS-51單片機與ADC0809接口圖7.21
ADC0809芯片與8031單片機的連接點擊此處結(jié)束因此該ADC0809的通道地址確定如下:〔1〕8路模擬通道選擇點擊此處結(jié)束8031A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0809×××××××ST×××××CBA×××××××0×××××000……×××××××0×××××111【例7.3】 中斷方式的A/D轉(zhuǎn)換應(yīng)用。某冷凍廠需對8個冷凍室進行溫度巡回檢測。要求利用圖7.21設(shè)計一個用單片機控制的巡回檢測系統(tǒng),使其能對各冷凍室的溫度巡回檢測并加以處理?!?〕轉(zhuǎn)換數(shù)據(jù)的傳送點擊此處結(jié)束〔1〕題意分析本例需要實現(xiàn)如下3個功能。溫度采集:由溫度傳感器實現(xiàn),可選用熱敏電阻或集成溫度傳感器DS18B20等芯片,在每個冷凍室的適宜位置安放,傳感器的輸出可分別送到IN0~IN7。巡回檢測:8路信號同時輸入到各相應(yīng)的通道,但ADC0809一個時刻只能轉(zhuǎn)換一個通道的數(shù)據(jù),可分時轉(zhuǎn)換8路通道的數(shù)據(jù),程序設(shè)計時可通過修改通道地址選擇線來實現(xiàn)。中斷控制:翻開外部中斷1,每轉(zhuǎn)換完一個通道的數(shù)據(jù)就中斷一次,在中斷處理程序中保存轉(zhuǎn)換后的數(shù)據(jù),并修改通道地址選擇線,實現(xiàn)下一通道的信息轉(zhuǎn)換。點擊此處結(jié)束〔2〕程序設(shè)計用匯編語言
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025動產(chǎn)不動產(chǎn)贈與合同
- 2025空調(diào)清洗保養(yǎng)合同家用版
- 2025版快遞運輸合同范本附加客戶滿意度調(diào)查條款2篇
- 二零二五年度建筑泥水工勞務(wù)分包及綠色建筑材料采購合同3篇
- 二零二五年度海洋工程勞務(wù)分包合同海上作業(yè)安全協(xié)議3篇
- 2025版高端商業(yè)地產(chǎn)買賣合同模板二零二五3篇
- 2025車輛質(zhì)押借款合同范本「標準版」
- 二零二五年度房屋交易資金收取確認協(xié)議6篇
- 2025個人住房質(zhì)押擔保的借款的合同范本
- 2025簽訂經(jīng)濟合同時如何規(guī)避稅收風險
- GB/T 1040.3-2006塑料拉伸性能的測定第3部分:薄膜和薄片的試驗條件
- 定崗定編定員實施方案(一)
- 河北省房屋建筑和市政基礎(chǔ)設(shè)施施工圖設(shè)計文件審查要點(版)
- 醫(yī)院院長年終工作總結(jié)報告精編ppt
- 綠化養(yǎng)護重點難點分析及解決措施
- “三排查三清零”回頭看問題整改臺賬
- 造價咨詢結(jié)算審核服務(wù)方案
- 中國人民財產(chǎn)保險股份有限公司機動車綜合商業(yè)保險條款
- 八年級物理上冊計算題精選(50道)
- 礦井反風演習方案
- 2022年脛骨平臺三柱理論
評論
0/150
提交評論