一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

將EM-18 RFID與8051微控制器連接并顯示RFID卡號(hào)

科技觀察員 ? 來(lái)源:circuitdigest ? 作者:沙?!?kù)馬爾 ? 2022-11-18 17:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

射頻識(shí)別 (RFID)使用射頻來(lái)讀取存儲(chǔ)在 RFID 卡或標(biāo)簽中的信息。在這個(gè)項(xiàng)目中,我們將連接EM-18 RFID閱讀器與8051微控制器,并在16* 2 LCD顯示屏上顯示RFID卡號(hào)。這種無(wú)線射頻識(shí)別用于許多系統(tǒng),如基于RFID的考勤系統(tǒng),安全系統(tǒng),投票機(jī)等。

所需組件:

8051微控制器

EM-18 無(wú)線射頻識(shí)別讀寫(xiě)器

16*2液晶顯示屏

射頻識(shí)別卡/標(biāo)簽

電位計(jì)

跳線

電路圖:

8051 微控制器

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

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

16x2 液晶顯示器:

16 * 2 LCD是嵌入式應(yīng)用中廣泛使用的顯示器。以下是有關(guān)16 * 2液晶顯示器的引腳和工作的簡(jiǎn)要說(shuō)明。LCD內(nèi)部有兩個(gè)非常重要的寄存器。它們是數(shù)據(jù)寄存器和命令寄存器。命令寄存器用于發(fā)送清晰顯示、光標(biāo)在家鄉(xiāng)等命令,數(shù)據(jù)寄存器用于發(fā)送要在16*2 LCD上顯示的數(shù)據(jù)。下表顯示了16 * 2 LCD的引腳說(shuō)明。

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

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

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

EM-18 無(wú)線射頻識(shí)別讀寫(xiě)器:

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

EM-18 RFID閱讀器提供的輸出為12位ASCII格式。在 12 位數(shù)字中,前 10 位數(shù)字是卡號(hào),后兩位數(shù)字是卡號(hào)的異或結(jié)果。最后兩位數(shù)字用于錯(cuò)誤檢查。

poYBAGN3TGqAMaX1AACz1vZfDRs749.jpg

pYYBAGN3TGyAEyw-AAAqmzyP_x8907.jpg

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

02 – 序言

00107D0D = 十進(jìn)制1080589。

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

因此,卡上的數(shù)字是0001080589。

工作和代碼說(shuō)明:

poYBAGN3THGAOKyIAAE2_P4oeo4212.jpg

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

對(duì)于與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。數(shù)據(jù)引腳連接到 8051 微控制器的端口 1。

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

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

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

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

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

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);
}
在代碼的這一部分中,我們將命令發(fā)送到 16*2 LCD 顯示器。該命令將復(fù)制到 8051 微控制器的端口 1。對(duì)于命令寫(xiě)入,RS 設(shè)置為低電平。對(duì)于寫(xiě)入操作,RW 設(shè)置為低電平。在使能 (E) 引腳上施加高到低脈沖以啟動(dòng)命令寫(xiě)入操作。

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

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

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

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

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

}

}

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7932

    瀏覽量

    154022
  • RFID
    +關(guān)注

    關(guān)注

    391

    文章

    6414

    瀏覽量

    241787
  • 無(wú)線射頻
    +關(guān)注

    關(guān)注

    4

    文章

    213

    瀏覽量

    27461
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    8051微控制器的基礎(chǔ)知識(shí)

    8051微控制器是嵌入式系統(tǒng)、消費(fèi)電子、汽車(chē)等各個(gè)領(lǐng)域中最流行和最常用的微控制器之一,技術(shù)上稱為Intel MCS-51架構(gòu)。8051微控制器
    發(fā)表于 09-12 17:32 ?3902次閱讀
    <b class='flag-5'>8051</b><b class='flag-5'>微控制器</b>的基礎(chǔ)知識(shí)

    LPC1277控制器與SLRC610 RFID芯片之間的SPI通信連接起來(lái)?

    我正在努力 LPC1277 控制器與 SLRC610 RFID 芯片之間的 SPI 通信連接起來(lái)。您能否分享演示示例代碼、以讀取 SLRC610 芯片的 EEPROM 數(shù)據(jù)、以便進(jìn)行
    發(fā)表于 03-17 06:12

    基于RFID的淋浴控制器的設(shè)計(jì)

    本帖最后由 親王殿下 于 2014-4-12 09:11 編輯 誰(shuí)做過(guò)RFID淋浴控制器方面的畢業(yè)設(shè)計(jì),能否指導(dǎo)一下。謝謝
    發(fā)表于 03-05 14:41

    關(guān)于LABVIEW讀取USB-RFID讀卡卡號(hào)問(wèn)題

    有沒(méi)有那位大神用LABVIEW程序讀取過(guò)USB-RFID刷卡的(讀取ID卡和IC卡2種讀卡,每刷一次讀取里面的卡號(hào)數(shù)據(jù))??!指教下。
    發(fā)表于 12-23 23:35

    RFID 收發(fā)參考設(shè)計(jì)

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

    【EMC家園】RFID射頻讀寫(xiě)的設(shè)計(jì)

    效地解決核心問(wèn)題。本文為射頻通信系統(tǒng)的實(shí)現(xiàn)提供了一種可行的解決方案?! ? 系統(tǒng)整體設(shè)計(jì)  本文選用的是C8051F310 微控制器和FM1702SL 讀寫(xiě)芯片。C8051F310 具有10 位轉(zhuǎn)換速率可達(dá)
    發(fā)表于 03-16 15:51

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

    請(qǐng)問(wèn)如何8051微控制器引到FPGA中去?
    發(fā)表于 04-28 06:41

    通過(guò)stm32單片機(jī)與RC522讀卡讀取RFID卡號(hào)

    整體思路也很簡(jiǎn)單:通過(guò)stm32單片機(jī)連RC522讀卡,RFID卡號(hào)讀取出來(lái),通過(guò)網(wǎng)絡(luò)RFID
    發(fā)表于 01-12 06:43

    基于RFID閱讀和ESP微控制器的訪問(wèn)控制系統(tǒng)

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

    RFID收發(fā)參考設(shè)計(jì)

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

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

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

    基于RFID應(yīng)用的通用型控制器的設(shè)計(jì)方案

    文章以門(mén)禁控制為例,介紹一款基于RFID應(yīng)用的通用型控制器的設(shè)計(jì)原理,給出了利用Proteus軟件進(jìn)行仿真調(diào)試的方法。該控制器
    發(fā)表于 08-06 11:35 ?1530次閱讀
    基于<b class='flag-5'>RFID</b>應(yīng)用的通用型<b class='flag-5'>控制器</b>的設(shè)計(jì)方案

    8051微控制器引腳說(shuō)明與基本電路

    此前已經(jīng)介紹過(guò)8051微控制器的基礎(chǔ)知識(shí),包括它的歷史、特性、封裝和一些實(shí)際應(yīng)用。在本文中,小編將將繼續(xù)介紹關(guān)于8051微控制器引腳圖、引腳說(shuō)明以及其他一些細(xì)節(jié)內(nèi)容,包括
    發(fā)表于 08-23 15:53 ?1w次閱讀
    <b class='flag-5'>8051</b><b class='flag-5'>微控制器</b>引腳說(shuō)明與基本電路

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

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

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

    本應(yīng)用筆記介紹如何配置高速微控制器或超高速閃存微控制器的UART,以便與支持SCI的設(shè)備通信。它首先簡(jiǎn)要討論了SCI和UART模塊之間的差異,并以一個(gè)實(shí)際示例結(jié)束,說(shuō)明如何配置基于8051的達(dá)拉斯半導(dǎo)體
    的頭像 發(fā)表于 06-13 15:48 ?996次閱讀
    <b class='flag-5'>將</b>基于<b class='flag-5'>8051</b>的<b class='flag-5'>微控制器</b><b class='flag-5'>連接</b>到SCI端口