兩燈同時右旋 一燈左右旋 左旋至最左邊閃三次再右旋至最右邊閃三次重複 兩燈同時右旋

實習一             走馬燈(左旋)

實習目的:  了解如何以指令控制輸出埠為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 皆可。

功能說

       使 port 1 8 之接腳一次只有兩隻為 hight , 且向右旋轉不停 , LED一次只滅兩顆 , 先是最左邊 LED   , 接著右鄰 LED 滅 , 如此時續向右旋轉。按完 Reset 鈕 , 再重頭開始

程式

                     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 皆可。

功能說

       使 port 1 8 隻接腳一次只有一顆 LED, 且右旋至底 , 且讓八顆 LED全閃爍三次 , 再由最左邊 LED , 且右旋至底 , 讓八顆 LED全閃爍三次 , 並重複此一動作。

程式

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