📄 sent.c
字号:
//====================================================================================
//文件名:sent.c
//功能描述:遥控器发射程序文件
//维护记录:2006年7月28 by hongyan.Feng
//=====================================================================================
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 OP_CL(void)
//功能描述:识别开/关机时发送的序列0010,1000,0110,0111,1001 B 开/关机
//入口参数: 无
//出口参数: 无
//维护记录: 2008年2月2日
//修改:林浩岳
//====================================================================================
void OP_CL(void)
{
Tx_Init(); //初始化IOB8为同相高电平输出口,在Tx.c中定义
INT_Init(); //设置TimerA,使IOB8输出38KHz的PWM波形,供红外发射调制作,在Tx.c中定义
RN_Tx(28,1); //发送起始位
RN_Tx(4,0);
RN_Tx(3,1); //发送bit0 0
RN_Tx(4,0);
RN_Tx(3,1); //发送bit1 0
RN_Tx(15,0);
RN_Tx(3,1); //发送bit2 1
RN_Tx(4,0);
RN_Tx(3,1); //发送bit3 0
RN_Tx(15,0);
RN_Tx(3,1); //发送bit4 1
RN_Tx(4,0);
RN_Tx(3,1); //发送bit5 0
RN_Tx(4,0);
RN_Tx(3,1); //发送bit6 0
RN_Tx(4,0);
RN_Tx(3,1); //发送bit7 0
RN_Tx(4,0);
RN_Tx(3,1); //发送bit8 0
RN_Tx(15,0);
RN_Tx(3,1); //发送bit9 1
RN_Tx(15,0);
RN_Tx(3,1); //发送bit10 1
RN_Tx(4,0);
RN_Tx(3,1); //发送bit11 0
RN_Tx(4,0);
RN_Tx(3,1); //发送反bit4 0
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit5 1
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit6 1
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit7 1
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit8 1
RN_Tx(4,0);
RN_Tx(3,1); //发送反bit9 0
RN_Tx(4,0);
RN_Tx(3,1); //发送反bit10 0
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit11 1
__asm("irq off");
}
//====================================================================================
//语法格式: void void One(void)
//功能描述:识别"一"时发送的序列0010,1000,0111,0111,1000 B 一
//入口参数: 无
//出口参数: 无
//维护记录: 2008年2月2日 修改:林浩岳
//====================================================================================
void One(void)
{
Tx_Init(); //初始化IOB8为同相高电平输出口,在Tx.c中定义
INT_Init(); //设置TimerA,使IOB8输出38KHz的PWM波形,供红外发射调制作,在Tx.c中定义
RN_Tx(28,1); //发送起始位
RN_Tx(4,0);
RN_Tx(3,1); //发送bit0 0
RN_Tx(4,0);
RN_Tx(3,1); //发送bit1 0
RN_Tx(15,0);
RN_Tx(3,1); //发送bit2 1
RN_Tx(4,0);
RN_Tx(3,1); //发送bit3 0
RN_Tx(15,0);
RN_Tx(3,1); //发送bit4 1
RN_Tx(4,0);
RN_Tx(3,1); //发送bit5 0
RN_Tx(4,0);
RN_Tx(3,1); //发送bit6 0
RN_Tx(4,0);
RN_Tx(3,1); //发送bit7 0
RN_Tx(4,0);
RN_Tx(3,1); //发送bit8 0
RN_Tx(15,0);
RN_Tx(3,1); //发送bit9 1
RN_Tx(15,0);
RN_Tx(3,1); //发送bit10 1
RN_Tx(15,0);
RN_Tx(3,1); //发送bit11 1
RN_Tx(4,0);
RN_Tx(3,1); //发送反bit4 0
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit5 1
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit6 1
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit7 1
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit8 1
RN_Tx(4,0);
RN_Tx(3,1); //发送反bit9 0
RN_Tx(4,0);
RN_Tx(3,1); //发送反bit10 0
RN_Tx(4,0);
RN_Tx(3,1); //发送反bit11 0
__asm("irq off");
}
//====================================================================================
//语法格式:void Two(void)
//功能描述:识别"二"时发送的序列0010,1000,0000,0111,1111 B 二
//入口参数: 无
//出口参数: 无
//维护记录: 2008年2月2日 修改:林浩岳
//====================================================================================
void Two(void)
{
Tx_Init(); //初始化IOB8为同相高电平输出口,在Tx.c中定义
INT_Init(); //设置TimerA,使IOB8输出38KHz的PWM波形,供红外发射调制作,在Tx.c中定义
RN_Tx(28,1); //发送起始位
RN_Tx(4,0);
RN_Tx(3,1); //发送bit0 0
RN_Tx(4,0);
RN_Tx(3,1); //发送bit1 0
RN_Tx(15,0);
RN_Tx(3,1); //发送bit2 1
RN_Tx(4,0);
RN_Tx(3,1); //发送bit3 0
RN_Tx(15,0);
RN_Tx(3,1); //发送bit4 1
RN_Tx(4,0);
RN_Tx(3,1); //发送bit5 0
RN_Tx(4,0);
RN_Tx(3,1); //发送bit6 0
RN_Tx(4,0);
RN_Tx(3,1); //发送bit7 0
RN_Tx(4,0);
RN_Tx(3,1); //发送bit8 0
RN_Tx(4,0);
RN_Tx(3,1); //发送bit9 0
RN_Tx(4,0);
RN_Tx(3,1); //发送bit10 0
RN_Tx(4,0);
RN_Tx(3,1); //发送bit11 0
RN_Tx(4,0);
RN_Tx(3,1); //发送反bit4 0
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit5 1
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit6 1
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit7 1
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit8 1
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit9 1
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit10 1
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit11 1
__asm("irq off");
}
//====================================================================================
//语法格式: void Three(void)
//功能描述:识别"三"时发送的序列0010,1000,1000,0111,0111 B 三
//入口参数: 无
//出口参数: 无
//维护记录: 2008年2月2日 修改:林浩岳
//====================================================================================
void Three(void)
{
Tx_Init(); //初始化IOB8为同相高电平输出口,在Tx.c中定义
INT_Init(); //设置TimerA,使IOB8输出38KHz的PWM波形,供红外发射调制作,在Tx.c中定义
RN_Tx(28,1); //发送起始位
RN_Tx(4,0);
RN_Tx(3,1); //发送bit0 0
RN_Tx(4,0);
RN_Tx(3,1); //发送bit1 0
RN_Tx(15,0);
RN_Tx(3,1); //发送bit2 1
RN_Tx(4,0);
RN_Tx(3,1); //发送bit3 0
RN_Tx(15,0);
RN_Tx(3,1); //发送bit4 1
RN_Tx(4,0);
RN_Tx(3,1); //发送bit5 0
RN_Tx(4,0);
RN_Tx(3,1); //发送bit6 0
RN_Tx(4,0);
RN_Tx(3,1); //发送bit7 0
RN_Tx(15,0);
RN_Tx(3,1); //发送bit8 1
RN_Tx(4,0);
RN_Tx(3,1); //发送bit9 0
RN_Tx(4,0);
RN_Tx(3,1); //发送bit10 0
RN_Tx(4,0);
RN_Tx(3,1); //发送bit11 0
RN_Tx(4,0);
RN_Tx(3,1); //发送反bit4 0
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit5 1
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit6 1
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit7 1
RN_Tx(4,0);
RN_Tx(3,1); //发送反bit8 0
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit9 1
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit10 1
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit11 1
__asm("irq off");
}
//====================================================================================
//语法格式: void Four(void)
//功能描述: 识别"四"时发送的序列0010,1000,1110,0111,0001 B 四
//入口参数: 无
//出口参数: 无
//维护记录: 2008年2月2日
//修改:林浩岳
//====================================================================================
void Four(void)
{
Tx_Init(); //初始化IOB8为同相高电平输出口,在Tx.c中定义
INT_Init(); //设置TimerA,使IOB8输出38KHz的PWM波形,供红外发射调制作,在Tx.c中定义
RN_Tx(28,1); //发送起始位
RN_Tx(4,0);
RN_Tx(3,1); //发送bit0 0
RN_Tx(4,0);
RN_Tx(3,1); //发送bit1 0
RN_Tx(15,0);
RN_Tx(3,1); //发送bit2 1
RN_Tx(4,0);
RN_Tx(3,1); //发送bit3 0
RN_Tx(15,0);
RN_Tx(3,1); //发送bit4 1
RN_Tx(4,0);
RN_Tx(3,1); //发送bit5 0
RN_Tx(4,0);
RN_Tx(3,1); //发送bit6 0
RN_Tx(4,0);
RN_Tx(3,1); //发送bit7 0
RN_Tx(15,0);
RN_Tx(3,1); //发送bit8 1
RN_Tx(15,0);
RN_Tx(3,1); //发送bit9 1
RN_Tx(15,0);
RN_Tx(3,1); //发送bit10 1
RN_Tx(4,0);
RN_Tx(3,1); //发送bit11 0
RN_Tx(4,0);
RN_Tx(3,1); //发送反bit4 0
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit5 1
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit6 1
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit7 1
RN_Tx(4,0);
RN_Tx(3,1); //发送反bit8 0
RN_Tx(4,0);
RN_Tx(3,1); //发送反bit9 0
RN_Tx(4,0);
RN_Tx(3,1); //发送反bit10 0
RN_Tx(15,0);
RN_Tx(3,1); //发送反bit11 1
__asm("irq off");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -