東南大學單片機實驗報告_第1頁
東南大學單片機實驗報告_第2頁
東南大學單片機實驗報告_第3頁
東南大學單片機實驗報告_第4頁
已閱讀5頁,還剩69頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、本文格式為word版,下載可任意編輯東南大學單片機實驗報告 單片機應用系統(tǒng)設計 試驗報告 姓 名: 學 號: 院 系: 儀器科學與工程學院 專 業(yè): 測控技術與儀器 實 驗 室: 機械樓 5 5 樓 同組人員: 評定成果: 批閱老師: 軟件試驗一 數據傳送試驗 一、 試驗目的 1、熟識單片機仿真開發(fā)器的使用; 2、把握編程方法; 3、把握 8051 內部 ram 的數據操作 二、 試驗內容 內部 ram 40h4fh 單元置數 a0hafh,然后將 40h4fh 單元內容送到內部 ram50h5fh 單元中。 編輯、編譯、運行程序,檢查內部 ram 中的結果。 三、 試驗程序 org 0000

2、h reset: ajmp main org 003fh main: mov r0,#40h mov r2,#10h ;提高時將 10h 改為 20h mov a,#0a0h ;提高時將 0a0h 改為 00h a1: mov r0,a inc r0 inc a djnz r2,a1 mov r0,#40h mov r1,#50h ;提高時將 50h 改為 60h mov r2,#10h ;提高時將 10h 改為 20h a2: mov a,r0 mov r1,a inc r0 inc r1 djnz r2,a2 a3: sjmp a3 四、 試驗結果 試驗顯示 ram 的 40h4fh 以及

3、 50h5fh 的內容都為 a0hafh。 五、 試驗提高 修改程序:將所置的數改為 00h1fh,置數單元和傳送單元分別改為內部 ram 的 40h5fh、60h7fh。 思索:見試驗程序解釋部分。 軟件試驗二 多字節(jié)十進制加法試驗 一、 試驗目的 把握 mcs-51 匯編語言程序設計方法 二、試驗內容 多字節(jié)十進制加法; 加數存儲單元首地址由 r0 指出,被加數和結果的存儲單元首地址由 r1 指出,字節(jié)數由 r2 指出; 編輯、編譯、運行程序,檢查內部 ram 中的結果。 三、試驗程序 加數存儲單元為:31h、30h,被加數存儲單元為:21h、20h,結果存儲單元為:22h、21h、20h

4、。 - org 0000h reset: ajmp main org 0100h main: mov sp,#60h mov r0,#31h mov r0,#22h ;提高時將加數高位 22h 改為自定義的數的高位(如 45h) dec r0 mov r0,#33h ;提高時將加數低位 33h 改為自定義的數的低位(如 34h) mov r1,#21h mov r1,#44h ;提高時作為被加數的高位被修改(如改為35h) dec r1 mov r1,#55h ;提高時作為被加數的低位被修改(如改為56h) mov r2,#02h acall dace here: sjmp here dace

5、: clr c dal: mov a,r0 addc a,r1 da a mov r1,a inc r0 inc r1 djnz r2,dal clr a mov acc.0,c mov r1,a ret 四、試驗結果 被加數單元地址 (21h)(20h) 加數單元地址 (31h)(30h) +) 結果單元地址 (22h)(21h)(20h) 被加數數值 35h 56h 加數數值 22h 33h +) 結果數值 00h 66h 88h 五、試驗提高 修改加數和被加數(十進制數),重復運行程序。 思索:見程序解釋部分,改過之后結果如下: 被加數數值 44h 55h 加數數值 45h 34h +)

6、 結果數值 00h 89h 89h 軟件試驗三 十進制數排序試驗 一、試驗目的 把握十進制數的排序方法 二、試驗內容 本程序用的是"冒泡排序'法,是將一個數與后面的數相比較,假如比后面的數大,則交換,如此將全部的數比較一遍后,最大的數就會在數列的最終面。再進行下一輪比較,找出其次大數據,直到全部數據有序,即從小到大排序。 三、試驗流程圖 四、試驗程序 size equ 10 array equ 40h change equ 0 sort: mov r0,#array mov r7,#size-1 clr change goon: mov a,r0 mov r2,a inc r

7、0 mov b,r0 cjne a,b,notequal sjmp next notequal: jc next ;提高時將"jc' 改為"jnc' setb change xch a,r0 dec r0 xch a,r0 inc r0 next: djnz r7,goon jb change,sort ljmp $ end 五、試驗結果 試驗時,運行程序前手動更改 ram 50h59h 的內容為任意 10 個無序的數,如 00h,89h,f6h,6ah,04h,c0h,bah,34h,25h,ffh。運行程序后可以看到 50h59h 的內容變?yōu)?0h,04

8、h,25h,34h,6ah,89h,bah,c0h,f6h,ffh 即按升序排列的 10 個數。 六、試驗提高 修改程序,根據從小到大的挨次排列。 思索:只要將 notequal 子程序中的 jc 改為 jnc 即可實現。運行后的數據將根據從大到小排列。 硬件試驗一 o i/o 口輸入/ / 輸出及掌握試驗 、o i/o 口輸入/ / 輸出 試驗 一、試驗目的 1、學習單片機 i/o 口的使用方法; 2、學習延時子程序的編寫和使用。 二、試驗內容 1、i/o 口輸出:p1 口做輸出口,接八只發(fā)光二極管,編寫程序讓發(fā)光二極管循環(huán)點亮。 2、i/o 口輸入/輸出:p1.0、p1.1 做輸入口接兩個

9、撥動開關;p1.2、p1.3 做輸出口,接兩個發(fā)光二極管。編寫程序讀取開關狀態(tài),將此狀態(tài)在發(fā)光二極管上顯示出來。編程時應留意 p1.0、p1.1 作為輸入口時應先置 1,才能正確讀入值。 三、試驗步驟 1、i/o 口輸出硬件連接 連線 連接孔 1 連接孔2 1 p1.0 l0 2 p1.1 l1 3 p1.2 l2 4 p1.3 l3 5 p1.4 l4 6 p1.5 l5 7 p1.6 l6 8 p1.7 l7 mcs51 的 p1 口循環(huán)點燈 2、i/o 口輸入/輸出硬件連接 連線 連接孔 1 連接孔 2 1 k4 p1.0 2 k5 p1.1 3 p1.2 l4 4 p1.3 l5 mc

10、s51 的 p1 口輸入/輸出 3、試驗說明 (1)對于 mcs51,p1 口是準雙向口。它作為輸出口時與一般的雙向口使用方法想同;但準雙向口用作輸入口時,因其結構特點必需對它置"1',否則讀入的數據簡單產生錯誤。 (2)8051 延時子程序的延時計算問題,對于程序 delay: mov r6, #0h mov r7, #0h delayloop: djnz r6, delayloop djnz r7, delayloop ret 查指令表可知 mov 和 djnz 指令均需兩個指令周期,在 12mhz 晶振時,一個機器周期時間為:12/12mhz = 1ms,該延時子程序延

11、時:(256x256+2)x2x12/12=130ms。 4、分別連接硬件并執(zhí)行相關程序,記錄結果。 四、試驗流程圖 五、試驗程序 1、i/o 口輸出(p1 口循環(huán)點燈) loop: mov a,#01h ;提高時將 01h 改為 55h mov r2,#8 output: mov p1,a rl a call delay djnz r2,output ljmp loop delay: mov r6,#0 mov r7,#0 delayloop: djnz r6,delayloop djnz r7,delayloop ret end 2、i/o 口輸入/輸出(p1 口輸入/輸出) keylef

12、t equ p1.0 keyright equ p1.1 ledleft equ p1.2 ledright equ p1.3 setb keyleft setb keyright loop: mov c,keyleft mov ledleft,c mov c,keyright mov ledright,c ljmp loop end 六、試驗結果 i/o 口輸出試驗,運行程序后可以看到 led 從右向左循環(huán)點亮; i/o 口輸入/輸出試驗,運行程序并置 1 后,撥動某一個開關后會看到對應的 led 發(fā)光。 七、試驗提高 修改 i/o 口輸出程序,改成先 1,3,5,7 燈亮,再 2,4,6,

13、8 燈亮。 思索:只要將程序第一行的 01h 改為 55h 即可。 、 繼電器掌握試驗 一、試驗目的 1、學習 i/o 端口的使用方法; 2、把握繼電器掌握的基本方法; 3、了解用弱電掌握強電的方法。 二、試驗內容 用單片機端口,輸出電平掌握繼電器的吸合和斷開,實現對外部裝置的掌握。 三、試驗步驟 1、硬件連線 連線 連接孔1 連接孔 2 1 p1.0 繼電器輸入 2 5v 繼電器常閉輸入 3 l0 繼電器中間輸入 2、試驗說明 現代自動掌握設備中,都存在一個電子電路與電氣電路的相互連接問題,一方面要使電子電路的掌握信號能夠掌握電氣電路的執(zhí)行元件(如電動機、電磁鐵、電燈等),另一方面又要為電子

14、電路與電氣電路供應良好的電氣隔離,以愛護電子電路和人身的平安。繼電器便能完成這一作用。 本試驗采納的繼電器其掌握電壓是 5v,掌握端為高電平常,繼電器工作常開觸點吸合,連接觸點的 led 燈被點亮。當掌握端為低電平常,繼電器不工作,led 燈滅。 3、分析并執(zhí)行程序 四、試驗流程圖 五、試驗程序 output equ p1.0 ; p1.0 port loop: clr c mov output, c call delay setb c mov output, c call delay ljmp loop delay: ;提高時為了修改延時時間,只要更改 2 個 0 即可。 mov r6, #

15、0 mov r7, #0 dloop: djnz r7, dloop djnz r6, dloop ret end 六、試驗結果 運行程序后可以看到 led 燈呈亮、滅、亮、滅的循環(huán)。 七、試驗提高 1、修改程序,轉變繼電器吸合的時間間隔; 思索:更改 delay 子程序中的兩個馬上數即可。 2、查詢資料,了解其他弱電掌握強電的方法。 思索:固體繼電器、可控硅、光電耦合可控硅等等。 硬件試驗二 數據輸入/ / 輸出口擴展試驗 、 用 用 74hc5 245 讀入數據 一、試驗目的 1、了解 cpu 數據總線的使用; 2、把握利用 74hc245 數據輸入/輸出的方法。 二、試驗內容 利用試驗箱

16、上的 74hc245 輸入電路,用總線方式讀入開關狀態(tài)。 三、試驗步驟 1、硬件連接 連線 連接孔 1 連接孔 2 1 k0 245-i0 2 k1 245-i1 3 k2 245-i2 4 k3 245-i3 5 k4 245-i4 6 k5 245-i5 7 k6 245-i6 8 k7 245-i7 9 cs0 cs245 2、試驗說明 一般狀況下,cpu 的總線會掛有許多器件,如何使這些器件不造成沖突,這就要使用一些總線隔離器件,例如 74hc245 就是一種。74hc245 是三態(tài)總線收發(fā)器,利用它既可以輸出也可以輸入數據。 本試驗 74hc245 的片選地址為 cs0,即 8000

17、h,讀這個地址,就是從 74hc245 讀回開關的值??梢杂脝尾降姆绞綀?zhí)行程序,轉變開關狀態(tài),觀看讀回的值。 3、分析并執(zhí)行程序,觀看并記錄試驗結果。 四、程序流程圖 五、試驗程序 cs245 equ 8000h org 0000h loop: mov dptr,#cs245 mo a,dptr ljmp loop end 六、試驗結果 程序執(zhí)行后,撥動八位開關,開為 1,閉為 0,開關狀態(tài)表示 8 位二進制數,相應的寄存器顯示對應的結果。 七、試驗提高 連接撥動開關,利用發(fā)光二極管顯示撥動開關的狀態(tài)。假如利用74hc245 輸出,如何設計電路? 思索:將二極管與開關一一對應相連即可。其中開關

18、連接 74hc245的輸入端,led 連接 74hc245 的輸出端。 、 7 73 4hc273 擴展數據輸出 一、試驗目的 1、學習在單片機系統(tǒng)中擴展簡潔 i/o 接口的方法; 2、學習數據輸出程序的設計方法; 3、了解數據鎖存的概念和方法。 二、試驗內容 利用試驗箱上的 273 輸出電路,從總線上輸出 i/o 口信號,掌握八個 led 燈。 三、試驗步驟 1、硬件連接 連線 連接孔 1 連接孔 2 1 l0 273-i0 2 l1 273-i1 3 l2 273-i2 4 l3 273-i3 5 l4 273-i4 6 l5 273-i5 7 l6 273-i6 8 l7 273-i7

19、9 cs0 cs273 2、試驗說明 本試驗用 74hc273 擴展 i/o 端口。方法是:通過片選信號和寫信號將數據總線上的值鎖存在 273 中,同時在 273 的輸出端口輸出。 當數據總線上的值撤銷后,由于 273 能夠鎖存信號,所以 273 的輸出端保持不變,直到下次有新的數據被鎖存。 本試驗中,在數據輸出同時輸出片選信號和寫信號。 3、分析并執(zhí)行程序,觀看并記錄結果。 四、試驗流程圖 五、試驗程序 cs273 equ 8000h mov dptr,#cs273 mov a,#1 loop: mo dptr,a mov r6,#0ffh mov r7,#0ffh delayloop: d

20、jnz r6,delayloop djnz r7,delayloop nop rl a ;提高時將 rl 改為rr ljmp loop delay: end cs273 equ 8000h mov dptr, #cs273 mov a, #1 loop: mo dptr,a rl a ;提高時將rl改為rr nop ljmp loop end 六、試驗結果 執(zhí)行程序后可以看到 led 燈從右向左循環(huán)點亮。 七、試驗提高 增加延時程序,讓 led 燈由左向右循環(huán)點亮。 思索:見程序解釋。 硬件試驗四 顯示器/ / 鍵盤試驗 、 八段數碼管顯示試驗 一、試驗目的 1、了解數碼管動態(tài)顯示的原理; 2

21、、了解用總線方式掌握數碼管顯示。 二、試驗內容 利用試驗儀供應的顯示電路,動態(tài)顯示一行數據。 三、試驗步驟 1、硬件連接 連線 連接孔 1 連接孔 2 1 key/led_cs cs0 2、試驗說明 留意:當用總線方式驅動八段顯示管時,請將八段的驅動方式選擇開關撥到" 內驅'位置;當用 i/o 方式驅動八段顯示管時,請將開關撥到" 外驅'位置。 本試驗儀供應了 6 位 8 段碼 led 顯示電路,同學只要按地址輸出相應數據,就可以實現對顯示器的掌握。顯示共有 6 位,用動態(tài)方式顯示。8 位段碼、6 位位碼是由兩片 74ls374 輸出。位碼經 mc1413

22、或uln2021 倒相驅動后,選擇相應顯示位。 本試驗儀中 8 位段碼輸出地址為 0x004h,位碼輸出地址為 0x002h。此處 x 是由 key/led cs 打算,參見地址譯碼。做鍵盤和 led試驗時,需將 key/led cs 接到相應的地址譯碼上。以便用相應的地址來訪問。例如,將 key/led cs 接到 cs0 上,則段碼地址為 08004h,位碼地址為 08002h。 七段數碼管的字型代碼表如下表: 顯 示 字形 g f e d c b a 段碼 0 0 1 1 1 1 1 1 3fh 1 0 0 0 0 1 1 0 06h 2 1 0 1 1 0 1 1 5bh 3 1 0

23、0 1 1 1 1 4fh 4 1 1 0 0 1 1 0 66h 5 1 1 0 1 1 0 1 6dh 6 1 1 1 1 1 0 1 7dh 7 0 0 0 0 1 1 1 07h 8 1 1 1 1 1 1 1 7fh 9 1 1 0 1 1 1 1 6fh a 1 1 1 0 1 1 1 77h b 1 1 1 1 1 0 0 7ch c 0 1 1 1 0 0 1 39h d 1 0 1 1 1 1 0 5eh e 1 1 1 1 0 0 1 79h f 1 1 1 0 0 0 1 71h 3、分析并執(zhí)行程序,觀看并記錄結果。 四、試驗流程圖 五、試驗程序 outbit equ 0

24、8002h outseg equ 08004h in equ 08001h ledbuf equ 60h num equ 70h delayt equ 75h ljmp start ledmap: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h db 7fh,6fh,77h,7ch,39h,5eh,79h,71h delay: mov r7,#0 delayloop: djnz r7,delayloop djnz r6, delayloop ret displayled: mov r0,#ledbuf mov r1, #6 mov r2, #00100000b loop:

25、 mov dptr,#outbit mov a,#0 mo dptr,a mov a,r0 mov dptr,#outseg mo dptr,a mov dptr,#outbit mov a,r2 mo dptr,a mov r6,#05 call delay mov a,r2 rr a mov r2,a inc r0 djnz r1,loop mov dptr,#outbit mov a,#0 mo dptr,a ret start: mov sp,#40h mov num, #0 mloop: inc num mov a,num mov b,a mov r0,#ledbuf fillbuf

26、: mov a,b anl a,#0fh mov dptr,#ledmap movc a,a+dptr mov r0,a inc r0 inc b cjne r0,#ledbuf+6,fillbuf mov delayt,#30 dispagain: call displayled djnz delayt,dispagain ljmp mloop end 六、試驗結果 數碼管動態(tài)地 012345、123456、234567、f012345、0123456、不斷循環(huán)顯示。 七、試驗提高 修改程序,顯示 1、2、3、4、5、6 或 a、b、c、d、e、f。 思索:為了顯示 16,將 start 其

27、次行的 0 改為 1 且去掉 mloop語句;顯示 af 時,將 1 改為 10。 、 鍵盤掃描顯示實 驗 一、試驗目的 1、把握鍵盤和顯示器的接口方法和編程方法。 2、把握鍵盤掃描和 led 八段碼顯示器的工作原理。 二、試驗內容 在上一個試驗的基礎上,利用試驗儀供應的鍵盤掃描電路和顯示電路,做一個掃描鍵盤和數碼顯示試驗,把按鍵輸入的鍵碼在六位數碼管上顯示出來。 試驗程序可分成三個模塊。 鍵輸入模塊:掃描鍵盤、讀取一次鍵盤并將鍵值存入鍵值緩沖單元。 顯示模塊:將顯示單元的內容在顯示器上動態(tài)顯示。 主程序:調用鍵輸入模塊和顯示模塊。 三、試驗步驟 1、硬件連接 連線 連接孔 1 連接孔2 1

28、key/led_cs cs0 2、試驗說明 本試驗儀供應了一個 64 的小鍵盤,向列掃描碼地址(0x002h)逐列輸出低電平,然后從行碼地址(0x001h)讀回。假如有鍵按下,則相應行的值應為低,假如無鍵按下,由于上拉的作用,相應行碼為高。 在推斷有鍵按下后,要有肯定的延時,防止鍵盤抖動。再通過輸出的列碼和讀取的行碼來推斷按下的是什么鍵。 地址中的 x 是由 key/led cs 打算,參見地址譯碼。做鍵盤和 led試驗時,需將 key/led cs 接到相應的地址譯碼上。以便用相應的地址來訪問。 例如將 key/led cs 信號接 cs0 上,則列掃描地址為 08002h,行碼地址為 08

29、001h。列掃描碼還可以分時用作 led 的位選通信號(參見鍵盤顯示電路)。 3、分析并執(zhí)行程序,觀看并記錄結果。 四、試驗流程圖 數據總線 讀回行碼 (0x001h) 列碼 (0x002h) 顯示程序框圖見前個試驗 五、試驗程序 outbit equ 08002h outseg equ 08004h in equ 08001h ledbuf equ 60h ljmp start ledmap: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h db 7fh,6fh,77h,7ch,39h,5eh,79h,71h delay: mov r7,#0 delayloop: dj

30、nz r7,delayloop djnz r6, delayloop ret displayled: mov r0,#ledbuf mov r1, #6 mov r2, #00100000b loop: mov dptr,#outbit mov a,#0 mo dptr,a mov a,r0 mov dptr,#outseg mo dptr,a mov dptr,#outbit mov a,r2 mo dptr,a mov r6,#1 call delay mov a,r2 rr a mov r2,a inc r0 djnz r1,loop ret testkey: mov dptr,#out

31、bit mov a,#0 mo dptr,a mov dptr,#in mo a,dptr cpl a anl a,#0fh ret keytable: db 16h,15h,14h,0ffh db 13h,12h,11h,10h db 0dh,0ch,0bh,0ah db 0eh,03h,06h,09h db 0fh,02h,05h,08h db 00h,01h,04h,07h getkey: mov dptr,#outbit mov p2,dph mov r0,#low(in) mov r1,#00100000b mov r2,#6 kloop: mov a,r1 cpl a mo dpt

32、r,a cpl a rr a mov r1,a mo a,r0 cpl a anl a,#0fh jnz goon1 djnz r2,kloop mov r2,#0ffh sjmp exit goon1: mov r1,a mov a,r2 dec a rl a rl a mov r2,a mov a,r1 mov r1,#4 loopc: rrc a jc exit inc r2 djnz r1,loopc exit: mov a,r2 mov dptr,#keytable movc a,a+dptr mov r2,a waitrelease: mov dptr,#outbit clr a

33、mo dptr,a mov r6,#10 call delay call testkey jnz waitrelease mov a,r2 ret start: mov sp,#40h mov ledbuf+0,#0 mov ledbuf+1,#0 mov ledbuf+2,#0 mov ledbuf+3,#0 mov ledbuf+4,#0 mov ledbuf+5,#0 mloop: call displayled call testkey jz mloop call getkey anl a,#0fh mov dptr,#ledmap movc a,a+dptr mov ledbuf+5

34、,a ljmp mloop end 六、試驗結果 鍵盤按下一個鍵后,數碼管就顯示相應的鍵值。 七、試驗提高 1、修改程序,使鍵值在數碼管上從右向左移動顯示。 2、設計程序 ,每按一次鍵,數碼管顯示加 1,實現 099 的自加。 3、查詢資料,舉出其他形式的鍵盤、顯示器軟硬件設計方法。分析其優(yōu)缺點。 思索:無 硬件試驗五 串行口試驗 、 串行數據轉換并行數據試驗 一、試驗目的 1、把握 mcs51/mcs96 串行口方式 0 工作方式及編程方法; 2、把握用 mcs51/mcs96 的 p1 口的 i/o 功能,輸出串行數據; 3、把握利用串行口入 i/o 口,擴展 i/o 通道的方法。 二、試

35、驗內容 利用單片機的串行口和 i/o 端口串行輸出,利用板上的 74hc164串轉并電路,移位轉換成并行數據,接在 led 燈上顯示。 三、試驗步驟 1、硬件連接 連線 連接孔1 連接孔2 1 l0 164-q0 2 l1 164-q1 3 l2 164-q2 4 l3 164-q3 5 l4 164-q4 6 l5 164-q5 7 l6 164-q6 8 l7 164-q7 9 rxd(p3.0) 164-ab 11 txd(p3.1) 164-clk 2、試驗說明 串行口工作在方式 0 時,可通過外接移位寄存器實現串并行轉換。在這種方式下,數據為 8 位,只能從 rxd 端輸入輸出,tx

36、d 端總是輸出移位同步時鐘信號,其波特率固定為 fosc/12。 3、分析并執(zhí)行程序,觀看記錄結果。 四、試驗流程圖 五、試驗程序 串口 0 方式: mov scon,#0 mov a,#0aah mov sbuf,a jnb t1,$ clr t1 ljmp $ end i/o 口方式 dat equ p1.0 clk equ p1.1 mov a,#55h setb clk mov r7,#8 next: rrc a mov dat,c clr clk setb clk djnz r7,next ljmp $ end 串口方式0讀入 六、試驗結果 led 燈的 l0,l2,l4,l6 亮,

37、l1,l3,l5,l7 滅。 七、試驗提高 將串行數據轉換成并行數據,驅動八段 led 顯示器,即利用串行口擴展 led 顯示器,畫出線路圖并說明工作過程。 思索:無 、 并行數據轉換串行數據試驗 一、試驗目的 把握并行數據轉換為串行數據的方法。 二、試驗內容 利用板上的 74hc165 并轉串電路,讀入外部的并行數據,移位轉換成串行數,利用單片機串行口和 p1 口串行讀入。 三、試驗步驟 1、硬件連接 連線 連接孔 1 連接孔2 1 k0 165-p0 2 k1 165-p1 3 k2 165-p2 4 k3 165-p3 5 k4 165-p4 6 k5 165-p5 7 k6 165-p

38、6 8 k7 165-p7 9 p1.1 165-q7 10 p1.2 165-cl k 11 p1.0 165-load 2、試驗說明 串行口工作在方式 0 時,可通過外接移位寄存器實現串并行轉換。 在這種方式下,數據為 8 位,只能從 rxd 端輸入輸出,txd 端總是輸出移位同步時鐘信號,其波特率固定為晶振頻率 fosc/12。 利用 p1.0 掌握 74hc165 護具輸入/鎖存。 3、分析并執(zhí)行程序,觀看記錄結果。 四、試驗流程圖 五、試驗程序 串行口方式: ld equ p1.0 clr ld setb ld mov scon,#00010000b wait: jnb ri,wai

39、t mov a,sbuf clr ri ljmp $ end i/o 口方式 ld equ p1.0 dat equ p1.1 clk equ p1.2 setb clk clr ld setb ld mov r7,#8 next: rr a mov c,dat 串 口方式 0 讀入 mov acc.7,c clr clk setb clk djnz r7,next ljmp $ end 六、試驗結果 通過轉變開關的開閉狀況使累加器輸出此時的開關值。例如當開關的輸入為 10011001b 時,可以看到累加器 a 的值為 1 、 串行口通訊試驗 一、試驗目的 1、把握單片機串行口工作方式的程序設計方法; 2、了解實現串行通訊的硬環(huán)境、數據格式的協(xié)議、數據交換的協(xié)議。 二、試驗內容 利用單片機串行口,實現兩個試驗臺之間的串行通訊。其中一個試驗臺作為發(fā)送方,另一側為接收方。 發(fā)送方讀入按鍵值,并發(fā)送給接收方,接收方收到數據后在 led上顯示。 三、

溫馨提示

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

評論

0/150

提交評論