}
/*------------------------------------------------ дÈë×Ö·ûº¯Êý
------------------------------------------------*/
/* 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;