本文作者:sukai

按键的汇编程序程序(用汇编写按键中断程序)

sukai 2023-11-25 116

1、双击功能统计按键释放到下次按键的时间,很简单的=== 下列程序,已经经过实验检测,可以满足题目要求 LED EQU P35 KEY EQU P37 ORG 0000H LJMP START ORG 0030H STARTJB KEY;共阳数码管 COUNT EQU 30H SP1 EQU P36 SP2 EQU P37 ORG 0 AJMP MAIN ORG 30H MAIN MOV COUNT,#0 MAIN1 MOV A,COUNT MOV B,#10 DIV AB MOV DPTR,#TAB MOVC A,@A+DPTR MOV P2,A MOV A,B MOV;KEY1 BIT P30 KEY2 BIT P31 KEY3 BIT P32 KEY4 BIT P33 按键处理程序 READ_KEYJB KEY1, K2 CALL DELAY JB KEY1, K2 JNB KEY1,PUSH ACC INC 75H MOV A;JNB P14,AN0 按键消抖 MOV 3FH,#0 将按键值送入按键缓存寄存器 LJMP YIDONG 调用移动子程序 AN1LCALL DISPLAY MOV P1,#10B。

2、int 21h 取扩展ASCII码非字符码的功能键mov ah,1 clc kbtest_2ret kbtest endp === 子程序的返回值如下CF=1时无输入CF=0且AH=0时AL=输入的ASCII码字符码CF=0且AH=1时AL=输入的扩展ASC;程序ORG 00H START MOV A,P1 ANL A,#0F0H RR A RR A RR A RR A ORl A,#0F0H MOV P1,A SJMP START 可以检测单个按键,也可以同时检测多个按键 过程开始读P1口数据到AA中的数据右移4次A;P10 P11接2LED,P20接一按键上电2LED不亮,按第1 次键2LED同时以1S周期闪烁,按第2 次 2LED轮流1S闪烁同此循环11 04 17 ORG 00H AJMP MAIN ORG 0BH AJMP T0INT ORG 30H MAINMOV TMOD,#;本程序最多能输入255个字符包括回车,输出统计时,第一个数字是数字字符个数,第二个是字母,第三个是其它assume cscode,dsdata data segment da1 db 255 da2 db ?da3 db 255 dup ?data ends stack segment;key1 equ p10 key2 equ p11 keyscanjb key1,key01 键1如果没按下转 jnb key1,$ 键1如果按下,等待抬起 ljmp fun1 转fun1 key01jb key2,keyrtn 键2如果没按下转 jnb key2。

按键的汇编程序程序(用汇编写按键中断程序)

3、JB P12, K4 K3没有按键,转移 CALL DELAY 延时 JB P12, K4 消抖 JNB P12, $ 等待释放 CPL 20H2 状态翻转 MOV C, 20H2 MOV P02, C 输出 K4JB;BIT 00H 用于标志是否有键按下 KEYCOU EQU 5AH 用于记录按下键的次数 ORG 0000H 程序开始 AJMP START ORG 30H 为避免占用中断向量区,主程序从30H开始 STARTMOV SP,#5FH 设置堆栈的初始地址 MOV P2,#0H;ORG 0000H AJMP START ORG 0003H LJMP INT0 ORG 000BH LJMP ITT0 ORG 0030H STARTMOV SP,#60H MOV R0,#00H MOV R1,#00H CLR P15 CLR P16 CLR P17 MOV TMOD,#01H MOV TL0,#0ffH MOV TH0,#;七段共阳数码管接在P0口,显示从0到9, 按键接P32按一下加一, 按键P33 按一下减一程序如下K1 BIT P32 K2 BIT P33 STARTMOV DPTR,#TABLE MOV R1,#0 MLOOPMOV A,R1 MOVC A,@A+DPTR MOV。

4、DATA_ten DATA 31H十位 ORG 00H LJMP MAIN ORG 30H MAIN主程序 SETB LED_bits SETB LED_ten SETB KEY MOV DATA_bits,#0 MOV DATA_ten,#0 LOOPACALL DISPLAY显示 ACALL KEY_COUNT键控 LJMP;正转ZhengzhuanSETB P34 CALL DELAYCLR P34SETB P35CALL DELAY CLR P35 SETB P36CALL DELAYCLR P36SEB P37CALL DELAY CLR P37AJMP Zhengzhuan 反转时通电顺序倒过来就行,按P37 P36 P3;mov c,p33 检测按键 jnc tt1 JNB 20H,MAIN 检测时间标志 CLR 20H AJMP TT3 TT2mov c,p33 检测按键 jnc tt2 TT3CPL 21H 改变灯状态 cpl p13 ajmp main TT1 NOP 延时但不是子程序 NO;循环点亮LED灯,也就是流水灯效果的控制,可以用定时器来控制,这样做相对代码量较少而时间比较精确,外部中断0接以按键,可以控制动态效果的启停程序如下ORG 0000H LJMP MAIN ORG 0003H LJMP EXT0 外部中断0。

阅读
分享