请问单片机键盘程序,如何让没用的按键不起作用

比如说,按键控制LED灯花样表演,本来7键是没用的,那现在是在表演第五种花样,如何按下7键不是全暗,而是继续保持第五种花样表演呢?
不甚感激

第1个回答  2011-08-31
你的说发油点问题,让按键不起作用:你不给它动作就行啊,比如说,你的7键键值是0x07,那么你在处理按键时不用0x07就行了,或者键盘扫面如果是0x07就返回重新扫描。你下面说的情况应该是你本来就没有给按键7动作,也就是扫面到7的键值你没有去给LED的各个IO口赋全高或者全低得值。
第2个回答  2011-08-31
IO中断使用沿触发,中断服务程序不过长,在其中只做判断并设置标志,然后就返回主程序。
主程序的循环中根据标志来判断是否需要改变状态。
这样,如果7没有用的话,在这个状态下,就不会改变任何东西,按键中断虽然短暂的进了一下,但是不会有特别明显的变化。本回答被提问者采纳
第3个回答  2011-08-31
可能是延时问题

请问单片机键盘程序,如何让没用的按键不起作用
你的说发油点问题,让按键不起作用:你不给它动作就行啊,比如说,你的7键键值是0x07,那么你在处理按键时不用0x07就行了,或者键盘扫面如果是0x07就返回重新扫描。你下面说的情况应该是你本来就没有给按键7动作,也就是扫面到7的键值你没有去给LED的各个IO口赋全高或者全低得值。

单片机 如何使按键产生效果不起作用
这个思路应该不难吧 使用软件置位的方式比如flag = 0, 一旦有一个按键最先被触发,就将flag = 1,在处理函数中可以对flag进行判断,当flag等于1的时候不再做任何处理了。

怎么让正在运行的单片机程序暂停,其实就是要加个按键,当有键按下就暂 ...
开一个外部中断,接按键 按键触发后进入中断,循环判断按键,释放按键后,等待按键再次触发,程序暂停,再次触发并释放后中断返回,程序继续运行

单片机如何让程序暂停运行,
如果是打算在程序运行的某一时刻,暂停运行,那要用一个按键,第一次按下,进入一个循环中,在循环中只检测这个按键,不再执行其它程序。当第二次按键,跳出这个循环,返回主循环程,继续运行。

单片机按键延时,使用定时计数器消除按键延时,求操作流程
1 按键处理的操作流程:当发现有键按下时, 为了消除按键的抖动 需要软件延时5~10ms 经过延时后 再读入按键的状态 如果按键有效 则进入相应的按键处理程序 否则(按键无效)可以视为干扰。2 一般都是采用软件延时(即调用一个延时子程序 延时5ms )不要使用定时计数器来延时...

单片机按键问题
1.中断方式(这个比较可靠)一般程序按键按下后 灯亮 然后按键松开灯还是亮的 采用的是边沿检测,即有电平跳变就改变输出。如果想按键按住的时候灯亮,不按的时候灯不亮 采用电平触发,即当电平维持是正或者负的时候才稳定输出。2.也可以用查询方式 比如 一般程序按键按下后 灯亮 然后按键...

单片机c语言编了个流水灯,用按键怎么实现它暂停。
实现流水灯的方式有很多种(中断,定时器,延时等等),看用哪种方式,最简单的是延时做流水灯,那么在死循环里面增加按键检测,判断出有按键按下来时,再进入死循环,程序不往下走就可以暂停,再按跌出死循环。include \/\/51系列单片机定义文件 define uchar unsigned char \/\/定义无符号字符 define uint ...

51单片机在使用键盘时(比如独立键盘)怎么设置“清除”键
先根据你要显示数字的个数定义一个unsigned char型的字符数组,调用扫描键盘函数,扫描到哪个键被按下的同时将键值存进对应的数组元素中,再调用液晶显示程序显示,液晶显示程序中显示的位数可变,可以定义一个变量来记录已按下的位数,显示的程序中实参为已按下按键的个数,这样就能实时显示数字了。

单片机检测和处理按键时怎样不干扰数码管的显示?
while(!KEY_DEC);\/\/如果确认按下按键等待按键释放,没有释放则一直等待 { if(num>0) \/\/减操作 num--;} } } TempData[0]=dofly_DuanMa[num%10];Display(0,1);\/\/主循环中添加其他需要一直工作的程序 } } \/*--- uS延时函数,含有输入参数 unsigned char t,无返回值 unsigned char 是...

单片机键盘扫描中的软件时延作用是什么
简单说就是消除按键抖动;使得单片机正确读取按键值,屏蔽干扰信号;通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就...

相似回答
大家正在搜