| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1083 人关注过本帖
标题:单片机一段代码,输入信号感到困惑!!
只看楼主 加入收藏
我是菜鸟哦
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:921
专家分:209
注 册:2007-5-4
结帖率:73.33%
收藏
 问题点数:0 回复次数:2 
单片机一段代码,输入信号感到困惑!!
/*键扫描子程序*/
 void  keyscan(void)
 {
    P1=0x0F ;         //低四位输入  
    delay(1) ;
    temp=P1 ;         //读P1口
    temp=temp&0x0F ;
    temp=~(temp|0xF0) ;
    if(temp==1)
        key=0 ;
    else if(temp==2)
        key=1 ;
    else if(temp==4)
        key=2 ;
    else if(temp==8)
        key=3 ;
    else
        key=16 ;
        
    P1=0xF0 ;        //高四位输入
    delay(1) ;
    temp=P1 ;        //读P1口      
    temp=temp&0xF0 ;
    temp=~((temp>>4)|0xF0) ;
    if(temp==1)
        key=key+0 ;
    else if(temp==2)
        key=key+4 ;
    else if(temp==4)
        key=key+8 ;
    else if(temp==8)
        key=key+12 ;
    else
        key=16 ;

    if(key>=12&&key<=16&&kaishi==1&&daoshi==1)
 {
     dis_buf[7]=table ; //查表得键值
  kaishi=0 ;
  TR1 = 0 ;
  beep1() ;
  qiangda=0 ;
 }
 else if(key == 8 && qiangda==1)  // 抢答开始
 {
  TR1 = 1 ;
  kaishi=1 ;
  beep2() ;
  shezhi=0 ;
 }
 else if(key == 9) // 复位
 {
  TR1 = 0 ;
  hour = shour ;
  kaishi=0 ;
  daoshi=1 ;
  shezhi=0 ;
  qiangda=1 ;
  if(shour > 9)
   dis_buf[0] = table ;  
  else
   dis_buf[0] = 0xff ;     
  dis_buf[1] = table ;
  dis_buf[7] = table[0] ;
 }
 else if(key == 4 && kaishi==0) // 设置限时
 {
  shezhi=1 ;
 }
 else if(key == 5&& shezhi==1) // 增加时间
 {
 shour++ ;
  if(shour > 99)
  {
   shour = 0 ;
  }
  if(shour > 9)
   dis_buf[0] = table ;  
  else
   dis_buf[0] = 0xff ;     
  dis_buf[1] = table ;  
  hour=shour ;                         //开始使用新限时
  delay(250) ;       //延时
 }
 else if(key == 6&& shezhi==1) // 减少时间
 {
 if(shour == 0)
  {
   shour = 100 ;
  }
  shour-- ;
  if(shour > 9)
   dis_buf[0] = table ;  // 十位
  else
   dis_buf[0] = 0xff ;     // 当十位为0时不显示
  dis_buf[1] = table ;  // 个位
  hour=shour ;                         //开始使用新限时
     delay(250) ;       //延时
 }
 }



貌似shi 用8个口实现了16个口得输入?????
还是理解有误?
搜索更多相关主题的帖子: temp 单片机 key 信号 else 
2008-06-05 00:24
我是菜鸟哦
Rank: 6Rank: 6
等 级:贵宾
威 望:22
帖 子:921
专家分:209
注 册:2007-5-4
收藏
得分:0 
..............没人帮看

偶是菜鸟鸟偶惧WHO?!!!!
2008-06-05 11:32
smweixp
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-6-10
收藏
得分:0 
想帮,可是帮不上,不好意思哦

坚强自信是力量的源泉!
2008-06-10 02:31
快速回复:单片机一段代码,输入信号感到困惑!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014734 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved