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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5239|回復: 5
打印 上一主題 下一主題
收起左側

基于51單片機的c語言韋根卡讀卡程序 門禁系統

[復制鏈接]
跳轉到指定樓層
樓主


單片機源程序如下:
  1. /*******************************************************************************
  2. * 文件名稱:Wiegand.c                               
  3. * 說明:本文件為韋根卡讀卡程序。
  4. * 功能:實現對韋根卡的識別
  5. * 修改:無
  6. * 版本:1.0.0
  7. * 作者:YuanDong
  8. * 時間:2009.7.20
  9. *******************************************************************************/       
  10. #include <51reg.h>
  11. #include <string.h>
  12. #include <stdio.h>      /*標準輸入輸出定義*/

  13.                                
  14. sbit DATA0=P3^2;   //數據線0
  15. sbit DATA1=P3^3;   //數據線1

  16. /*定義韋根卡的一個結構體*/
  17. struct wiegand_dev
  18. {
  19.         char wiegand[26];                             // 定義Weigand  26Bits 數據
  20.   unsigned char  state;  
  21.         int global_var;                                 // 全局計數器 計數組長度

  22.   
  23. };static struct wiegand_dev *rf_card;


  24. /*****************************************************************************************
  25. *函數名稱:initial(void)
  26. *函數功能:中斷初始化
  27. *入口函數:無
  28. *出口函數:無
  29. *****************************************************************************************/
  30. void initial(void)
  31. {
  32.   EA=0;   //關CPU中斷

  33.   IT0=0;  //Wiegand-Data0        低電平觸發中斷
  34.   EX0=1;  //外部中斷0允許
  35.   
  36.   IT1=0;  //Wiegand-Data1 低電平觸發中斷
  37.   EX1=1;  //外部中斷1允許

  38.   EA=1;  //開CPU中斷
  39. }
  40. /*****************************************************************************************
  41. *函數名稱:Wiegand_Data0( )
  42. *函數功能:韋根卡數據0中斷處理
  43. *入口函數:無
  44. *出口函數:無
  45. *****************************************************************************************/
  46. void Wiegand_Data0( ) interrupt 0 using 2  //中斷0處理函數,使用第二組寄存器
  47. {
  48.         EX0=0;         //關中斷0
  49.         udelay(5);
  50.        
  51.         if(DATA0 == 0)  //如果INT0為低,標示0線中斷
  52.         {
  53.                 wiegand[rf_card->global_var] = '0';      //往數組里填0
  54.                 global_var = rf_card->global_var + 1;
  55.         }       
  56.        
  57.         udelay(500);   //延時1500uS(去掉中斷后的處理時間)
  58.        
  59.         EX0=1;         //開中斷0

  60.   udelay(2500);  //延時2500uS(max值,去掉前期處理時間)

  61. }
  62. /*****************************************************************************************
  63. *函數名稱:Wiegand_Data1( )
  64. *函數功能:韋根卡數據1中斷處理
  65. *入口函數:無
  66. *出口函數:無
  67. *****************************************************************************************/
  68. void  Wiegand_Data1( ) interrupt 2 using 1  //中斷1處理函數,使用第一組寄存器
  69. {
  70.         EX1=0;         //關中斷1                       
  71.         udelay(5);
  72.        
  73.         if(DATA1 == 0)
  74.         {
  75.                 rf_card->wiegand[rf_card->global_var] = '1';
  76.                 rf_card->global_var = rf_card->global_var + 1;
  77.         }       
  78.         udelay(500);
  79.         EX1=1;         //開中斷0
  80.   
  81. }
  82. /*****************************************************************************************
  83. *函數名稱:udelay(uint num)
  84. *函數功能:延時函數 延時num  us
  85. *入口函數:num
  86. *出口函數:無
  87. *****************************************************************************************/
  88. void udelay(uint num)
  89. {
  90.   num=num/5;               
  91.   while(--num);       
  92. }
  93. /*****************************************************************************************
  94. *函數名稱:main( )
  95. *函數功能:主函數
  96. *入口函數:無
  97. *出口函數:無
  98. *****************************************************************************************/
  99. void main()
  100. (
  101.    whlie(1)
  102.    {
  103.    initial(void);
  104.    rf_card->global=0;
  105.    
  106.    //等待中斷
  107.    }
  108. )
復制代碼

所有資料51hei提供下載:
基于單片機的門禁系統.zip (17.97 KB, 下載次數: 100)


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

使用道具 舉報

沙發
ID:277550 發表于 2018-6-19 17:54 | 只看該作者
不錯,有空試試先
回復

使用道具 舉報

板凳
ID:349631 發表于 2018-6-21 22:15 | 只看該作者
正好缺這個
回復

使用道具 舉報

地板
ID:349631 發表于 2018-6-21 22:16 | 只看該作者
下載來看看
回復

使用道具 舉報

5#
ID:854062 發表于 2020-12-3 21:24 來自手機 | 只看該作者
正好需要這個,可以,點個贊
回復

使用道具 舉報

6#
ID:962373 發表于 2021-8-25 23:59 | 只看該作者
非常需要這方面程序,之前找了半天!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国内精品久久久久 | 免费网站国产 | www.99re| 日本三级全黄三级三级三级口周 | 97精品超碰一区二区三区 | 美女精品一区 | 欧美视频三区 | 日日天天| 亚洲激情网站 | 欧美激情欧美激情在线五月 | 久久国产综合 | 91精品国模一区二区三区 | 国产高清视频一区二区 | 国产三级一区二区三区 | www.天天操.com | 国产黄色网址在线观看 | 精品国产91乱码一区二区三区 | 久久久精品视频免费看 | www国产亚洲精品 | 黄色网址在线播放 | 日韩av免费在线电影 | 国产精品免费大片 | 国产精品区一区二区三区 | 性做久久久久久免费观看欧美 | 91精品久久 | 亚洲精品久久久久中文字幕欢迎你 | 国产精品久久 | 亚洲精品日韩在线 | 国产免费视频在线 | 亚洲激情在线观看 | 久久99精品久久久久久 | 日本在线观看网址 | 日韩不卡在线 | 国产黄色大片在线免费观看 | 日本视频一区二区 | 免费影视在线观看 | 日韩成人在线视频 | 99精品在线免费观看 | 日韩欧美精品 | 成人日韩精品 | 欧美精三区欧美精三区 |