⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 999999.asm

📁 LED灯的一些源码
💻 ASM
字号:
;999999计数器。开机后显示000000,一直往上累加
;***************************************************************************
;*  sxj1974@163.com		     (51c51 test web)     www.8951.com     *
;*  Create by :石学军      www.51c51.com 更多例程请登陆网站        	   *
;***************************************************************************
org 00h
a_bit equ 30h         ;个位数存放处
b_bit equ 31h         ;十位数存放处
c_bit equ 32h         ;百位数存放处
d_bit equ 33h         ;千位数存放处
e_bit equ 34h         ;万位数存放处
f_bit equ 35h         ;十万位数存放处 

	org	0000h
	ajmp	star
	org	0030h

star:
	mov	a,#00h  ;;清0
	mov	a_bit,a
	mov	b_bit,a
	mov	c_bit,a
	mov	d_bit,a
	mov	e_bit,a
	mov	f_bit,a
stlop:  acall display    ;显示
        inc a_bit
        mov	a,a_bit  
        cjne	a,#10,stlop;
        mov	a_bit,#00h
        inc b_bit
        mov	a,b_bit
        cjne	a,#10,stlop
        mov	b_bit,#00h
        inc c_bit
        mov	a,c_bit
        cjne	a,#10,stlop
        mov	c_bit,#00h
        inc d_bit
        mov	a,d_bit
        cjne	a,#10,stlop
        mov	d_bit,#00h
        inc e_bit
        mov	a,e_bit
        cjne	a,#10,stlop
        mov	e_bit,#00h
        inc f_bit
        mov	a,f_bit
        cjne	a,#10,stlop
        mov	f_bit,#00h
	ajmp	stlop

;显示子程序
display: 
         mov dptr,#numtab ;指定查表启始地址
         mov r0,#4 
dpl1:    mov r1,#250     ;显示1000次
dplop:   mov a,a_bit     ;取个位数
         MOVC A,@A+DPTR  ;查个位数的7段代码
         mov p0,a        ;送出个位的7段代码
         clr p2.6        ;开个位显示
         acall d1ms       ;显示1ms
         setb p2.6

         mov a,b_bit ;取十位数
         MOVC A,@A+DPTR ;查十位数的7段代码
         mov p0,a ;送出十位的7段代码
         clr p2.5 ;开十位显示
         acall d1ms ;显示1ms
         setb p2.5

         mov a,c_bit ;取百位数
         MOVC A,@A+DPTR ;查百位数的7段代码
         mov p0,a ;送出百位的7段代码
         clr p2.4 ;开百位显示
         acall d1ms ;显示1ms
         setb p2.4

         mov a,d_bit ;取千位数
         MOVC A,@A+DPTR ;查千位数的7段代码
         mov p0,a ;送出千位的7段代码
         clr p2.3 ;开千位显示
         acall d1ms ;显示1ms
         setb p2.3

         mov a,e_bit ;取万位数
         MOVC A,@A+DPTR ;查万位数的7段代码
         mov p0,a ;送出万位的7段代码
         clr p2.2 ;开万位显示
         acall d1ms ;显示1ms
         setb p2.2

         mov a,f_bit ;取十万位数
         MOVC A,@A+DPTR ;查十万位数的7段代码
         mov p0,a ;送出十万位的7段代码
         clr p2.1 ;开十万位显示
         acall d1ms ;显示1ms
         setb p2.1

         djnz r1,dplop ;100次没完循环
         djnz r0,dpl1 ;4个100次没完循环
         ret
;1MS延时(按12MHZ算)
;====================================================
D1MS: MOV R7,#2 
      DJNZ R7,$
      RET
;7段数码管各划的数字排列表
numtab: db 28h,7eh,0a2h,62h,74h,61h,21h,7ah,20h,60h
;0 1 2 3 4 5 6 7 8 9
end

    

     

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -