兩燈同時右旋 一燈左右旋 左旋至最左邊閃三次再右旋至最右邊閃三次重複 兩燈同時右旋
實習一 走馬燈(左旋)
實習目的: 了解如何以指令控制輸出埠為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