按键的汇编程序程序
Ⅰ 编写检测键盘按下的汇编中断程序
比如说按键接在p3.2,用外部中断0实现键按一次进入外部中断程序并保持,再按一下中断返回
ORG 0000H
LJMP MAIN
ORG 000BH ;外部中断0的入口地址
LJMP IN0
ORG 0030H ;主程序的开始
MAIN:MOV SP,#60H
SETB EA ;开中断总允许
SETB EX0 ;开外部中断0允许
SETB IT0 ;外部中断0触发方式
SJMP $ ;原地踏步,可以用你自己的具体程序替代
IN0:JB P3.2,$ ;判断按键(p3.2)是否按下
JNB P3.2,$ ;判断按键(p3.2)是否释放
RETI ;中断返回断点处
END
Ⅱ 单片机 汇编语言如果要实现按键按下后连加或连减的效果,程序该怎么编写
汇编很久没用过了,提供一下思路,供参考!
可采用计时的方式,检测按键按下状态超过2秒后,数据开始增大递加递减的步距(之前是每次加减1,增大后,每次加减10),松开按键后,计时器清零!
采用计次的方式也可以实现,按键后,数据递加或递减一次,延时300毫秒,再次检测按键,未松开,继续递加,加满5次后,开始增发递加或递减步距,松开按键后,计次清零!
Ⅲ 求汇编语言程序:8个开关p0.0——p0.7分别控制8个灯p1.0——p1.7,
你的问题有些矛盾,给你做一个按一下灯亮,再按一下灯灭的程序吧。
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV P1,#0FFH ;灯初始全灭
MOV P0,#0FFH ;按键初始都没有按下
LOOP:
JB P0.0,LOOP1 ;第一个键没按转下一个
JNB P0.0,$ ;第一键按下则等抬起
CPL P1.0 ;第一个灯如果开始灭则点亮,开始亮则灭
LOOP1: ;以下与此类似,不做注释。
JB P0.1,LOOP2
JNB P0.1,$
CPL P1.1
LOOP2:
JB P0.2,LOOP3
JNB P0.2,$
CPL P1.2
LOOP3:
JB P0.3,LOOP4
JNB P0.3,$
CPL P1.3
LOOP4:
JB P0.4,LOOP5
JNB P0.4,$
CPL P1.4
LOOP5:
JB P0.5,LOOP6
JNB P0.5,$
CPL P1.5
LOOP6:
JB P0.6,LOOP7
JNB P0.6,$
CPL P1.6
LOOP7:
JB P0.7,LOOP8
JNB P0.7,$
CPL P1.7
LOOP8:LJMP LOOP
END
Ⅳ 按键控制步进电机正反转,汇编程序怎么写
正转Zhengzhuan:SETB P3.4 CALL DELAYCLR P3.4SETB P3.5CALL DELAY CLR P3.5 SETB P3.6CALL DELAYCLR P3.6SEB P3.7CALL DELAY CLR P3.7AJMP Zhengzhuan
反转时通电顺序倒过来就行,按P3.7 P3.6 P3.5 P3.4来循环。