»ùÓÚºìÍâÒ£¿Ø²½½øµç»úµÄÉè¼Æ ÏÂÔØ±¾ÎÄ

}

/*------------------------------------------------ дÈë×Ö·ûº¯Êý

------------------------------------------------*/

/* void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data) {

if (y == 0) {

LCD_Write_Com(0x80 + x); } else {

LCD_Write_Com(0xC0 + x); }

LCD_Write_Data( Data); }*/

/*------------------------------------------------ ³õʼ»¯º¯Êý

------------------------------------------------*/ void LCD_Init(void) {

LCD_Write_Com(0x38); /*ÏÔʾģʽÉèÖÃ*/ DelayMs(5);

LCD_Write_Com(0x38); DelayMs(5);

LCD_Write_Com(0x38); DelayMs(5);

LCD_Write_Com(0x38);

LCD_Write_Com(0x08); /*ÏÔʾ¹Ø±Õ*/ LCD_Write_Com(0x01); /*ÏÔʾÇåÆÁ*/

LCD_Write_Com(0x06); /*ÏÔʾ¹â±êÒÆ¶¯ÉèÖÃ*/ DelayMs(5);

LCD_Write_Com(0x0C); /*ÏÔʾ¿ª¼°¹â±êÉèÖÃ*/ }

/*void speed1(void) {

if(Speed<14) Speed++;

TempData[0]=zf[f];

TempData[1]=Tab[Speed/10];

TempData[2]=Tab[Speed]; }

void speed2(void) {

if(Speed>1) Speed--;

TempData[0]=zf[f]; TempData[1]=Tab[Speed/10]; TempData[2]=Tab[Speed]; }*/

/*------------------------------------------------ Ö÷º¯Êý

------------------------------------------------*/ main() {

unsigned int i=512;//ÐýתһÖÜʱ¼ä

EX0init(); //³õʼ»¯ÍⲿÖÐ¶Ï TIM0init(); Init_Timer1();

LCD_Init(); //³õʼ»¯Òº¾§

DelayMs(20); //ÑÓʱÓÐÖúÓÚÎȶ¨ LCD_Clear(); //ÇåÆÁ

LCD_Write_String(0,0,\ LCD_Write_String(0,1,\ Coil_OFF;

while(1)//Ö÷Ñ­»· {

if(irok) //Èç¹û½ÓÊÕºÃÁ˽øÐкìÍâ´¦Àí {

Ircordpro(); irok=0; }

if(irpro_ok) //Èç¹û´¦ÀíºÃºó½øÐй¤×÷´¦Àí£¬Èç°´¶ÔÓ¦µÄ°´¼üºóÏÔʾ¶ÔÓ¦µÄÊý×ÖµÈ {

Ir_work(); }

} }

/*------------------------------------------------ ¶¨Ê±Æ÷0³õʼ»¯

------------------------------------------------*/ void TIM0init(void)//¶¨Ê±Æ÷0³õʼ»¯ {

TMOD=0x02;//¶¨Ê±Æ÷0¹¤×÷·½Ê½2£¬TH0ÊÇ֨װֵ£¬TL0ÊdzõÖµ TH0=0x00; //ÖØÔØÖµ

TL0=0x00; //³õʼ»¯Öµ 256΢Ãë ET0=1; //¿ªÖÐ¶Ï TR0=1; }

/*------------------------------------------------ ¶¨Ê±Æ÷³õʼ»¯×Ó³ÌÐò

------------------------------------------------*/ void Init_Timer1(void) {

TMOD |= 0x01; //ʹÓÃģʽ1£¬16λ¶¨Ê±Æ÷£¬Ê¹ÓÃ\·ûºÅ¿ÉÒÔÔÚʹÓöà¸ö¶¨Ê±Æ÷ʱ²»ÊÜÓ°Ïì //TH1=0x00; //¸ø¶¨³õÖµ //TL1=0x00;

EA=1; //×ÜÖжϴò¿ª

ET1=1; //¶¨Ê±Æ÷Öжϴò¿ª TR1=1; //¶¨Ê±Æ÷¿ª¹Ø´ò¿ª }

/*------------------------------------------------ ÍⲿÖжÏ0³õʼ»¯

------------------------------------------------*/ void EX0init(void) {

IT0 = 1; //Ö¸¶¨ÍⲿÖжÏ0ϽµÑØ´¥·¢£¬INT0 (P3.2) EX0 = 1; //ʹÄÜÍⲿÖÐ¶Ï EA = 1; //¿ª×ÜÖÐ¶Ï }

/*------------------------------------------------ ¶¨Ê±Æ÷0Öжϴ¦Àí

------------------------------------------------*/

void tim0_isr (void) interrupt 1 {

irtime++; //ÓÃÓÚ¼ÆÊý2¸öϽµÑØÖ®¼äµÄʱ¼ä }

/*------------------------------------------------ ¶¨Ê±Æ÷ÖжÏ×Ó³ÌÐò

------------------------------------------------*/ void Timer1_isr(void) interrupt 3 {

static unsigned char times,i;

TH1=(65536-500)/256; //ÖØÐ¸³Öµ 1ms TL1=(65536-500)%6;

if(StartFlag)

{if(zfFlag==0) {

if(times==(20-Speed)) {

times=0; switch(i) {

case 0:Coil_A1;i++;break; case 1:Coil_B1;i++;break; case 2:Coil_C1;i++;break; case 3:Coil_D1;i++;break; case 4:i=0;break; default:break; } }

times++; }

else {

if(times==(20-Speed)) {

times=0; switch(i) {

case 0:Coil_D1;i++;break; case 1:Coil_C1;i++;break; case 2:Coil_B1;i++;break; case 3:Coil_A1;i++;break;