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

📄 sent.c

📁 TV_control代码+说明[1] 利用凌阳单片机语音识别功能去控制电视机
💻 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 + -