用两按键控制51单片机的2个外部中断怎么编?

用汇编语言编 要程序

按键控制中断你这里的描述是不规范的,我想应该是两个按键接外部中断吧。

#include<reg51.h>
#define uchar unsigned char
uchar dat;
void ext0() interrupt 0
{
dat++;
P0=dat;
}
void ext1() interrupt 2
{
dat--;
P0=dat;
}
main()
{
EX0=1;
EX1=1;
IT0=1;
IT1=1;
EA=1;
while(1);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-28
用中断做按键检测,然后使用计时器中断里计时去抖和记录按键次数,程序我就不写的了。。。
我用的主要是数据采集显示刷新实时性高,中间不能容纳20ms按键扫描去抖得延迟,采用这个方法。
第2个回答  2012-04-22
设置外中断为跳变或电平触发,然后按键就行了追问

按键防抖动的程序放在那里 按键是在中断触发前按的 那防抖动程序放哪里?

追答

按键是在中断触发前按的 什么意思?你可以开始不开中断 先检测按键,消抖后再开,这是低电平触发的,或者放在中断里去消抖,不过一般按键做中断的不多吧 我做的东西没用过

本回答被网友采纳
第3个回答  2012-04-27
最直接的办法就是看书,好好看看书,书会让你知道最本质的问题,最本质的问题能解决实际中的问题,静下心来,好好努力,问这种问题在这里太浪费您宝贵时间了

51单片机,怎么用矩阵键盘中的两个按键控制外部中断0和1,在按按键的时...
让 P3.7 始终为 0,然后就是按 S12 触发外部中断 0,按 S16 触发外部中断 1。

51单片机2个外中断的应用,这个怎么设计?
MCS-51的中断优先级控制比较简单,只设置了高、低两个级别的有限级,各中断源的优先级别由优先寄存器(IP)进行控制。·PX0——外中断0(INT0)优先级控制位。·PT0——定时中断0(T0)优先级控制位。·PX1——外中断1(INT1)优先级控制位。·PT1——定时中断1(T1)优先级控制位。·PS ——串行中断...

51单片机流水灯如何通过两个按键启动和停止 ,怎么停止
include<reg52.h> \/\/包含 reg52.h 这个头文件 include<intrins.h> define led P2\/\/ char i;sbit k1=P3^6; \/\/启动按键 sbit k2=P3^7;\/\/停止按键 bit s=0; \/\/ 启停标志 char a[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; \/\/LED灯的数组 void delay1s(void); \/...

51单片机的两个外部中断可否同时开启
可以,只要第二次的中断优先级高于第一次就行。通过设置了中断控制寄存器IP来实现。如果不设置 默认的优先级顺序为:INT0 TO INT1 TI 串口中断。do{} while(P3^3==0);先执行一次DO里的循环 在P3.3=0(INT1中断) 如果成立继续执行循环 do{} while(P3^3==1);TR1=0;先执行一次DO里的循环...

MCS-51单片机外部中断的触发方式如何设定和选择
2、导入51单片机的头文件,否则后续使用的端口都会出现未定义的情况,然后在主函数中,使得EA=1,即总中断允许,打开中断的总开关。3、分别打开外部中断0和外部中断1的分开关,即EX0=1和EX1=1,同时设置中断的触发方式为跳沿触发,可以避免增加额外的电路。4、如果不添加别的代码的话,此时这两个中断...

单片机c51,p3.2和p3.3端口接按钮,然后随意按下一个按钮跳到自己原先设...
P3.2 P3.3 是两个外部中断入口,对应的中断入口为0003H 0013H ,(你要使按下键为低电平)你不需要设定任何转移指令 只要系统中断允许已打开(在程序前面加一条 MOV IE,#85H 既可,根据你自己想要 用电平触发 还是下降沿触发,选择设定 SETB ITO SETB IT1 或者CLR IT0 CLR IT1) 这样 ...

单片机c语言写两个中断,两个中断怎么写
\/\/11 设置外部中断0的触发方式:下降沿触发。见代码说明 while(1); \/\/14 死循环,循环体为空语句 } \/\/15 main函数结束 \/\/任务1 控制1只发光二极管闪烁显示上面的注释可以省略不看,这个需要设置不同的寄存器,注意依稀俺这里就可以了的,然后查一下数据手册。

stc51单片机利用外部中断记录两次中断获取时间间隔。100分,满意加100...
很简单的了,首先定义两个静态变量static u8 flag=0;static u16 timecount;设置一个静态变量,第一次进入外部中断(外部中断应该设置成下降沿触发)的时候,if(flag == 0){启动定时器0,TR0 = 1; } else { TR0 = 0; 关闭定时器,读取计时值timecount; flag = 0;};在定时器中断里面 time...

关于51单片机的外部中断使用方法
使用方法:单片机的P2.5,P2.6,P2.7口分别接三位动态数码管的位选端,P0口接动态数码管的段选端。然后,P1.0口接一个电阻串联一个LED灯然后接地,电阻取200~470欧之间就行,是一个限流电阻。中断用的是外部中断0,要触发中断的时候,就用一根杜邦线一端接地,一端接到单片机的P3.2口就行...

51单片机的外部中断如何写按键消抖c程序!
跟外部的按键消抖一样处理就可以了。void ext0() interrupt 0 { delay(10);\/\/ flag=0;\/\/按键有效标志=0为无效 if(P3_2){ while(!P3_2);\/\/等待按键抬起 flag=1;} }

相似回答