《單片機原理及應用》實驗指導_第1頁
《單片機原理及應用》實驗指導_第2頁
《單片機原理及應用》實驗指導_第3頁
《單片機原理及應用》實驗指導_第4頁
《單片機原理及應用》實驗指導_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機原理及應用實驗指導書余錫存 主編南京師范大學電氣與自動化工程學院2007年2月實驗一 單片機開發(fā)系統(tǒng)的操作練習 1、 實驗目的通過簡單程序的編輯、調(diào)試、執(zhí)行,了解開發(fā)系統(tǒng)的操作過程。2、 實驗設備計算機一臺,MCS-51仿真調(diào)試軟件SUPER ICES-G16一套。 3、 實驗內(nèi)容A、 熟悉SUPER ICES-G16軟件的各項菜單功能。B、 計算N個數(shù)據(jù)的和:Y=Xi。其中,Xi分別放在片內(nèi)RAM區(qū)50H55H單元中,求和的結(jié)果放在片內(nèi)RAM區(qū)03H(高位)、04H(低位)單元中。參考程序SUM.ASM: ORG 0000HAJMP MAINORG 0100HMAIN: MOV R2,

2、#06H MOV R3,#00H MOV R4,#00H MOV R0,#50HL1: MOV A,R4 ADD A,R0 MOV R4 , A INC R0CLR AADDC A,R3MOV R3,ADJNZ R2,L1L2: SJMP L2運行MCS-51仿真軟件,在編輯窗口編輯好文件SUM。ASM后,按F10鍵進入主菜單選擇Assemble項進行匯編,若無誤后按F8鍵執(zhí)行。C、 注意:在程序執(zhí)行前,按F10鍵進入主菜單選擇WINDOWS窗口,按Tab鍵將光標移到DATA項,修改50H55H單元的內(nèi)容。重新編譯后,按F8單步運行,觀察內(nèi)部RAM區(qū)03H、04H單元的內(nèi)容,做好記錄。練習:(

3、1)32H+41H+01H+56H+11H+03H=?(2)95H+01H+02H+44H+48H+12H=?(3)54H+F6H+1BH+20H+04H+C1H=?實驗二 MCS-51匯編程序編程練習一1、 實驗目的熟悉MCS-51的指令系統(tǒng),了解編程方法。2、 實驗設備計算機一臺,MCS-51仿真調(diào)試軟件SUPER ICES-G16一套。 3、 實驗內(nèi)容在內(nèi)部RAM的BLOCK開始的單元中有一無符號數(shù)據(jù)塊,數(shù)據(jù)塊長度存入LEN單元。試編程求其中的最大數(shù)并存入MAX單元中。參考程序MAX.ASM: ORG 0000H AJMP START ORG 0300HBLOCK DATA 20HLEN

4、 DATA 40HMAX DATA 42HSTART: MOV MAX,#00H MOV R0,#BLOCKLOOP:MOV A,R0 CJNE A,MAX,NEXT1NEXT1:JC NEXTMOV MAX,ANEXT: INC R0 DJNZ LEN,LOOP SJMP $ END4、 實驗步驟A、運行MCS-51仿真軟件,在編輯窗口編輯好文件MAX.ASM 。B、 在程序執(zhí)行前,選擇WINDOWS窗口,將光標移到DATA項,將10個數(shù)據(jù)裝入內(nèi)部RAM 20H29H單元,并將40H的內(nèi)容修改為10。C、 選擇Assemble項進行匯編,若無誤后按F8執(zhí)行。觀察40H、42H單元的內(nèi)容,并記

5、錄結(jié)果。實驗三 MCS-51匯編程序編程練習二1、實驗目的熟悉MCS-51的指令系統(tǒng),了解編程方法。2、實驗設備計算機一臺,MCS-51仿真調(diào)試軟件SUPER ICES-G16一套。 3、實驗內(nèi)容在外部RAM的BLOCK單元開始有一數(shù)據(jù)塊,數(shù)據(jù)塊長度存入內(nèi)部RAM的LEN單元。試編程統(tǒng)計其中的正數(shù)、負數(shù)和零的個數(shù)分別存入內(nèi)部RAM的PCOUNT、MCOUNT和ZCOUNT單元。參考程序PMZ.ASM: ORG 0000H AJMP START ORG 0300HBLOCK XDATA 1000HLEN DATA 20HPCOUNT DATA 21HMCOUNT DATA 22HZCOUNT D

6、ATA 23HSTART : MOV R0,#00H MOV R1,#00H MOV R2,#00H MOV DPTR,#BLOCKLOOP:MOVX A,DPTR INC DPTR JB ACC.7,F(xiàn)U CJNE A,#00H,NEXT1 INC R0 SJMP NEXTNEXT1:INC R2SJMP NEXT FU: INC R1NEXT: DJNZ LEN,LOOP MOV ZCOUNT, R0MOV MCOUNT, R1MOV PCOUNT, R2 SJMP $ END4、實驗步驟A、運行MCS-51仿真軟件,在編輯窗口編輯好文件PMZ.ASM 。B、 在程序執(zhí)行前,選擇WINDO

7、WS窗口,將光標移到XDATA項,將10個數(shù)據(jù)裝入外部RAM 1000H1009H單元,并將20H的內(nèi)容修改為10。C、 選擇Assemble項進行匯編,若無誤后按F8執(zhí)行。觀察21H、22H和23H單元的內(nèi)容,并記錄結(jié)果。實驗四 MCS-51匯編程序編程練習三1、實驗目的熟悉MCS-51的指令系統(tǒng),了解編程方法。2、實驗設備計算機一臺,MCS-51仿真調(diào)試軟件SUPER ICES-G16一套。 3、實驗內(nèi)容將外部RAM的40H單元中的一個字節(jié)拆成2個ASCII碼,分別存入內(nèi)部RAM41H和42H單元中。參考程序ASCII.ASM: ORG 0000H LJMP START ORG 1000H

8、START : MOV DPTR,#40H MOV R0,#41H MOVX A,DPTR PUSH A ANL A,#0FH LCALL CHANGE MOV R0,A INC R0 POP A SWAP AANL A,#0FHLCALL CHANGE MOV R0,A SJMP $CHANGE:CJNE A,#0AH,NEXTNEXT: JNC NEXT1 ADD A,#30H RETNEXT1:ADD A,#37H RET END4、實驗步驟A、運行MCS-51仿真軟件,在編輯窗口編輯好文件ASCII.ASM 。B、在程序執(zhí)行前,選擇WINDOWS窗口,將光標移到DATA項,將12H數(shù)據(jù)

9、裝入外部RAM 40H單元。C、 選擇Assemble項進行匯編,若無誤后按F8執(zhí)行。觀察41H、42H單元的內(nèi)容,并記錄結(jié)果。D、選擇WINDOWS窗口,將光標移到DATA項,把外部RAM 40H單元的內(nèi)容修改為ABH。再選擇Assemble項進行匯編,若無誤后按F8執(zhí)行。觀察41H、42H單元的內(nèi)容,并記錄結(jié)果。實驗五 ADC0809模數(shù)轉(zhuǎn)換實驗一、實驗目的1、掌握ADC0809模/數(shù)轉(zhuǎn)換芯片與單片機的連接方法及ADC0809的典型應用2、掌握用少量的指令調(diào)試硬件的方法3、掌握用查詢方式、中斷方式完成模/數(shù)轉(zhuǎn)換程序的編寫方法二、實驗說明本實驗使用ADC0809模數(shù)轉(zhuǎn)換器,ADC0809是8

10、通道8位CMOS逐次逼近式A/D轉(zhuǎn)換芯片,片內(nèi)有模擬量通道選擇開關(guān)及相應的通道鎖存、譯碼電路,A/D轉(zhuǎn)換后的數(shù)據(jù)由三態(tài)鎖存器輸出,由于片內(nèi)沒有時鐘需外接時鐘信號。下圖為該芯片的引腳圖。各引腳功能如下:IN0IN7:八路模擬信號輸入端。ADD-A、ADD-B、ADD-C:三位地址碼輸入端。八路模擬信號轉(zhuǎn)換選擇由這三個端口控制。CLOCK:外部時鐘輸入端。D0D7:數(shù)字量輸出端。OE:A/D轉(zhuǎn)換結(jié)果輸出允許控制端。當OE為高電平時,允許A/D轉(zhuǎn)換結(jié)果從D0D7端輸出。ALE:地址鎖存允許信號輸入端。八路模擬通道地址由A、B、C輸入,在ALE信號有效時將該八路地址鎖存。START:啟動A/D轉(zhuǎn)換信號

11、輸入端。當START端輸入一個正脈沖時,將進行A/D轉(zhuǎn)換。EOC:A/D轉(zhuǎn)換結(jié)束信號輸出端。當 A/D轉(zhuǎn)換結(jié)束后,EOC輸出高電平。ref(+)、ref(-):正負基準電壓輸入端?;鶞收妷旱牡湫椭禐?5V。VCC和GND:芯片的電源端和地端。三、實驗步驟1、使用ADC0809與單片機接口模塊,用十線扁平插頭將P1口與8位發(fā)光二極管模塊相連,用導線將RXD、TXD與串行靜態(tài)顯示模塊的DIN、CLK相連,將+5V電源和地分別接口到模擬信號輸入的“+”“-”兩端,將實驗臺左右兩塊面板上,正負5V電源之間的地相連。2、安裝好仿真器,用串行數(shù)據(jù)通信線連接計算機與仿真器,把仿真頭插到模塊的單片機插座中,

12、打開模塊電源,插上仿真器電源插頭。3、啟動計算機,打開偉福仿真軟件,進入仿真環(huán)境。選擇仿真器型號、仿真頭型號、CPU類型;選擇通信端口,測試串行口。4、輸入源程序,編譯無誤后,全速運行程序,5LED靜態(tài)顯示“AD XX”,“XX”為AD轉(zhuǎn)換后的值,8位發(fā)光二極管顯示“XX”的二進制值,調(diào)節(jié)模擬信號輸入端的電位器旋鈕,顯示值隨著變化,順時針旋轉(zhuǎn)值增大,AD轉(zhuǎn)換值的范圍是0FFH。5、可把源程序編譯成OBJ文件,燒錄到89C51芯片中。四、流程圖及源程序1.源程序 DBUF0 EQU 30H TEMP EQU 40H DIN BIT 0B0H CLK BIT 0B1H ORG 0000HSTART

13、: MOV R0,#DBUF0 ;顯示緩沖器存放0AH,0DH,-,0XH,0XH MOV R0,#0AH ;串行靜態(tài)顯示“AD XX”XX表示0F INC R0 MOV R0,#0DH INC R0 MOV R0,#11H INC R0 MOV DPTR,#0FEF3H ;A/D地址 MOV A,#0 ;清零 MOVX DPTR,A ;啟動A/DWAIT: JNB P3.3,WAIT ;等待轉(zhuǎn)換結(jié)束 MOVX A,DPTR ;讀入結(jié)果 MOV P1,A ;轉(zhuǎn)換結(jié)果送入發(fā)光二極管顯示 MOV B,A ;累加器內(nèi)容存入B中 SWAP A ;A的內(nèi)容高四位與低四位交換 ANL A,#0FH ;A的

14、內(nèi)容高四位清零 XCH A,R0 ;A/D轉(zhuǎn)換結(jié)果高位送入DBUF3中 INC R0 MOV A,B ;取出A/D轉(zhuǎn)換后的結(jié)果 ANL A,#0FH ;A的內(nèi)容高四位清零XCH A,R0 ;結(jié)果低位送入DBF4中 ACALL DISP1 ;串行靜態(tài)顯示“AD XX” ACALL DELAY ;延時 AJMP STARTDISP1: ;靜態(tài)顯示子程序 MOV R0,#DBUF0 MOV R1,#TEMP MOV R2,#5DP10: MOV DPTR,#SEGTAB ;表頭地址 MOV A,R0 MOVC A,A+DPTR ;取段碼 MOV R1,A ;到TEMP中 INC R0 INC R1

15、DJNZ R2,DP10 MOV R0,#TEMP ;段碼地址指針 MOV R1,#5 ;段碼字節(jié)數(shù)DP12: MOV R2,#8 ;移位次數(shù) MOV A,R0 ;取段碼DP13:RLC A ;段碼左移 MOV DIN,C ;輸出一位段碼 CLR CLK ;發(fā)送一個位移脈沖 SETB CLK DJNZ R2,DP13 INC R0 DJNZ R1,DP12 RETSEGTAB:DB 3FH,6,5BH,4FH,66H,6DH ;0,1,2,3,4,5 DB 7DH,7,7FH,6FH,77H,7CH ;6,7,8,9,A,B DB 58H,5EH,79H,71H,0,40H ;C,D,E,F(xiàn),

16、(空格),-DELAY: MOV R4,#08H ;延時AA1: MOV R5,#0FFHAA: NOP NOPDJNZ R5,AA DJNZ R4,AA1 RET END2.流程圖開始初始化啟動A/D轉(zhuǎn)換A/D轉(zhuǎn)換完 成?數(shù)據(jù)輸出延時結(jié)束圖9 程序流程圖五、思考題1、A/D轉(zhuǎn)換程序有三種編制方式:中斷方式、查詢方式、延時方式,實驗中使用了查詢方式,請用另兩種方式編制程序。2、P0口是數(shù)據(jù)/地址復用的端口,請說明實驗中ADC0809的模擬通道選擇開關(guān)在利用P0口的數(shù)據(jù)口或地址地位口時,程序指令和硬件連線的關(guān)系。 六、電路圖圖10 實驗電路原理圖實驗六 DAC0832數(shù)模轉(zhuǎn)換實驗一、實驗目的1、

17、 掌握DAC0832直通方式,單緩沖器方式、雙緩沖器方式的編程方法2、 掌握用仿真器調(diào)試硬件電路的方法3、 掌握D/A轉(zhuǎn)換程序的編程方法和調(diào)試方法二、實驗說明DAC0832是8位D/A轉(zhuǎn)換器,它采用CMOS工藝制作,具有雙緩沖器輸入結(jié)構(gòu),其引腳排列如圖所示,DAC0832各引腳功能說明:DI0DI7:轉(zhuǎn)換數(shù)據(jù)輸入端。CS:片選信號輸入端,低電平有效。ILE:數(shù)據(jù)鎖存允許信號輸入端,高電平有效。WR1:第一寫信號輸入端,低電平有效,Xfer:數(shù)據(jù)傳送控制信號輸入端,低電平有效。WR2:第二寫信號輸入端,低電平有效。Iout1:電流輸出1端,當數(shù)據(jù)全為1時,輸出電流最大;當數(shù)據(jù)全為0時,輸出電流最

18、小。Iout2:電流輸出2端。DAC0832具有:Iout1+Iout2=常數(shù)的特性。Rfb:反饋電阻端。Vref:基準電壓端,是外加的高精度電壓源,它與芯片內(nèi)的電阻網(wǎng)絡相連接,該電壓范圍為:-10V+10V。VCC和GND:芯片的電源端和地端。DAC0832內(nèi)部有兩個寄存器,而這兩個寄存器的控制信號有五個,輸入寄存器由ILE、CS、WR1控制,DAC寄存器由WR2、Xref控制,用軟件指令控制這五個控制端可實現(xiàn)三種工作方式:直通方式、單緩沖方式、雙緩沖方式。直通方式是將兩個寄存器的五個控制端預先置為有效,兩個寄存器都開通只要有數(shù)字信號輸入就立即進入D/A轉(zhuǎn)換。單緩沖方式使DAC0832的兩個輸入寄存器中有一個處于直通方式,另一個處于受控方式,可以將WR2和Xfer相連在接到地上,并把WR1接到89C51的WR上,ILE接高電平,CS接高位地址或地址譯碼的輸出端上。雙緩沖方式把DAC0832的輸入寄存器和DAC寄存器都接成受控方式,這種方式可用于多路模擬量要求同時輸出的情況下。三種工作方式區(qū)別是:直通方式不需要選通,直接D/A轉(zhuǎn)換;單緩沖方式一次選通;雙緩沖方式二次選通。三、實驗步驟1、使用DAC0832與單片機接口電路模塊,將-5V電源接到參考電壓輸入端,模擬信號輸出V0的正負兩端接示波器探頭。2、安裝好仿真器,用串行數(shù)據(jù)通信線連接計算機

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論