- అవసరమైన భాగాలు:
- సర్క్యూట్ రేఖాచిత్రం:
- 8051 మైక్రోకంట్రోలర్:
- 16x2 LCD:
- EM-18 RFID రీడర్:
- వర్కింగ్ మరియు కోడ్ వివరణ:
రేడియో ఫ్రీక్వెన్సీ ఐడెంటిఫికేషన్ (RFID) ఒక RFID కార్డ్ లేదా ట్యాగ్లో నిల్వ చేసిన సమాచారాన్ని చదవడానికి రేడియో ఫ్రీక్వెన్సీని ఉపయోగిస్తుంది. ఈ ప్రాజెక్ట్లో మేము 8051 మైక్రోకంట్రోలర్తో ఇంటర్ఫేస్ EM-18 RFID రీడర్కు వెళ్తాము మరియు 16 * 2 LCD డిస్ప్లేలో RFID కార్డ్ నంబర్ను ప్రదర్శిస్తాము. ఈ వైర్లెస్ RF గుర్తింపు RFID బేస్డ్ అటెండెన్స్ సిస్టమ్, సెక్యూరిటీ సిస్టమ్స్, ఓటింగ్ మెషీన్లు వంటి అనేక వ్యవస్థలలో ఉపయోగించబడుతుంది. ఈ ప్రాజెక్ట్ 8051 మైక్రోకంట్రోలర్తో 16 * 2 LCD యొక్క సరైన ఇంటర్ఫేసింగ్గా ఉపయోగపడుతుంది.
అవసరమైన భాగాలు:
- 8051 మైక్రోకంట్రోలర్
- EM-18 RFID రీడర్
- 16 * 2 ఎల్సిడి డిస్ప్లే
- RFID కార్డులు / ట్యాగ్లు
- పొటెన్టోమీటర్
- జంపర్ వైర్లు
సర్క్యూట్ రేఖాచిత్రం:
8051 మైక్రోకంట్రోలర్:
8051 మైక్రోకంట్రోలర్ 8 బిట్ మైక్రోకంట్రోలర్, దీనిలో చిప్ ర్యామ్లో 128 బైట్లు, చిప్ రామ్లో 4 కె బైట్లు, రెండు టైమర్లు, ఒక సీరియల్ పోర్ట్ మరియు నాలుగు 8 బిట్ పోర్ట్లు ఉన్నాయి. 8052 మైక్రోకంట్రోలర్ మైక్రోకంట్రోలర్ యొక్క పొడిగింపు. 8051 కుటుంబ సభ్యుల పోలికను క్రింది పట్టిక చూపిస్తుంది.
ఫీచర్ |
8051 |
8052 |
ROM (బైట్లలో) |
4 కె |
8 కె |
RAM (బైట్లు) |
128 |
256 |
టైమర్లు |
2 |
3 |
I / O పిన్స్ |
32 |
32 |
సీరియల్ పోర్ట్ |
1 |
1 |
అంతరాయ మూలాలు |
6 |
8 |
16x2 LCD:
16 * 2 ఎల్సిడి ఎంబెడెడ్ అనువర్తనాల కోసం విస్తృతంగా ఉపయోగించే ప్రదర్శన. పిన్స్ మరియు 16 * 2 ఎల్సిడి డిస్ప్లే యొక్క పని గురించి సంక్షిప్త వివరణ ఇక్కడ ఉంది. ఎల్సిడి లోపల రెండు చాలా ముఖ్యమైన రిజిస్టర్లు ఉన్నాయి. అవి డేటా రిజిస్టర్ మరియు కమాండ్ రిజిస్టర్. స్పష్టమైన ప్రదర్శన, ఇంట్లో కర్సర్ మొదలైన ఆదేశాలను పంపడానికి కమాండ్ రిజిస్టర్ ఉపయోగించబడుతుంది, డేటా రిజిస్టర్ 16 * 2 ఎల్సిడిలో ప్రదర్శించబడే డేటాను పంపడానికి ఉపయోగిస్తారు. క్రింద పట్టిక 16 * 2 ఎల్సిడి యొక్క పిన్ వివరణను చూపిస్తుంది.
పిన్ చేయండి |
చిహ్నం |
I / O. |
వివరణ |
1 |
Vss |
- |
గ్రౌండ్ |
2 |
Vdd |
- |
+ 5 వి విద్యుత్ సరఫరా |
3 |
వీ |
- |
కాంట్రాస్ట్ను నియంత్రించడానికి విద్యుత్ సరఫరా |
4 |
ఆర్ఎస్ |
నేను |
కమాండ్ రిజిస్టర్ కోసం RS = 0, డేటా రిజిస్టర్ కోసం RS = 1 |
5 |
ఆర్డబ్ల్యూ |
నేను |
రాయడానికి R / W = 0, చదవడానికి R / W = 1 |
6 |
ఇ |
I / O. |
ప్రారంభించండి |
7 |
డి 0 |
I / O. |
8-బిట్ డేటా బస్ (ఎల్ఎస్బి) |
8 |
డి 1 |
I / O. |
8-బిట్ డేటా బస్సు |
9 |
డి 2 |
I / O. |
8-బిట్ డేటా బస్సు |
10 |
డి 3 |
I / O. |
8-బిట్ డేటా బస్సు |
11 |
డి 4 |
I / O. |
8-బిట్ డేటా బస్సు |
12 |
డి 5 |
I / O. |
8-బిట్ డేటా బస్సు |
13 |
డి 6 |
I / O. |
8-బిట్ డేటా బస్సు |
14 |
డి 7 |
I / O. |
8-బిట్ డేటా బస్ (MSB) |
15 |
జ |
- |
బ్యాక్లైట్ కోసం + 5 వి |
16 |
కె |
- |
గ్రౌండ్ |
దిగువ పట్టిక తరచుగా ఉపయోగించే LCD కమాండ్ కోడ్లను చూపుతుంది.
కోడ్ (హెక్స్) |
వివరణ |
01 |
ప్రదర్శన స్క్రీన్ క్లియర్ |
06 |
పెరుగుదల కర్సర్ (కుడి షిఫ్ట్) |
0A |
ప్రదర్శించు, కర్సర్ ఆన్ |
0 సి |
ప్రదర్శించు, కర్సర్ ఆఫ్ |
0 ఎఫ్ |
ప్రదర్శించు, కర్సర్ మెరిసే |
80 |
1 వ పంక్తి ప్రారంభానికి కర్సర్ను బలవంతం చేయండి |
సి 0 |
కర్సర్ను 2 వ పంక్తికి బలవంతం చేయండి |
38 |
2 పంక్తులు మరియు 5 * 7 మాతృక |
EM-18 RFID రీడర్:
EM-18 RFID రీడర్ 125 KHz వద్ద పనిచేస్తుంది మరియు ఇది ఆన్-చిప్ యాంటెన్నాతో వస్తుంది మరియు ఇది 5V విద్యుత్ సరఫరాతో శక్తినివ్వగలదు. ఇది వెయిగాండ్ అవుట్పుట్తో పాటు సీరియల్ అవుట్పుట్ను అందిస్తుంది. పరిధి 8-12 సెం.మీ. సీరియల్ కమ్యూనికేషన్ పారామితులు 9600bps, 8 డేటా బిట్స్, 1 స్టాప్ బిట్. దీని అనువర్తనాల్లో ప్రామాణీకరణ, ఇ-టోల్ రోడ్ ధర, ప్రజా రవాణా కోసం ఇ-టికెటింగ్, హాజరు వ్యవస్థలు మొదలైనవి ఉన్నాయి. ఇక్కడ అన్ని RFID ప్రాజెక్టులను తనిఖీ చేయండి.
EM-18 RFID రీడర్ అందించిన అవుట్పుట్ 12 అంకెల ASCII ఆకృతిలో ఉంది. 12 అంకెలలో మొదటి 10 అంకెలు కార్డ్ నంబర్ మరియు చివరి రెండు అంకెలు కార్డ్ నంబర్ యొక్క XOR ఫలితం. లోపం తనిఖీ కోసం చివరి రెండు అంకెలు ఉపయోగించబడతాయి.
ఉదాహరణకు, కార్డ్ నంబర్ 0200107D0D62 రీడర్ నుండి చదవబడుతుంది, అప్పుడు కార్డులోని కార్డ్ నంబర్ క్రింద ఉంటుంది.
02 - ఉపోద్ఘాతం
00107D0D = 1080589 దశాంశంలో.
62 అనేది XOR విలువ (02 XOR 00 XOR 10 XOR 7D XOR 0D).
అందువల్ల కార్డులోని సంఖ్య 0001080589.
వర్కింగ్ మరియు కోడ్ వివరణ:
పూర్తి సి కార్యక్రమం మరియు ప్రదర్శన వీడియో ఈ ప్రాజెక్ట్ కోసం ఈ ప్రాజెక్ట్ చివరలో ఇవ్వబడుతుంది. కోడ్ చిన్న అర్ధవంతమైన భాగాలుగా విభజించబడింది మరియు క్రింద వివరించబడింది.
8051 మైక్రోకంట్రోలర్తో 16 * 2 ఎల్సిడి ఇంటర్ఫేసింగ్ కోసం, 16 * 2 ఎల్సిడి 8051 మైక్రోకంట్రోలర్కు అనుసంధానించబడిన పిన్లను నిర్వచించాలి. 16 * 2 ఎల్సిడి యొక్క ఆర్ఎస్ పిన్ పి 3.7 కి, 16 * 2 ఎల్సిడి యొక్క ఆర్డబ్ల్యు పిన్ పి 3.6 కి మరియు 16 * 2 ఎల్సిడి యొక్క ఇ పిన్ పి 3.5 కి అనుసంధానించబడి ఉంది. డేటా పిన్స్ 8051 మైక్రోకంట్రోలర్ యొక్క పోర్ట్ 1 కి అనుసంధానించబడి ఉన్నాయి.
sbit rs = P3 ^ 7; sbit rw = P3 ^ 6; sbit en = P3 ^ 5;
తరువాత మనం ప్రోగ్రామ్లో ఉపయోగించే కొన్ని ఫంక్షన్లను నిర్వచించాలి. పేర్కొన్న సమయం ఆలస్యాన్ని సృష్టించడానికి ఆలస్యం ఫంక్షన్ ఉపయోగించబడుతుంది. Cmdwrt ఫంక్షన్ 16 * 2 lcd డిస్ప్లేకి ఆదేశాలను పంపడానికి ఉపయోగించబడుతుంది. డేటావర్ట్ ఫంక్షన్ 16 * 2 ఎల్సిడి డిస్ప్లేకి డేటాను పంపడానికి ఉపయోగించబడుతుంది. Rxdata ఫంక్షన్ సీరియల్ పోర్ట్ నుండి డేటాను స్వీకరించడానికి ఉపయోగించబడుతుంది.
శూన్య ఆలస్యం (సంతకం చేయని పూర్ణాంకం); void cmdwrt (సంతకం చేయని చార్); void datawrt (సంతకం చేయని చార్); చార్ rxdata (శూన్యమైనది);
కోడ్ యొక్క ఈ భాగంలో మేము సీరియల్ కమ్యూనికేషన్ కోసం 8051 మైక్రోకంట్రోలర్ను కాన్ఫిగర్ చేయబోతున్నాము.
TMOD రిజిస్టర్ టైమర్ 1, మోడ్ 2 (ఆటో రీలోడ్) కోసం 0x20 తో లోడ్ చేయబడింది. SCON రిజిస్టర్ 8 డేటా బిట్స్, 1 స్టాప్ బిట్ మరియు ఎనేబుల్డ్ కోసం 0x50 తో లోడ్ చేయబడింది. TH1 రిజిస్టర్ 0xfd తో బాడ్ రేటుకు సెకనుకు 9600 బిట్స్ లోడ్ అవుతుంది. టైమర్ ప్రారంభించడానికి TR1 = 1 ఉపయోగించబడుతుంది.
TMOD = 0x20; SCON = 0x50; TH1 = 0xfd; టిఆర్ 1 = 1;
కోడ్ యొక్క ఈ భాగంలో, మేము 16 * 2 lcd కి ఆదేశాలను పంపుతున్నాము. స్పష్టమైన ప్రదర్శన, ఇంక్రిమెంట్ కర్సర్, 1 వ పంక్తి ప్రారంభానికి కర్సర్ను బలవంతం చేయడం వంటి ఆదేశాలు కొన్ని నిర్దిష్ట సమయం ఆలస్యం తర్వాత 16 * 2 ఎల్సిడి డిస్ప్లేకి ఒక్కొక్కటిగా పంపబడతాయి.
(i = 0; i <5; i ++) {cmdwrt (cmd); ఆలస్యం (1); }
కోడ్ యొక్క ఈ భాగంలో మేము 8051 మైక్రోకంట్రోలర్ యొక్క సీరియల్ ఇంటర్ఫేస్ ద్వారా EM-18 RFID రీడర్ యొక్క అవుట్పుట్ను అందుకుంటున్నాము మరియు వేరియబుల్లో నిల్వ చేయబడుతున్నాము. అందుకున్న బైట్ల సంఖ్యను ట్రాక్ చేయడానికి కౌంట్ ఉపయోగించబడుతుంది. మొత్తం 12 బైట్ల డేటా అందుకున్న తర్వాత, మేము దానిని 16 * 2 ఎల్సిడి డిస్ప్లేలో ప్రదర్శించాలి. విభిన్న కార్డులను చదవడానికి ఈ ప్రక్రియ ఎప్పటికీ పునరావృతమవుతుంది.
(1) {count = 0; cmdwrt (0xC2); (కౌంట్ <12) {input = rxdata (); లెక్కింపు ++; } for (i = 0; i <12; i ++) {datawrt (ఇన్పుట్); ఆలస్యం (1); } ఆలస్యం (100); }
కోడ్ యొక్క ఈ భాగంలో, మేము 16 * 2 ఎల్సిడి డిస్ప్లేకి ఆదేశాలను పంపుతున్నాము. కమాండ్ 8051 మైక్రోకంట్రోలర్ యొక్క పోర్ట్ 1 కు కాపీ చేయబడింది. కమాండ్ రైట్ కోసం RS తక్కువగా ఉంటుంది. వ్రాసే ఆపరేషన్ కోసం RW తక్కువగా ఉంటుంది. కమాండ్ రైట్ ఆపరేషన్ ప్రారంభించడానికి ఎనేబుల్ (ఇ) పిన్పై హై టు తక్కువ పల్స్ వర్తించబడుతుంది.
void cmdwrt (సంతకం చేయని చార్ x) {P1 = x; rs = 0; rw = 0; en = 1; ఆలస్యం (1); en = 0; }
కోడ్ యొక్క ఈ భాగంలో, మేము 16 * 2 ఎల్సిడి డిస్ప్లేకి డేటాను పంపుతున్నాము. డేటా 8051 మైక్రోకంట్రోలర్ యొక్క పోర్ట్ 1 కు కాపీ చేయబడింది. కమాండ్ రైట్ కోసం RS అధికంగా తయారు చేయబడింది. వ్రాసే ఆపరేషన్ కోసం RW తక్కువగా ఉంటుంది. డేటా రైట్ ఆపరేషన్ ప్రారంభించడానికి ఎనేబుల్ (ఇ) పిన్పై హై టు తక్కువ పల్స్ వర్తించబడుతుంది.
void datawrt (సంతకం చేయని చార్ y) {P1 = y; rs = 1; rw = 0; en = 1; ఆలస్యం (1); en = 0; } అలాగే, మా అన్ని RFID ప్రాజెక్ట్లను ఇతర మైక్రోకంట్రోలర్లతో తనిఖీ చేయండి.