色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

將EM-18 RFID與8051微控制器連接并顯示RFID卡號

科技觀察員 ? 來源:circuitdigest ? 作者:沙希·庫馬爾 ? 2022-11-18 17:12 ? 次閱讀

射頻識別 (RFID)使用射頻來讀取存儲在 RFID 卡或標簽中的信息。在這個項目中,我們將連接EM-18 RFID閱讀器與8051微控制器,并在16* 2 LCD顯示屏上顯示RFID卡號。這種無線射頻識別用于許多系統,如基于RFID的考勤系統,安全系統,投票機等。

所需組件:

8051微控制器

EM-18 無線射頻識別讀寫器

16*2液晶顯示屏

射頻識別卡/標簽

電位計

跳線

電路圖:

8051 微控制器

8051微控制器是一款8位微控制器,具有128字節的片上RAM,4K字節的片上ROM,兩個定時器,一個串行端口和四個8位端口。8052微控制器是微控制器的擴展。下表顯示了8051名家庭成員的比較。

特征 8051 8052
只讀存儲器(以字節為單位) 4K 8K
內存(字節) 128 256
定時器 2 3
I/O 引腳 32 32
串行端口 1 1
中斷源 6 8

16x2 液晶顯示器:

16 * 2 LCD是嵌入式應用中廣泛使用的顯示器。以下是有關16 * 2液晶顯示器的引腳和工作的簡要說明。LCD內部有兩個非常重要的寄存器。它們是數據寄存器和命令寄存器。命令寄存器用于發送清晰顯示、光標在家鄉等命令,數據寄存器用于發送要在16*2 LCD上顯示的數據。下表顯示了16 * 2 LCD的引腳說明。

象征 I/O 描述
1 VSS -
2 Vdd - +5V電源
3 V形 - 用于控制對比度的電源
4 RS RS=0 為命令寄存器 ,
RS=1 用于數據寄存器
5 烏爾曼 R/W=0 表示寫入,R/W=1 表示讀取
6 E I/O 使
7 D0 I/O 8位數據總線
8 D1 I/O 8位數據總線
9 D2 I/O 8位數據總線
10 D3 I/O 8位數據總線
11 D4 I/O 8位數據總線
12 D5 I/O 8位數據總線
13 D6 I/O 8位數據總線
14 D7 I/O 8位數據總線
15 一個 - +5V背光
16 K -

下表顯示了常用的液晶屏命令代碼。

代碼(十六進制) 描述
01 清晰的顯示屏
06 遞增光標(右移)
0安 顯示關閉,光標打開
0C 顯示打開,光標關閉
0F 顯示于 ,光標閃爍
80 強制光標從 1 開始圣線
C0 強制光標到開頭 2德·線
38 2行和5 * 7矩陣

EM-18 無線射頻識別讀寫器:

EM-18 RFID閱讀器的工作頻率為125 KHz,并配有片上天線,可采用5V電源供電。它提供串行輸出以及 weigand 輸出。范圍約為8-12厘米。串行通信參數為9600bps,8個數據位,1個停止位。其應用包括身份驗證、電子收費公路定價、公共交通電子票務、考勤系統等。在此處查看所有 RFID 項目。

EM-18 RFID閱讀器提供的輸出為12位ASCII格式。在 12 位數字中,前 10 位數字是卡號,后兩位數字是卡號的異或結果。最后兩位數字用于錯誤檢查。

poYBAGN3TGqAMaX1AACz1vZfDRs749.jpg

pYYBAGN3TGyAEyw-AAAqmzyP_x8907.jpg

例如,從讀卡器讀取的卡號是0200107D0D62,那么卡上的卡號將如下所示。

02 – 序言

00107D0D = 十進制1080589。

62 是 (02 XOR 00 XOR 10 XOR 7D XOR 0D) 的 XOR 值。

因此,卡上的數字是0001080589。

工作和代碼說明:

poYBAGN3THGAOKyIAAE2_P4oeo4212.jpg

該項目的完整C 程序和演示視頻在本項目結束時給出。代碼被分成有意義的小塊,并在下面解釋。

對于與8051微控制器的16 * 2 LCD接口,我們必須定義16 * 2 LCD連接到8051微控制器的引腳。16*2 LCD 的 RS 引腳連接到 P3.7,16*2 LCD 的 RW 引腳連接到 P3.6,16*2 LCD 的 E 引腳連接到 P3.5。數據引腳連接到 8051 微控制器的端口 1。

sbit rs=P3^7;
sbit rw=P3^6;
sbit en=P3^5;
接下來,我們必須定義一些在程序中使用的函數。延遲功能用于創建指定的時間延遲。Cmdwrt功能用于向16 * 2 LCD顯示器發送命令。Datawrt功能用于將數據發送到16 * 2 LCD顯示器。Rxdata功能用于從串口接收數據。

void delay(unsigned int) ;
void cmdwrt(unsigned char);
void datawrt(unsigned char);
char rxdata(void);
在代碼的這一部分中,我們將配置8051微控制器進行串行通信。

TMOD寄存器加載了定時器1模式2(自動重新加載)的0x20。SCON 寄存器加載了 8 個數據位、1 個停止位和接收啟用的0x50。TH1寄存器加載了波特率為每秒9600位的0xfd。TR1=1 用于啟動計時器。

TMOD= 0x20;
SCON=0x50;
TH1=0xfd;
TR1=1;
在代碼的這一部分,我們將命令發送到 16*2 lcd。清除顯示、遞增光標、強制光標到開頭 1 等命令圣線在一段時間后一一發送到16 * 2液晶顯示器。

for(i=0;i<5;i++)?
{
cmdwrt (cmd[i]);
delay (1);
}
在代碼的這一部分,我們通過8051微控制器的串行接口接收EM-18 RFID閱讀器的輸出并存儲在變量中。計數用于跟蹤接收的字節數。一旦收到所有12字節的數據,接下來我們必須將其顯示在16 * 2 LCD顯示屏上。這個過程永遠重復,以便讀取不同的卡片。

while(1)
{
count=0;
cmdwrt(0xC2);
while(count<12)?
{
input[count]=rxdata();
count++;
}
for(i=0;i<12;i++)
{
datawrt(input[i]);
delay(1);
}
delay(100);
}
在代碼的這一部分中,我們將命令發送到 16*2 LCD 顯示器。該命令將復制到 8051 微控制器的端口 1。對于命令寫入,RS 設置為低電平。對于寫入操作,RW 設置為低電平。在使能 (E) 引腳上施加高到低脈沖以啟動命令寫入操作。

void cmdwrt (unsigned char x)
{
P1=x;
rs=0;
rw=0;
en=1;
delay(1);
en=0;
}

在代碼的這一部分,我們將數據發送到16 * 2 LCD顯示器。數據被復制到 8051 微控制器的端口 1。RS 設置為高,用于命令寫入。對于寫入操作,RW 設置為低電平。在使能(E)引腳上施加高到低脈沖以啟動數據寫入操作。

void datawrt (unsigned char y)
{
P1=y;
rs=1;
rw=0;
en=1;
delay(1);
en=0;

在代碼的這一部分,我們將數據發送到16 * 2 LCD顯示器。數據被復制到 8051 微控制器的端口 1。RS 設置為高,用于命令寫入。對于寫入操作,RW 設置為低電平。在使能(E)引腳上施加高到低脈沖以啟動數據寫入操作。

void datawrt (unsigned char y) { P1=y; rs=1; rw=0; en=1; delay(1); en=0; }

*this program is for interfacing RFID reader with 8051 microcontroller and to display card number on 16*2 lcd display*/



#include



sbit rs=P3^7; //Register Select(RS) pin of 16*2 lcd

sbit rw=P3^6; //Read/Write(RW) pin of 16*2 lcd

sbit en=P3^5; //Enable(E) pin of 16*2 lcd



char count = 0; // count = 0

char input[12]; // character array of size 12

char ch;



void delay(unsigned int) ; //function for creating delay

void cmdwrt(unsigned char); //function for sending commands to 16*2 lcd display

void datawrt(unsigned char); //function for sending data to 16*2 lcd display

char rxdata(void); //function for receiving a character through serial port of 8051

microcontroller



void main(void)

{

unsigned char cmd[]={0x38,0x01,0x06,0x0c,0x80}; //16*2 lcd initialization commands

unsigned char msg[]={"RFID card Number"};

unsigned char i;

TMOD=0x20; //timer 1 , mode 2 , auto reload

SCON=0x50; //8bit data , 1 stop bit , REN enabled

TH1=0xfd; //timer value for 9600 bits per second(bps)

TR1=1; //start the timer



for(i=0;i<5;i++) //send commands to 16*2 lcd display one command at a time

{

cmdwrt(cmd[i]); //function call to send commands to 16*2 lcd display

delay(1);

}



for(i=0;i<16;i++) //send data to 16*2 lcd display one character at a time

{

datawrt(msg[i]); //function call to display message on 16*2 lcd display

delay(1);

}



while(1)

{

count=0;

cmdwrt(0xC2);

while(count<12) //repeat for 12 times

{

input[count]=rxdata(); //receive serial data and store it.

count++;

}



for(i=0;i<12;i++) //send data to 16*2 lcd display one character at a time

{

datawrt(input[i]); //function call to display rfid card number on 16*2 lcd display

delay(1);

}



delay(100);

}

}



void cmdwrt (unsigned char x)

{

P1=x; //send the command to Port 1 on which 16*2 lcd is connected

rs=0; //make RS = 0 for command

rw=0; //make RW = 0 for write operation

en=1; //send a HIGH to LOW pulse on Enable(E) pin to start commandwrite operation

delay(1);

en=0;

}



void datawrt (unsigned char y)

{

P1=y; //send the data to Port 1 on which 16*2 lcd is connected

rs=1; //make RS = 1 for command

rw=0; //make RW = 0 for write operation

en=1; //send a HIGH to LOW pulse on Enable(E) pin to start datawrite operation

delay(1);

en=0;

}



char rxdata()

{

while(RI==0); //wait till RI becomes HIGH

RI=0; //make RI low

ch=SBUF; //copy received data

return ch; //return the received data to main function.

}



void delay(unsigned int z)

{

unsigned int p,q;

for(p=0;p
{

for(q=0;q<1375;q++); //repeat for 1375 times

}

}

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7542

    瀏覽量

    151316
  • RFID
    +關注

    關注

    388

    文章

    6142

    瀏覽量

    237749
  • 無線射頻
    +關注

    關注

    4

    文章

    205

    瀏覽量

    27020
收藏 人收藏

    評論

    相關推薦

    8051微控制器的基礎知識

    8051微控制器是嵌入式系統、消費電子、汽車等各個領域中最流行和最常用的微控制器之一,技術上稱為Intel MCS-51架構。8051微控制器
    發表于 09-12 17:32 ?3416次閱讀
    <b class='flag-5'>8051</b><b class='flag-5'>微控制器</b>的基礎知識

    基于RFID的淋浴控制器的設計

    本帖最后由 親王殿下 于 2014-4-12 09:11 編輯 誰做過RFID淋浴控制器方面的畢業設計,能否指導一下。謝謝
    發表于 03-05 14:41

    關于LABVIEW讀取USB-RFID讀卡卡號問題

    有沒有那位大神用LABVIEW程序讀取過USB-RFID刷卡的(讀取ID卡和IC卡2種讀卡,每刷一次讀取里面的卡號數據)!!指教下。
    發表于 12-23 23:35

    RFID 收發參考設計

    `描述此射頻識別 (RFID) 參考設計概括了所需的組件和布局注意事項,并提供固件示例以說明如何 RFID 實施到應用中以從應答中提取 RFID
    發表于 04-08 11:06

    【EMC家園】RFID射頻讀寫的設計

    效地解決核心問題。本文為射頻通信系統的實現提供了一種可行的解決方案。  1 系統整體設計  本文選用的是C8051F310 微控制器和FM1702SL 讀寫芯片。C8051F310 具有10 位轉換速率可達
    發表于 03-16 15:51

    如何8051微控制器引到FPGA中去?

    請問如何8051微控制器引到FPGA中去?
    發表于 04-28 06:41

    通過stm32單片機與RC522讀卡讀取RFID卡號

    整體思路也很簡單:通過stm32單片機連RC522讀卡RFID卡號讀取出來,通過網絡RFID
    發表于 01-12 06:43

    基于RFID閱讀和ESP微控制器的訪問控制系統

    描述ESP RFID - 帶有 ESP8266 和 RC522 的訪問控制板使用便宜的 RFID 閱讀和 ESP 微控制器的訪問
    發表于 08-26 07:37

    RFID收發參考設計

    描述此射頻識別 (RFID) 參考設計概括了所需的組件和布局注意事項,并提供固件示例以說明如何 RFID 實施到應用中以從應答中提取 RFID
    發表于 09-22 07:25

    ST25RU3993 EVAL板上外部接口的相同RFID芯片,微控制器及其重新編程的后果是什么?

    在 ST25RU3993 EVAL 板中,微控制器通過 SPI 接口和控制信號(93_signals)與 RFID 讀取芯片交互 - 總共有 6 條數據線。SPI 接口還與載波消除芯
    發表于 02-07 06:44

    C8051FMCU RFID讀卡

    整個系統主要分成兩部分(主控板和天線板),PC通過C8051FMCU RFID讀卡對相應的卡進行讀寫等操作,其中主控板的控制器用C8051
    發表于 07-09 23:45 ?80次下載

    基于RFID應用的通用型控制器的設計方案

    文章以門禁控制為例,介紹一款基于RFID應用的通用型控制器的設計原理,給出了利用Proteus軟件進行仿真調試的方法。該控制器
    發表于 08-06 11:35 ?1407次閱讀
    基于<b class='flag-5'>RFID</b>應用的通用型<b class='flag-5'>控制器</b>的設計方案

    8051微控制器引腳說明與基本電路

    此前已經介紹過8051微控制器的基礎知識,包括它的歷史、特性、封裝和一些實際應用。在本文中,小編將將繼續介紹關于8051微控制器引腳圖、引腳說明以及其他一些細節內容,包括
    發表于 08-23 15:53 ?8344次閱讀
    <b class='flag-5'>8051</b><b class='flag-5'>微控制器</b>引腳說明與基本電路

    如何使用觸摸傳感8051微控制器控制LED燈

    在這個項目中,我們觸摸傳感8051 微控制器 AT89S52 連接。如果您是 8051
    的頭像 發表于 09-07 15:13 ?3117次閱讀
    如何使用觸摸傳感<b class='flag-5'>器</b>和<b class='flag-5'>8051</b><b class='flag-5'>微控制器</b><b class='flag-5'>控制</b>LED燈

    基于8051微控制器連接到SCI端口

    本應用筆記介紹如何配置高速微控制器或超高速閃存微控制器的UART,以便與支持SCI的設備通信。它首先簡要討論了SCI和UART模塊之間的差異,并以一個實際示例結束,說明如何配置基于8051的達拉斯半導體
    的頭像 發表于 06-13 15:48 ?751次閱讀
    <b class='flag-5'>將</b>基于<b class='flag-5'>8051</b>的<b class='flag-5'>微控制器</b><b class='flag-5'>連接</b>到SCI端口
    主站蜘蛛池模板: lesbabes性欧美| 纯肉合集(高H)| 黄色a一级视频| 天美传媒果冻传媒入口视频| 92电影网午夜福利| 精品亚洲麻豆1区2区3区| 亚洲人成在线观看一区二区| 狠狠色综合久久婷婷| 国产精品久久久久久久久无码| 女人精69xxxxx| 出租屋交换人妻 全文| ebc5恐怖5a26房间| 同桌上课把奶露出来给我玩| 麻豆E奶女教师国产精品| 色欲久久精品AV无码| 免费黄色网址在线观看| 久久精品天天爽夜夜爽| 国产精品一区二区激情| S货SAO死你BL大点声叫BL| 国产成人无码一区AV在线观看| babesvideos欧美最新| 高清国产在线观看| 嘟嘟嘟WWW在线观看视频高清 | 色多多污污下载| 人妻仑乱少妇88MAV| 尤物99久久久合集一区区| 精品熟女少妇AV久久免费A片| 久久久无码精品亚洲A片软件| 欧美性暴力变态xxxx| 免费看www视频| 色屁屁影院| 一区二区三区高清视频| 欧洲内射VIDEOXXX3D| 四虎视频最新视频在线观看| 色婷婷五月综合中文字幕| porono日本xxx| 欧美日韩亚洲一区视频二区 | 色多多污污版免费下载安装| 暖暖在线观看播放视频| 青青伊人国产| 蜜桃成熟时2电影免费观看d|