天天看點

io輸入輸出實驗報告c語言,實驗一 IO口輸入、輸出實驗.doc

實驗一 IO口輸入、輸出實驗

貴 州 大 學 實 驗 報 告 紙

系 别電科班 級電科091班姓 名學号課 程 名 稱單片機成 績

評 定

教師簽名實 驗 時 間 2012年 5 月5 日實驗一 I/O口輸入、輸出

一、實驗目的

掌握單片機P1口、P3口的使用方法。

二、實驗要求

根據實驗内容編寫一個程式,并在實驗儀上調試和驗證。

三、實驗内容

以P1口為輸出口,接八位邏輯電平顯示,LED顯示跑馬燈效果。以P3口為輸入 口,接八位邏輯電平輸出,用來控制跑馬燈的方向。

四、實驗說明和電路原理圖

P1口是準雙向口,它作為輸出口時與一般的雙向口使用方法相同。由準雙向口結構 可知當P1口作為輸入口時,必須先對它置高電平使内部MOS管截止。因為内部上拉電阻阻值是20K~40K,故不會對外部輸入産生影響。若不先對它置高,且原來是低電平,則MOS管導通,讀入的資料是不正确的。

本實驗需要用到CPU子產品(F3區)和八位邏輯電平輸出子產品(E4區)和八位邏輯電平顯示子產品(B5區),八位邏輯電平輸出電路原理圖參見圖1-1。八位邏輯電平顯示電路原理圖參見圖1-2。

圖1-2 八位邏輯電平顯示

圖1-1 八位邏輯電平輸出

五、實驗步驟

㈠ 實驗程式編寫

實驗程式:

;//******************************************************************

;檔案名: Port for MCU51

;功能: I/O口輸入、輸出實驗

;接線: 用導線連接配接八位邏輯電平輸出子產品的K0到CPU子產品的RXD(P3.0口),K1

;到CPU子產品的P3.1口;

;用8位資料線連接配接八位邏輯電平顯示子產品的JD4B到CPU子產品的JD8(P1口)。

;//******************************************************************

DIR BIT P3.0

ORG 0000H

LJMP START

ORG 0100H

START:

Output1:

mov a, #0fEH

mov r5, #8

loop1:

CLR C

mov C,DIR

JC Output2

mov P1, a

rl a

Acall Delay

djnz r5, loop1

Sjmp Output1

Output2:

mov a, #07fH

mov r5, #8

loop2:

CLR C

mov C,DIR

JNC Output1

mov P1, a

rr a

Acall Delay

djnz r5,loop2

Sjmp Output2

Delay:

mov r6,#0

DelayLoop1:

mov r7,#0

DelayLoop2:

NOP

NOP

djnz r7,DelayLoop2

djnz r6,DelayLoop1

ret

end

修改後的程式為:

ORG 0000H

LJMP START

ORG 0100H

START:

Output1:

mov a, #0fEH

mov R5, #8

loop1:

MOV R2,P3

CJNE R2,#0FFH,Output2

mov P1, a

rl a

Acall Delay

djnz R5, loop1

Sjmp Output1

Output2:

mov a, #07fH

mov R5, #8

loop2:

MOV R2,P3