上周做的八段數碼管顯示匯編源碼~~~
一、實驗目的
1 .了解數碼管動態顯示的原理
2 .了解用總線方式控制數碼管顯示
- ORG 0000H
- AJMP MAIN
- MAIN: MOV 70H, #00H
- MLoop: INC 70H
- MOV A, 70H
- MOV B,A
- MOV R0, #60H
- FillBuf: MOV A, B
- ANL A, #0FH
- MOV DPTR, #LED
- MOVC A, @A+DPTR ; 數字轉換成顯示碼
- MOV @R0, A ; 顯示代碼填入顯示緩沖
- INC R0
- INC B
- CJNE R0, #66H, FillBuf
- ACALL DisplayLED ; 顯示
- AJMP MLoop
- LED: DB 3FH, 06H, 5BH, 4FH, 66H, 6DH
- DB 7DH, 07H, 7FH, 6FH, 77H, 7CH
- DB 39H, 5EH, 79H, 71H; 八段顯示段代碼
- DisplayLED: MOV R0, #60H ; 顯示緩沖
- MOV R1, #06H ;共 共 6 個八段管
- MOV R2, #00100000B ; 從左邊開始顯示
- MOV DPTR, #8002H ; 位控制口
- Loop: MOV A, #00H
- MOVX @DPTR, A ; 關所有八段管
- MOV A, @R0
- MOV DPTR, #8004H ; 段控制口
- MOVX @DPTR, A
- MOV DPTR, #8002H ; 位控制口
- MOV A, R2
- MOVX @DPTR, A ; 顯示一位八段管
- LCALL Delay
- MOV A, R2 ; 顯示下一位
- RR A
- MOV R2,A
- INC R0
- DJNZ R1, Loop
- RET
復制代碼
|