⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 irshou2.c

📁 音乐控制程序
💻 C
字号:
#include<AT89x55.H> 
#include <stdio.h>
#include <INTRINS.H> 
//#include  "Uart.h"
#define uint  unsigned int
#define uchar unsigned char
sbit ir=P1^6;
sbit out=P1^7;
uchar irdata[4];
uchar irdat;
uint count;
uchar count1,count2;
uchar t;
bit    flag,flag1,flag0;
//*********************************
//t*2us   4.5ms  equ 561   9ms equ 1124  0.56ms equ 69 
//*********************************
void delay(uint t)
     { while(--t);
	 }
//*********************************
//
//*********************************

uchar irshou()
{ //uchar data1,BitCnt,i;
  
  while(ir==0)
	   {   count++;
	       if(count>250)
            {flag=1;
             }
		  if(flag==1)
          {
          // out=0;
		   flag=0;
           t=33;
		   while(t--)
		   {   //1
                       while(ir==1)
	                {count1++;
		         if(count1<50)
                         {flag1=1;
                          }
		        if(flag1==1)
                          {
                            //out=0;
		             flag1=0;
                           }
			   }
			   //0
			    while(ir==0)
	           {count2++;
		       if(count2<50)
                {flag0=1;
                 }
		        if(flag0==1)
               {
                out=0;
		       flag0=0;
               }
			   }
			   count1=0;
			   count2=0;
			   out=1;

			   //return(0);
		   }
           }
	   }
   return 0; 
}


void uart_init()
{

   SCON  = 0xDA;        // SCON: mode 1, 8-bit UART, enable rcvr      */
   TMOD |= 0x20;        // TMOD: timer 1, mode 2, 8-bit reload        */
   TH1   = 0xFD;         // TH1:  reload value for 1200 baud @ 12MHz   */
   TR1   = 1;           // TR1:  timer 1 run                          */
   TI    = 1;           // TI:   set TI to send first char of UART    */
   
}

void send(unsigned char ch)
   {SBUF=ch;
    while(TI==0);
    TI=0;
    }


void main()
{  // uint count;
   // uchar count1=0,count2=0;
    //irdat=0x01;
    
   uart_init();
  
   // flag=1;
   //send('0'+count);
       
	while(1)
	{ 
       
	///	out=0;  
	   
	   
	   count=0;
      irshou();
     
	  // count1=count/10;
	   //count2=count%10;
	  // send('0'+count1);
	  // send('0'+count2);
	  // send('\n');
	  count=0; 
	 //  out=1;
	 //  delay(10000);
          //if(count1
	   //P2=count1;
	   //ComOutChar(count1);
	  //irf(irdat);
	  //data2<<1;
	  //P2=data2;
	  //out=1;
	 
	 }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -