导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→[求助]大家看看我编写的程序有问题马?为什么按键不起作用?[taishandadi]

 *第44665篇: [求助]大家看看我编写的程序有问题马?为什么按键不起作用?

  
楼 主:taishandadi 2006年11月27日09:52
 [求助]大家看看我编写的程序有问题马?为什么按键不起作用?
大家看看我编写的程序有问题马?为什么按键不起作用?
  
2楼:lgh269 2006年11月27日10:38
 没看到东东
你的东东呢~~~~~~~~~`` `
  
3楼:taishandadi 2006年11月27日11:47
 [求助]
void systemint(void)//系统初始化
{
    P0=0xff;
 P1=0xff;
 P2=0xff;
 P3=0xff;
 TMOD=0x11;//定时器设定,工作方式1
 IP=0x08;//定时器0优先级别高
 IE=0x8a;//允许定时器中断
 TH1=0xec;//定时器1付初值,5ms扫描显示
 TL1=0x66;//
 TH0=0xec;//定时器0付初值
 TL0=0x77;//
  TR1=1;//开定时器1
    TR0=1;//开定时器0
 time_set=30;//开始时转动一圈时间为30秒
}

void delay(unsigned int k)//延时函数10ms
{
 unsigned int i,j;
 for (i=0;i<k;i++) {for(j=0;j<240;j++){;}}
}

/******中断显示函数******/
void timer1(void) interrupt 3  using 2//显示
{
  unsigned int  shiwei,gewei,baiwei;
    gewei=time_set%10;
    shiwei=(time_set%100)/10;
    baiwei=time_set/100;
   if (led_flag>3){led_flag=0;}
   switch (led_flag)
      {
        case 0:{P0=SEG[gewei];P20=0;P21=1;P22=1;break;}
        case 1:{P0=SEG[shiwei];P20=1;P21=0;P22=1;break;}
        case 2:{P0=SEG[baiwei];P20=1;P21=1;P22=0;break;}
        default:break;
  }
led_flag++;
TR1=1;//开定时器1
TH1=0xec;//定时器付初值
TL1=0x66;
}

/******发脉冲函数********/
void timer0 (void) interrupt 1 using  1//发脉冲
   {
     if (run_flag==1)
   {
        if (timer0_cnt==cnt)
       {P23=0;nop4;P23=1;timer0_cnt=0;maichongshu++;//***P23发脉冲***/
        if (maichongshu==200) {maichongshu=0;TR0=0;run_flag=0;}
    }
      timer0_cnt++;
   }
  if (run_flag==0){;}
     TR0=1;
  TH0=0xec;
  TL0=0x77;//重装初值,开定时器0
}

/****************按键处理函数************/
void key(void)
{
  delay(10);//延时函数;防抖动
  if (P1!=0xff)
    {
      if (run==0)
    {p=time_set/maichong;//每次脉冲的时间
        pt=p*1000;//换算成ms
        cnt=pt/5;//定时器需要中断多少次才发一次脉冲
       run_flag=1;
     }
      if ((time_add==0)&&(run_flag==0)) {time_set++;if (time_set>120){time_set=120;}};
      if ((time_sub==0)&&(run_flag==0)){time_set--;if (time_set<30) {time_set=30;}};
   }

}
/*******************主函数*******************/
void main()

   run_flag=0;
   systemint();//系统初始化函数
   while(1)
    {
      if (run_flag==0)
      {P1=0xff;
          if(P1!=0xff)  key();//调用按键处理函数
          }
     }
}


  
4楼:taishandadi 2006年11月28日10:49
 [求助]
大虾帮忙看看啊,在板子上按键不起作用啊

>>>>>>对该主题发表你的看法

本主题贴数4,分页: [第1页]


[上一篇主题]:请告知一个能用的EWB仿真软件的下载地址,谢谢。

[下一篇主题]:外包PCB画板