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

📄 irdac.c

📁 这是使用MAX3100和89S52单片机的红外放射原理图和用C语言写的程序代码。
💻 C
字号:
#include <reg51.h>			//头文件
#include <stdio.h>

sbit DOUT=P2^0;			   //数据输出
sbit DIN=P2^1;				//数据输入
sbit SCLK=P2^2;				//串行时钟信号
sbit CS=P2^3;				//MAX3100片选
sbit IRQ=P3^2;				//红外模式接口
int TX1;
int TX2;
int RX1;
int RX2;
int AA;

void UTLK();			   //函数声明
void BYT8();

void main()				   //主程序
{
	SP=0x70;
	SCLK=0;		 			   //时钟置0
	TMOD=0x20;
	TH1=0xFD;
	SCON=0x50;
	PCON=0x80;
	TCON=0x40;
	TX1=0xB4;
	TX2=0xCA;
   	UTLK();				  //发送数据
	while(1)
	{
		if(IRQ==0)		  //接收数据
		{
			TX1=0x00;
			TX2=0x00;
			UTLK();
			AA=RX2;
			SBUF=AA;
			while(TI==0);
			TI=0;
		}
	}

}

void UTLK()			  //数据(16位)收发子程序
{
	CS=0;
	AA=TX1;
	BYT8();			  //调用BYT8()
	RX1=AA;
	AA=TX2;
	BYT8();
	RX2=AA;
	CS=1;
}

void BYT8()
{
	int i;
	int C=0;
	for(i=0;i<8;i++)
	{
		AA<<1;			  //左移
		DOUT=C;
		SCLK=1;			  //时钟线置1
		C=DIN;
		SCLK=0;			  //时钟线置0
		AA=AA | C;
	}
}





⌨️ 快捷键说明

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