資源描述:
《模數(shù)轉(zhuǎn)換接口.docx》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、實(shí)驗(yàn)11.模/數(shù)轉(zhuǎn)換接口一、實(shí)驗(yàn)?zāi)康牧私饽?數(shù)轉(zhuǎn)換工作原理,掌握MSP430內(nèi)部ADC12模/數(shù)轉(zhuǎn)換模塊的控制和應(yīng)用。二、實(shí)驗(yàn)任務(wù)1.模/數(shù)轉(zhuǎn)換器ADC12的編程控制利用MSP430F1xx內(nèi)部的ADC12模數(shù)轉(zhuǎn)換器,采用單通道單次轉(zhuǎn)換方式,對(duì)實(shí)驗(yàn)板上的一路模擬信號(hào)進(jìn)行A/D轉(zhuǎn)換,模擬信號(hào)為一個(gè)0~3.3V的直流電壓信號(hào),模擬信號(hào)的大小可以通過調(diào)節(jié)可調(diào)電阻的阻值改變,可參看附錄A實(shí)驗(yàn)板原理圖中模擬信號(hào)調(diào)理電路部分。對(duì)每個(gè)模擬信號(hào)轉(zhuǎn)換4次,求平均值后,將得到的12位轉(zhuǎn)換結(jié)果通過8個(gè)發(fā)光二極管顯示出來,分兩次顯示,先顯示轉(zhuǎn)換結(jié)果的高4位,延
2、時(shí)一會(huì),再顯示轉(zhuǎn)換結(jié)果的低8位。記錄3個(gè)模擬信號(hào)的轉(zhuǎn)換結(jié)果,將數(shù)字量換算為模擬量,與示波器測(cè)量的結(jié)果比較。程序清單如下:#include"msp430.h"NAMEmainPUBLICmainORG0FFFEhDC16initRSEGDATA16_NbufferDS168RSEGCSTACKRSEGCODEinit:MOV#SFE(CSTACK),SPmain:NOPMOV.W#WDTPW+WDTHOLD,&WDTCTLBIS.B#BIT0,&P6SELBIC.B#BIT0,&P6DIRMOV.B#0,&P2SELMOV.B#0FFh,
3、&P2DIRMOV.B#0FFh,&P2OUTBIS#ADC12ON,&ADC12CTL0BIS#ENC,&ADC12CTL0start:MOV#4,R4MOV#0,R5stAD:BIS#ADC12SC,&ADC12CTL0CALL#delayBIC#ADC12SC,&ADC12CTL0chkAD:BIT#BIT0,&ADC12IFGJZchkADMOV&ADC12MEM0,buffer(R5)INCDR5DECR4JNZstADMOV#4,R4MOV#0,R5MOV#0,R6sum:ADDbuffer(R5),R6INCDR5DECR
4、4JNZsumRRAR6RRAR6MOV.BR6,R7MOV#8,R4rr:RRAR6DECR4JNZrrXOR#0FFFFh,R6XOR#0FFFFh,R7MOV.BR6,&P2OUTCALL#delayMOV.BR7,&P2OUTCALL#delayJMPstartdelay:PUSHSRMOV#0FFFFh,R8wait:DECR8JNZwaitPOPSRRETEND思考:1)如果模擬信號(hào)是從P6.4接入,如何編程?請(qǐng)?jiān)趯?shí)驗(yàn)板上連線,并完成。將P6.4與ADC端口相連,相應(yīng)程序修改如下:BIS.B#BIT4,&P6SELBIC.B
5、#BIT4,&P6DIRMOV.B#0,&P2SELMOV.B#0FFh,&P2DIRMOV.B#0FFh,&P2OUTBIS#ADC12ON,&ADC12CTL0BIS.B#INCH2,&ADC12MCTL0BIS#ENC,&ADC12CTL02)如果模擬信號(hào)是一個(gè)峰峰值在0~3.3V之間可調(diào)、頻率為50Hz的正弦波電壓信號(hào),如何編程控制對(duì)該正弦波1個(gè)周期的信號(hào)采樣32點(diǎn)?如何編程根據(jù)采樣值計(jì)算模擬信號(hào)的峰峰值大???計(jì)算出ADC12CLK頻率為123.2KHz,置SMCLK為DCOCLK。三、已完成的選做任務(wù)2.(選做)制作一個(gè)量程為
6、0~3.3V的數(shù)字電壓表A將任務(wù)1中A/D轉(zhuǎn)換得到的12位數(shù)字量通過數(shù)碼管和LED燈顯示出來,高四位用數(shù)碼管采用16進(jìn)制顯示,低8位用二進(jìn)制在LED燈上顯示。如數(shù)字量0xB8A,則數(shù)碼管上顯示B,8個(gè)發(fā)光二極管顯示。請(qǐng)記錄3組同時(shí)用自制電壓表和示波器進(jìn)行測(cè)量得到的電壓值,并進(jìn)行比較。程序清單如下:#include"msp430.h"NAMEmainPUBLICmainORG0FFFEhDC16initRSEGDATA16_CLEDdata:DB3Fh,06h,5Bh,4Fh,66h,6Dh,7Dh,07h,7Fh,6Fh,77h,7Ch
7、,39h,5Eh,79h,71hRSEGDATA16_NbufferDS168RSEGCSTACKRSEGCODEinit:MOV#SFE(CSTACK),SPmain:NOPMOV.W#WDTPW+WDTHOLD,&WDTCTLBIS.B#BIT0,&P6SELBIC.B#BIT0,&P6DIRBIC.B#BIT1+BIT2+BIT3+BIT4,&P6SELBIS.B#BIT1+BIT2+BIT3+BIT4,&P6DIRMOV.B#0,&P2SELMOV.B#0FFh,&P2DIRMOV.B#0FFh,&P2OUTBIS#ADC12O
8、N,&ADC12CTL0BIS#ENC,&ADC12CTL0;BIS#SHP,&ADC12CTL0;BIS#SHT02+ADC12ON,&ADC12CTL0;BIS#ENC,&ADC12CTL0start: