東南大學(xué)單片機(jī)試驗(yàn)報(bào)告材料_第1頁
東南大學(xué)單片機(jī)試驗(yàn)報(bào)告材料_第2頁
東南大學(xué)單片機(jī)試驗(yàn)報(bào)告材料_第3頁
東南大學(xué)單片機(jī)試驗(yàn)報(bào)告材料_第4頁
東南大學(xué)單片機(jī)試驗(yàn)報(bào)告材料_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、實(shí)用文檔單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)報(bào)告姓名:.學(xué)號(hào):院系:儀器科學(xué)與工程學(xué)院專業(yè):測控技術(shù)與儀器實(shí)驗(yàn)室:機(jī)械樓 5 樓同組人員:評(píng)定成績:_ 審閱教師:_實(shí)用文檔軟件實(shí)驗(yàn)一數(shù)據(jù)傳送實(shí)驗(yàn)、實(shí)驗(yàn)?zāi)康?、熟悉單片機(jī)仿真開發(fā)器的使用;2、掌握編程方法;3、掌握8051部RAM的數(shù)據(jù)操作、實(shí)驗(yàn)容部RAM40H4FH單元置數(shù)A0HAFH然后將40H4FH單元容送到部RAM50H5F單元中。編輯、編譯、運(yùn)行程序,檢查部RAM中的結(jié)果。三、實(shí)驗(yàn)程序ORG 0000HRESET: AJMP MAINORG 003FHMAIN: MOV R0,#40HMOV R2,#10HMOV A,#0A0HA1: MOV R0,

2、AINC R0INC ADJNZ R2,A1MOV R0,#40HMOV R1,#50HMOV R2,#10HA2: MOV A,R0MOV R1,AINC R0INC R1DJNZ R2,A2A3: SJMP A3四、實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)顯示RAM的40H4FH以及50H5FH的容都為A0HAFH五、實(shí)驗(yàn)提高修改程序:將所置的數(shù)改為00H1FH置數(shù)單元和傳送單元分別改為部RAM勺40H5FH60H7FH思考:見實(shí)驗(yàn)程序注釋部分。軟件實(shí)驗(yàn)二多字節(jié)十進(jìn)制加法實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康恼莆誐CS-51匯編語言程序設(shè)計(jì)方法提高時(shí)將10H改為20H提高時(shí)將0A0H改為00H提高時(shí)將50H改為60H提高時(shí)將10H改為20

3、H實(shí)用文檔二、實(shí)驗(yàn)容多字節(jié)十進(jìn)制加法;加數(shù)存儲(chǔ)單元首地址由R0指出,被加數(shù)和結(jié)果的存儲(chǔ)單元首地址由R1指出,字節(jié)數(shù)由R2指出;編輯、編譯、運(yùn)行程序,檢查部RAM中的結(jié)果。三、實(shí)驗(yàn)程序加數(shù)存儲(chǔ)單元為:31H、30H,被加數(shù)存儲(chǔ)單元為:21H、20H,結(jié)果存儲(chǔ)單元為:22H、21H 20H。ORG 0000HRESET: AJMP MAINORG 0100HMAIN: MOV SP,#60HMOV R0,#31HMOV R0,#22H ;提高時(shí)將加數(shù)高位22H改為自定義的數(shù)的高位(如45H)DEC R0MOV R0,#33H ;提高時(shí)將加數(shù)低位33H改為自定義的數(shù)的低位(如34H)MOV R1,#

4、21HMOV R1,#44H ;提高時(shí)作為被加數(shù)的高位被修改(如改為35H)DEC R1MOV R1,#55H ;提高時(shí)作為被加數(shù)的低位被修改(如改為56H)MOV R2,#02HACALL DACEHERE: SJMP HEREDACE: CLR CDAL: MOV A,R0ADDC A,R1DA AMOV R1,AINC ROINC R1DJNZ R2,DALCLR AMOV ACC.0,CMOV R1,ARET實(shí)用文檔四、實(shí)驗(yàn)結(jié)果被加數(shù)單元地址(21H) (20H)加數(shù)單元地址(31H) (30H)+)結(jié)果單元地址(22H)(21H) (20H)被加數(shù)數(shù)值35H 56H_加數(shù)數(shù)值22H

5、33H _+)結(jié)果數(shù)值00H 66H 88H五、實(shí)驗(yàn)提高修改加數(shù)和被加數(shù)(十進(jìn)制數(shù)),重復(fù)運(yùn)行程序。 思考:見程序注釋部分,改過之后結(jié)果如下:被加數(shù)數(shù)值加數(shù)數(shù)值+)結(jié)果數(shù)值44H 55H45H 34H00H 89H 89H實(shí)用文檔軟件實(shí)驗(yàn)三十進(jìn)制數(shù)排序?qū)嶒?yàn)一、實(shí)驗(yàn)?zāi)康恼莆帐M(jìn)制數(shù)的排序方法二、實(shí)驗(yàn)容本程序用的是“冒泡排序”法,是將一個(gè)數(shù)與后面的數(shù)相比較,如果比后面的數(shù)大,則 交換,如此將所有的數(shù)比較一遍后,最大的數(shù)就會(huì)在數(shù)列的最后面。再進(jìn)行下一輪比較,找 出第二大數(shù)據(jù),直到全部數(shù)據(jù)有序,即從小到大排序。三、實(shí)驗(yàn)流程圖實(shí)用文檔四、實(shí)驗(yàn)程序SIZE EQU 10ARRAY EQU 40HCHANG

6、E EQU 0SORT:MOV R0,#ARRAYMOV R7,#SIZE-1CLR CHANGEGOON:MOV A,R0MOV R2,AINC ROMOV B,R0CJNE A,B,NOTEQUALSJMP NEXTNOTEQUAL:JC NEXT;提高時(shí)將“JC” 改為“JNCSETB CHANGEXCH A,R0DEC R0XCH A,R0INC R0NEXT:DJNZ R7,GOONJB CHANGE,SORTLJMP $END五、實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)時(shí),運(yùn)行程序前手動(dòng)更改RAM 50H59H的容為任意10個(gè)無序的數(shù),如00H,89H, F6H, 6AH, 04H, C0H, BAH 34H

7、, 25H, FFH運(yùn)行程序后可以看到50H59H的容變?yōu)?0H,04H,25H,34H,6AH,89H,BAH,C0H,F6H,FFH即按升序排列的10個(gè)數(shù)。六、實(shí)驗(yàn)提高修改程序,按照從小到大的順序排列。思考:只要將NOTEQUAL程序中的JC改為JNC即可實(shí)現(xiàn)。運(yùn)行后的數(shù)據(jù)將按照從大到 小排列。硬件實(shí)驗(yàn)一 I/O口輸入/輸出及控制實(shí)驗(yàn)I、I/O 口輸入/輸出實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、學(xué)習(xí)單片機(jī)I/O口的使用方法;2、學(xué)習(xí)延時(shí)子程序的編寫和使用。實(shí)用文檔二、實(shí)驗(yàn)容1、I/O口輸出:P1口做輸出口,接八只發(fā)光二極管,編寫程序讓發(fā)光二極管循環(huán)點(diǎn)亮。2、I/O口輸入/輸出:P1.0、P1.1做輸入口接兩

8、個(gè)撥動(dòng)開關(guān);P1.2、P1.3做輸出口,接 兩個(gè)發(fā)光二極管。編寫程序讀取開關(guān)狀態(tài),將此狀態(tài)在發(fā)光二極管上顯示出來。 編程時(shí)應(yīng)注 意P1.0、P1.1作為輸入口時(shí)應(yīng)先置1,才能正確讀入值。三、實(shí)驗(yàn)步驟1、I/O口輸出硬件連接連線連接孔1連接孔21P1.0L02P1.1L13P1.2L24P1.3L35P1.4L46P1.5L57P1.6L68P1.7L7MCS5啲P1口循環(huán)點(diǎn)燈2、I/O口輸入/輸出硬件連接連線連接孔1連接孔21K4P1.02K5P1.13P1.2L44P1.3L5MCS5啲P1口輸入/輸出3、實(shí)驗(yàn)說明(1)對(duì)于MCS51 P1口是準(zhǔn)雙向口。它作為輸出口時(shí)與一般的雙向口使用方法想

9、同;但準(zhǔn)雙向口用作輸入口時(shí),因其結(jié)構(gòu)特點(diǎn)必須對(duì)它置“1”,否則讀入的數(shù)據(jù)容易產(chǎn)生錯(cuò)誤。(2)8051延時(shí)子程序的延時(shí)計(jì)算問題,對(duì)于程序DELAY:MOV R6, #0HMOV R7, #0HDELAYLOOP:DJNZ R6, DELAYLOOP實(shí)用文檔DJNZ R7, DELAYLOOPRET查指令表可知MOV和DJNZ指令均需兩個(gè)指令周期,在12MHz晶振時(shí),一個(gè)機(jī)器周期時(shí)間為:12/12MHZ = 1ms,該延時(shí)子程序延時(shí):(256X256+2)X2X12/12=130ms。4、分別連接硬件并執(zhí)行相關(guān)程序,記錄結(jié)果。五、實(shí)驗(yàn)程序1、I/O口輸出(P1口循環(huán)點(diǎn)燈)LOOP:MOV A,#0

10、伯;提高時(shí)將01H改為55HMOV R2,#8OUTPUT:MOV P1,ARL APLII輸人/輸出程序閹四、實(shí)驗(yàn)流程圖實(shí)用文檔CALL DELAYDJNZ R2,0UTPUTLJMP LOOPDELAY:MOV R6,#0MOV R7,#0DELAYLOOP:DJNZ R6QELAYLOOPDJNZ R7QELAYLOOPRETEND2、I/O口輸入/輸出(P1口輸入/輸出)KEYLEFT EQU P1.0KEYRIGHT EQU P1.1LEDLEFT EQU P1.2LEDRIGHT EQU P1.3SETB KEYLEFTSETB KEYRIGHTLOOP:MOV C,KEYLEFT

11、MOV LEDLEFT,CMOV C,KEYRIGHTMOV LEDRIGHT,CLJMP LOOPEND六、實(shí)驗(yàn)結(jié)果I/O口輸出實(shí)驗(yàn),運(yùn)行程序后可以看到LED從右向左循環(huán)點(diǎn)亮;I/O口輸入/輸出實(shí)驗(yàn),運(yùn)行程序并置1后,撥動(dòng)某一個(gè)開關(guān)后會(huì)看到對(duì)應(yīng)的七、實(shí)驗(yàn)提高修改I/O口輸出程序,改成先1,3,5,7燈亮,再2,4,6,8燈亮。思考:只要將程序第一行的01H改為55H即可。LED發(fā)光。實(shí)用文檔II、繼電器控制實(shí)驗(yàn)、實(shí)驗(yàn)?zāi)康?、學(xué)習(xí)I/O端口的使用方法;2、掌握繼電器控制的基本方法;3、了解用弱電控制強(qiáng)電的方法。、實(shí)驗(yàn)容用單片機(jī)端口,輸出電平控制繼電器的吸合和斷開,實(shí)現(xiàn)對(duì)外部裝置的控制。三、實(shí)驗(yàn)

12、步驟1、硬件連線連線連接孔1連接孔21P1.0繼電器輸入25V繼電器常閉輸入3L0繼電器中間輸入2、實(shí)驗(yàn)說明現(xiàn)代自動(dòng)控制設(shè)備中, 都存在一個(gè)電子電路與電氣電路的互相連接問題,一方面要使電子電路的控制信號(hào)能夠控制電氣電路的執(zhí)行元件(如電動(dòng)機(jī)、電磁鐵、電燈等),另一方面又要為電子電路與電氣電路提供良好的電氣隔離,以保護(hù)電子電路和人身的安全。 繼電器便能完成這一作用。本實(shí)驗(yàn)采用的繼電器其控制電壓是5V,控制端為高電平時(shí),繼電器工作常開觸點(diǎn)吸合,連接觸點(diǎn)的LED燈被點(diǎn)亮。當(dāng)控制端為低電平時(shí),繼電器不工作,LED燈滅。3、分析并執(zhí)行程序四、實(shí)驗(yàn)流程圖實(shí)用文檔五、實(shí)驗(yàn)程序OUTPUT EQU P1.0;

13、P1.0 PORTLOOP:CLR CMOV OUTPUT, CCALL DELAYSETB CMOV OUTPUT, CCALL DELAYLJMP LOOPDELAY:;提高時(shí)為了修改延時(shí)時(shí)間,只要更改2個(gè)0即可。MOV R6, #0MOV R7, #0DLOOP:DJNZ R7, DLOOPDJNZ R6, DLOOPRETEND六、實(shí)驗(yàn)結(jié)果運(yùn)行程序后可以看到LED燈呈亮、滅、亮、滅的循環(huán)。七、實(shí)驗(yàn)提高1、 修改程序,改變繼電器吸合的時(shí)間間隔; 思考:更改DELAY子程序中的兩個(gè)立即數(shù)即可。2、 查詢資料,了解其他弱電控制強(qiáng)電的方法。 思考:固體繼電器、可控硅、光電耦合可控硅等等。實(shí)用文

14、檔硬件實(shí)驗(yàn)二 數(shù)據(jù)輸入/輸出口擴(kuò)展實(shí)驗(yàn)I、用 74HC245 讀入數(shù)據(jù)一、實(shí)驗(yàn)?zāi)康?、了解CPU數(shù)據(jù)總線的使用;2、掌握利用74HC245數(shù)據(jù)輸入/輸出的方法。二、實(shí)驗(yàn)容利用試驗(yàn)箱上的74HC245輸入電路,用總線方式讀入開關(guān)狀態(tài)。三、實(shí)驗(yàn)步驟1、硬件連接連線連接孔1連接孔21K0245-I02K1245-I13K2245-I24K3245-I35K4245-I46K5245-I57K6245-I68K7245-I79CS0CS245輸出(已接入8051數(shù)據(jù)線)輸入7424S2、實(shí)驗(yàn)說明一般情況下,CPU的總線會(huì)掛有很多器件,如何使這些器件不造成沖突,這就要使用一 些總線隔離器件,例如74HC

15、245就是一種。74HC245是三態(tài)總線收發(fā)器,禾U用它既可以輸出 也可以輸入數(shù)據(jù)。本實(shí)驗(yàn)74HC245的片選地址為CSO,即8000H,讀這個(gè)地址,就是從74HC245讀回開關(guān) 的值??梢杂脝尾降姆绞綀?zhí)行程序,改變開關(guān)狀態(tài),觀察讀回的值。3、分析并執(zhí)行程序,觀察并記錄實(shí)驗(yàn)結(jié)果。CS24SRDD0 2A0A1A22A4A5MA7-EA0A1A22A4A5MA7-E敢31B31B2 2旳B4B5B6B?B4B5B6B?itKOJ7KJ!0K2U .K77431實(shí)用文檔四、程序流程圖(開始讀入74HC245的值五、實(shí)驗(yàn)程序CS245 EQU 8000HORG 0000HLOOP:MOV DPTR,

16、#CS245MOVX A,DPTRLJMP LOOPEND六、實(shí)驗(yàn)結(jié)果程序執(zhí)行后,撥動(dòng)八位開關(guān),開為1,閉為0,開關(guān)狀態(tài)表示8位二進(jìn)制數(shù),相應(yīng)的寄存器顯示對(duì)應(yīng)的結(jié)果。七、實(shí)驗(yàn)提咼連接撥動(dòng)開關(guān),利用發(fā)光二極管顯示撥動(dòng)開關(guān)的狀態(tài)。如果利用74HC245輸出,如何設(shè)計(jì)電路?思考:將二極管與開關(guān)一一對(duì)應(yīng)相連即可。其中開關(guān)連接74HC245的輸入端,LED連接74HC245的輸出端。實(shí)用文檔II、74HC273 擴(kuò)展數(shù)據(jù)輸出一、實(shí)驗(yàn)?zāi)康?、 學(xué)習(xí)在單片機(jī)系統(tǒng)中擴(kuò)展簡單I/O接口的方法;2、學(xué)習(xí)數(shù)據(jù)輸出程序的設(shè)計(jì)方法;3、了解數(shù)據(jù)鎖存的概念和方法。二、實(shí)驗(yàn)容利用實(shí)驗(yàn)箱上的273輸出電路,從總線上輸出I/O

17、口信號(hào),控制八個(gè)LED燈。三、實(shí)驗(yàn)步驟1、硬件連接連線連接孔1連接孔21L0273-I02L1273-I13L2273-I24L3273-I35L4273-I46L5273-I57L6273-I68L7273-I79CS0CS273附入(已接入8051繩線)輸出實(shí)用文檔2、實(shí)驗(yàn)說明本實(shí)驗(yàn)用74HC273擴(kuò)展I/O端口。方法是:通過片選信號(hào)和寫信號(hào)將數(shù)據(jù)總線上的值鎖D0_3D口W13D6ITISD1D2DJMD1D2DJM仍D6D7MgCLRD6D7MgCLRAL0i5f 6j i9 Ut 4151619kF* * - V 1f實(shí)用文檔存在273中,同時(shí)在273的輸出端口輸出。當(dāng)數(shù)據(jù)總線上的值撤

18、銷后, 由于273能夠鎖存信號(hào),所以273的輸出端保持不變,直到 下次有新的數(shù)據(jù)被鎖存。本實(shí)驗(yàn)中,在數(shù)據(jù)輸出同時(shí)輸出片選信號(hào)和寫信號(hào)。3、分析并執(zhí)行程序,觀察并記錄結(jié)果。六、實(shí)驗(yàn)結(jié)果七、實(shí)驗(yàn)提咼增加延時(shí)程序,讓LED燈由左向右循環(huán)點(diǎn)亮。五、實(shí)驗(yàn)程序CS273 EQU 8000HMOV DPTR,#CS273MOV A,#1LOOP:MOVX DPTR,AMOV R6,#0FFHMOV R7,#0FFHDELAYLOOP:DJNZ R6QELAYLOOPDJNZ R7,DELAYLOOPNOPRL A ;提高時(shí)將RL改為RRLJMP LOOPDELAY:ENDCS273 EQU 8000HMOV

19、 DPTR, #CS273MOV A, #1LOOP:MOVX DPTR,ARL A ;提高時(shí)將RL改為RRNOPLJMP LOOPEND執(zhí)行程序后可以看到LED燈從右向左循環(huán)點(diǎn)亮。四、實(shí)驗(yàn)流程圖實(shí)用文檔思考:見程序注釋。硬件實(shí)驗(yàn)四顯示器/鍵盤實(shí)驗(yàn)I 、八段數(shù)碼管顯示實(shí)驗(yàn)、實(shí)驗(yàn)?zāi)康?、了解數(shù)碼管動(dòng)態(tài)顯示的原理;2、了解用總線方式控制數(shù)碼管顯示。、實(shí)驗(yàn)容利用實(shí)驗(yàn)儀提供的顯示電路,動(dòng)態(tài)顯示一行數(shù)據(jù) 三、實(shí)驗(yàn)步驟1、硬件連接連線連接孔1連接孔21KEY/LED_CSCS02、實(shí)驗(yàn)說明注意: 當(dāng)用總線方式驅(qū)動(dòng)八段顯示管時(shí), 請(qǐng)將八段的驅(qū)動(dòng)方式選擇開關(guān)撥到 “驅(qū)”位置;當(dāng)用 I/O 方式驅(qū)動(dòng)八段顯示管時(shí)

20、,請(qǐng)將開關(guān)撥到“ 外驅(qū)”位置。本實(shí)驗(yàn)儀提供了 6 位 8 段碼 LED 顯示電路,學(xué)生只要按地址輸出相應(yīng)數(shù)據(jù), 就可以實(shí)現(xiàn)對(duì)顯示器的控制。顯示共有 6 位,用動(dòng)態(tài)方式顯示。8 位段碼、6 位 位碼是由兩片 74LS374 輸出。位碼經(jīng) MC1413 或 ULN2003 到相驅(qū)動(dòng)后,選擇相應(yīng) 顯示位。本實(shí)驗(yàn)儀中 8 位段碼輸出地址為 0X004H 位碼輸出地址為 0X002H。此處 X 是由KEY/LEDCS 決定,參見地址譯碼。做鍵盤和 LED 實(shí)驗(yàn)時(shí),需將 KEY/LEDCS 接到相應(yīng)的地址譯碼上。以便用相應(yīng)的地址來訪問。例如,將 KEY/LEDCS 接到 CS0 上,則段碼地址為 0800

21、4H 位碼地址為 08002H七段數(shù)碼管的字型代碼表如下表顯示字形gfedcba段碼001111113fh數(shù)據(jù)總線段瑪輸岀(OxOCWH)位選通信號(hào)實(shí)用文檔1000011006h210110115bh310011114fh實(shí)用文檔4110011066h511011016dh611111017dh7000011107h811111117fh911011116fhA111011177hb11111007chC011100139hd10111105ehE111100179hF111000171h3、分析并執(zhí)行程序,觀察并記錄結(jié)果。四、實(shí)驗(yàn)流程圖實(shí)用文檔六、實(shí)驗(yàn)結(jié)果數(shù)碼管動(dòng)態(tài)地012345、12345

22、6、234567、.F012345、0123456、.不斷循環(huán)顯示。七、實(shí)驗(yàn)提高修改程序,顯示1、2、3、4、5、6或ABC、D、E、F。思考:為了顯示16,將START第二行的0改為1且去掉MLOO語句;顯示AF時(shí),將1改為10。五、實(shí)驗(yàn)程序OUTBIT EQU 08002HOUTSEG EQU 08004HIN EQU 08001HLEDBUF EQU 60HNUM EQU 70HDELAYT EQU 75HLJMP STARTLEDMAP:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,6FH,77H,7CH,39H,5EH,79H,71HDELAY:MOV

23、 R7,#0DELAYLOOP:DJNZ R7,DELAYLOOPDJNZ R6, DELAYLOOPRETDISPLAYLED:MOV RO,#LEDBUFMOV R1, #6MOV R2, #00100000BLOOP:MOV DPTR,#OUTBITMOV A,#0MOVX DPTR,AMOV A,R0MOV DPTR,#OUTSEGMOVX DPTR,AMOV DPTR,#OUTBITMOV A,R2MOVX DPTR,AMOV R6,#05CALL DELAYMOV A,R2RR AMOV R2,AINC R0DJNZ R1,LOOPMOV DPTR,#OUTBITMOV A,#0M

24、OVX DPTR,ARETSTART:MOV SP,#40HMOV NUM, #0 _MLOOP:INC NUMMOV A,NUMMOV B,AMOV R0,#LEDBUFFILLBUF:MOV A,BANL A,#0FHMOV DPTR,#LEDMAPMOVC A,A+DPTRMOV R0,AINC R0INC BCJNE R0,#LEDBUF+6,FILLBUFMOV DELAYT,#30DISPAGAIN:CALL DISPLAYLEDDJNZ DELAYT,DISPAGAINLJMP MLOOPEND實(shí)用文檔U 、鍵盤掃描顯示實(shí)驗(yàn)、實(shí)驗(yàn)?zāi)康?、掌握鍵盤和顯示器的接口方法和編程方法。2、

25、掌握鍵盤掃描和LED八段碼顯示器的工作原理。二、實(shí)驗(yàn)容在上一個(gè)實(shí)驗(yàn)的基礎(chǔ)上,利用實(shí)驗(yàn)儀提供的鍵盤掃描電路和顯示電路,做一個(gè)掃描鍵盤和數(shù)碼顯示實(shí)驗(yàn),把按鍵輸入的鍵碼在六位數(shù)碼管上顯示出來。實(shí)驗(yàn)程序可分成三個(gè)模塊。1鍵輸入模塊:掃描鍵盤、讀取一次鍵盤并將鍵值存入鍵值緩沖單元。2顯示模塊:將顯示單元的容在顯示器上動(dòng)態(tài)顯示。3主程序:調(diào)用鍵輸入模塊和顯示模塊。三、實(shí)驗(yàn)步驟1、硬件連接連線連接孔1連接孔21KEY/LED CSCS0數(shù)據(jù)總線讀回行碼 (0X001H)2、實(shí)驗(yàn)說明本實(shí)驗(yàn)儀提供了一個(gè)6X4的小鍵盤,向列掃描碼地址(0X002H)逐列輸出低電平,然后從行碼地址(0X001H)讀回。如果有鍵按下

26、,則相應(yīng)行的值應(yīng)為低,如果無鍵按下,由于上拉 的作用,相應(yīng)行碼為高。在判斷有鍵按下后,要有一定的延時(shí),防止鍵盤抖動(dòng)。再通過輸出的列碼和讀取的行 碼來判斷按下的是什么鍵。地址中的X是由KEY/LED CS決定,參見地址譯碼。做鍵盤和LED實(shí)驗(yàn)時(shí),需將KEY/LED CS接到相應(yīng)的地址譯碼上。以便用相應(yīng)的地址來訪問。例如將KEY/LED CS信號(hào)接CSO上,則列掃描地址為08002H,行碼地址為08001H。列 掃描碼還可以分時(shí)用作LED的位選通信號(hào)(參見鍵盤顯示電路)。3、分析并執(zhí)行程序,觀察并記錄結(jié)果。列碼(0X002H)實(shí)用文檔四、實(shí)驗(yàn)流程圖實(shí)用文檔DB7FH,6FH,77H,7CH,39H

27、,5EH,79H,71HDELAY:MOV R7,#0DELAYLOOP:DJNZ R7,DELAYLOOPDJNZ R6, DELAYLOOPRET開始顯示緩沖區(qū)初始化王程序框圖顯示程序框圖見前個(gè)實(shí)驗(yàn)讀鍵輸入子程序框圖五、實(shí)驗(yàn)程序OUTBIT EQU 08002HOUTSEG EQU 08004HIN EQU 08001HLEDBUF EQU 60HLJMP STARTLEDMAP:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H實(shí)用文檔DISPLAYLED:MOV RO,#LEDBUFMOV R1, #6MOV R2, #00100000BLOOP:MOV DPTR,#O

28、UTBITMOV A,#0MOVX DPTR,AMOV A,R0MOV DPTR,#OUTSEGMOVX DPTR,AMOV DPTR,#OUTBITMOV A,R2MOVX DPTR,AMOV R6,#1CALL DELAYMOV A,R2RR AMOV R2,AINC R0DJNZ R1,LOOPRETTESTKEY:MOV DPTR,#OUTBITMOV A,#0MOVX DPTR,AMOV DPTR,#INMOVX A,DPTRCPL AANL A,#0FHRETKEYTABLE:DB 16H,15H,14H,0FFHDB 13H,12H,11H,10HDB 0DH,0CH,0BH,0

29、AHDB 0EH,03H,06H,09HDB 0FH,02H,05H,08HDB 00H,01H,04H,07HGETKEY:MOV DPTR,#OUTBITMOV P2,DPHMOV R0,#LOW(IN)MOV R1,#00100000BMOV R2,#6KLOOP:MOV A,R1CPL AMOVX DPTR,ACPL ARR AMOV R1,AMOVX A,R0CPL AANL A,#0FHJNZ GOON1DJNZ R2,KLOOPMOV R2,#0FFHSJMP EXITGOON1:MOV R1,AMOV A,R2DEC ARL ARL AMOV R2,AMOV A,R1MOV R

30、1,#4LOOPC:RRC AJC EXITINC R2DJNZ R1,LOOPCEXIT:MOV A,R2MOV DPTR,#KEYTABLEMOVC A,A+DPTRMOV R2,AWAITRELEASE:MOV DPTR,#OUTBITCLR AMOVX DPTR,AMOV R6,#10CALL DELAYCALL TESTKEY實(shí)用文檔JNZ WAITRELEASECALLDISPLAYLEDCALL TESTKEYJZ MLOOPCALL GETKEYMOV SP,#40HMOV LEDBUF+0,#0MOV LEDBUF+1,#0MOV LEDBUF+2,#0MOV LEDBUF+

31、3,#0MOV LEDBUF+4,#0MOV LEDBUF+5,#0ANL A,#0FHMOV DPTR,#LEDMAPMOVC A,A+DPTRMOV LEDBUF+5,ALJMP MLOOPEND六、實(shí)驗(yàn)結(jié)果鍵盤按下一個(gè)鍵后,數(shù)碼管就顯示相應(yīng)的鍵值。七、實(shí)驗(yàn)提高1、 修改程序,使鍵值在數(shù)碼管上從右向左移動(dòng)顯示。2、 設(shè)計(jì)程序,每按一次鍵,數(shù)碼管顯示加1,實(shí)現(xiàn)099的自加。3、 查詢資料,舉出其他形式的鍵盤、顯示器軟硬件設(shè)計(jì)方法。分析其優(yōu)缺點(diǎn)。 思考:無MLOOP:MOV A,R2RETSTART:實(shí)用文檔硬件實(shí)驗(yàn)五串行口實(shí)驗(yàn)I 、串行數(shù)據(jù)轉(zhuǎn)換并行數(shù)據(jù)實(shí)驗(yàn)、實(shí)驗(yàn)?zāi)康?、掌握MCS51/MCS

32、9串行口方式0工作方式及編程方法;2、掌握用MCS51/MCS96勺P1口的I/O功能,輸出串行數(shù)據(jù);3、掌握利用串行口入I/O口,擴(kuò)展I/O通道的方法。二、實(shí)驗(yàn)容利用單片機(jī)的串行口和I/O端口串行輸出,利用板上的74HC164串轉(zhuǎn)并電路,移位轉(zhuǎn)換成并行數(shù)據(jù),接在LED燈上顯示。三、實(shí)驗(yàn)步驟1、硬件連接串行口工作在方式0時(shí),可通過外接移位寄存器實(shí)現(xiàn)串并行轉(zhuǎn)換。在這種方式下,數(shù)據(jù)為8位,只能從RXD端輸入輸出,TXD端總是輸出移位同步時(shí)鐘信號(hào),其波特率固定為Fosc/12。連線連接孔1連接孔21L0164-Q02L1164-Q13L2164-Q24L3164-Q35L4164-Q46L5164-

33、Q57L6164-Q68L7164-Q79RXD(P3.0)164-AB11TXD(P3.1)164-CLK74HC164TXPLEHI一LEOS=f LEI-f一f LEB52、實(shí)驗(yàn)說明實(shí)用文檔3、分析并執(zhí)行程序,觀察記錄結(jié)果。四、實(shí)驗(yàn)流程圖實(shí)用文檔五、實(shí)驗(yàn)程序串口0方式:MOV SCON,#0MOV A,#0AAHMOV SBUF,AJNB T1,$CLR T1LJMP $ENDI/O口方式DAT EQU P1.0CLK EQU P1.1MOV A,#55HSETB CLKMOV R7,#8NEXT:RRC AMOV DAT,CCLR CLKSETB CLKDJNZ R7,NEXTLJMP

34、 $END六、實(shí)驗(yàn)結(jié)果LED燈的L0,L2,L4,L6亮,L1, 七、實(shí)驗(yàn)提咼將串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù),驅(qū)動(dòng)八段LED顯示器,即利用串行口擴(kuò)展LED顯示器,畫 出線路圖并說明工作過程。思考:無L3,L5,L7滅。串口方式0讀入實(shí)用文檔II、并行數(shù)據(jù)轉(zhuǎn)換串行數(shù)據(jù)實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康恼莆詹⑿袛?shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)的方法。二、實(shí)驗(yàn)容利用板上的74HC165并轉(zhuǎn)串電路,讀入外部的并行數(shù)據(jù),移位轉(zhuǎn)換成串行數(shù),利用單片 機(jī)串行口和P1口串行讀入。2、實(shí)驗(yàn)說明串行口工作在方式0時(shí),可通過外接移位寄存器實(shí)現(xiàn)串并行轉(zhuǎn)換。在這種方式下,數(shù)據(jù)為8位,只能從RXD端輸入輸出,TXD端總是輸出移位同步時(shí)鐘信 號(hào),其波特率固定為

35、晶振頻率Fosc/12。利用P1.0控制74HC165護(hù)具輸入/鎖存。3、分析并執(zhí)行程序,觀察記錄結(jié)果。連線連接孔1連接孔21K0165-P02K1165-P13K2165-P24K3165-P35K4165-P46K5165-P57K6165-P68K7165-P79P1.1165-Q710P1.2165-CLK11P1.0165-LOAD三、實(shí)驗(yàn)步驟1、硬件連接sfssft-s手實(shí)用文檔四、實(shí)驗(yàn)流程圖實(shí)用文檔五、實(shí)驗(yàn)程序串行口方式:LD EQU P1.0CLR LDSETB LDMOV SCON,#00010000BWAIT: JNB RI,WAITMOV A,SBUFCLR RILJMP

36、 $ENDI/O口方式LD EQU P1.0DAT EQU P1.1CLK EQU P1.2SETB CLKCLR LDSETB LDMOV R7,#8NEXT:RR AMOV C,DATMOV ACC.7,CCLR CLKSETB CLKDJNZ R7,NEXTLJMP $END六、實(shí)驗(yàn)結(jié)果通過改變開關(guān)的開閉情況使累加器輸出此時(shí)的開關(guān)值。 時(shí),例如當(dāng)開關(guān)的輸入為10011001B串口方式0讀入實(shí)用文檔可以看到累加器A的值為1實(shí)用文檔皿、串行口通訊實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、掌握單片機(jī)串行口工作方式的程序設(shè)計(jì)方法;2、了解實(shí)現(xiàn)串行通訊的硬環(huán)境、數(shù)據(jù)格式的協(xié)議、數(shù)據(jù)交換的協(xié)議。二、實(shí)驗(yàn)容利用單片機(jī)串行口

37、, 實(shí)現(xiàn)兩個(gè)實(shí)驗(yàn)臺(tái)之間的串行通訊。其中一個(gè)實(shí)驗(yàn)臺(tái)作為發(fā)送方,另一側(cè)為接收方。發(fā)送方讀入按鍵值,并發(fā)送給接收方,接收方收到數(shù)據(jù)后在LED上顯示。2、 實(shí)驗(yàn)說明1、MCS5啲RXD TXD接線柱在POD51/96仿真板上。2、 通訊雙方的RXD TXD信號(hào)本應(yīng)經(jīng)過電平轉(zhuǎn)換后再行交叉連接,本實(shí)驗(yàn)中為減少連線可將電平轉(zhuǎn)換電路略去,而將雙方的RXD TXD直接交叉連接。也可以將本機(jī)的TXD接到RXD上,這樣按下的鍵,就會(huì)在本機(jī)LED上顯示出來。3、若想與標(biāo)準(zhǔn)的RS232設(shè)備通信,就要做電平轉(zhuǎn)換,輸出時(shí)要將TTL電平換成RS232電平,輸入時(shí)要將RS232電平換成TTL電平??梢詫⒎抡姘迳系腞XD TXD

38、信號(hào)接到實(shí)驗(yàn)板上的“用戶串口接線”的相應(yīng)RXD和TXD端,經(jīng)過電平轉(zhuǎn)換,通過“用戶串口”接到外部的RS232設(shè)備??梢杂脤?shí)驗(yàn)儀上的邏輯分析儀采樣串口通信的波形3、 分析并執(zhí)行程序,觀察記錄結(jié)果。四、程序流程圖TKB *-4 恥:- v TXID乙方甲方上-連線連接孔1連接孔21甲方TXD乙方RXD2甲方RXD乙方TXD3甲方GND乙方GND4KEY/LED CSCS0三、實(shí)驗(yàn)步驟1、硬件連接實(shí)用文檔五、實(shí)驗(yàn)程序OUTBIT EQU 08002HOUTSEG EQU 08004HIN EQU 08001HHASRCV EQU 20H.0LEDBUF EQU 40HRCVBUF EQU 50HOR

39、G 0000HLJMP STARTORG 0023HJNB TI,SO_RCLR TINOPSJMP SO_RETSO_R:CLR RIMOV RCVBUF,SBUF開始開始是發(fā)送中 -設(shè)置串口通訊方式及波特率主程序串口中斷子程序?qū)嵱梦臋nSETB HASRCVMOVX DPTR,ANOPMOV DPTR,#INSO_RET:MOVX A,DPTRRETICPL ALEDMAP:ANL A,#0FHDBRET3FH,06H,5BH,4FH,66H,6DH,7DH,07HDBKEYTABLE:7FH,6FH,77H,7CH,39H,5EH,79H,71HDB 16H,15H,14H,0FFHDB

40、13H,12H,11H,10HDELAY:DB 0DH,0CH,0BH,0AHMOV R7,#0DB 0EH,03H,06H,09HDELAYLOOP:DB 0FH,02H,05H,08HDJNZ R7,DELAYLOOPDB 00H,01H,04H,07HDJNZ R6,DELAYLOOPRETGETKEY:MOV DPTR,#OUTBITDISPLAYLED:MOV P2,DPHMOV R0,#LEDBUFMOV R0,#LOW(IN)MOV R1,#6MOV R1,#00100000BMOV R2,#00100000BMOV R2,#6LOOP:KLOOP:MOV DPTR,#OUTBI

41、TMOV A,R1MOV A,#0CPL AMOVX DPTR,AMOVX DPTR,ACPL AMOV A,R0RR AMOV DPTR,#OUTSEGMOV R1,AMOVX DPTR,AMOV DPTR,#OUTBITMOVX A,R0MOV A,R2CPL AMOVX DPTR,AANL A,#0FHMOV R6,#1JNZ GOON1CALL DELAYDJNZ R2,KLOOPMOV A,R2MOV R2,#0FFHRR ASJMP EXITMOV R2,AINC ROGOON1:DJNZ R1,LOOPMOV R1,ARETMOV A,R2DEC ATESTKEY:RL AMOV

42、 DPTR,#OUTBITRL AMOV A,#0MOV R2,A實(shí)用文檔MOV A,R1MOV R1,#4LOOPC:RRC AJC EXITINC R2DJNZ R1,LOOPCEXIT:MOV A,R2MOV DPTR,#KEYTABLEMOVC A,A+DPTRMOV R2,AWAITRELEASE:MOV DPTR,#OUTBITCLR AMOVX DPTR,AMOV R6,#10CALL DELAYCALL TESTKEYJNZ WAITRELEASEMOV A,R2RETSTART:MOV SP, #60HMOV IE, #0MOV TMOD,#020HMOV TH1, #0F3

43、HMOV TL1, #0F3HANL PCON,#O7FHORL PCON,#80HMOV SCON,#O5OHMOV LEDBUF+2,#0FFHMOV LEDBUF+3,#0FFHMOV LEDBUF+4,#0MOV LEDBUF+5,#0SETB TR1SETB ESSETB EA;MOV SBUF,A;JNB TI,$MLOOP:JB HASRCV,RCVDATACALL DISPLAYLEDCALL TESTKEYJZ MLOOPCALL GETKEYANL A,#0FHMOV SBUF,ALJMP MLOOPRCVDATA:CLR HASRCVMOV A,RCVBUFMOV B,A

44、ANL A,#0FHMOV DPTR,#LEDMAPMOVC A,A+DPTRMOV LEDBUF+5,AMOV A,BSWAP AANL A,#0FHMOV DPTR,#LEDMAPMOVC A,A+DPTRMOV LEDBUF+4,ALJMP MLOOPMOV LEDBUF, #0FFHENDMOV LEDBUF+1,#0FFH五、實(shí)驗(yàn)結(jié)果一方按下鍵盤,另一方的數(shù)碼管上將顯示出鍵盤的值六、實(shí)驗(yàn)提高1、 先實(shí)現(xiàn)單機(jī)通訊,再實(shí)現(xiàn)雙機(jī)通訊。2、 查詢資料,了解RS-485串口功能及使用方法。實(shí)用文檔硬件實(shí)驗(yàn)六 計(jì)數(shù)器/定時(shí)器實(shí)驗(yàn)I 、計(jì)數(shù)器實(shí)驗(yàn)、實(shí)驗(yàn)?zāi)康膶W(xué)習(xí)單片機(jī)部定時(shí)/計(jì)數(shù)器使用方法。、實(shí)驗(yàn)容

45、MCS51部定時(shí)計(jì)數(shù)器TO,按計(jì)數(shù)器模式和方式1工作,對(duì)P3.4(TO)引腳進(jìn)行計(jì)數(shù)。三、實(shí)驗(yàn)步驟1、硬件連接連線連接孔1連接孔21P1.0L02P1.1L13P1.2L24P1.3L35單脈沖輸出P3.4(T0)2、實(shí)驗(yàn)說明本實(shí)驗(yàn)中部計(jì)數(shù)器起計(jì)數(shù)器的作用。外部事件計(jì)數(shù)脈沖由P3.4引入定時(shí)器TO。單片機(jī)在每個(gè)機(jī)器周期采樣一次輸入波形,因此單片機(jī)至少需要兩個(gè)機(jī)器周期才能檢測到一次跳變。這就要求被采樣電平至少維持一個(gè)完整的機(jī)器周期,以保證電平在變化之前即被采樣。同時(shí)這就決定了輸入波形的頻率不能超過機(jī)器周期頻率。3、分析并執(zhí)行程序,觀察記錄結(jié)果。四、實(shí)驗(yàn)流程圖五、實(shí)驗(yàn)程序MOV TMOD,#000

46、00101BMOV TH0,#0MOV TLO,#OSETB TROLOOP:MOV P1,TL0LJMP LOOPEND將其數(shù)值按二進(jìn)制數(shù)在P1口驅(qū)動(dòng)LED燈上顯示出來。實(shí)用文檔六、實(shí)驗(yàn)結(jié)果根據(jù)脈沖輸入,從0開始,按一下脈沖輸入,計(jì)數(shù)加1,并在LED上反映出來。七、實(shí)驗(yàn)提高1、 修改程序,連接八個(gè)LED燈用于計(jì)數(shù)顯示;思考:在原有的連線基礎(chǔ)上將P1.4P1.7與L4L7連接2、修改程序,要求將計(jì)數(shù)器中的數(shù)值以十進(jìn)制的形式顯示。思考;無實(shí)用文檔II、定時(shí)器(秒脈沖發(fā)生器)實(shí)驗(yàn)、實(shí)驗(yàn)?zāi)康?、學(xué)習(xí)單片機(jī)部計(jì)數(shù)器/定時(shí)器的使用和編程方法;2、進(jìn)一步掌握中斷處理程序的編程方法。、實(shí)驗(yàn)容用CPU部定時(shí)器

47、中斷方式計(jì)時(shí),實(shí)現(xiàn)每一秒鐘輸出狀態(tài)發(fā)生一次反轉(zhuǎn)。三、實(shí)驗(yàn)步驟1、硬件連接連線連接孔1連接孔21P1.0L0- LEDQ2、實(shí)驗(yàn)說明1、 關(guān)于部計(jì)數(shù)器的編程主要是定時(shí)常數(shù)的設(shè)置和有關(guān)控制寄存器的設(shè)置。部計(jì)數(shù)器在 單片機(jī)中主要有定時(shí)器和計(jì)數(shù)器兩個(gè)功能。本實(shí)驗(yàn)使用的是定時(shí)器。2、 定時(shí)器有關(guān)的寄存器有工作方式寄存器TMOD控制寄存器TCONTMO用于設(shè)置定時(shí)器/計(jì)數(shù)器的工作方式0-3,并確定用于定時(shí)還是用于計(jì)數(shù)。TCON主要功能是為定時(shí)器在溢出時(shí)設(shè)定標(biāo)志位,并控制定時(shí)器的運(yùn)行或停止等。3、 部計(jì)數(shù)器用作定時(shí)器時(shí),是對(duì)機(jī)器周期計(jì)數(shù)。每個(gè)機(jī)器周期的長度是12個(gè)振蕩器 周期。因?yàn)閷?shí)驗(yàn)系統(tǒng)的晶振是6MHZ本

48、程序工作于方式2,即8位自動(dòng)重裝方式定時(shí)器,定 時(shí)器100us中斷一次,所以定時(shí)常數(shù)的設(shè)置可按以下方法計(jì)算:機(jī)器周期=12-6MHZ=2uS(256-定時(shí)常數(shù))X2uS=100us定時(shí)常數(shù)=206.然后對(duì)100us中斷次數(shù)計(jì)數(shù)10000次,就是1秒鐘.4、 在例程的中斷服務(wù)程序中,因?yàn)橹袛喽〞r(shí)常數(shù)的設(shè)置對(duì)中斷程序的運(yùn)行起到關(guān)鍵作 用,所以在置數(shù)前要先關(guān)對(duì)應(yīng)的中斷,置數(shù)完之后再打開相應(yīng)的中斷。3、分析并執(zhí)行程序,觀察記錄結(jié)果。四、實(shí)驗(yàn)流程圖實(shí)用文檔LED燈呈亮T滅T亮T滅T. 的循環(huán)。(電時(shí)屮斷入0*保護(hù)找場中閘序框劇五、實(shí)驗(yàn)程序TICK EQU 5000T100US EQU 256-100C1

49、00US EQU 30HLEDBUF EQU 0LED EQU P1.0LJMP STARTORG 000BHTOINT:PUSH PSWMOV A,C100US+1JNZ GOONDEC C100USGOON:DEC C100US+1MOV A,C100USORL A,C100US+1JNZ EXITMOV C100US,#HIGH(TICK)MOV C100US+1,#LOW(TICK)六、實(shí)驗(yàn)結(jié)果CPL LEDBUFEXIT:POP PSWRETISTART:MOV TMOD,#01HMOV TH0,#T100USMOV TL0,#T100USMOV IE,#10000010BSETB

50、TR0CLR LEDBUFCLR LEDMOV C100US,#HIGH(TICK)MOV C100US+1,#LOW(TICK)LOOP:MOV C,L EDBUFMOV LED,CLJMP LOOPEND實(shí)用文檔七、實(shí)驗(yàn)提咼修改程序,使定時(shí)器工作在方式1,完成上述功能。思考:無實(shí)用文檔硬件實(shí)驗(yàn)八 8255 擴(kuò)展實(shí)驗(yàn)一、實(shí)驗(yàn)?zāi)康?、了解8255芯片結(jié)構(gòu)及擴(kuò)展方法;2、了解8255輸入/輸出口編程及使用方法。二、實(shí)驗(yàn)容利用8255可編程并行口芯片,實(shí)現(xiàn)輸入/輸出實(shí)驗(yàn),實(shí)驗(yàn)中用8255PA口作輸出,PB口 作輸入。三、實(shí)驗(yàn)步驟1、硬件連接8255的CS/接地址譯碼/CS0,則命令字地址為8003

51、H, PA口地址為8000H,PB口地址為8001H, PC口地址為8002H。PA0-PA7(PA口)接LED0-LED7(LED) PB0-PB7(PB口)接K0-K7(開關(guān)量)。數(shù)據(jù)線、讀/寫控制、地址線、復(fù)位信號(hào)板上已接好。2、實(shí)驗(yàn)說明可編程通用接口芯片8255A有三個(gè)八位的并行I/O口, 它有三種工作方式。本實(shí)驗(yàn)采用 的是方式0:PAPC口輸出,PB口輸入。3、分析并執(zhí)行程序,觀察記錄結(jié)果。四、實(shí)驗(yàn)流程圖 見下頁連線連接孔1連接孔21CS08255CS2L08255-PA03L18255-PA14L28255-PA25L38255-PA36L48255-PA47L58255-PA58

52、L68255-PA69L78255-PA710K08255-PB011K18255-PB112K28255-PB213K38255-PB314K48255-PB415K58255-PB516K68255-PB617K78255-PB7慣/IR0 1-2 3 4-5 6 7 DD D b D D D D虹IA1/WE/RL歸匚TDDD D DDD DAAo A AAo A3-* L- L L01-a L E 02FLEM-FLEE LEDS;-* L E- LEt7012 3 4 E67 B-BB B B BBB FpppFPPP123123 4E6-74E6-7口A A APABAPABFpp

53、Fpp p p FFPFFP F F實(shí)用文檔五、實(shí)驗(yàn)程序MODE EQU 082HPORTA EQU 8000HPORTB EQU 8001HPORTC EQU 8002HCADDR EQU 8003HORG 0HMOV A,#MODEMOV DPTR,#CADDRMOVX DPTR,AEX_B:MOV DPTR,#PORTBMOVX A,DPTRCPL AMOV DPTR,#PORTAMOVX DPTR,AMOV R5,#2CALL DELAYLJMP 0DELAY:MOV R7,#0DDD:DJNZ R7,DDDDJNZ R6,DDDDJNZ R5,DDDRETEND六、實(shí)驗(yàn)結(jié)果開關(guān)控制L

54、ED的亮滅,一個(gè)開關(guān)閉合,與其對(duì)應(yīng)的LED發(fā)光,開關(guān)斷開,LED熄滅。七、實(shí)驗(yàn)提咼 修改程序,將輸入的數(shù)據(jù)取反后輸出。思考:在源程序EX_B程序段中的第二行之后加上取反語句:CPL Ao實(shí)用文檔硬件實(shí)驗(yàn)九 D/A 數(shù)模轉(zhuǎn)換實(shí)驗(yàn)、實(shí)驗(yàn)?zāi)康?、了解D/A轉(zhuǎn)換的基本原理;2、了解D/A轉(zhuǎn)換芯片0832的性能及編程方法;3、 了解單片機(jī)系統(tǒng)中擴(kuò)展D/A轉(zhuǎn)換的基本方法。二、實(shí)驗(yàn)容利用DAC0832編制程序產(chǎn)生鋸齒波、三角波、正弦波。三種波輪流顯示,用示波器觀 看。三、實(shí)驗(yàn)步驟1、硬件連接連線連接孔1連接孔21DA CSCS22-5V-+5V電壓表2、實(shí)驗(yàn)說明利用D/A轉(zhuǎn)換產(chǎn)生波形可以使用查表法、公式計(jì)算

55、法等方法,在一個(gè)周期里輸出N個(gè)點(diǎn),兩個(gè)點(diǎn)之間的間隔時(shí)間越短,波形精度越高。8位D/A轉(zhuǎn)換器的輸入數(shù)據(jù)與輸出電壓的關(guān)系為U(0s-5V)=Uref/256xN U(-5Vs+5V)=2? Uref/256xN-5V (Uref3、分析并執(zhí)行程序,觀察記錄結(jié)果。四、實(shí)驗(yàn)流程圖U魁一旦爭LRrD24叫 -1 i-、為+5V)實(shí)用文檔五、實(shí)驗(yàn)程序1將數(shù)字量(OOHFFH傳輸?shù)紻AC0832用萬用表(或電壓表)測量DAC0832電路的輸出端(-5V-+5V)輸出電壓。在程序中修改輸出的數(shù)字量,重復(fù)測量。ORG 0000HAJMP MAINORG 0100HMAIN:MOV A,#DATAMOV DPTR

56、,#0A000HMOVX DPTR,ASJMP MAIN2、三角波ORG 0000HAJMP MAINORG 0100HMANMOV A,#00HMOV DPTR,#0A000HUP:MOVX DPTR,AACALL DING1INC ACJNE A,#0FFH,UP;要輸出梯形波,在其后添加MOV A #02HDOWN:MOVX DPTR,AACALL DING1DEC ACJNE A,#OOH,DOWN ;要輸出梯形波,在其后添加MOV A #02HAJMP UPDING1: MOV R3 #01HDELAY0 MOV R4 #80HDELAY1 DJNZ R4, DELAY1DJNZ R

57、3,DELAY0RET 3、正弦波ORG 0000HAJMP MAINCJNE R0,#80H,LOOPMOVC A,A+DPTRMOV R0,AINC DPTRINC ROORG 01OOHMAIN:MOV DPTR,#SINTABMOV DPTR,#0A000HMOV R0,#6DHLOOP:CLR AMOV R0,#6DHLOOP1 MOV A,R0MOVX DPTR,AINC R0實(shí)用文檔MOVX DPTR,ADEC R0CJNE R0,#6D H,L OOP4AJMP LOOP1SINTAB:DB7FH,89H,94H,9FH,0AAH,0B4H,0BEH,0C8H,0D1H,0D9HDB0EOH,0E7H,0EDH,0F2H,0F7H,0FAH,OFCH,0FEH,0FFH六、實(shí)驗(yàn)結(jié)果數(shù)字量輸出電壓(V)數(shù)字量輸出電壓(V)00H-4.898FH0.610FH-4.329FH1.231FH-3.70AFH1.842FH-3.08BFH2.463FH-2.46CFH3.074FH-1.85DFH3.695FH-1.24EFH4.316FH-0.63FFH4.937FH-0.00七、實(shí)驗(yàn)提咼1、修改程序,產(chǎn)生梯形波; 思考;見程序2注釋部分2、參考三角波程序,在正弦波程序中增加延時(shí)子程序,改變正弦波周期。 思考:添加

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論