兩燈同時右旋 一燈左右旋 左旋至最左邊閃三次再右旋至最右邊閃三次重複 兩燈同時右旋
實習一 走馬燈(左旋)
實習目的: 了解如何以指令控制輸出埠為HIGH或為LOW並以顯示
使用器材: 8051單晶片
模擬器
386電腦一台
功能說明: 使用PORT1的8支腳一次只有一支為HIGH,且一直向左轉不停,
故LED一次只減一顆先是最右邊,接著左邊LED滅,向左旋轉,
按下Reset鈕,再重頭開始.
流程圖:

電路圖:

程式:
ORG OH
START: MOV A,#11111110B
LOOP: MOV P1,A
CALL DELAY
RL A
JMP LOOP
DELAY: PUSH 7
PUSH 6
MOV 7,#0
$1 MOV 6,#0
DJNZ 6,$
DJNZ 7,$1
POP 6
POP 7
RET
END
![]()
目的
了解如何以指令控制輸出阜為 high 或為 low , 並以 LED顯 示
使用材料
8051
微電腦一片
, 包含八個顯示用
LED , 零件如下
:
1. 8031 單晶片微處理器一個 1 個 ( 40 pin IC )
2. 74LS373 位址鎖定 1 個 (20 pin IC )
3. 2764A 8 Kbyts EPROM 1 個
4. 12MHZ Xtal 石英振盪器 Crystal 1 個
5. 10 μf 電容一個
6. 20KΩ 電阻一個
7. Tact Switch 常開式重制開關一個
8. 30pf 電容2 個 ( 經省略無訪 )
9. LED 單科直徑 3mm 或 5mm 8 個
10. 470Ω
9pin 1 個
上述第
9 項可 IC 式排
LED 取代更方便。電阻使用 1/4 W , 1/8 W 皆可。
功能說明
程式
ORG 00H ; ORG 宣告
START: MOV A , #11000000B ; 變數值初設
LOOP: MOV P1 , A ; ACC的值輸出到P1顯示
CALL DELAY ; 延遲
RR A ; ACC向遲左旋轉一個位元
RR A
SJMP LOOP ; 左旋一個位元,在輸出到阜1
DELAY: MOV R2 , #2 ; 延遲時間副程式
DD3: MOV R1 , #200
DD2: MOV R0 , #250
DD1: DJNZ R0 , DD1
DJNZ R1 , DD2
DJNZ R2 , DD3
RET
END ; END是組譯器(Assembler)之指令
表示組譯到此結束
![]()
目的
了解如何以指令控制輸出阜為 high 或為 low , 並以 LED顯 示
使用材料
8051
微電腦一片
, 包含八個顯示用
LED , 零件如下
:
1. 8031 單晶片微處理器一個 1 個 ( 40 pin IC )
2. 74LS373 位址鎖定 1 個 (20 pin IC )
3. 2764A 8 Kbyts EPROM 1 個
4. 12MHZ Xtal 石英振盪器 Crystal 1 個
5. 10 μf 電容一個
6. 20KΩ 電阻一個
7. Tact Switch 常開式重制開關一個
8. 30pf 電容2 個 ( 經省略無訪 )
9. LED 單科直徑 3mm 或 5mm 8 個
10. 470Ω
9pin 1 個
上述第
9 項可 IC 式排
LED 取代更方便。電阻使用 1/4 W , 1/8 W 皆可。
功能說明
程式
ORG 0H
START: MOV PSW, #00H
MOV R3, #28
MOV DPTR, #LAMP
MOV A, #00H
LKK: MOV R4, A
MOVC A, @A+DPTR
MOV P1, A
CALL DELAY
MOV A, R4
INC A
DJNZ R3, LKK
JMP START
DELAY: MOV R2, #2
DE1: MOV R1, #200
DE2: MOV R0, #250
DE3: DJNZ R0, DE3
DJNZ R1, DE2
DJNZ R2, DE1
RET
LAMP:
DB FEH FDH FBH F7H EFH DFH BFH 7HF 00H FFH
DB 00H FFH 00H FFH 7FH BFH DFH FEH
DB F7H FBH FDH FEH 00H FFH 00H FFH 00H FFH
![]()
目的
了解如何以指令控制輸出阜為 high 或為 low , 並以 LED顯 示
使用材料
8051
微電腦一片
, 包含八個顯示用
LED , 零件如下
:
1. 8031 單晶片微處理器一個 1 個 ( 40 pin IC )
2. 74LS373 位址鎖定 1 個 (20 pin IC )
3. 2764A 8 Kbyts EPROM 1 個
4. 12MHZ Xtal 石英振盪器 Crystal 1 個
5. 10 μf 電容一個
6. 20KΩ 電阻一個
7. Tact Switch 常開式重制開關一個
8. 30pf 電容2 個 ( 經省略無訪 )
9. LED 單科直徑 3mm 或 5mm 8 個
10. 470Ω
9pin 1 個
上述第
9 項可 IC 式排
LED 取代更方便。電阻使用 1/4 W , 1/8 W 皆可。
功能說明
使 port 1 的 8 之接腳一次只有一隻為 hight , 故 LED一次只滅一顆且向左旋轉至底 , 接著由最右邊 LED一次只滅一顆且向右旋轉至底 , 如此時續左右旋轉。按完 Reset 鈕 , 再重頭開始。
程式
ORG 00H
JMP START
ORG 50H
START:
MOV P1 , A
MAIN:
MOV R0,#7
LOOP1:
MOV P1 , A
RL A
CALL DELAY
DJNZ R0 , LOOP1
MOV RO , #7
LOOP2:
MOV P1 , A
RR A
CALL DELAY
DJNZ RO , LOOP2
JMP MAIN
DELAY:
MOV R5 , #2
D1 : MOV R6 , #40
D2: MOV R7 , #249
DJNZ R7 , $
DJNZ R6 , D2
DJNZ R5 , D1
RET
END