📄 999999b.asm
字号:
;********************************************************************************
;999999计数器的另一种形式。 .数码管数据p0,数码管控制p2口 *
;********************************************************************************
;* 日期: 2007-3-25 *
;* 版本: 3.0 *
;* 作者: 深圳学林电子有限公司 专业8051单片机教学站 *
;* 邮箱: sxj1974@163.com *
;* 网站: http://www.51c51.com http://www.8951.com 更多例程请登陆网站 *
;********************************************************************************
;* 硬件:此程序在本公司xlisp系列单片机实验仪运行通过 *
;********************************************************************************
;* 【版权】 Copyright(C)深圳学林电子有限公司 www.51c51.com All Rights Reserved *
;* 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息! *
;********************************************************************************
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
MOV 30H,#00H ;30h--33h is a buffer for four 7-segment led display.
MOV 31H,#00H ;at the beginning,the four 7-seg led all diaplay zero.
MOV 32H,#00H
MOV 33H,#00H
MOV DPTR,#TAB
MAIN1:
mov 35h,#10
lop1:
MOV 34H,#00 ;34h and 35h is a counter for control the counter time.the 00h equal 256.
LOOP:
MOV A,30H
MOVC A,@A+DPTR
SETB P2.1
CLR P2.6
MOV P0,A
LCALL DELAY
MOV P0,#0FFH ;display the lowest 7-seg led.
MOV A,31H
MOVC A,@A+DPTR
SETB P2.6
CLR P2.5
MOV P0,A
LCALL DELAY
MOV P0,#0FFH
MOV A,32H
MOVC A,@A+DPTR
SETB P2.5
CLR P2.4
MOV P0,A
LCALL DELAY
MOV P0,#0FFH
MOV A,33H
MOVC A,@A+DPTR
SETB P2.4
CLR P2.3
MOV P0,A
LCALL DELAY
MOV P0,#0FFH ;display the highest 7-seg led.
SETB P2.3
CLR P2.2
MOV P0,#28h
LCALL DELAY
MOV P0,#0FFH ;display the highest 7-seg led.
SETB P2.2
CLR P2.1
MOV P0,#28h
LCALL DELAY
MOV P0,#0FFH ;display the highest 7-seg led.
DJNZ 34H,LOOP ;scan one time,34h decrease one,if 34h decrease to zero,the buffer content will change.
djnz 35h,lop1
INC 30H
MOV A,30H
CJNE A,#10,MAIN1
MOV 30H,#00H ;if 30h increase to 10,then clear 30h and increase 31h.
INC 31H
MOV A,31H
CJNE A,#10,MAIN1
MOV 31H,#00H ;if 31h increase to 10,then clear 31h and increase 32h.
INC 32H
MOV A,32H
CJNE A,#10,MAIN1
MOV 32H,#00H ;if 32h increase to 10,then clear 32h and increase 33h.
INC 33H
MOV A,33H
CJNE A,#10,MAIN2
MOV 33H,#00H ;if 33h increase to 10,then clear 33h and jump to main.
AJMP MAIN
main2: ajmp main1
DELAY:
CLR P3.3
MOV R7,#2
NOP
NOP
D1: MOV R6,#2
SETB P3.3
D2: DJNZ R6,D2
CLR P3.3
DJNZ R7,D1
SETB P3.3
RET
TAB:
DB 28H,7EH,0A2H,62H,74H,61H,21H,7AH,20H,60H
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -