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

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

?? nfr401.c.txt

?? nrf401
?? TXT
字號:
nrf401實(shí)驗(yàn)c51程序 

/*----------------------------------------------------------------------
nrf401實(shí)驗(yàn)程序
雁塔菜農(nóng)HotPower@126.com
-----------------------------------------------------------------------*/
#include <AT89X52.h>
#include <stdio.h>
#include <absacc.h>
#include <intrins.h>
#include <nrf401.h>
#include <hotins.h>

#define T0_8mS -8000
#define T1_8mS -8000
#define T2_1_25mS -576 //-1250*0.9216=1.25MS


/*----------------------------------------------------------------------
        系統(tǒng)函數(shù)
-----------------------------------------------------------------------*/
void MainInit(void);//系統(tǒng)初始化
void ClrWdt(void);//喂狗
void nRFInit(void);
void SystemInit(void);//系統(tǒng)初始化
void SystemSetup(void);//系統(tǒng)設(shè)置
void SystemIoInit(void);//系統(tǒng)接口初始化
void UserSetup(void);//用戶運(yùn)行環(huán)境設(shè)置
void TimeInit(void);
unsigned char crc8r(unsigned char crcbyte);
unsigned int crc16r(unsigned int crcword, unsigned int crc);
unsigned int GetTXBuffWord(unsigned char ledpos);
void SetTXBuffWord(unsigned char ledpos, unsigned int val);
unsigned int GetRXBuffWord(unsigned char ledpos);
void SetRXBuffWord(unsigned char ledpos, unsigned int val);


SystemData SystemBuffers;//申請系統(tǒng)數(shù)據(jù)結(jié)構(gòu)

SioData SioBuffers;

/*-----------------------------------------
         主程序初始化
-------------------------------------------*/
void MainInit(void)//系統(tǒng)初始化
{
  SystemIoInit();//系統(tǒng)接口初始化
  ClrWdt();//清除看門狗計(jì)數(shù)器
  if (SystemBuffers.RamTest != 0x55aa) {//內(nèi)存測試
SystemInit();//系統(tǒng)上電初始化
  }
  SystemSetup();//系統(tǒng)運(yùn)行環(huán)境設(shè)置
  UserSetup();//用戶運(yùn)行環(huán)境設(shè)置
}

void SystemInit(void)//系統(tǒng)初始化
{
  SystemBuffers.RamTest = 0x55aa;//內(nèi)存初始化
}

void SystemSetup(void)//系統(tǒng)設(shè)置
{
  AUXR = 0x01;//關(guān)閉EMI
  nRFInit();
  TimeInit();
  IP = 0x10;//中斷優(yōu)先級EX1>ET2>ET0>EX0>ES
  IE = 0xb4;//開中斷EA,ET2,ET1,EX1,ET0
}

void UserSetup(void)//用戶運(yùn)行環(huán)境設(shè)置
{
}

void SystemIoInit(void)
{
  IE = 0x00;//關(guān)閉中斷
  P0 = 0xff;//P0口初始化
  P1 = 0xff;//P1口初始化
  P2 = 0xff;//P2口初始化
  P3 = 0xff;//P3口初始化
}

void TimeInit()
{
  TMOD = 0x21;//定時器0,1為方式1(十六位定時器)
  TCON = 0x55;//啟動定時器TR1EQUTR0EQU1,IT1EQUIT0EQU1
/*----------------------------------
      定時器0定時參數(shù)設(shè)置
----------------------------------*/
  TL0 = 0;
  TH0 = 0;
  TR0 = 1;//啟動定時器0
/*----------------------------------
      定時器0定時參數(shù)設(shè)置
----------------------------------*/
  TL1 = SIO_BPS;
  TH1 = SIO_BPS;
  PCON = 0x00;
  TR1 = 1;//啟動定時器1
/*----------------------------------
      定時器2定時參數(shù)設(shè)置
----------------------------------*/
  TIMEER2 = T2_1_25mS;
  RCAP    = T2_1_25mS;
  TR2     = 1;//啟動定時器2
}

void nRFInit(void)
{
  nRFCS    = 0;//433.92MHz//1//434.33MHz
  nRFTXEN  = 0;//接收
  nRFPWR   = 1;//上電
  SioBuffers.TXMAXCount = 0;
  SioBuffers.TXCount = 0;
//  SioBuffers.RXCount = 0;
  SCON     = 0x50;          /* SCON: mode 2, 9-bit UART, enable rcvr      */
  SioBuffers.RXCount = 16;
}


/*------------------------------------
         外部INT0中斷服務(wù)程序
------------------------------------*/
void int0proc() interrupt IE0_VECTOR// using 1
{
}

/*------------------------------------
         定時器T0中斷服務(wù)程序
------------------------------------*/
void t0proc() interrupt TF0_VECTOR// using 1
{
}

/*------------------------------------
         外部INT1中斷服務(wù)程序
------------------------------------*/
void int1proc() interrupt IE1_VECTOR using 1
{
}

/*------------------------------------
         定時器T1中斷服務(wù)程序
------------------------------------*/
void t1proc() interrupt TF1_VECTOR// using 1
{
}

/*------------------------------------
         串口SIO中斷服務(wù)程序
------------------------------------*/
void sioproc() interrupt SIO_VECTOR// using 1
{
unsigned char i;
unsigned int crc;
  if (RI) {//接收中斷
    RI = 0;
if (!nRFTXEN && SioBuffers.RXCount) {//每次接收20個數(shù)據(jù)
      i = SBUF;
      SioBuffers.RXCount --;
      SioBuffers.RXBuffers[19 - SioBuffers.RXCount] = i;
   switch(SioBuffers.RXCount) {
     case 19:
         if (i != 0x55) SioBuffers.RXCount = 20;
           break;
  case 18:
         if (i != 0xaa) SioBuffers.RXCount = 20;
           break;
  case 0:
         crc = 0;
      for (i = 1; i <= 8; i ++) {
                 crc = crc16r(GetRXBuffWord(i + i), crc);
      }
               if (crc != GetRXBuffWord(18))
                 SioBuffers.RXCount = 20;
       else {
                 nRFTXEN = 1;//發(fā)送
              for (i = 0; i < 20; i ++) {
             SioBuffers.TXBuffers[i] = SioBuffers.RXBuffers[i];
           }
     SioBuffers.TXMAXCount = TX_MAXCount;
                 SioBuffers.TXCount = TX_Count + 32;
     TI = 1;//接收結(jié)束立即轉(zhuǎn)為發(fā)送
      }
         break;
   }
} 
  }
  if (TI) {//發(fā)送中斷
    TI = 0;
    if (nRFTXEN && SioBuffers.TXCount) {
      SioBuffers.TXCount --;
      if (SioBuffers.TXCount > 19) {
     SBUF = 0x00;
//        SBUF = 0xff;
      }
      else {
        SBUF = SioBuffers.TXBuffers[19 - SioBuffers.TXCount];
      }
     if (SioBuffers.TXCount == 0) {
     if (SioBuffers.TXMAXCount) {
    SioBuffers.TXMAXCount --;
    SioBuffers.TXCount = TX_Count;
  }
        else {
          nRFTXEN = 0;//發(fā)送結(jié)束立即轉(zhuǎn)為接收
          SioBuffers.RXCount = 20;
  }
   }
}
  }
}

/*------------------------------------
         定時器T2中斷服務(wù)程序(1.25mS)
------------------------------------*/
void t2proc() interrupt TF2_VECTOR// using 2
{
//unsigned char i;
//unsigned int crc;
  TF2 = 0;
  if (PCON & GF0) {//中斷是從主循環(huán)內(nèi)跳入的才能喂狗
    ClrWdt();//清除看門狗計(jì)數(shù)器
    PCON &= ~GF0;//清除標(biāo)志 
  }
  SystemBuffers.T2Count ++; 



//  if (SystemBuffers.T2Count >= 80) {//100mS到
  if (SystemBuffers.T2Count >= 400) {//500mS到
    SystemBuffers.T2Count = 0;
//if (((SystemBuffers.T2Count & 3) == 0) && (SioBuffers.TXCount == 0)) {//10mS
//if (SioBuffers.TXCount == 0) {//10mS
/*
if (!ES && (SioBuffers.TXCount == 0)) {//10mS
  SioBuffers.TXCount = 18;
  crc =GetTXBuffWord(2);
  crc = crc16r(crc);
  SetTXBuffWord(4, crc);
  nRFTXEN = 1;//發(fā)送
  TI = 1;
  ES = 1;
}
*/ 
//    SioBuffers.TXCount = 8;
//    nRFTXEN = 1;//發(fā)送
// SBUF = SioBuffers.TXBuffers[0];
//    ES = 1;
  }
}

void ClrWdt(void)//喂狗
{
  WDTRST = 0x1e;//89s52內(nèi)狗
  WDTRST = 0xe1;//89s52內(nèi)狗
}

unsigned char crc8r(unsigned char crcbyte)
{ 
unsigned char i,crc; 
  crc = 0;
  for(i = 0; i < 8; i++) { 
    if(((crc ^ crcbyte) & 0x01) == 0) crc >>= 1; 
    else{ 
      crc ^= 0x18;//0x18;//CRC=X8+X5+X4+1
      crc >>= 1; 
      crc |= 0x80; 
    } 
    crcbyte >>= 1; 
  }
  return crc; 
}

unsigned int crc16r(unsigned int crcword, unsigned int crc) 
{ 
unsigned char i; 
  for(i = 0; i < 16; i++){ 
    if(((crc ^ crcword ) & 0x0001) == 0) crc >>= 1; 
    else{ 
      crc ^= 0x810;//0x0810;//CRC=X16+X12+X5+1 
      crc >>= 1; 
      crc |= 0x8000; 
    } 
    crcword >>= 1; 
  } 
  return crc; 
} 

unsigned int GetTXBuffWord(unsigned char ledpos)
{
unsigned char val1, val2;
unsigned int val;
  val1 = SioBuffers.TXBuffers[ledpos];
  val2 = SioBuffers.TXBuffers[ledpos + 1];
  val = (val1 << 8) + val2;
  return val; 
}

void SetTXBuffWord(unsigned char ledpos, unsigned int val)
{
  SioBuffers.TXBuffers[ledpos]     = (val >> 8); 
  SioBuffers.TXBuffers[ledpos + 1] = val & 0xff;
}

unsigned int GetRXBuffWord(unsigned char ledpos)
{
unsigned char val1, val2;
unsigned int val;
  val1 = SioBuffers.RXBuffers[ledpos];
  val2 = SioBuffers.RXBuffers[ledpos + 1];
  val = (val1 << 8) + val2;
  return val; 
}

void SetRXBuffWord(unsigned char ledpos, unsigned int val)
{
  SioBuffers.RXBuffers[ledpos]     = (val >> 8); 
  SioBuffers.RXBuffers[ledpos + 1] = val & 0xff;
} 
 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
制服丝袜亚洲色图| 亚洲视频精选在线| 韩国成人在线视频| 日韩一区二区三区四区| 日本一区中文字幕| 久久夜色精品国产欧美乱极品| 久久99久久精品| 亚洲精品中文在线| 精品国产凹凸成av人导航| 国产在线精品免费| 国产欧美精品区一区二区三区| 成人app网站| 日韩精品1区2区3区| 久久九九国产精品| 欧美色中文字幕| 激情深爱一区二区| 亚洲自拍偷拍av| 国产亲近乱来精品视频| 制服视频三区第一页精品| 国产成人啪免费观看软件| 日韩精品视频网| 一区二区三区在线播| 久久久久国色av免费看影院| 欧美裸体bbwbbwbbw| 色综合色综合色综合| 粉嫩av一区二区三区在线播放 | 国产在线看一区| 亚洲综合久久久| 亚洲免费视频成人| 国产精品久久久久久久久免费丝袜| 欧美精品tushy高清| 92国产精品观看| 91免费观看国产| 91福利在线导航| 在线视频一区二区免费| 成人精品小蝌蚪| 99re亚洲国产精品| 欧美日韩免费在线视频| 777色狠狠一区二区三区| 欧美一区二区免费| 久久亚洲一区二区三区四区| 久久久综合激的五月天| 久久久久久久综合色一本| 精品国产露脸精彩对白| 精品少妇一区二区三区免费观看 | 国产河南妇女毛片精品久久久| 美脚の诱脚舐め脚责91| 韩国欧美一区二区| 成人av免费在线观看| 91原创在线视频| 欧美日韩一级二级三级| 久久亚洲影视婷婷| 亚洲精品视频自拍| 国产精品99精品久久免费| 91日韩一区二区三区| 欧美一区二区三区不卡| 中文久久乱码一区二区| 亚洲国产成人av网| 精彩视频一区二区三区| 欧美剧情片在线观看| jiyouzz国产精品久久| 欧美午夜电影网| 国产精品私房写真福利视频| 日日欢夜夜爽一区| 色综合久久99| 中文字幕在线一区二区三区| 蜜臀91精品一区二区三区| 91在线免费看| 亚洲天天做日日做天天谢日日欢| 免费成人在线影院| 日韩久久精品一区| 蜜臀av性久久久久蜜臀aⅴ四虎 | 欧美日韩一区二区在线观看视频| 欧美国产日韩精品免费观看| 国产一区二区三区久久悠悠色av| 欧美精品1区2区| 秋霞av亚洲一区二区三| 日韩午夜在线观看| 国产精品一卡二卡| 中文字幕 久热精品 视频在线 | 欧美一级理论片| 毛片av中文字幕一区二区| 欧美一级生活片| 国产91富婆露脸刺激对白| 国产精品色哟哟网站| 成人av在线电影| 午夜精品在线看| 久久欧美中文字幕| 972aa.com艺术欧美| 日本欧美加勒比视频| 久久精品夜色噜噜亚洲a∨| 精品一区二区三区视频在线观看| 欧美国产国产综合| 欧美r级在线观看| 久久久久久免费毛片精品| 精品美女一区二区三区| 欧美一激情一区二区三区| 高清shemale亚洲人妖| 国产麻豆视频一区| 懂色av一区二区在线播放| www.日本不卡| 欧美视频你懂的| 精品黑人一区二区三区久久| 99久久精品免费观看| 日本伊人午夜精品| 亚洲永久免费视频| 亚洲精选一二三| 中文字幕国产一区| 国产视频一区二区在线观看| 日韩一卡二卡三卡国产欧美| 欧美日韩在线精品一区二区三区激情| 国产成人免费视频精品含羞草妖精| 日韩av二区在线播放| 强制捆绑调教一区二区| 男男视频亚洲欧美| 五月天亚洲精品| 日韩影视精彩在线| 久久精品国产精品亚洲红杏 | 亚洲特黄一级片| 亚洲人成精品久久久久久| 亚洲另类春色校园小说| 亚洲欧美激情插| 亚洲无线码一区二区三区| 日韩av不卡一区二区| 国产精品系列在线观看| 成人中文字幕电影| 在线观看日韩国产| 欧美成人性福生活免费看| 久久亚洲精华国产精华液| 亚洲三级在线观看| 奇米色777欧美一区二区| 国产精品1区二区.| 色综合天天综合网国产成人综合天| 日韩精品一区二区三区swag | 欧美日韩国产bt| 国产乱码精品一区二区三区av| 天堂资源在线中文精品| 亚洲三级免费电影| 亚洲一区二区黄色| 日韩黄色片在线观看| 久久国产欧美日韩精品| 成人av片在线观看| 欧美一区二区视频在线观看| 久久久国产一区二区三区四区小说 | 99免费精品在线观看| 精品久久久久久亚洲综合网 | 国产日本一区二区| 亚洲亚洲人成综合网络| 国产精品一区二区不卡| 欧美精品 日韩| 亚洲va国产天堂va久久en| 成人午夜视频免费看| 欧美mv日韩mv亚洲| 五月综合激情网| 欧美日韩精品是欧美日韩精品| **性色生活片久久毛片| 成人激情黄色小说| 久久久亚洲国产美女国产盗摄| 日本不卡1234视频| 日韩欧美成人午夜| 九九久久精品视频| 国产精品免费av| www.综合网.com| 亚洲综合一二区| 欧美一级视频精品观看| 美女高潮久久久| 久久精品免视看| 在线观看日韩电影| 蜜桃免费网站一区二区三区| 久久久亚洲精华液精华液精华液| 国产91丝袜在线播放| 亚洲激情校园春色| 欧美一级在线免费| 国产91精品久久久久久久网曝门 | 91久久精品一区二区三| 亚洲成人精品在线观看| 精品女同一区二区| 波多野结衣精品在线| 麻豆精品国产传媒mv男同| 国产精品国产三级国产aⅴ无密码| 成人黄色小视频| 亚洲精品视频免费看| 3atv一区二区三区| 99re这里都是精品| 国产在线播放一区三区四| 亚洲一区二区三区四区中文字幕| 精品精品欲导航| 欧美日韩久久一区二区| 成人黄色在线网站| 国产传媒一区在线| 久久91精品久久久久久秒播| 亚洲国产aⅴ天堂久久| 中文字幕国产精品一区二区| 欧美大片一区二区| 91精品麻豆日日躁夜夜躁| 欧美日韩不卡在线| 欧美亚洲国产一卡| 日本精品免费观看高清观看| 99精品久久久久久| 一本一本大道香蕉久在线精品|