Ushbu mahsulotda Redpine Signals kompaniyasining Narasimxan Venkatesh o'rnatilgan dizaynga Wi-Fi ulanishini qo'shishda e'tiborga olish kerak bo'lgan asosiy ko'rsatmalar



Yüklə 0,5 Mb.
səhifə10/18
tarix07.01.2024
ölçüsü0,5 Mb.
#204249
1   ...   6   7   8   9   10   11   12   13   ...   18
In this Product How

Mikrokontroller - RFID-ga asoslangan kuzatuv tizimida ishlatiladigan mikrokontroller 8051 oilasidan AT89C52. U 4-I/U portlarini o'z ichiga oladi . va 40-pin.

  • Osilator sxemasi - Osilator sxemasi mikrokontrollerning 18 va 19 pinlari orasiga ulangan. Ushbu sxema osilator va 11,0592 MGts ish chastotasida ikkita 33 pF kondensatorning kombinatsiyasi bilan qurilgan.

  • Oldindan o'rnatilgan sxema - AT89C52 mikrokontrollerining 9-pinasi qayta o'rnatish pinidir. Oldindan o'rnatilgan sxema kondansatör, rezistor va kalit bilan qurilgan. Kalit bosilganda, qayta o'rnatish piniga ulanadi va mikrokontroller qayta o'rnatiladi.

  • LCD displey -LCD displey 16 pindan iborat bo'lib , bu erda 3 ta pin ulangan va qolgan barcha pinlar mikrokontrollerning 2-portiga ulangan.

  • RFID Reader -RFID o'quvchi RFID teglarida saqlangan ma'lumotlarni o'qish uchun ishlatiladi. U o'z ichiga oladi bilan har qanday turi ning apparat dizayn .

    Ishlash ning Davomat tizimi sxemasi
    Ishtirok etish tizimining barcha komponentlarini ulab bo'lgandan so'ng, kontaktlarning zanglashiga olib kirish uchun quvvat manbaini bering. Keyin LCD displey paydo bo'ladi , iltimos, kartani suring. RFID yorlig'idagi ma'lumotlar talabaning identifikatori va davomati sifatida ko'rsatiladi. Biror kishi kartani RFID o'quvchi oldiga qo'yganida, u ma'lumotni o'qiydi va AT89S52 mikrokontrollerida saqlangan ma'lumotlarga mos kela boshlaydi. Oldin operatsiya mikrokontroller hisoblanadi oldindan dasturlashtirilgan bilan o'rnatilgan C tili .

    Agar karta ma'lumotlari RFID o'quvchi bilan mos keladigan bo'lsa, u holda ma'lumot LCD displeyda ko'rsatiladi. Ushbu tizim yordamida ish vaqtini tejash mumkin, chunki barcha ma'lumotlar to'g'ridan-to'g'ri ma'lumotlar bazasida saqlanadi.




    Manba kodi:



    1. #o'z ichiga

    2. #include



    3. //0000 dan 7FFFgacha



    4. sbit RS = P0 ^7;

    5. sbit EN = P0 ^6;



    6. sbit SDA = P1 ^0;

    7. sbit SCL = P1 ^1;

    8. sbit RELAY = P1 ^2;



    9. kod unsigned char RFID_1[] = "34006C9C04C0"; //34006C9C04+NULL

    10. kod unsigned char RFID_2[] = "34006C549C90";

    11. kod unsigned char RFID_3[] = "1300F8FAC1D0";

    12. kod unsigned char RFID_4[] = "34006CD5AD20";

    13. kod unsigned char RFID_5[] = "420061231E1E";



    14. code unsigned char name_1[] = "SANJAY JAIN";

    15. code unsigned char name_2[] = "SHEKHAT HARSH";

    16. code unsigned char name_3[] = "DHOLARIYA RAKSHIT";

    17. kod unsigned char name_4[] = "DIVYANG SINGH ";

    18. code unsigned char name_5[] = "NAKUL JAIN";



    19. imzosiz char rs [ 15];



    20. unsigned int no_of_records ;



    21. bekor kechikish ( )

    22. {

    23. int j;

    24. uchun ( j = 0 ;j <500 ;j++);

    25. }



    26. bekor uzoq_ kechikish ( )

    27. {

    28. imzosiz int j;

    29. uchun ( j = 0 ;j <65000 ;j++);

    30. }



    31. bekor kechikish ( )

    32. {

    33. imzosiz int j;

    34. uchun ( j = 0 ;j <10000 ;j++);

    35. }



    36. void lcd_ buyrug'i ( char lc)

    37. {

    38. P2 = lc ;

    39. RS = 0 ;

    40. EN = 1 ;

    41. kechikish ( );

    42. EN = 0 ;

    43. }



    44. lcd_ ma'lumotlarini bekor qilish ( char ld )

    45. {

    46. P2 = ld ;

    47. RS = 1 ;

    48. EN = 1 ;

    49. kechikish ( );

    50. EN = 0 ;

    51. }



    52. bekor lcd_ init ( )

    53. {

    54. lcd_command (0x38);

    55. lcd_command (0x0E);

    56. lcd_command (0x01);

    57. }



    58. bekor serial_ init ( )

    59. {

    60. TMOD = 0x20 ;

    61. SCON = 0x50 ;

    62. TH1 = 0xFD ;

    63. TR1 = 1;

    64. }



    65. bekor uzatish ( imzosiz char tx )

    66. {

    67. SBUF = tx ;

    68. while ( TI ==0);

    69. TI = 0 ;

    70. }



    71. void send_ string ( imzosiz belgi *str)

    72. {

    73. int j;

    74. for( j = 0 ;str [j]!='\0';j++)

    75. uzatish ( str [j]);

    76. }



    77. imzosiz char qabul qilish ( )

    78. {

    79. char rx ;

    80. while ( RI ==0);

    81. RI = 0 ;

    82. rx = SBUF ;

    83. qaytish ( rx );

    84. }



    85. void lcd_ string ( char add, char *str)

    86. {

    87. int j;

    88. lcd_command ( qo'shish );

    89. for( j = 0 ;str [j]!='\0';j++)

    90. lcd_data ( str [j]);

    91. }



    92. bekor boshlash ( )

    93. {

    94. SDA = 1 ;

    95. SCL = 1 ;

    96. SDA = 0 ;

    97. }



    98. bekor STOP ( )

    99. {

    100. SDA = 0 ;

    101. SCL = 1 ;

    102. SDA = 1 ;

    103. }



    104. bekor yozish ( imzosiz belgi w)

    105. {

    106. int j;

    107. SCL = 0 ;

    108. uchun ( j = 0 ;j <8 ;j++)

    109. {

    110. agar ( (w & 0x80)==0)

    111. SDA = 0 ;

    112. boshqa

    113. SDA = 1 ;

    114. SCL = 1 ;

    115. SCL = 0 ;

    116. w w = w << 1 ;

    117. }

    118. SCL = 1 ;

    119. SCL = 0 ;

    120. }



    121. imzosiz char o'qish ( )

    122. {

    123. int j;

    124. imzosiz char r = 0x00 ;

    125. SDA = 1 ;



    126. uchun ( j = 0 ;j <8 ;j++)

    127. {

    128. SCL = 1 ;

    129. r r = r << 1 ;

    130. agar ( SDA == 1)

    131. r r = r | 0x01;

    132. SCL = 0 ;

    133. }

    134. qaytish (r);

    135. }



    136. bekor ack ( )

    137. {

    138. SDA = 0 ;

    139. SCL = 1 ;

    140. SCL = 0 ;

    141. }



    142. bekor nack ( )

    143. {

    144. SDA = 1 ;

    145. SCL = 1 ;

    146. SCL = 0 ;

    147. }



    148. bekor rtc_ o'qish ( )

    149. {

    150. unsigned char ss, mm , hh, kun, mn, sana, yil ;

    151. boshlash ( );

    152. yozish (0xD0);

    153. yozish (0x00);

    154. STOP ( );

    155. boshlash ( );

    156. yozish (0xD1);

    157. ss = o'qish ( );

    158. ack ( );

    159. mm = o'qish ( );

    160. ack ( );

    161. hh = o'qish ( );

    162. ack ( );

    163. kun = o'qish ( );

    164. ack ( );

    165. sana = o'qish ( );

    166. ack ( );

    167. mn = o'qish ( );

    168. ack ( );

    169. yr = o'qish ( );

    170. nack ( );

    171. STOP ( );



    172. rs [ 0] = hh /0x10 + 48;

    173. rs [ 1] = hh%0x10 + 48;

    174. rs [ 2] = ':';

    175. rs [ 3] = mm /0x10 + 48;

    176. rs [ 4] = mm% 0x10 + 48;

    177. rs [ 5] = ',';

    178. rs [ 6] = sana /0x10 + 48;

    179. rs [ 7] = sana% 0x10 + 48;

    180. rs [ 8] = '/';

    181. rs [ 9] = mn /0x10 + 48;

    182. rs [ 10] = mn%0x10 + 48;

    183. rs [ 11] = '/';

    184. rs [ 12] = yil /0x10 + 48;

    185. rs [ 13] = yil%0x10 + 48;

    186. rs [ 14] = '\0';

    187. }



    188. bekor rtc_ init ( )

    189. {

    190. boshlash ( );

    191. yozish (0xD0);

    192. yozish (0x00);

    193. yozish (0x00);

    194. yozish (0x00);

    195. yozish (0x13);

    196. yozish (0x05);

    197. yozish (0x12);

    198. yozish (0x04);

    199. yozish (0x12);

    200. STOP ( );



    201. }



    202. yozuvlarni bekor qilish ( imzosiz belgi *str) ;

    203. bekor o'qish_ yozuvlar ( );



    204. bekor asosiy ( )

    205. {

    206. unsigned char rec_ ma'lumotlar [ 13], i, t ;



    207. RELAY = 0 ;



    208. lcd_ init ( );

    209. serial_ init ( );

    210. rtc_ init ( );

    211. kechikish ( );

    212. boshlash ( );

    213. yozish (0xA0);

    214. yozish (0x7F);

    215. yozish (0xFF);

    216. STOP ( );

    217. boshlash ( );

    218. yozish (0xA1);

    219. no_of_records = o'qish ( );

    220. nack ( );

    221. STOP ( );



    222. // yo'q _of_records = 0 ; _



    223. esa ( 1)

    224. {

    225. boshlash :

    226. lcd_command (0x01);

    227. lcd_ string ( 0x80, "RFID ATTTENDANCE");

    228. lcd_string (0xC5, "SYSTEM");



    229. j = 0 ;

    230. esa ( 1)

    231. {

    232. agar ( RI ==1)

    233. {

    234. RI = 0 ;

    235. t = qabul qilish ( );

    236. agar ( t == '+')

    237. {

    238. o'qish_ yozuvlar ( );

    239. boshlash ;

    240. }

    241. boshqa

    242. {

    243. rec_data [j] = t;

    244. uchun ( j = 1 ;j <12 ;j++)

    245. rec_data [j] = qabul qilish ( );

    246. rec_data [j] = '\0';

    247. sindirish ;

    248. }

    249. }

    250. }



    251. j = strcmp ( RFID_1, rec_data); // mos = > j = 0



    252. lcd_command (0x01);



    253. agar ( j == 0)

    254. {

    255. RELAY = 1 ;

    256. lcd_string (0x 80, nomi _1);

    257. rtc_ o'qish ( );

    258. lcd_string (0xC 0,rs );

    259. uzoq_ kechikish ( );

    260. yozish_yozuvlari (ism_1);

    261. RELAY = 0 ;

    262. borish boshlash ;

    263. }



    264. //

    265. j = strcmp ( RFID_2, rec_data); // mos = > j = 0



    266. agar ( j == 0)

    267. {

    268. RELAY = 1 ;

    269. lcd_string (0x 80, ism _2);

    270. rtc_ o'qish ( );

    271. lcd_string (0xC 0,rs );

    272. uzoq_ kechikish ( );

    273. yozish_yozuvlari (ism_2);

    274. RELAY = 0 ;

    275. borish boshlash ;

    276. }



    277. //

    278. j = strcmp ( RFID_3, rec_data); // mos = > j = 0



    279. agar ( j ==0)

    280. {

    281. RELAY = 1 ;

    282. lcd_string (0x 80, nomi _3);

    283. rtc_ o'qish ( );

    284. lcd_string (0xC 0,rs );

    285. uzoq_ kechikish ( );

    286. yozish_yozuvlari (ism_3);

    287. RELAY = 0 ;

    288. borish boshlash ;

    289. }



    290. j = strcmp ( RFID_4, rec_data); // mos = > j = 0



    291. agar ( j == 0)

    292. {

    293. RELAY = 1 ;

    294. lcd_string (0x 80, nomi _4);

    295. rtc_ o'qish ( );

    296. lcd_string (0xC 0,rs );

    297. uzoq_ kechikish ( );

    298. yozish_yozuvlari (ism_4);

    299. RELAY = 0 ;

    300. borish boshlash ;

    301. }



    302. j = strcmp ( RFID_5, rec_data); // mos = > j = 0



    303. agar ( j == 0)

    304. {

    305. RELAY = 1 ;

    306. lcd_string (0x 80, nomi _5);

    307. yozuvlar_yo'qligi = 0 ;

    308. boshlash ( );

    309. yozish (0xA0);

    310. yozish (0x7F);

    311. yozish (0xFF);

    312. yozish (0x00);

    313. STOP ( );

    314. lcd_ string ( 0xC0, "XOTIRA TOZALADI");

    315. uzoq_ kechikish ( );

    316. RELAY = 0 ;

    317. borish boshlash ;

    318. }

    319. lcd_string (0x80, "ERROR");

    320. lcd_string (0xC 0, rec _data);

    321. uzoq_ kechikish ( );

    322. }

    323. }




    Yüklə 0,5 Mb.

    Dostları ilə paylaş:
  • 1   ...   6   7   8   9   10   11   12   13   ...   18




    Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
    rəhbərliyinə müraciət

    gir | qeydiyyatdan keç
        Ana səhifə


    yükləyin