打印

有没有熟悉CD4021的啊。。帮我看看程序对吗?

[复制链接]
1868|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
48405020|  楼主 | 2011-3-24 10:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
unsigned char key_read(void)
{
  unsigned char liv_key_value=0, tmp,i;
  tmp = 0x00;
  CD4021_KCON(0);
  for(i=0; i<8; i++)   
    {
      liv_key_value = liv_key_value<<1;
      CD4021_KCLK(0);
      if(GPIOC->IDR&0X0800)//读数据线DIN上的值
tmp = 0x01;
      else
tmp = 0;
     liv_key_value |= tmp;
__no_operation();
        __no_operation();
__no_operation();
      CD4021_KCLK(1);
    }
   switch (liv_key_value)
    {
      case 0x0F: liv_key_value = 5;break;
      case 0x17: liv_key_value = 4;break;
      case 0x1B: liv_key_value = 3;break;
      case 0x1D: liv_key_value = 2;break;
      case 0x1E: liv_key_value = 1;break;
    default:     liv_key_value = 0;break;
    }
   CD4021_KCON(1);
   return liv_key_value;
}


这是一个读键值的函数。。。。P8-P6输入接地 只用P1-P5输入 5个按键

麻烦看看时序操作对吗?为什么总是按键读不到值?

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

11

帖子

1

粉丝