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

📄 irshou.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;
    }
uchar irdatout(uchar *data1)
     { uchar i;
	   for(i=0;i<4;i++) //共4个字节
		{
			*data1=i;//clear data first
			*data1<<=1;
			P2=*data1;
			delay(20000);
			data1++;
			//P3=*data1;

		}
		}

void main()
{  // uint count;
   // uchar count1=0,count2=0;
    //irdat=0x01;
    //*irdat=&irdata[4];
   // uart_init();
    unsigned char i;
   // flag=1;
   //send('0'+count);
       
	while(1)
	{ 
       
	///	out=0;  
	   irdatout(&irdata);
	   P3=irdata[3];
	  // 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 + -