能不能帮我看一下程序错在哪里了

2019-03-24 18:20发布

#include <reg52.h>
unsigned char Dat_com;          //接收的数据(控制字)
unsigned char Number;
unsigned char Angle;
unsigned char TimeOutCounter = 0,zhengfan= 0;//TimeOutCounter:定时器溢出计数          
static  speed;                          
sbit  key1=P1^0;
sbit  key2=P1^1;
sbit  key3=P1^2;
sbit  key4=P1^3;
sbit  key5=P1^4;
//****************外中断和定时器初始化程序**********************
void Timer_init()
{
    TMOD = 0x01;
    TH0 = 0x0FF;
    TL0 = 0x9C;
    EA = 1;
    ET0 = 1;
    TR0 = 1;
}
//****************延时程序**********************
void delay(unsigned char i)   //误差 0us
{
    unsigned char b;
    for(i=1;i>0;i--)
        for(b=97;b>0;b--);
}

/************************************************************
函数功能:主函数
*************************************************************/
void main(void)
(
          {
    if (key1==0)
   Delay(20);
    if (key1==0)
          (P0_4=0)
  
{  if (key3==0)
   Delay(20);
   if (key3==1)
   (P0_4=0);
                         }
  if (key4==0&&Key5==0)
  Dekay(20)
  if (key4==0&&Key5==0)
   Zhengfan==0;

  if (key4==1&&Key5==0)
  Dekay(20)
  if (key4==1&&Key5==0)
   Zhengfan==1;

  if (key4==0&&Key5==1)
  Dekay(20)
  if (key4==0&&Key5==1)
   Zhengfan==2;
  
  if (key2==0)
  Dekay(20)
  if (key2==0)
   Zhengfan==3
               )
                           }

//**************************************
void timer0() interrupt 1//定时0.1ms
   
{TH0 = 0x0FF;
    TL0 = 0x9C;
                TimeOutCounter ++;

  
        switch ( zhengfan)
        {
                case 0 :          //脉宽1.2ms
                {
                key4=0;key5=0;
                   if( TimeOutCounter <= 12)
                        {
                                P0_1 = 1;
                        }
                        else
                        {
                                P0_1 = 0;
                        }
                        break;
                }
                case 1 :          //脉宽1.5ms
                {
                           key4=1;key5=0;
                        if( TimeOutCounter <= 15)
                        {
                                P0_1 = 1;
                        }
                        else
                        {
                                P0_1 = 0;
                        }
                        break;
                }

                case 2 :          //脉宽1.0ms
                {
                    key4=0;key5=1
                    
                        if( TimeOutCounter <= 10)
                        {
                                P0_1 = 1;
                        }
                        else
                        {
                                P0_1 = 0;
                        }
                        break;
                        case 3 :          //脉宽0ms
                {
                    key2=1
                    
                        if( TimeOutCounter <= 25)
                        {
                                P0_1 = 0;
                        }
                }
                        }
                default : break;
        }
       
        if( TimeOutCounter == 25 )         //
        {
                TimeOutCounter = 0;
        }
}
        此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
fafafafather
1楼-- · 2019-03-25 00:49
 精彩回答 2  元偷偷看……
zca123
2楼-- · 2019-03-25 01:03
main函数应该以{}而不是()

一周热门 更多>