久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4873|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

NRF24LE1射頻標(biāo)簽 有源RFID源碼(單頻卡-優(yōu)化-500mS)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:421767 發(fā)表于 2018-11-6 15:30 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
有源RFID的電子標(biāo)簽卡程序,使用24LE1的MCU+射頻來實現(xiàn),低功耗的有源電子標(biāo)簽



源程序如下:
  1. #include <reg24le1.h>
  2. #include <stdint.h>
  3. #include <API.h>
  4. #include <nvdata.h>
  5. #include <radio.h>
  6. #include <system.h>
  7. //#include <uart.h>

  8. uint8_t data rx_buf[RX_PLOAD_WIDTH] = {0};
  9. uint8_t data tx_buf[TX_PLOAD_WIDTH] = {0x00,0x00,0x00,0xEB};

  10. uint8_t radio_status = 0;
  11. uint8_t bdata sta;                        //IRQ中斷后,判斷是接收中斷、發(fā)送中斷和重發(fā)最大中斷。
  12. sbit        RX_DR        =sta^6;
  13. sbit        TX_DS        =sta^5;
  14. sbit        MAX_RT        =sta^4;

  15. uint8_t flag = 0,flag1 = 0;        //定時器計數(shù)標(biāo)志變量
  16. uint8_t pck_length = 0;                           //RF數(shù)據(jù)包長度
  17. uint8_t cmd = 0;                                    //卡號異或結(jié)果

  18. uint8_t xdata packet[6] = {0};           //串口發(fā)送數(shù)據(jù)包
  19. uint8_t xdata packet1[4] = {0};           //串口發(fā)送心跳包

  20. /**************************************************
  21. 功能:主程序
  22. **************************************************/
  23. void main(void)
  24. {
  25.         mcu_init();                                                                        //系統(tǒng)時鐘
  26.         //uart_init();                                           // 串口初始化               
  27.         io_init();                                                                        // I/O口初始化
  28.         //timer1_init();                                                                // 定時器初始化
  29.         rf_init();                                                                        // RF初始化
  30.         //RX_Mode();                                                                        // 進(jìn)入接收模式
  31.         TX_Mode();                                                                        // 進(jìn)入發(fā)送模式
  32.         EA=1;                                                                                // 允許中斷
  33.         while(1)
  34.         {
  35.             watchdog_init();
  36.             //=====================PWRDWN節(jié)電模式=====================         
  37.                 RTC2CON |= 0x01;                                                                //RTC2配置開啟
  38.                 PWRDWN   = 0x04;                                    //enter "pwr_dwn"=0x04,register retention寄存器保留
  39.                 RTC2CON &=~ 0x01;                                                                 //RTC2配置關(guān)閉

  40.                 //LED1 = ~LED1;
  41.                 //LED2 = ~LED2;               
  42.                 //ALM = ~ALM;                //蜂鳴器
  43.                
  44.                 tx_buf[0] = ((tx_buf[1] ^ tx_buf[2] ^ tx_buf[3]) & 0x7f);         
  45.         
  46.                 if(VotageStatusCheck())
  47.                         tx_buf[1] |= 0x80;//置位電量不足標(biāo)志
  48.                 else
  49.                         tx_buf[1] &=~ 0x80;

  50.                 //數(shù)據(jù)發(fā)射        
  51.                 SPI_Write_Buf(WR_TX_PLOAD,tx_buf,TX_PLOAD_WIDTH);
  52.                 CE_PULSE();                             //CE置高至少10us,CE置低
  53.                 radio_status = 0xff;         
  54.                 while(radio_status==0xff);         // Wait until radio ready
  55.                 //數(shù)據(jù)發(fā)射完成
  56.         }        
  57. }

  58. /**************************************************
  59. 功能:RF中斷服務(wù)程序
  60. **************************************************/

  61. void RF_IRQ(void) interrupt INTERRUPT_RFIRQ
  62. {
  63.         sta=SPI_Read(STATUS);                                                                // 讀出狀態(tài)值

  64.         if(RX_DR)                                                                        
  65.         {
  66.                 SPI_Read_Buf(RD_RX_PLOAD,rx_buf,RX_PLOAD_WIDTH);// 讀出FIFO的數(shù)據(jù)
  67.                 SPI_RW_Reg(FLUSH_RX,0);                                                        // 清除RX的FIFO
  68.                 radio_status = 6;
  69.         }
  70.         
  71.         if(TX_DS)
  72.         {
  73.                 RFCE = 0;
  74.                 radio_status = 5;
  75.         }

  76.         if(MAX_RT)
  77.         {
  78.                 radio_status = 4;
  79.         }
  80.         SPI_RW_Reg(WRITE_REG+STATUS,0x70);                                        // 清除所有中斷標(biāo)志
  81. }

  82. ////////////////////////////////////////////////////////////////////////
  83. void TimeSvr(void) interrupt INTERRUPT_TF1
  84. {
  85.         TR1 = 0;                 //進(jìn)入后先關(guān)閉定時器,執(zhí)行完再打開
  86.         TH1 = 0x97;
  87.         TL1 = 0xD5;                 //20mS   f=16M/12   
  88.         flag ++;
  89.         
  90.         if(flag >=50)
  91.         {
  92.           flag = 0;
  93.           //watchdog_init();                 //喂狗
  94.         }

  95.     TR1 = 1;
  96. }                                             

  97. void ri0_interrupt(void) interrupt INTERRUPT_RI0         
  98. {
  99.         if (RI0 == 1)
  100.     {
  101.             RI0 = 0;
  102.                 /*
  103.                 S0BUF = hal_flash_byte_read(HAL_DATA_NV_ADDRESS32);
  104.                 while (!TI0);                                                                // 等待發(fā)送完成
  105.                 TI0=0;                                                                                // 清發(fā)送完成標(biāo)志
  106.                 */        
  107.     }
  108.         /*
  109.         else if        (TI0 == 1)
  110.         {
  111.                 TI0 = 0;
  112.         }
  113.         */
  114. }
復(fù)制代碼

所有資料51hei提供下載:
24LE1_2.4GCard.zip (70.01 KB, 下載次數(shù): 46)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:571973 發(fā)表于 2019-9-10 10:00 | 只看該作者
編譯不了
回復(fù)

使用道具 舉報

板凳
ID:621846 發(fā)表于 2020-6-23 10:37 | 只看該作者
發(fā)送的有錯還往上發(fā)
回復(fù)

使用道具 舉報

地板
ID:636538 發(fā)表于 2020-6-24 15:28 | 只看該作者

怎么編譯不了啦,我下載下來編譯通過了
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美成人猛片aaaaaaa | av黄色在线观看 | 久久国产欧美日韩精品 | 羞羞视频网| 国产成人精品一区二区三区四区 | 亚洲国产精品一区 | 蜜桃在线视频 | 精品国产乱码久久久久久88av | 久久综合久久自在自线精品自 | 日韩在线免费 | 色屁屁在线观看 | 不卡视频在线 | 国产日产精品一区二区三区四区 | 久久精品网 | 99精品免费久久久久久久久日本 | 日日噜噜噜夜夜爽爽狠狠视频97 | 日韩国产一区二区三区 | 国内自拍真实伦在线观看 | 蜜桃视频在线观看免费视频网站www | 国产精品a久久久久 | 亚洲精品99 | 欧美色综合一区二区三区 | 日日噜噜噜夜夜爽爽狠狠视频97 | 久久国产精品色av免费观看 | 国产精品性做久久久久久 | 91在线导航 | 美女一级a毛片免费观看97 | 精品一区二区久久久久久久网精 | 91观看| 婷婷色网 | 久久久精品久 | 男女羞羞视频在线 | 精品在线播放 | 岛国精品| 欧美一区二区三区视频在线播放 | av中文字幕在线 | 成人免费毛片在线观看 | 国产亚洲精品综合一区 | 亚洲 中文 欧美 日韩 在线观看 | 在线观看日韩 | 一区二区三区小视频 |