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; } } }
//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 }
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(); } }