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

📄 pt2240.c

📁 PT2240遥控编码ic的解码c源程序,在防盗报警无线电遥控用
💻 C
字号:
//上是用C语言写的编解码程序,请指正:
//
#include "pic.h"
__CONFIG(INTIO&WDTDIS&PWRTDIS&MCLRDIS&BOREN&PROTECT&CPD);
//__CONFIG(INTIO&WDTDIS&PWRTDIS&MCLRDIS&BOREN&UNPROTECT);


#define S0 GPIO0
#define S1 GPIO1
#define S2 GPIO2
#define S3 GPIO3
#define PWM GPIO4
#define LED GPIO5

__EEPROM_DATA(0x0a,0xaa,0xc0,0xff,0xff,0xff,0xff,0xff);

char Buffer[3];
char TXdata[3];


void Load_SN(void)
{
 Buffer[0]=eeprom_read(0x00);
 Buffer[1]=eeprom_read(0x01);
 Buffer[2]=eeprom_read(0x02);
}

 char sendata;
void Send(void)
{
 char a,b;
 PWM=1;
 TMR0=0;
 a=0;
 LED=0;
 while(a<3)
 {
  sendata=TXdata[a];
  for(b=8;b>0;b--)
  {
   if(sendata&0x80)
   {
    PWM=1;
    while(TMR0<132);
    PWM=0;
    TMR0=0;
    while(TMR0<44);
    TMR0=0;
   }
   else
   {
    PWM=1;
    while(TMR0<44);
    PWM=0;
    TMR0=0;
    while(TMR0<132);
    TMR0=0;
   }
   sendata<<=1;
  }
  a++;
 }
 TMR0=0;
 PWM=1;
 while(TMR0<43);
 PWM=0;
 LED=1;
 TMR1H=0;
 TMR1L=0;
 while(TMR1H<0x2b);
 while(TMR1L<0x90);
}

char key_Buffer;

void check_key(void)
{
 key_Buffer=0;
 key_Buffer=GPIO;
 if((key_Buffer&0x0f)!=0x00)
 {
  TXdata[0]=Buffer[0];
  TXdata[1]=Buffer[1];
  TXdata[2]=Buffer[2];
  TXdata[2]=key_Buffer&0x0f;
  Send();
  GPIF=0;
 }
}

main()
{
 char c;
 CMCON=0X07;
 TRISIO=0b00001111;
 GPIO=0b00100000;
 OPTION=0b11000010;              //8分频
 T1CON=0b00000101;
 IOCB=0x0f;
 TMR1IE=0;
 INTCON=0b11001000;
 WPU=0x00;
 key_Buffer=0;
 Load_SN();
 GPIO0=GPIO0;
 GPIO1=GPIO1;
 GPIO2=GPIO2;
 GPIO3=GPIO3;
 while(1)
 {
  check_key();
 }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -