新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于单片机的红外发送程序(Infineon--XC866)

基于单片机的红外发送程序(Infineon--XC866)

作者: 时间:2016-11-29 来源:网络 收藏
//****************************************************************************// @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

上一页 1 2 下一页

评论


技术专区

关闭