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

📄 红外发送.c

📁 该程序是用C语言编写的红外接收与发送的源程序
💻 C
字号:
#include <reg51.h>
#define uchar unsigned char
#define uint  unsigned int
sbit sw0=P1^0;
sbit sw1=P1^1;
sbit sw2=P1^2;
sbit sw3=P1^3;
uchar key=17;
sbit p38k=P2^0;
void delay(uint m)
{
 uint i,j;
 for(i=0;i<m;i++)
    for(j=0;j<15;j++);
}
void inti_ck(void)
{
 SCON=0X40;
 PCON=0X00;
 TMOD=0X22;
 TH1=0Xcc;
 TL1=0Xcc;
 TR1=1;
 EA=1;ES=0;//ES串口中断标志位
 IP=0X00;

 ET0=1;
 TR0=1;
 TH0=0XF3;
 TL0=0XF3;
}
void zd(void)interrupt 1
{
 p38k=!p38k;
}
void keysm(void)
{
 P1=0xf0;
 if(P1!=0xf0)
 {
  delay(20);
  P1=0xef;
  if(!sw0)key=1;
  if(!sw1)key=2;
  if(!sw2)key=3;
  if(!sw3)key=4;
  P1=0xdf;
  if(!sw0)key=5;
  if(!sw1)key=6;
  if(!sw2)key=7;
  if(!sw3)key=8;
  P1=0xbf;
  if(!sw0)key=9;
  if(!sw1)key=10;
  if(!sw2)key=11;
  if(!sw3)key=12;
  P1=0x7f;
  if(!sw0)key=13;
  if(!sw1)key=14;
  if(!sw2)key=15;
  if(!sw3)key=16;
  P1=0xf0;
  while(P1!=0xf0);
 }
}
void fa(void)
{
 if(key!=17)
 {
  SBUF=0xdd;
  while(!TI);
  TI=0;
  SBUF=key;
  while(!TI);
  TI=0;
 }
 key=17;
}
void main(void)
{
 inti_ck();
 while(1)
 {
  keysm();
  fa();
 }
}

⌨️ 快捷键说明

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