advertisement

2014年12月29日

七段應用控制 8051 assembly

;------------------------------------------
;     ===================================
;     ==         七段應用控制          ==
;     ==          2014/12/29               ==
;     ==        蘇偉諺 4A037052     ==
;     ===================================
;------------------------------------------
;依序點亮七段顯示器的燈管a、燈管b、燈管c…燈管g;點亮的同時依序閃爍1次、2次、3次…7次。

; SEG EQU P1; 定義SEG等於P1,P1等於7段顯示器

; MOV SP,#5FH;把5FH內的資料複製到SP
; MOV A,#11111110B

;; CALL DISPLAY

; MOV SEG,A
; MOV R7,#10
; CALL DELAY

; MOV SEG,#11111111B
; MOV R7,#10
; CALL DELAY

;; RL A

;; CALL DISPLAY
;; CALL DISPLAY

; MOV SEG,A
; MOV R7,#10
; CALL DELAY

; MOV SEG,#11111111B
; MOV R7,#10
; CALL DELAY

; MOV SEG,A
; MOV R7,#10
; CALL DELAY

; MOV SEG,#11111111B
; MOV R7,#10
; CALL DELAY
;--------------------------------
; CALL DISPLAY
; RL A
; CALL DISPLAY
; CALL DISPLAY
; RL A
; CALL DISPLAY
; CALL DISPLAY
; CALL DISPLAY
;--------------------------------
; MOV R0,#0
;LOOP: CALL DISPLAY
; DJNZ R0,LOOP

; RL A

; MOV R0,#1
;LOOP: CALL DISPLAY
; DJNZ R0,LOOP

; RL A

; MOV R0,#2
;LOOP: CALL DISPLAY
; DJNZ R0,LOOP

; RL A

; MOV R0,#3
;LOOP: CALL DISPLAY
; DJNZ R0,LOOP

; RL A
;--------------------------------
; MOV R1,#01H
; CALL GO

; MOV R1,#02H
; CALL GO

; MOV R1,#03H
; CALL GO
;--------------------------------
SEG EQU P1; 定義SEG等於P1,P1等於7段顯示器

MOV SP,#5FH;把5FH內的資料複製到SP
MOV A,#11111110B
MOV R1,#01H
AGAIN: CALL GO
INC R1
CJNE R1,#8,AGAIN

JMP $


TABLE_SEG: DB 11111110B

DELAY: MOV     TMOD,#00010001B
DLOOP1:         MOV     TH0,#HIGH(65536-50000)
                MOV     TL0,#LOW(65536-50000)
                SETB    TR0
                JNB     TF0,$
                CLR     TR0
                CLR     TF0
                DJNZ    R7,DLOOP1
                RET

DISPLAY: MOV SEG,A
MOV R7,#10
CALL DELAY

MOV SEG,#11111111B
MOV R7,#10
CALL DELAY
RET

GO: MOV R0,01
LOOP: CALL DISPLAY
DJNZ R0,LOOP

RL A
RET

END

沒有留言:

張貼留言

文章有誤或有問題麻煩您留言告知! 謝謝您~~