void main()
{	
	ldc1000_int();
	Port_init();
	Init_Lcd();
	//Speed_IN1();
	//Time1_init();
	PT0=1;
	while(1)
	{
		Sdata=Rp_Sample();
		va=Sdata;
		DE(1);
		Sdata=Rp_Sample();
		va1=Sdata;
		va2=va1-va;
		LCD_value(0,0,va);
		if(va>1000){
			DE(200);
			SBUF=2;
		}else{
				DE(200);	DE(200);	DE(200);	DE(200);
			SBUF=0;
		}
		
		
	}
}
Exemple #2
0
//call this routine to initialize all peripherals
void init_devices(void)
{
	//stop errant interrupts until set up
	cli(); //disable all interrupts
	SPI_master_init();
	Port_init();
	MCUCR = (1<<ISC01);	// int0 external interrupt on falling edge of int0
	GICR  = (1<<INT0);	// enable the external interrupt int0
	sei(); //re-enable interrupts
	//all peripherals are now initialized
}
Exemple #3
0
void System_init(void) {

  uint8 zhuangtai=0;
  
  
   Busclock_init();
   Port_init();
   Pwm_init();
   Sci_init();
   Counter_init();
   
   
   zhuangtai=PTT_PTT1+(PTT_PTT3<<1);
   
   
   Sci_write(zhuangtai);
  
  switch(zhuangtai){
    
    case (0) : MAX_SPEED=60;
               MIN_SPEED=20;
                       break;
    case (1) : MAX_SPEED=70;
                MIN_SPEED=30;
                break;
    case (2) :  MAX_SPEED=70;
                MIN_SPEED=30;
                break;
    case(3)  :
                MAX_SPEED=80;
                MAX_SPEED=20;
                break;
                
    default :    MAX_SPEED=80;
                 MIN_SPEED=20;
                 break;            
  
   
   
  }
   
   
   
}
void main()
{
  P6DIR|=BIT1;//发光二极管
  P6OUT|=BIT1;
    
  P1DIR|=BIT0;//给fpga的信号
  P1OUT&=~BIT0;
  
  
    WDTCTL = WDTPW + WDTHOLD;   //关闭看门狗
    Init_CLK();
    Ini_Lcd();
    Init_IO();
    Init_LDC1000();

 Port_init();  
   delay_ms(100);                         //延时100ms
  while(1)
    {



 Key_Scan();                       //键盘扫描,看是否有按键按下
      if(key!=0xff)                     //如果有按键按下,则显示该按键键值1~4
        {
	  {
            switch(key)
              {
	        case 1: LED8 = 0xFC; arange=key1;break;        //给不同的键赋键值,键值1,亮2个LED灯
                case 2: LED8 = 0xF3;arange=key2;break;        //给不同的键赋键值,键值2,亮2个LED灯
                case 3: LED8 = 0xCF;arange=key3;break;	 //给不同的键赋键值,键值3,亮2个LED灯
                case 4: LED8 = 0x3F;arange=key4;break;	 //给不同的键赋键值,键值4,亮2个LED灯
              }

          }
	
       }
     else
      {
        //LED=key;              	//没有按键的时候显示上次的键值
      }
      
        proximtyData[0]  = spi_readByte(LDC1000_CMD_PROXLSB);
        proximtyData[1]  = spi_readByte(LDC1000_CMD_PROXMSB);
        frequencyData[0] = spi_readByte(LDC1000_CMD_FREQCTRLSB);
        frequencyData[1] = spi_readByte(LDC1000_CMD_FREQCTRLSB+1);
        frequencyData[2] = spi_readByte(LDC1000_CMD_FREQCTRLSB+2);
        proximtyDataMAX = ((unsigned char) proximtyData[1]<<8) + proximtyData [0];
        frequencyDataMAX =((unsigned char)frequencyData[1]<<8) + frequencyData[0];
        disNum(proximtyDataMAX%10+0x30,0x86);
        disNum(proximtyDataMAX/10%10+0x30,0x85);
        disNum(proximtyDataMAX/100%10+0x30,0x84);
        disNum(proximtyDataMAX/1000%10+0x30,0x83);
        disNum(proximtyDataMAX/10000%10+0x30,0x82);
      
        a = spi_readByte(LDC1000_CMD_REVID);
  
        if(proximtyDataMAX>arange)
        {
          P6OUT&=~BIT1;//灯亮
          P1OUT|=BIT0;//给fpga高电平,表示发现硬币
        }
        else 
        {
          P6OUT|=BIT1;
          P1OUT&=~BIT0;
        }
        _NOP();
    }
}