send.c

来自「这是一个红外发射的驱动程序,包括C文件和H文件,只接加到工程中使用,已经调试通过」· C语言 代码 · 共 99 行

C
99
字号
#include"send.h"

unsigned int i,j,m,n,k,s;
unsigned char keyvol;               //键值存放

send_delay1ms(unsigned int t)
{
for(i=0;i<t;i++)
   for(j=0;j<120;j++)
   ;
}

send_clearmen()
{
remoteout=0;           
IE=0x00;
IP=0x01;
TMOD=0x22;          
TH1=0xf3;              
TL1=0xf3;
EA=1;                 
}

sed()
{
ET1=1;TR1=1;send_delay1ms(3);ET1=0;TR1=0;remoteout=0;
for(m=keyvol;m>0;m--)
  {
   send_delay1ms(1);                                    
   ET1=1;TR1=1;send_delay1ms(1);ET1=0;TR1=0;remoteout=0;
  }
send_delay1ms(10);
}

tx()
{
switch(keyvol)
 {
  case 0:keyvol=keyvol+1;sed();break;
  case 1:keyvol=keyvol+1;sed();break;
  case 2:keyvol=keyvol+1;sed();break;
  case 3:keyvol=keyvol+1;sed();break;
  default:break;
 }
}

keywork()
{
if(Key1==0)
  {LED=ON;
   send_delay1ms(10);
   while(Key1==0);
   LED=OFF;
   keyvol=0;
   tx();
   }
if(Key2==0)
  {LED=ON;
   send_delay1ms(10);
   while(Key2==0);
   LED=OFF;
   keyvol=1;
   tx();
   }
if(Key3==0)
  {LED=ON;
   send_delay1ms(10);
   while(Key3==0);
   LED=OFF;
   keyvol=2;
   tx();
   }
if(Key4==0)
  {LED=ON;
   send_delay1ms(10);
   while(Key4==0);
   LED=OFF;
   keyvol=3;
   tx();
   }
remoteout=1;
}

main()
{
remoteout=1;
send_clearmen();         
while(1)
 {
  keywork();   
  }
}
void time_intt1(void) interrupt 3 
{
 remoteout=~remoteout;
}
//
//
//*********************结束**************************//

⌨️ 快捷键说明

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