发送程序如下:
//**************************************************************************** // @Module Project Settings // @Filename MAIN.C // @Project 20W.dav //---------------------------------------------------------------------------- // @Controller Infineon XC866-2FR // // @Compiler Keil // // @Codegenerator 2.0 // // @Description This file contains the Project initialization function. // //---------------------------------------------------------------------------- // @Date 2010-11-4 15:54:56 // //**************************************************************************** // USER CODE BEGIN (MAIN_General,1) // USER CODE END //**************************************************************************** // @Project Includes // 完整代码下载地址:点这里 // 与本程序对应的红外接收程序代码:http://www.51hei.com/mcu/1096.html //**************************************************************************** #include "MAIN.H" // USER CODE BEGIN (MAIN_General,2) #include#define uint unsigned int //宏定义 #define uchar unsigned char #define HWTx P3_0 //位声明:红外发射管脚 bit HWTx_Out; //红外发射管脚的状态 bit Key_Flag,Flag; //分别是:按键按下的标志位,定时器开始的标志位 uint Count,Set_Count; //控制定时时间的变量 uchar Table_Tx[4]={0x40,0,0,0};//待发送的缓冲区 uchar HWTx_Code,HWTx_data; // USER CODE END //**************************************************************************** // @Macros //**************************************************************************** // USER CODE BEGIN (MAIN_General,3) // USER CODE END //**************************************************************************** // @Defines //**************************************************************************** // USER CODE BEGIN (MAIN_General,4) // USER CODE END //**************************************************************************** // @Typedefs //**************************************************************************** // USER CODE BEGIN (MAIN_General,5) // USER CODE END //**************************************************************************** // @Imported Global Variables //**************************************************************************** // USER CODE BEGIN (MAIN_General,6) // USER CODE END //**************************************************************************** // @Global Variables //**************************************************************************** // USER CODE BEGIN (MAIN_General,7) // USER CODE END //**************************************************************************** // @External Prototypes //**************************************************************************** // USER CODE BEGIN (MAIN_General,8) // USER CODE END //**************************************************************************** // @Prototypes Of Local Functions //**************************************************************************** // USER CODE BEGIN (MAIN_General,9) // USER CODE END //**************************************************************************** // @Function void MAIN_vInit(void) // //---------------------------------------------------------------------------- // @Description This function initializes the microcontroller. It is // assumed that the SFRs are in their reset state. // //---------------------------------------------------------------------------- // @Returnvalue None // //---------------------------------------------------------------------------- // @Parameters None // //---------------------------------------------------------------------------- // @Date 2010-11-4 // //**************************************************************************** // USER CODE BEGIN (MAIN_Init,1) // USER CODE END void MAIN_vInit(void) { // USER CODE BEGIN (MAIN_Init,2) // USER CODE END /// ----------------------------------------------------------------------- /// Configuration of the System Clock: /// ----------------------------------------------------------------------- /// - On Chip Osc is Selected /// - PLL Mode, NDIV = 2 /// - input frequency is 10 MHz /// ********************************************************************************* /// Note : All peripheral related IO configurations are done in the /// respective peripheral modules (alternate functions selection) /// ********************************************************************************* /// Initialization of module 'GPIO' IO_vInit(); // Interrupt Priority IP = 0x00; // load Interrupt Priority Register IPH = 0x00; // load Interrupt Priority High Register IP1 = 0x00; // load Interrupt Priority 1 Register IPH1 = 0x00; // load Interrupt Priority 1 High Register // USER CODE BEGIN (MAIN_Init,3) // USER CODE END // globally enable interrupts EA = 1; } // End of function MAIN_vInit [page] //**************************************************************************** // @Function void main(void) // //---------------------------------------------------------------------------- // @Description This is the main function. // //---------------------------------------------------------------------------- // @Returnvalue None // //---------------------------------------------------------------------------- // @Parameters None // //---------------------------------------------------------------------------- // @Date 2010-11-4 // //**************************************************************************** // USER CODE BEGIN (MAIN_Main,1) void delay(uint z) //延时时间约为 1ms*X 晶振为12M { uint x=0,y=0; for(x=z;x>0;x--) for(y=54;y>0;y--); } void Key_Scan() { uchar Key_Temp=0,i=0; if(P3_1!=1) { delay(10); if(P3_1!=1) { while(!P3_1); Key_Flag=1; for(i=1;i<4;i++) Table_Tx[i]=i+0xaa; } } } void Send_Code8() { uchar i=0; //循环变量 for(i=0;i<8;i++) //8位数据,顾循环8次 { Set_Count=0x002b;//准备发送长达0.56ms(13*43=560us)的方波 Flag=1; //置标志位(通过该标志位控制高低电平的转换), 因为高电平器件,38K的波形不会改变 Count=0; //清零,准备计数 TR0=1; //启动定时器 while(Count >1;//右移一位,准备发送 } } void Send_Code() { uchar i=0; Set_Count=690;//准备产生9ms(13*690=9000)的高电平 Flag=1; //置标志位,取反(该标志位控制高低电平的转换) Count=0; //定时器计数 TR0=1; //启动定时器 while(Count
上一篇:单片机小车项目小记
下一篇:低噪声便携式的心电监测仪设计和实现
推荐阅读最新更新时间:2024-03-16 14:26
设计资源 培训 开发板 精华推荐
- 展锐与Micromax和Lava合作,进军100美元以下手机市场
- 2018年思立微营收预增54%,光学指纹芯片持续导入大客户
- 1-10月国内手机市场出货量3.43亿部,同比下降15.3%
- 全面减负/定向补贴/最高奖励2000万,河北加速推进“万企转
- 智能手机厂商LCD需求疲软,JDI连续六季出现亏损
- Galaxy Z Fold2阿斯顿马丁限量版价格20999元
- iPhone 12互换主板后:出现了Face ID被禁用等问题
- 微软宣布Apple TV应用11月10日或登陆Xbox Series X/S
- 苹果正开发一款新Mac Pro:设计类似现有型号但尺寸更小
- Moment 推出多款适用于 iPhone 12 的 MagSafe 配件