亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? main.c

?? 附件為頭文件
?? C
字號(hào):

// *********************************************************************
//  Filename:   MAIN.c
// *********************************************************************
//  Author:     Lucio Di Jasio
//  Company:    Microchip Technology
//  Revision:   Rev 1.00
//  Date:       08/07/00
//
//  Keeloq Normal Learn Decoder on a mid range PIC 
//  full source in C
//
//  Compiled using HITECH PIC C compiler v.7.93
//  Compiled using CCS    PIC C compiler v. 2.535
// ********************************************************************

//#include "decccs.h"  // uncomment for CCS compiler
#include "dechit.h" // uncomment for HiTech compiler
//

//---------------------------------------------------------------------
// I/O definitions for PIC16F872
// compatible with PICDEM-2 demo board
//
//           +-------- -------+
//  Reset   -|MCLR    O    RB7|-  NU(ICD data)
//  (POT)   -|RA0          RB6|-  NU(ICD clock)
//  RFin    -|RA1          RB5|-  Vlow(Led)
//  NU      -|RA2          RB4|-  LearnOut(Led)
//  NU      -|RA3      PRG/RB3|-  Out3(Led)
//  Learn   -|RA4/T0CKI    RB2|-  Out2(Led)
//  NU      -|RA5          RB1|-  Out1(Led)
//  GND     -|Vss      INT/RB0|-  Out0(Led)
//  XTAL    -|OSCIN        Vdd|-  +5V 
//  XTAL    -|OSCOUT       Vss|-  GND 
//  NU      -|RC0       RX/RC7|-  NU(RS232) 
//  NU      -|RC1       TX/RC6|-  NU(RS232)  
//  NU(SW3) -|RC2/CCP1     RC5|-  NU   
//  NU      -|RC3/SCL  SDA/RC4|-  NU   
//           +----------------+
//



#define RFIn   RA1           // i radio signal input
#define Learn  RA4           // i learn button 

#define Out0   RB0           // o S0 output
#define Out1   RB1           // o S1 output
#define Out2   RB2           // o S2 output
#define Out3   RB3           // o S3 output
#define  Led   RB4           // o LearnOut Led
#define Vlow   RB5           // o low battery 

#define MASKPA  0xff         // port A I/O config (all input)
#define MASKPB  0xc0         // port B I/O config (6 outputs)
#define MASKPC  0xff         // port C I/O config (NU)

// -----------------global variables ---------------------------

 byte Buffer[9];             // receive buffer

//---------------------------------------------------------------
//
// keeloq receive buffer map
//
// | Plain text                                | Encrypted
// RV000000.KKKKIIII.IIIIIIII.IIIIIIII.IIIIIIII.KKKKOODD.DDDDDDDD.SSSSSSSS.SSSSSSSS
//      8       7       6        5         4       3         2        1        0
//
// I=S/N   -> SERIAL NUMBER       (28 BIT)
// K=KEY   -> buttons encoding     (4 BIT)
// S=Sync  -> Sync counter        (16 BIT)
// D=Disc  -> Discrimination bits (10 BIT)
// R=Rept  -> Repeat/first         (1 BIT)
// V=Vlow  -> Low battery          (1 BIT)
//
//-- alias -------------------------------------------------------------
//


#define     HopLo   Buffer[0] //sync counter
#define     HopHi   Buffer[1] //
#define     DisLo   Buffer[2] //discrimination bits LSB
#define     DOK     Buffer[3] //Disc. MSB + Ovf + Key
#define     IDLo    Buffer[4] //S/N LSB
#define     IDMi    Buffer[5] //S/N 
#define     IDHi    Buffer[6] //S/N MSB

#define S0  5   //  Buffer[3] function codes
#define S1  6   //  Buffer[3] function codes
#define S2  7   //  Buffer[3] function codes
#define S3  4   //  Buffer[3] function codes
#define VFlag  7//  Buffer[8] low battery flag

//----------------- flags defines ------------------------------------
bit FHopOK;     // Hopping code verified OK
bit FSame;      // Same code as previous
bit FLearn;     // Learn mode active
bit F2Chance;   // Resync required

//--------------------------------------------------------------------
// timings
//


#define TOUT    5           //   5 * 71ms = 350ms output delay
#define TFLASH  2           //   4 * 71ms = 280ms half period
#define TLEARN  255         // 255 * 71ms =  18s  learn timeout


byte Flags;                 // various flags
byte CLearn, CTLearn;       // learn timers and counter
byte CFlash, CTFlash;       // led flashing timer and counter
byte COut;                  // output timer
byte FCode;      // function codes and upper nibble of serial number

word Dato;       // temp storage for read and write to mem.
word Ind;        // address pointer to record in mem.
word Hop;        // hopping code sync counter
word EHop;       // last value of sync counter (from EEPROM)
word ETemp;      // second copy of sync counter


//
// interrupt receiver
//

#include "rxi.c"
//
// external modules
//
#include "mem-87x.c"       // EEPROM I2C routines
#include "table.c"         // TABLE management
#include "keygen.c"     // Keeloq decrypt and normal keygen 

//
// prototypes
//

void Remote( void);              


//
// MAIN
//
// Main program loop, I/O polling and timing
//

void main ()
{
  
// init
    ADCON1 = 0x7;       // disable analog inputs
    TRISA = MASKPA;     // set i/o config.
    TRISB = MASKPB;
    TRISC = MASKPC;
    PORTA = 0;          // init all outputs
    PORTB = 0;
    PORTC = 0;
    OPTION = 0x8f;      // prescaler assigned to WDT,
                        // TMR0 clock/4, no pull ups

     
    CTLearn = 0;        // Learn debounce
    CLearn = 0;         // Learn timer
    COut = 0;           // output timer
    CFlash = 0;         // flash counter
    CTFlash = 0;        // flash timer
    FLearn = FALSE;     // start in normal mode 
    F2Chance = FALSE;   // no resynchronization required
 
  //  InitReceiver();     // enable and init the receiver state machine

    // main loop
    while ( TRUE)
    { /*
        if ( RFFull)       // buffer contains a message
            Remote();

        // loop waiting 512* period = 72ms
        if ( XTMR < 512)
            continue;       // main loop

// once every 72ms 
        XTMR=0;

        // re-init fundamental registers 
        ADCON1 = 0x7;       // disable analog inputs
        TRISA = MASKPA;     // set i/o config.
        TRISB = MASKPB;
        TRISC = MASKPC;
        OPTION = 0x0f;      // prescaler assigned to WDT, TMR0 clock/4, pull up
        T0IE = 1;
        GIE = 1;
       
        // poll learn
        if ( !Learn)    // low -> button pressed
        {
            CLearn++;

            // pressing Learn button for more than 10s -> ERASE ALL
            if (CLearn == 128)      // 128 * 72 ms = 10s
            {
                Led = OFF;          // switch off Learn Led
                while( !Learn);     // wait for button release
                Led = ON;           // signal Led on
                ClearMem();         // erase all comand!
                COut = TOUT;        // single lomg flash pulse time
                                    // timer will switch off Led
                CLearn = 0;         // reset learn debounce
                FLearn = FALSE;     // exit learn mode
            }               

            // normal Learn button debounce
            if (CLearn == 4)        // 250ms debounce
            {
                FLearn = TRUE;      // enter learn mode comand!
                CTLearn = TLEARN;   // load timout value
                Led = ON;           // turn Led on
            }
          }
          else  CLearn=0;           // reset counter
            
         // outputs timing
         if ( COut > 0)             // if timer running
         {
            COut--;
            if ( COut == 0)         // when it reach 0
            {
                Led = OFF;          // all outputs off
                Out0 = OFF;
                Out1 = OFF;
                Out2 = OFF;
                Out3 = OFF;
                Vlow = OFF;
             }
         }
        
         // Learn Mode timout after 18s (TLEARN * 72ms)
         if ( CTLearn > 0)
         {
            CTLearn--;                  // count down
            if ( CTLearn == 0)          // if timed out
            {
                Led = OFF;              // exit Learn mode
                FLearn = FALSE;
            }
         }

         // Led Flashing 
         if ( CFlash > 0)
         {
            CTFlash--;                  // count down
            if ( CTFlash == 0)          // if timed out
            {
                CTFlash = TFLASH;       // reload timer
                CFlash--;               // count one flash
                Led = OFF;              // toggle Led
                if ( CFlash & 1)
                    Led = ON;        
            }
         }
         
  */   } // main loop

} // main 


//
// Remote Routine
//
// Decrypts and interprets receive codes
// Does Normal Operation and Learn Mode
//
// INPUT:  Buffer contains the received code word
//         
// OUTPUT: S0..S3 and LearnOut 
//

void Remote()
{
 /*   
    // a frame was received and is stored in the receive buffer
    // move it to decryption Buffer, and restart receiving
    memcpy( Buffer, B, 9);
    RFFull = FALSE;                     // ready to receive a new frame

    // decoding
    NormalKeyGen();                     // compute the decryption key 
    Decrypt();                          // decrypt the hopping code portion

    if ( DecCHK() == FALSE)             // decription failed
        return;

    if ( FLearn)
    {
        // Learn Mode

        if ( Find()== FALSE)
        // could not find the Serial Number in memory
        {
            if ( !Insert())             // look for new space
                return;                 // fail if no memory available
        }

        // ASSERT Ind is pointing to a valid memory location
        IDWrite();                  // write Serial Number in memory
        FHopOK = TRUE;              // enable updating Hopping Code
        HopUpdate();                // Write Hoping code in memory

        CFlash = 32;                // request Led flashing
        CTFlash = TFLASH;           // load period timer
        Led = TRUE;                 // start with Led on
        FLearn = FALSE;             // terminate successfully Learn
    } // Learn

    else // Normal Mode of operation
    {
        if ( Find()== FALSE)
            return; 
        if ( !HopCHK())                 // check Hopping code integrity
            return;

        if ( FSame)                     // identified same code as last memorized
        {
            if ( COut >0)               // if output is still active
                COut = TOUT;            // reload timer to keep active
            else
                return;                 // else discard
        }

        else                            // hopping code incrementing properly
        {
            HopUpdate();                // update memory


        // set outputs according to function code
            if ( BIT_TEST(Buffer[3],S0))
                Out0 = ON;
            if ( BIT_TEST(Buffer[3],S1))
                Out1 = ON;
            if ( BIT_TEST(Buffer[3],S2))
                Out2 = ON;
            if ( BIT_TEST(Buffer[3],S3))
                Out3 = ON;

        // set low battery flag if necessary
            if ( BIT_TEST(Buffer[8],VFlag))
                Vlow = ON;

        // check against learned function code
            if ( (( Buffer[7] ^ FCode) & 0xf0) == 0)
               Led = ON;
                
        // init output timer
            COut = TOUT;
        }// recognized
  } // normal mode
*/
} // remote






?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区蜜桃| 亚洲一区中文日韩| 日韩欧美中文字幕一区| 欧美日韩国产免费一区二区 | 欧美激情一区二区三区不卡| 欧美tickle裸体挠脚心vk| 91精品国产综合久久精品app| 欧美日韩不卡一区| 欧美一级日韩一级| 精品国产91久久久久久久妲己| 日韩欧美国产三级| 久久久久久一二三区| 久久久久成人黄色影片| 亚洲国产精品二十页| 1024精品合集| 亚洲成人激情综合网| 日韩精品一级中文字幕精品视频免费观看| 五月激情综合网| 久久69国产一区二区蜜臀| 国产一区二区在线电影| 成人精品一区二区三区四区| 色综合久久九月婷婷色综合| 在线观看视频一区二区| 在线成人小视频| 久久奇米777| 亚洲黄色性网站| 日本亚洲最大的色成网站www| 国产麻豆精品在线观看| 成人成人成人在线视频| 欧美日韩五月天| 国产午夜精品一区二区三区嫩草| 一区二区三区在线观看动漫| 青青草国产成人av片免费 | 中文字幕电影一区| 亚洲成人精品一区二区| 国产伦精品一区二区三区免费迷| 色综合久久中文字幕| 日韩欧美精品三级| 亚洲欧美日韩国产综合在线| 久久精品99久久久| 97久久精品人人做人人爽| 欧美不卡激情三级在线观看| 亚洲日本一区二区| 国产一区亚洲一区| 欧美日韩国产片| 日韩一区中文字幕| 韩国女主播成人在线观看| 欧美色窝79yyyycom| 国产农村妇女精品| 黑人精品欧美一区二区蜜桃| 欧美亚洲国产bt| 中文字幕中文字幕一区二区 | 最新日韩av在线| 狠狠色丁香久久婷婷综| 欧美一区二区三区四区五区| 一区二区三区在线看| 豆国产96在线|亚洲| www激情久久| 琪琪一区二区三区| 51精品久久久久久久蜜臀| 夜夜嗨av一区二区三区| 成人动漫视频在线| 国产精品素人一区二区| 国产激情精品久久久第一区二区| 91精品国产乱| 日本在线不卡一区| 91精品在线免费| 午夜a成v人精品| 欧美精品一级二级三级| 亚洲高清不卡在线| 欧美精品在线观看一区二区| 亚洲成人av免费| 欧美日本一道本| 日本午夜精品一区二区三区电影| 欧美亚洲高清一区| 亚洲国产成人91porn| 欧美日韩一区二区不卡| 五月婷婷综合在线| 日韩精品在线一区| 精品一区二区三区视频在线观看 | 精品一二三四区| 久久日韩精品一区二区五区| 看电影不卡的网站| 久久久久久久久久久久电影 | 国产最新精品精品你懂的| 精品国产一区二区三区久久影院| 精品一区二区三区免费播放| 精品噜噜噜噜久久久久久久久试看 | 国产麻豆精品95视频| 国产欧美一区二区三区网站 | 欧美人xxxx| 美国精品在线观看| 国产欧美视频一区二区| www.爱久久.com| 午夜精品久久久久久久久| 欧美va亚洲va在线观看蝴蝶网| 国产不卡视频在线观看| 亚洲精品精品亚洲| 欧美一区二区日韩| www.成人网.com| 天天综合色天天| 国产区在线观看成人精品| 色婷婷久久99综合精品jk白丝| 亚洲国产欧美在线人成| 欧美tickling网站挠脚心| 色一区在线观看| 激情成人综合网| 亚洲日本一区二区| 精品久久人人做人人爱| 91色九色蝌蚪| 激情文学综合网| 亚洲三级久久久| 亚洲精品在线网站| 91福利区一区二区三区| 韩国欧美一区二区| 午夜欧美视频在线观看| 国产精品久久久久久亚洲伦 | 欧美tk—视频vk| 欧洲视频一区二区| 国产一区二区中文字幕| 亚洲成av人影院在线观看网| 国产欧美视频在线观看| 5858s免费视频成人| 99久久精品情趣| 国产精品一二三四五| 天天色综合天天| 亚洲精品久久嫩草网站秘色| 国产精品区一区二区三| 精品国产乱码久久久久久久| 欧美手机在线视频| 色中色一区二区| av一区二区久久| 丁香婷婷综合网| 国内精品自线一区二区三区视频| 天堂av在线一区| 亚洲一区二区三区四区中文字幕| 中文一区一区三区高中清不卡| 欧美电影免费提供在线观看| 欧美军同video69gay| 欧美性生活影院| 91福利在线导航| 91在线丨porny丨国产| 国产电影一区在线| 国产黄色成人av| 国产v综合v亚洲欧| 国产成人av电影免费在线观看| 激情文学综合网| 国产精品自在在线| 国产一区二区成人久久免费影院| 精品午夜久久福利影院 | 97久久人人超碰| av网站一区二区三区| 成人动漫一区二区三区| 波多野洁衣一区| 91蝌蚪porny九色| 色婷婷综合久色| 欧美性xxxxx极品少妇| 欧美日韩国产美| 欧美大片拔萝卜| 26uuu国产电影一区二区| 久久婷婷久久一区二区三区| 久久久久国产一区二区三区四区 | 综合激情网...| 亚洲天堂精品在线观看| 一区二区三区四区蜜桃| 亚洲综合在线免费观看| 亚洲第一二三四区| 免费观看成人av| 国产成人日日夜夜| 99精品欧美一区二区三区综合在线| 91视视频在线观看入口直接观看www | 国产自产v一区二区三区c| 国产精品一区二区久激情瑜伽| 成人福利在线看| 欧美色图天堂网| 欧美一区二区播放| 国产精品色婷婷久久58| 亚洲一区影音先锋| 国内精品国产成人国产三级粉色| 高清国产一区二区三区| 本田岬高潮一区二区三区| 欧美色手机在线观看| 2020国产精品自拍| 亚洲黄色免费网站| 国产综合久久久久久鬼色| 色综合久久九月婷婷色综合| 欧美videofree性高清杂交| 中文字幕一区日韩精品欧美| 视频一区二区国产| 国产精品99久久久久久久vr | 日韩av电影天堂| 国产suv一区二区三区88区| 欧美性生交片4| 欧美国产精品专区| 麻豆精品在线看| 欧美午夜不卡视频| 国产精品无码永久免费888| 蜜臀av性久久久久蜜臀aⅴ| 一本到不卡免费一区二区| 2021国产精品久久精品|