IR发射C语言驱动程序

来源:本站
导读:目前正在解读《IR发射C语言驱动程序》的相关信息,《IR发射C语言驱动程序》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《IR发射C语言驱动程序》的详细说明。
简介:在这里给大家提供一个基于IR发射C语言的驱动程序。

#include <stdio.h>#include <AT892051.H>#include<INTRINS.H>sbit LED=P1^7;sbit Key=P1^0;//帧数据放数组Data里 unsigned char counter=0;unsigned char Data[5]={0x55,0xff,0x00,0xaa,0x0f};void Transmit(int c1,int c2); //发射子程序//void delay(){  int i;  for(i=75000;i>0;i--);}void scan_key(){  while(1)  {   if(Key==0)   {    delay();    if(Key==0)  {       counter++;    if(counter>=4)      counter=0;    break;  } else     LED=0;                //没键按下,等待      }  }}void send_code(){    unsigned char j;    Transmit(143,38);     //发射引导码    //for(i=0;i<4;i++) //{      for(j=0;j<8;j++)      //发射帧数据      {    if((Data[counter]>>j)&1)         Transmit(75,38); //'1'码       else    Transmit(38,38);    //'0'码      }     Transmit(285,38);     LED=0;   //}   while(Key==0);            //等待释放按键}//****************************************main(){  LED=0;  while(1)  {   scan_key();   send_code();   delay();   delay();   delay();  }}//****************************************void Transmit(int c1,int c2) //c1为高电平宽度{   unsigned char i;            //c2为低电平宽度   LED=0;   do{    LED=0;                    //产生38kHz载波    for(i=3;i>0;i--);         //延时18us    LED=1;    for(i=5;i>0;i--);         //延时18us    //_nop_();   }while(--c1);   LED=0;   do{    for(i=8;i>0;i--);   }while(--c2);}

提醒:《IR发射C语言驱动程序》最后刷新时间 2024-03-14 01:02:32,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《IR发射C语言驱动程序》该内容的真实性请自行鉴别。