實習五                 七段顯示器

目的﹕瞭解七段顯示器之顯示碼推導方法。

               

 使用材料﹕(1)單晶片8051 (2)共陽極七段顯示器×1

                     (3)排組×1

 

 功能說明﹕ 程式執行後,使接在輸出埠Port1之七段顯示器依序顯示0~9

數字持續不斷。

 

流程圖: 

 

電路圖:

說明﹕

(1)   當四個七段顯示器同時顯示一字時,J46J47短路。

(2)   使用a~f顯示時,J50Port1

(3)   使用BCD碼輸入時,J49J50短路,J48Port1

程式﹕                                                                                                                                                       

1.                      ORG  0H                                                   

 2.     STARTMOV  R3 , # 10                              :設暫存器R3為10

 3.                     MOV  R4 , # 00H                           :設暫存器R4為 0

 4.                     MOV  DPTR , # TABLE                 :七段顯示碼之表格所在位址載入資料                 

                                                                                    指標暫存器 DPTR 中。      

5.       LOOPMOV  A , R4                             5~7:取得相對應的七段碼,輸出到埠1                                   

6.                      MOVC  A , @A+DPTR                  

7.                      MOV  P1 , A

8.                      CALL   DELAY                      8~10:顯示後延遲一下,指向下一位數字,若未顯   

9                       INC  R4                                              示完 10 個數字,繼續;已顯示完 0~9 則重新

10                     DJNZ  R3 , LOOP                              開始。                               

11                    JMP  START

12    DELAYMOV  R2 , # 2                      12~18:延遲副程式,約零點多秒。以 R7、R6及         

13         DD3MOV  R1 , # 200                                  DJNZ 指令即可完成延時。

14         DD2MOV  R0 , # 250

15         DD1DJNZ  R0 , DD1

16                     DJNZ  R1 , DD2

17                     DJNZ  R2 , DD3

18                     RET

19     TABLEDB     11000000B                 19~29:0~9 的七段顯示碼一覽表,為配合硬體線

20                     DB     11111001B                               路,使用共陽段顯示器,所                                   

21                     DB     10100100B                               以表中 "0" 使 LED 亮,"1"使 LED 滅。

22                     DB     10110000B                              "B"符號表示二進制數 (Binary)。

23                     DB     10011001B

24                     DB     10010010B

25                     DB     11000011B

26                     DB     11111000B

27                     DB     10000000B

28                     DB     10010000B

29                     END