智能车制作

标题: 对按键进行操作时要注意哪些事情?我发现并不是将通道设置为输入模式以后,就可以检测 [打印本页]

作者: 舒田申    时间: 2012-8-27 11:09
标题: 对按键进行操作时要注意哪些事情?我发现并不是将通道设置为输入模式以后,就可以检测
#include <hidef.h>      /* common defines and macros */
#include <MC9S12XS128.h>      /* derivative-specific definitions */
unsigned int num;
void delay(int z)
{ int x,y;
  for(x=z;x>0;x--)
    for(y=4000;y>0;y--);
}
void keyscan(void)
{
   if(PORTA_PA0==0)
   delay(4);
    if(PORTA_PA0==0)
       num++;
    if(num==9)
        num=1;            
}
void main(void)
{
  DDRB=0xff;
  DDRA=0xfe;  
  for(;;)
  {
     keyscan();
     
     if(num==1)
        PORTB=0X01;
     if(num==2)
        PORTB=0X02;
     if(num==3)
        PORTB=0X04;
     if(num==4)
        PORTB=0X08;
     if(num==5)
        PORTB=0X10;
     if(num==6)
        PORTB=0X20;
     if(num==7)
        PORTB=0X40;
     if(num==8)
        PORTB=0X80;
  }
}
PB口控制小灯,PA0口接一个按键,为什么按键不起作用呀?哪里出问题了,怎么修改呀?
作者: 、煈の°絮だ    时间: 2012-8-27 13:03
消抖~  
作者: 舒田申    时间: 2012-8-27 16:38
、煈の°絮だ 发表于 2012-8-27 13:03
消抖~

在keyscan里面已经有消抖的程序了,还会有什么原因呀?
作者: subingkiun    时间: 2012-8-27 18:53
有木有配置锁相环?主频?
作者: 、煈の°絮だ    时间: 2012-8-27 21:07
看你写的程序  个人认为 还是用 中断吧 用上升沿触发  如果有软件滤波或者是硬件滤波的 都应该没有问题的
作者: 舒田申    时间: 2012-8-28 13:04
subingkiun 发表于 2012-8-27 18:53
有木有配置锁相环?主频?

没有,就默认了。用51写这些程序不会有什么问题的,不知道为什么,飞思卡尔单片机就是有问题。能不能帮忙写一个简单的程序,功能就是按键按下去灯就亮,松开灯就灭,我想看看是不是有什么寄存器需要初始化。
作者: qinlu123    时间: 2012-9-4 20:56
接上拉电阻稳定些,高电平表示没按,低电平就是按下去了。
作者: 你说好吗    时间: 2014-12-4 12:04
上拉电阻




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2