📄 9keybb.asm
字号:
;一位计数器,按p3.2数码管加1,到9后回0,同时小喇叭响一下报警,该程序是在一位计数器的基础上改进过来的
;***************************************************************************
;* sxj1974@163.com (51c51 test web) www.8951.com *
;* Create by :石学军 www.51c51.com 更多例程请登陆网站 *
;***************************************************************************
org 00h ;开始
jmp start;跳到主程序
org 0030h
start:mov 30h,#0ffh ;30h送ff即-1
main:INC 30H
mov a,30h
setb p3.2 ;把键盘口送高电平
mm: jnb p3.2,tt ;如果p3.2按下则执行tt
ljmp mm ;如果没有按下则反复监测键盘
tt: MOV DPTR,#TAB
MOVC A,@A+DPTR
CLR P2.6 ;开数码管
MOV P0,A ;送显示
lcall delay ;延时一段时间
cjne a,#60h,main ;如果是最后一个数据重新开始
cjne a,#20h,BB ;如果是数字9到小喇叭响的程序
ljmp start ;否则30H 清除
ret
TAB: DB 28H,7EH,0A2H,62H,74H,61H,21H,7AH,20H,60H
;数据表,0--9(如果反向排列则为倒计数
BB:
mov r1,#255 ;小喇叭响的次数
ppp:cpl p3.3 ; 小喇叭响
call deL ;小喇叭响的速率
djnz r1,ppp ;小喇叭响255次。
jmp start
delay: mov r5,#20 ;延时子程序1闪烁灯调用
d1:mov r6,#20
d2: mov r7,#255
djnz r7,$
djnz r6,d2
djnz r5,d1
ret
del: ;延时子程序2小喇叭调用
mov r4,#255
djnz r4,$
ret
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -