tx.c

来自「利用凌阳单片机开发传感器模组电路,方便学习了解凌阳单片机」· C语言 代码 · 共 106 行

C
106
字号
//====================================================================================
//文件名:Tx.c
//功能描述:遥控器发射程序文件,各个键发送不同的序列
//维护记录:2006年7月28         by hongyan.Feng
//=====================================================================================
#include "SPCE061A.h" 

extern void Tx_Init(void);
extern void INT_Init(void);
extern void RN_Tx(unsigned int ms,unsigned int lel);

void RN_Tx(unsigned int ms,unsigned int lel);
//====================================================================================
//语法格式: void KEY1_Tx(void)
//功能描述: 按61板KEY1键时发送的序列1000,0000B(0x0080)
//入口参数: 无
//出口参数: 无
//维护记录: 2006年7月28         by hongyan.Feng
//====================================================================================	
void KEY1_Tx(void)
{
	Tx_Init();								//初始化IOB8为同相低电平输出口,在Tx.c中定义
	INT_Init();								//设置TimerA,使IOB8输出38KHz的PWM波形,供红外发射调制作,在Tx.c中定义
	
	RN_Tx(16,1);							//发送起始位
	RN_Tx(3,0);								//发送bit0
	RN_Tx(1,1);
	RN_Tx(1,0);								//发送bit1
	RN_Tx(1,1);
	RN_Tx(1,0);								//发送bit2
	RN_Tx(1,1);
	RN_Tx(1,0);								//发送bit3
	RN_Tx(1,1);
	RN_Tx(1,0);								//发送bit4
	RN_Tx(1,1);                         
	RN_Tx(1,0);								//发送bit5
	RN_Tx(1,1);                         
	RN_Tx(1,0);								//发送bit6
	RN_Tx(1,1);                          
	RN_Tx(1,0);								//发送bit7
	RN_Tx(1,1);
	__asm("int off");
}
//====================================================================================
//语法格式: void KEY2_Tx(void)
//功能描述: 按61板KEY2键时发送的序列1000,0001B(0x0081)
//入口参数: 无
//出口参数: 无
//维护记录: 2006年7月28         by hongyan.Feng
//====================================================================================	 
void KEY2_Tx(void)
{
	Tx_Init();								//初始化IOB8为同相高电平输出口,在Tx.c中定义
	INT_Init();								//设置TimerA,使IOB8输出38KHz的PWM波形,供红外发射调制作,在Tx.c中定义
	
	RN_Tx(16,1);							//发送起始位
	RN_Tx(3,0);								//发送bit0
	RN_Tx(1,1);
	RN_Tx(1,0);								//发送bit1
	RN_Tx(1,1);
	RN_Tx(1,0);								//发送bit2
	RN_Tx(1,1);
	RN_Tx(1,0);								//发送bit3
	RN_Tx(1,1);
	RN_Tx(1,0);								//发送bit4
	RN_Tx(1,1);                         
	RN_Tx(1,0);								//发送bit5
	RN_Tx(1,1);                         
	RN_Tx(1,0);								//发送bit6
	RN_Tx(1,1);                          
	RN_Tx(3,0);								//发送bit7
	RN_Tx(1,1);
	__asm("int off");
}
//====================================================================================
//语法格式: void KEY3_Tx(void)
//功能描述: 按61板KEY3键时发送的序列1000,0010B(0x0082)
//入口参数: 无
//出口参数: 无
//维护记录: 2006年7月28         by hongyan.Feng
//====================================================================================	 
void KEY3_Tx(void)
{
	Tx_Init();								//初始化IOB8为同相高电平输出口,在Tx.c中定义
	INT_Init();								//设置TimerA,使IOB8输出38KHz的PWM波形,供红外发射调制作,在Tx.c中定义
	
	RN_Tx(16,1);							//发送起始位
	RN_Tx(3,0);								//发送bit0
	RN_Tx(1,1);
	RN_Tx(1,0);								//发送bit1
	RN_Tx(1,1);
	RN_Tx(1,0);								//发送bit2
	RN_Tx(1,1);
	RN_Tx(1,0);								//发送bit3
	RN_Tx(1,1);
	RN_Tx(1,0);								//发送bit4
	RN_Tx(1,1);                         
	RN_Tx(1,0);								//发送bit5
	RN_Tx(1,1);                         
	RN_Tx(3,0);								//发送bit6
	RN_Tx(1,1);                          
	RN_Tx(1,0);								//发送bit7
	RN_Tx(1,1);
	__asm("int off");
}

⌨️ 快捷键说明

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