100位计数器的示例

来源:本站
导读:目前正在解读《100位计数器的示例》的相关信息,《100位计数器的示例》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《100位计数器的示例》的详细说明。
简介:运行程序数码管显示00--99依次循环

下面是asm源程序和hex程序(asm程序可以用uvw51e 编辑后得到hex,)

a_bit equ 20h ;个位数存放处

b_bit equ 21h ;十位数存放处

temp equ 22h ;计数器寄存器

star: mov temp,#0 ;初始化计数器

stlop: acall display

inc temp

mov a,temp

cjne a,#100,next ;=100重来

mov temp,#0

next: ljmp stlop

;显示子程序

display: mov a,temp ;将temp中的十六进制数转换成10进制

mov b,#10 ;10进制/10=10进制

p ab

mov b_bit,a ;十位在a

mov a_bit,b ;个位在b

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.7 ;开个位显示

acall d1ms ;显示1ms

setb p2.7

mov a,b_bit ;取十位数

MOVC A,@A+DPTR ;查十位数的7段代码

mov p0,a ;送出十位的7段代码

clr p2.6 ;开十位显示

acall d1ms ;显示1ms

setb p2.6

djnz r1,dplop ;100次没完循环

djnz r0,dpl1 ;4个100次没完循环

ret

;1MS延时(按12MHZ算)

;====================================================

D1MS: MOV R7,#80

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

提醒:《100位计数器的示例》最后刷新时间 2024-03-14 01:15:10,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《100位计数器的示例》该内容的真实性请自行鉴别。