求AT89C51 单片机的按钮长按2秒的汇编程序!
3个回答
展开全部
loop: lcall key ;无键按下
jz loop ;
cjne a,#16,loop_next1 ;看看是碰没否是需要的键值,不是就跳走,是就继续
setb flag_2s ;启动定时器2秒定时开始
mov 1dh,#0 ;2秒寄存器清0
loop_2: lcall read_data ;等待期间可以做拦吵纤些其他的事
lcall nibtd_ymd ;等待期间可以做些其他的事
lcall nibtd_hms ;等待期间可以做些其他的事
lcall nibtd_run ;等待期间可以做些其他的事
lcall key ;扫描键盘
jz loop ;无键按下跳走
cjne a,#16,loop ;有键按下 看看是否是需要的简仿键值
jb flag_2s,loop_2 ;还没按住保持2秒,继续等待
loop_1: 2秒已到,继续
jz loop ;
cjne a,#16,loop_next1 ;看看是碰没否是需要的键值,不是就跳走,是就继续
setb flag_2s ;启动定时器2秒定时开始
mov 1dh,#0 ;2秒寄存器清0
loop_2: lcall read_data ;等待期间可以做拦吵纤些其他的事
lcall nibtd_ymd ;等待期间可以做些其他的事
lcall nibtd_hms ;等待期间可以做些其他的事
lcall nibtd_run ;等待期间可以做些其他的事
lcall key ;扫描键盘
jz loop ;无键按下跳走
cjne a,#16,loop ;有键按下 看看是否是需要的简仿键值
jb flag_2s,loop_2 ;还没按住保持2秒,继续等待
loop_1: 2秒已到,继续
展开全部
????不完整
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-05-13
展开全部
你想说什么?
追问
我要做的是编写一个延时启动的控制程序,题目是:
在该系统由继电器KM1,KM2,KM3,(P0.1/P0.2/P0.3),按钮A,B,C(P3.2/P3.3/P3.4)组成。在初始化后,KM1~KM3关闭(高电位)。如果按下按钮B,KM1和KM2启动(低电位),延时4秒后,KM1和KM3启动,KM2关闭,进入正常运行。如在正常运行过程中按下C按钮2秒,KM1~KM3关闭,系统停止。在任意时刻如果按下按键A,将执行急停,KM1~KM3立刻停止,系统必须通过复位才能进行其他操作。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询