50810|0

1379

帖子

0

TA的资源

裸片初长成(中级)

楼主
 

汇编编制双路计数器加比较程序清单 [复制链接]

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
此帖出自单片机论坛
点赞 关注
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表