- Компоненте потребне:
- Кружни дијаграм:
- 8051 Микроконтролер:
- ЛЦД 16к2:
- ЕМ-18 РФИД читач:
- Објашњење рада и кода:
Идентификација радио фреквенција (РФИД) користи радио фреквенцију за читање података сачуваних на РФИД картици или ознаци. У овом пројекту идемо на интерфејс ЕМ-18 РФИД читач са 8051 микроконтролером и приказати број РФИД картице на 16 * 2 ЛЦД дисплеју. Ова бежична РФ идентификација се користи у многим системима попут РФИД система за присуство, сигурносних система, гласачких машина итд. Овај пројекат ће такође служити као правилно повезивање 16 * 2 ЛЦД-а са 8051 микроконтролером.
Компоненте потребне:
- 8051 микроконтролер
- ЕМ-18 РФИД читач
- ЛЦД екран од 16 * 2
- РФИД картице / ознаке
- Потенциометар
- Жице краткоспојника
Кружни дијаграм:
8051 Микроконтролер:
8051 микроконтролер је 8-битни микроконтролер који има 128 бајта чип РАМ-а, 4К бајта чип РОМ-а, два тајмера, један серијски порт и четири 8-битна порта. 8052 микроконтролер је продужетак микроконтролера. Табела испод приказује поређење 8051 члана породице.
одлика |
8051 |
8052 |
РОМ (у бајтовима) |
4К |
8К |
РАМ (бајтови) |
128 |
256 |
Тајмери |
2 |
3 |
И / О пинови |
32 |
32 |
Серијски порт |
1 |
1 |
Извори прекида |
6 |
8 |
ЛЦД 16к2:
ЛЦД 16 * 2 је широко коришћен екран за уграђене апликације. Ево кратког објашњења о пиновима и раду ЛЦД екрана 16 * 2. Унутар ЛЦД-а налазе се два веома важна регистра. То су регистар података и регистар наредби. Регистар наредби користи се за слање наредби као што су јасан приказ, курсор код куће итд., Регистар података користи се за слање података који ће се приказати на ЛЦД-у 16 * 2. Испод табеле приказан је пин опис 16 * 2 лцд.
Пин |
Симбол |
И / О |
Опис |
1 |
Всс |
- |
Приземље |
2 |
Вдд |
- |
+ 5В напајање |
3 |
Вее |
- |
Напајање за контролу контраста |
4 |
РС |
Ја |
РС = 0 за регистар наредби, РС = 1 за регистар података |
5 |
РВ |
Ја |
Р / В = 0 за писање, Р / В = 1 за читање |
6 |
Е. |
И / О |
Омогући |
7 |
Д0 |
И / О |
8-битна магистрала података (ЛСБ) |
8 |
Д1 |
И / О |
8-битна магистрала података |
9 |
Д2 |
И / О |
8-битна магистрала података |
10 |
Д3 |
И / О |
8-битна магистрала података |
11 |
Д4 |
И / О |
8-битна магистрала података |
12 |
Д5 |
И / О |
8-битна магистрала података |
13 |
Д6 |
И / О |
8-битна магистрала података |
14 |
Д7 |
И / О |
8-битна магистрала података (МСБ) |
15 |
А. |
- |
+ 5В за позадинско осветљење |
16 |
К. |
- |
Приземље |
Табела у наставку приказује често коришћене кодове ЛЦД наредби.
Шифра (хек) |
Опис |
01 |
Јасан екран |
06 |
Курсор за повећање (померање удесно) |
0А |
Екран искључен, курсор укључен |
0Ц |
Екран укључен, курсор искључен |
0Ф |
Екран укључен, курсор трепће |
80 |
Померите курсор на почетак 1. реда |
Ц0 |
Померите курсор на почетак 2. реда |
38 |
2 линије и 5 * 7 матрица |
ЕМ-18 РФИД читач:
ЕМ-18 РФИД читач ради на 125 КХз, испоручује се са уграђеном чипском антеном и може се напајати напајањем од 5 В. Пружа серијски излаз заједно са веиганд излазом. Распон је око 8-12 цм. параметри серијске комуникације су 9600 бпс, 8 битова података, 1 стоп бит. Његове апликације укључују аутентификацију, цене путарина путем е-путева, е-карте за јавни превоз, системе похађања итд. Проверите све РФИД пројекте овде.
Излаз који пружа ЕМ-18 РФИД читач је у 12-цифреном АСЦИИ формату. Од 12 цифара, првих 10 цифара је број картице, а последње две цифре су КСОР резултат броја картице. Последње две цифре се користе за проверу грешака.
На пример, број картице је 0200107Д0Д62 очитан из читача, тада ће број картице на картици бити као доле.
02 - преамбула
00107Д0Д = 1080589 у децималу.
62 је КСОР вредност за (02 КСОР 00 КСОР 10 КСОР 7Д КСОР 0Д).
Отуда је број на картици 0001080589.
Објашњење рада и кода:
Комплетан, Ц програм и демонстрација видео за овај пројекат је дат на крају овог пројекта. Код је подељен на мале смислене делове и објашњен у наставку.
За 16 * 2 ЛЦД повезивање са 8051 микроконтролером, морамо да дефинишемо пинове на којима је 16 * 2 лцд повезан са 8051 микроконтролером. РС пин од 16 * 2 лцд је повезан са П3.7, РВ пин од 16 * 2 лцд је повезан са П3.6, а Е пин од 16 * 2 лцд је повезан са П3.5. Прикључци за податке повезани су на порт 1 микроконтролера 8051.
сбит рс = П3 ^ 7; сбит рв = П3 ^ 6; сбит ен = П3 ^ 5;
Даље морамо дефинисати неке функције које се користе у програму. Функција одлагања користи се за стварање одређеног временског кашњења. Функција Цмдврт се користи за слање команди на ЛЦД екран од 16 * 2. датаврт функција се користи за слање података на ЛЦД екран од 16 * 2. Ркдата функција се користи за пријем података са серијског порта.
воид делаи (непотписан инт); воид цмдврт (непотписани знак); воид датаврт (непотписани знак); цхар ркдата (воид);
У овом делу кода конфигурисаћемо микроконтролер 8051 за серијску комуникацију.
ТМОД регистар је учитан са 0к20 за тајмер 1, режим 2 (аутоматско поновно учитавање). Регистар СЦОН је учитан са 0к50 за 8 битова података, 1 зауставни бит и омогућен пријем. ТХ1 регистар је оптерећен 0кфд за брзину пријеноса од 9600 бита у секунди. ТР1 = 1 користи се за покретање тајмера.
ТМОД = 0к20; СЦОН = 0к50; ТХ1 = 0кфд; ТР1 = 1;
У овом делу кода шаљемо команде на лцд 16 * 2. Команде попут јасног приказа, повећавања курсора, присиљавања курсора на почетак 1. реда шаљу се на ЛЦД екран 16 * 2 један по један након неког одређеног временског кашњења.
за (и = 0; и <5; и ++) {цмдврт (цмд); кашњење (1); }
У овом делу кода примамо излаз ЕМ-18 РФИД читача кроз серијски интерфејс 8051 микроконтролера и чувамо у променљивој. Бројање се користи за праћење броја примљених бајтова. Када примимо свих 12 бајта података, следећи пут их морамо приказати на 16 * 2 лцд дисплеју. Овај поступак се понавља заувек како би се читале различите картице.
вхиле (1) {цоунт = 0; цмдврт (0кЦ2); вхиле (цоунт <12) {инпут = ркдата (); цоунт ++; } за (и = 0; и <12; и ++) {датаврт (улаз); кашњење (1); } кашњење (100); }
У овом делу кода шаљемо команде на ЛЦД екран од 16 * 2. Команда се копира на порт 1 микроконтролера 8051. РС је смањен за писање наредби. РВ је смањен за операцију писања. Пулс високог до ниског нивоа примењује се на осовиници за омогућавање (Е) за покретање операције писања наредби.
воид цмдврт (непотписани цхар к) {П1 = к; рс = 0; рв = 0; ен = 1; кашњење (1); ен = 0; }
У овом делу кода шаљемо податке на ЛЦД екран од 16 * 2. Подаци се копирају на порт 1 микроконтролера 8051. РС је направљен високо за писање наредби. РВ је смањен за операцију писања. Пулс високог до ниског нивоа примењује се на осовиници за омогућавање (Е) за покретање операције уписивања података.
воид датаврт (непотписани знак и) {П1 = и; рс = 1; рв = 0; ен = 1; кашњење (1); ен = 0; } Такође, проверите све наше РФИД пројекте код других микроконтролера.