Quản lý kiểm sốt ra vào,quản lý học sinh, chấm cơng nhân viên trong cơng ty, thu phí xe…
Tăng khoảng cách giao tiếp giữa tag và anten.
Dùng thẻ để điều khiển các các tay cửa khi nhận thẻ để mở cửa.
Đề tài này cĩ thể ứng dụng rộng rãi trong cuộc sống hằng ngày của chúng ta. Nĩ mạng lại cho chúng ta rất nhiều tiện lợi.
GVHD: Lưu Văn Đại 58 SVTH:Nguyễn Tấn Lợi Nguyễn Trung Nhân
TÀI LIỆU THAM KHẢO
1) Đậu Quang Tuấn -Tự học lập trình Visual Basic.net,NXB Giao Thơng Vận
Tải năm 2005,Xí nghiệp in Người Lao Động,399 trang (cả bìa)
2) Giáo trình Vi Xử Lý của thầy Nguyễn Trọng Khanh trường CĐKT Cao Thắng
3) Giáo trình Vật Liệu Linh Kiện điện tử của cơ Bùi Thị Kim Chi trường CĐKT
Cao Thắng.
4) Giáo trình Điện Tử Căn Bản của thầy Thượng Văn Bé trường CĐKT Cao
Thắng CÁC WEBSITE: http://www.mcselec.com/ http://www.caulacbovb.com http://www.dientuvietnam.net/ http://www.diendandientu.com/ http://picvietnam.com/forum/ www.hocavr.com www.alldatasheet.com EM4102 datasheet EM4095 datasheet
Phụ Lục
GVHD: Lưu Văn Đại 59 SVTH: Nguyễn Tấn Lợi Nguyễn Trung Nhân
Code Pic 16f877a:
#include <16f877a.h> //#include <def_16f877a.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT,PUT
#define RF_RDY_CLK PIN_C0 // External interrupt used to read clock #define RF_SHD PIN_C1 // High disables the antenna signal
#define RF_MOD PIN_C3 // High does 100% modulation
#define RF_DEMOD_OUT PIN_C2 // Data read in interrupt servicroutine #include <em4095.c> // Controls the reader IC
#include <em4102.c> // Allows reading 4102 transponders #use delay(clock=12000000)
//#use rs232(baud=9600, xmit=PIN_c6,rcv=PIN_c7)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
#define LCD_ENABLE_PIN PIN_B3 ////
#define LCD_RS_PIN PIN_B1 ////
#define LCD_RW_PIN PIN_B2 ////
#define LCD_DATA4 PIN_B4 ////
#define LCD_DATA5 PIN_B5 ////
#define LCD_DATA6 PIN_B6 //// #define LCD_DATA7 PIN_B7
GVHD: Lưu Văn Đại 60 SVTH: Nguyễn Tấn Lợi Nguyễn Trung Nhân
//#byte trisb = 0x86 //#bit trisb5 = trisb.5 //#byte PORTB = 0x6 //#bit rb5 = PORTB.5 #Byte PORTA = 0x5 #bit Butt1 = PORTA.0 #bit Butt2 = PORTA.1 #bit Butt3 = PORTA.2 #bit Led1 = PORTA.3 #bit Led2 = PORTA.4 #bit Led3 = PORTA.5 #byte PORTE = 0x9 #bit Tran1 = PORTE.0 #bit Tran2 = PORTE.1 #define x_ON 1 #define x_OFF 0 int8 msg[32] void main() { int8 customerCode; int32 tagNum; //trisb5=0;
Phụ Lục
GVHD: Lưu Văn Đại 61 SVTH: Nguyễn Tấn Lợi Nguyễn Trung Nhân
lcd_init(); set_tris_a(0x7); Set_tris_e(0);
rf_init(); // Initialize the RF reader rf_powerUp(); // Power up the antenna printf(lcd_putc,"\fSystem ready..."); delay_ms(1000); while(true) { if(read_4102(msg)) { customerCode = msg[0]; tagNum = make32(msg[1], msg[2], msg[3], msg[4]); //sprintf(msg,"%u\n\r", customerCode); // puts(msg); printf(lcd_putc,"\fC Code:%u\n",customerCode); // sprintf(msg,"%lu\n\n\r", tagNum); putc(customerCode); printf(lcd_putc,"T No:%lu",tagNum); Led1 = x_ON; Tran1 = x_ON; Tran2 = x_ON; delay_ms(1000);
GVHD: Lưu Văn Đại 62 SVTH: Nguyễn Tấn Lợi Nguyễn Trung Nhân
Led1 = x_OFF; Tran1 = x_OFF; Tran2 = x_OFF; putc(customerCode); } } }
Phụ Lục
GVHD: Lưu Văn Đại 63 SVTH: Nguyễn Tấn Lợi Nguyễn Trung Nhân
Code chương trình Visual Basic:
Dim nd As Integer Dim n As Integer
Private Sub Form_Load() n = 0
MSComm1.CommPort = 1 'Chon Port
MSComm1.Settings = "9600,n,8,1" 'Thiet lap thong so: toc do baud (11.0592 MHz), bit chan le (non), 8 bit du lieu, 1 bit
MSComm1.InputLen = 0 'do dai du lieu
MSComm1.RThreshold = 1 'ngatnhan(1)(2 truyen) MSComm1.PortOpen = True 'Mo Port
End Sub
Private Sub MSComm1_OnComm()
If MSComm1.CommEvent = 2 And n > 1 Then nd = Asc(MSComm1.Input)
If nd = 192 Then
Label1.Caption = "MSSV: " + Str(nd)
Label2.Caption = "Họ và tên: Nguyễn Trung Nhân" Label4.Caption = "Ngày sinh: 20/04/1992"
Label5.Caption = "Điểm môn 1: 8" Label6.Caption = "Điểm môn 2: 9.5" Else
GVHD: Lưu Văn Đại 64 SVTH: Nguyễn Tấn Lợi Nguyễn Trung Nhân
Label1.Caption = "MSSV: " + Str(nd)
Label2.Caption = "Họ và tên: Trần Thị Thu" Label4.Caption = "Ngày sinh: 10/04/1992" Label5.Caption = "Điểm môn 1: 10" Label6.Caption = "Điểm môn 2: 9.5" End If
End If End If n = n + 1 End Sub
Đ
Khai báo hàm EM 4095 và EM 4102
Thiêt lập giao thức truyền thơng nối tiếp
RS232
Khởi tạo Port,LCD,Ngắt
Kiểm tra cĩ tag read_4102(msg)=1
Ngắt LCD
Hiển thị mã số thẻ lên LCD
Hiển thị thơng tin học sinh lên phần mềm Bắt Đầu Đ S Đ S