选择分类:当前分类——当前分类
本站推荐:
双路计数器加比较程序
文章长度[3068] 加入时间[2006/7/1] 更新时间[2024/8/15 19:34:58] 级别[3] [评论] [收藏]
org 00h
jmp config


config:
mov r0,#0
mov r1,#0
mov r2,#0
mov r3,#0
mov r4,#0
mov r5,#0
mov r6,#0
mov r7,#0
clr 40h
clr 41h
clr 42h
clr 43h

jmp main
main:
call k0
call k1
call k2
call k3
call bg
call js
call d1
call d2
inc r7
cjne r7,#4 ,main
mov r7,#0
jmp main



k0:setb p3.1
jb p3.1,k01
djnz 56h,$
jb p3.1,k01
setb 30h
setb 40h
jmp k02
k01:clr 30h
k02:
jb 30h,k0end
djnz 56h,$
jb 30h,k0end
jnb 40h,k0end
djnz 56h,$
jnb 40h,k0end
clr 40h
mov r6,#0
mov r5,#0
k0end:ret

k1:setb p3.0
jb p3.0,k11
djnz 56h,$
jb p3.0,k11
setb 31h
setb 41h
jmp k12
k11:clr 31h
k12:
jb 31h,k1end
djnz 56h,$
jb 31h,k1end
jnb 41h,k1end
djnz 56h,$
jnb 41h,k1end
clr 41h
mov r4,#0
mov r3,#0
k1end:ret

k2:setb p3.7
jb p3.7,k21
djnz 56h,$
jb p3.7,k21
setb 32h
setb 42h
jmp k22
k21:clr 32h
k22:
jb 32h,k2end
djnz 56h,$
jb 32h,k2end
jnb 42h,k2end
djnz 56h,$
jnb 42h,k2end
clr 42h
inc r6;这才是按键的功能
cjne r6,#100,k2end
mov r6,#0
inc r5
cjne r5,#100,k2end
mov r5,#0

k2end:ret

k3:setb p3.6
jb p3.6,k31
djnz 56h,$
jb p3.6,k31
setb 33h
setb 43h
jmp k32
k31:clr 33h
k32:
jb 33h,k3end
djnz 56h,$
jb 33h,k3end
jnb 43h,k3end
djnz 56h,$
jnb 43h,k3end
clr 43h
inc r4;这才是按键的功能
cjne r4,#100,k3end
mov r4,#0
inc r3
cjne r3,#100,k3end
mov r3,#0
k3end:ret


bg:
mov 38h,r5
mov a,r3
cjne a,38h,bg1
mov 38h,r6
mov a,r4
cjne a,38h,bg1

bg1:jc bgend
setb p3.5
clr p3.4
ret

bgend:
setb p3.4
clr p3.5
ret






js:
mov a,r6
mov b,#10
div ab ;将秒计算后送入显示缓存
mov 37h,b
mov 36h,a

mov a,r5
mov b,#10
div ab ;将分计算后送入显示缓存
mov 35h,b
mov 34h,a

mov a,r4
mov b,#10
div ab ;将小时计算后送入显示缓存
mov 33h,b
mov 32h,a

mov a,r3
mov b,#10
div ab ;将小时计算后送入显示缓存
mov 31h,b
mov 30h,a

ret




d1:
mov p2,#0ffh
anl p0,#11110000b
ds0:cjne r7,#0,ds1
setb p0.3
mov a,30h
jmp ledtab
ds1:cjne r7,#1,ds2
setb p0.2
mov a,31h
jmp ledtab
ds2:cjne r7,#2,ds3
setb p0.1
mov a,32h
jmp ledtab
ds3:cjne r7,#3,ed1
setb p0.0
mov a,33h
jmp ledtab
ed1:ret
ledtab:
mov dptr,#table
movc a,@a+dptr
cpl a
mov p2,a
jmp ed1


d2:
mov p1,#0ffh
anl p0,#00001111b
ds20:cjne r7,#0,ds21
setb p0.7
mov a,34h
jmp ledtab1
ds21:cjne r7,#1,ds22
setb p0.6
mov a,35h
jmp ledtab1
ds22:cjne r7,#2,ds23
setb p0.5
mov a,36h
jmp ledtab1
ds23:cjne r7,#3,ed2
setb p0.4
mov a,37h
jmp ledtab1
ed2:ret
ledtab1:
mov dptr,#table
movc a,@a+dptr
cpl a
mov p1,a
jmp ed2

table:db 00111111b,00000011b,01101101b,01100111b,01010011b,01110110b,01111110b,00100011b,01111111b,01110111b
end

1、 本站不保证以上观点正确,就算是本站原创作品,本站也不保证内容正确。
2、如果您拥有本文版权,并且不想在本站转载,请书面通知本站立即删除并且向您公开道歉! 以上可能是本站收集或者转载的文章,本站可能没有文章中的元件或产品,如果您需要类似的商品请 点这里查看商品列表!