Thiết kế, chế tạo hệ thống quản lí nhân sự ứng dụng công nghệ rfid trên cơ sở vi điều khiển pic16f877a

91 9 0
Thiết kế, chế tạo hệ thống quản lí nhân sự ứng dụng công nghệ rfid trên cơ sở vi điều khiển pic16f877a

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC VINH KHOA ĐIỆN TỬ - VIỄN THÔNG 621 ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: THIẾT KẾ, CHẾ TẠO HỆ THỐNG QUẢN LÍ NHÂN SỰ TRÊN CƠ SỞ ỨNG DỤNG CÔNG NGHỆ RFID VÀ VI ĐIỀU KHIỂN PIC16F877A Người hướng dẫn: Người thực hiện: Lớp: ThS Tạ Hùng Cường Nguyễn Xuân Phú 51K2 - ĐTVT NGHỆ AN - 2015 LỜI CẢM ƠN Em xin gửi đến thầy giáo ThS Tạ Hùng Cường lời cảm ơn sâu sắc, chân thành nhất, người quan tâm, hướng dẫn chu đáo, bảo tận tình tạo điều khiện thuận lợi mà em hoàn thành đề tài đồ án tốt nghiệp Đồng thời em xin chân thành cảm ơn Trường Đại học Vinh, Khoa Điện tử Viễn thông, thầy cô Khoa Điện tử Viễn thông truyền đạt kiến thức quý báu suốt năm qua tạo điều kiện tốt cho em thời gian thực đề tài Em xin cảm ơn anh chị, bạn Khoa Điện tử Viễn thông giúp đỡ, động viên tạo điều kiện để em hoàn thành đề tài Cuối cùng, em xin kính chúc q Thầy, Cơ, anh, chị, bạn gia đình dồi sức khỏe, thành cơng nghiệp Em xin chân thành cảm ơn! Sinh viên Nguyễn Xuân Phú MỤC LỤC Trang MỞ ĐẦU TÓM TẮT ĐỒ ÁN DANH MỤC CÁC HÌNH VẼ DANH MỤC CÁC TỪ VIẾT TẮT CHƯƠNG CÔNG NGHỆ RFID VÀ ỨNG DỤNG 1.1 Khái quát công nghệ RFID 1.2 Các thành phần hệ thống RFID 10 1.2.1 Thẻ RFID 10 1.2.2 Reader 18 1.2.3 Database 24 1.3 Phương thức làm việc RFID 25 1.4 Các điều lệ chuẩn hóa 27 1.5 Tần số hoạt động RFID 28 1.6 Các ứng dụng RFID 29 1.7 Ưu – nhược điểm hệ thống RFID 31 1.7.1 Ưu điểm 31 1.7.2 Nhược điểm 32 CHƯƠNG VI ĐIỀU KHIỂN PIC16F877A 33 2.1 Giới thiệu vi điều khiển PIC 33 2.1.1 PIC 33 2.1.2 Các dòng PIC cách lựa chọn vi điều khiển PIC 33 2.2 Vi điều khiển PIC16F877A 34 2.2.1 Sơ đồ chân 34 2.2.2 Các thông số chung 35 2.2.3 Tổ chức nhớ 36 2.2.4 Các cổng xuất nhập (I/O) 38 2.2.5 TIMER 40 2.3 Giao tiếp PC vi điều khiển PIC16F877A 44 2.3.1 Giao tiếp UART USART 44 2.3.2 Giao tiếp PC vi điều khiển PIC16F877A 45 CHƯƠNG THIẾT KẾ HỆ THỐNG QUẢN LÍ NHÂN SỰ ỨNG DỤNG CÔNG NGHỆ RFID TRÊN CƠ SỞ PIC16F877A 47 3.1 Thiết kế hệ thống phần cứng 47 3.1.1 Sơ đồ khối 47 3.1.2 Sơ đồ nguyên lí 47 3.1.3 Các khối hệ thống 48 3.1.4 Sơ đồ thuật tốn chương trình 51 3.2 Thiết kế hệ thống phần mềm 51 3.2.1 Sơ đồ thuật toán 52 3.2.2 Mơ hình CSDL 53 3.2.3 Chương trình 54 3.3 Kết thiết kế 54 KẾT LUẬN 56 PHỤ LỤC 57 Phụ lục Chương trình cho vi điều khiển PIC16F877A 57 Phụ lục Chương trình phần mềm quản lí nhân 60 TÀI LIỆU THAM KHẢO 87 MỞ ĐẦU Ngày nay, với ứng dụng khoa học kỹ thuật tiên tiến, giới ngày thay đổi, văn minh đại Sự phát triển kỹ thuật điện tử tạo hàng loạt thiết bị với đặc điểm bật xác cao, tốc độ nhanh, gọn nhẹ yếu tố cần thiết góp phần cho hoạt động người đạt hiệu Điện tử trở thành ngành khoa học đa nhiệm vụ ứng dụng nhiều lĩnh vực đời sống có việc ứng dụng cơng nghệ để nâng cao suất, chất lượng dịch vụ, giảm thiểu sức lao động người ngày trở nên phổ biến Vì chúng tơi chọn đề tài “Thiết kế, chế tạo hệ thống quản lí nhân ứng dụng công nghệ RFID sở vi điều khiển PIC16F877A” để thực đồ án Báo cáo đề tài gồm có chương: Chương 1: Cơng nghệ RFID ứng dụng Chương trình bày tổng quát công nghệ RFID, thành phần hệ thống RFID, phương thức làm việc hệ thống RFID, ứng dụng công nghệ RFID, ưu – nhược điểm công nghệ Chương 2: Vi điều khiển PIC16F877A Chương trình bày dịng vi điều khiển PIC, cách lựa chọn vi điều khiển PIC, cấu trúc vi điều khiển PIC16F877A Chương 3: Thiết kế hệ thống quản lí nhân ứng dụng cơng nghệ RFID sở PIC16F877A Chương trình bày quy trình thiết kế hệ thống, thành phần hệ thống kết thi cơng TĨM TẮT ĐỒ ÁN Đồ án trình bày lý thuyết, thành phần công nghệ RFID ứng dụng công nghệ thực tế Đồ án trình bày cấu trúc vi điều khiển PIC16F877A Đồ án xây dựng hệ thống quản lí nhân sở ứng dụng công nghệ RFID vi điều khiển PIC16F877A ABSTRACT This thesis was presented about theoretical, constituents of RFID technology and the application of this technology in practice Thesis was presented about structure of the PIC16F877A microcontroller too Thesis was build human resource management system on the basis that application of RFID technology and PIC16F877A microcontroller DANH MỤC CÁC HÌNH VẼ Trang Hình 1.1 RFID công nghệ nhỏ - nghiệp lớn Hình 1.2 Hệ thống RFID 10 Hình 1.3 Layout thiết bị mang liệu, transponder 11 Hình 1.4 Cấu trúc thẻ thụ động 11 Hình 1.5 Một số loại thẻ tích cực 13 Hình 1.6 Cấu trúc nhớ thẻ (minh họa) 17 Hình 1.7 Cấu trúc reader 18 Hình 1.8 Cơ chế truyền trường gần, trường xa thẻ reader 22 Hình 1.9 Cơ chế truyền modulated backscatter thẻ thụ động 23 Hình 1.10 Cơ chế truyền modulated backscatter thẻ bán thụ động 24 Hình 1.11 Cơ chế truyền kiểu máy phát thẻ tích cực 24 Hình 1.12 Quá trình làm việc thẻ reader 25 Hình 1.13 Quá trình truyền nhận liệu thẻ reader 26 Hình 2.1 Sơ đồ chân vi điều khiển PIC16F877A 34 Hình 2.2 Sơ đồ khối vi điều khiển PIC16F877A 35 Hình 2.3 Bộ nhớ chương trình PIC16F877A 36 Hình 2.4 Sơ đồ nhớ liệu vi điều khiển PIC16F877A 37 Hình 2.5 Sơ đồ khối TIMER0 41 Hình 2.6.Sơ đồ khối Timer1 42 Hình 2.7 Sơ đồ khối timer2 43 Hình 3.1 Sơ đồ khối hệ thống 47 Hình 3.2 Sơ đồ ngun lí 47 Hình 3.3 Khối nguồn 48 Hình 3.5 Khối vi điều khiển 48 Hình 3.6 Khối giao tiếp máy tính 49 Hình 3.7 LCD 16x02 49 Hình 3.8 Module RFID RC522 50 Hình 3.9 Sơ đồ thuật tốn cho vi điều khiển PIC16F877A 51 Hình 3.10 Sơ đồ thuật toán chức đăng nhập 52 Hình 3.11 Sơ đồ thuật tốn chức chấm cơng 53 Hình 3.12 Mơ hình CSDL 54 Hình 3.13 Mạch giao tiếp 54 Hình 3.14 Giao diện đăng nhập 55 Hình 3.15 Giao diện 55 Hình 3.16 Quản lí nhân viên 55 DANH MỤC CÁC TỪ VIẾT TẮT RFID Radio Frequency Identification Nhận dạng sóng vơ tuyến UHF Ultra high frequency Siêu cao tần CRC Cyclic Redundancy Check Xác minh khối liệu RO read only Chỉ đọc WORM write once, read many Ghi lần, đọc nhiều lần RW read write Ghi - đọc ID Identification Địa PIC Programmable Intelligent Computer Máy tính khả trình thơng minh I/O Input/Output Đầu vào – đầu UART Universal Asynchronous Bộ truyền – nhận liệu không Receiver – Transmitter đồng Universal Synchronous & Bộ truyền – nhận liệu đồng USART Asynchronous Receiver/Transmitter PWM Pulse wide modulation Điều chế độ rộng xung ADC Analog digital convert Chuyển đổi tương tự - số LAN Local area network Mạng cục Chương CÔNG NGHỆ RFID VÀ ỨNG DỤNG Trong chương trình bày tổng qt cơng nghệ RFID, thành phần hệ thống RFID, phương thức làm việc hệ thống RFID, ứng dụng công nghệ RFID, ưu – nhược điểm công nghệ 1.1 Khái quát công nghệ RFID Khái niệm RFID Hình 1.1 RFID cơng nghệ nhỏ - nghiệp lớn RFID (Radio Frequency Identification, nhận dạng sóng vơ tuyến) phương pháp nhận dạng tự động dựa việc lưu trữ liệu từ xa, sử dụng thiết bị thẻ RFID đầu đọc RFID Thẻ RFID thay cho mã vạch sản phẩm có bán siêu thị bán lẻ Thay phải đưa thiết bị vào sát mã vạch để quét, RFID cho phép thơng tin truyền qua khoảng cách nhỏ mà không cần tiếp xúc vật lý Thẻ RFID đưa vào sử dụng nhiều lĩnh vực như: quản lý nhân sự, quản lý hàng hóa vào/ra siêu thị, nhà kho, … theo dõi động vật, quản lý xe cộ qua trạm thu phí, làm thẻ hộ chiếu… Dải tần hoạt động hệ thống RFID : - Tần số thấp – Low frequency 125 KHz: dải đọc ngắn, tốc độ đọc thấp - Dải tần cao – High frequency 13.56 MHz: khoảng cách đọc ngắn, tốc độ đọc trung bình - Dải siêu cao tần – UHF 868-928 MHz: Dải đọc rộng,tốc độ đọc cao - Dải vi sóng – Microwave 2.45-5.8 GHz: Dải đọc rộng, tốc độ đọc lớn 10 { BtThemNV.Enabled = true; Bt_EditNV.Enabled = true; //them //sua Bt_DeleteNV.Enabled = true; //xoa Bt_UpdateNV.Enabled = false; Bt_cancelNV.Enabled = false; //lưu //hủy lưu lock_text(); dt.Clear(); dt.Dispose(); dataGridView1.DataSource = null; dataGridView1.Update(); dataGridView1.Columns.Clear(); hienthi(); } private void label1_Click(object sender, EventArgs e) { } string ImagePath; private void PbAnhNV_Click_1(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "Bitmap|*.bmp|JPEG|*jpg|PNG|*.png|GIF|*.gif|All|*.*"; if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK) { PbAnhNV.ImageLocation = ofd.FileName; ImagePath = ofd.FileName; } } private void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e) { 77 SqlDataAdapter sda = new SqlDataAdapter("Select * From NhanVien Where fldCardID = '" + tbCardID.Text + "'", con); System.Data.DataTable dt_hinhanh = new System.Data.DataTable(); sda.Fill(dt_hinhanh); LbAnhNV.Text = "Hình ảnh"; PbAnhNV.ImageLocation = dt_hinhanh.Rows[0][12].ToString(); } } } Chức đăng nhập: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Data.SqlClient; namespace QLNS { public partial class frmLogin : Form { public frmLogin() { InitializeComponent(); } private void button2_Click(object sender, EventArgs e) { 78 this.Close(); } private void button1_Click(object sender, EventArgs e) { if(textBox1.Text == "") { MessageBox.Show("Vui lịng nhập thơng tin để đăng nhập!"); } else { try { SqlConnection = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=QuanLiNhanSu;Integrated Security=True;user id = ; password = ;Connect Timeout=30;"); DataTable dt = new DataTable(); sda.Fill(dt); if(dt.Rows[0][0].ToString() == "1") { this.Hide(); Main ss = new Main(textBox1.Text); ss.Show(); } else { MessageBox.Show("Đăng nhập thất bại Vui lịng kiểm tra lại thơng tin."); } } Chức chấm công: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; 79 using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO.Ports; using System.Data.SqlClient; using System.IO; using System.Xml; namespace QLNS { public partial class Main : Form { public Main(string acc) { InitializeComponent(); txtAC.Text = acc; } #region Điều khiển Menu private void bảngLươngToolStripMenuItem_Click(object sender, EventArgs e) { BangLuong bangluong= new BangLuong(); bangluong.Show(); } { BangChamCong bangchamcong = new BangChamCong(); bangchamcong.Show(); } #endregion #region Quét cổng com kết nối cổng com int intlen = 0; //Luu gia tri so com ket noi vao may tin 80 private void timer1_Tick(object sender, EventArgs e) { string[] ports = SerialPort.GetPortNames(); if (intlen != ports.Length) { intlen = ports.Length; CbSecCom.Items.Clear(); for (int j = 0; j < intlen; j++) CbSecCom.Items.Add(ports[j]); } if(CbSecCom.Text == "") { PbConnect.Enabled = false; } else { PbConnect.Enabled = true; } } SerialPort sp; private void PbConnect_Click(object sender, EventArgs e) { if (LbStatus.Text == "Thiết bị chưa kết nối") { try { Com.PortName = CbSecCom.Text; sp = new SerialPort(Com.PortName, 9600, Parity.None, 8, StopBits.One); sp.Open(); LbStatus.Text = "Đã kết nối với thiết bị"; PbConnect.Text = "Ngắt kết nối"; 81 CbSecCom.Enabled = false; } catch (UnauthorizedAccessException) // Bắt ngoại lệ [Khơng có quyền truy cập] { MessageBox.Show("Đã có phần mềm chiếm quyền điều khiển cổng này", "Thơng báo xung đột"); } } else { sp.Close(); LbStatus.Text = "Thiết bị chưa kết nối"; PbConnect.Text = "Kết nối"; CbSecCom.Enabled = true; } } #endregion SqlConnection = Source=.\\SQLEXPRESS;Initial new SqlConnection("Data Catalog=QuanLiNhanSu;Integrated Security=True;user id = ; password = ;Connect Timeout=30;"); private void Main_Load(object sender, EventArgs e) { TbBoPhan.ReadOnly = true; tbCardID.ReadOnly = true; TbChucVu.ReadOnly = true; TbCMND.ReadOnly = true; TbDiaChi.ReadOnly = true; TbDienThoai.ReadOnly = true; TbEmail.ReadOnly = true; TbGioiTinh.ReadOnly = true; 82 TbHoTenNV.ReadOnly = true; TbMaNV.ReadOnly = false;/////////////////////////////// TbNgaySinh.ReadOnly = true; TbTTHonNhan.ReadOnly = true; TbTimeScan.ReadOnly = true; CbSecCom.DropDownStyle = ComboBoxStyle.DropDownList; } //Biến báo trạng thái liệu ghi vào DATABASE chưa Int32 status_write_DB = 1; DateTime ngaythang; Int32 ngay, thang, nam; string gio; #region Đọc liệu từ cổng Com private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e) { SerialPort sp = (SerialPort)sender; string s = sp.ReadExisting(); if (s.Length != 0) { Invoke(new Action(() => tbCardID.Text = "")); Invoke(new Action(() => tbCardID.AppendText(s))); Invoke(new Action(() => TbTimeScan.Text = "")); Invoke(new Action(() TbTimeScan.AppendText(DateTime.Now.ToString()))); sp.DiscardInBuffer(); status_write_DB = 0; ngaythang = DateTime.Now; } } #endregion // Timer Interupt********************************** 83 => SqlCommand cmd = new SqlCommand(); private void Timer_Tick(object sender, EventArgs e) { LbDateTime.Text = DateTime.Now.ToString(); //Truy van tim nhan vien co ma CARD nằm textbox CardID SqlDataAdapter sda = new SqlDataAdapter("Select * From NhanVien Where fldCardID = '"+ tbCardID.Text + "'", con); //Đếm số hàng kết truy vấn SqlDataAdapter sda_count = new SqlDataAdapter("Select count(*) From NhanVien Where fldCardID = '" + tbCardID.Text + "'", con); //Đếm số nhân viên sở liệu SqlDataAdapter sda_count_nv = new SqlDataAdapter("Select count(*) From NhanVien", con); DataTable dt_count = new DataTable(); DataTable dt= new DataTable(); DataTable dt_count_nv = new DataTable(); sda_count_nv.Fill(dt_count_nv); sda_count.Fill(dt_count); LbSoNV.Text = dt_count_nv.Rows[0][0].ToString(); //Hien thi so nhan vien if (dt_count.Rows[0][0].ToString() == "1") { if (status_write_DB == 0) { sda.Fill(dt); #region Hiển thị thông tin người quét thẻ lên form TbHoTenNV.DataBindings.Clear(); TbHoTenNV.DataBindings.Add("Text", dt, "fldHoTenNV"); TbMaNV.DataBindings.Clear(); TbMaNV.DataBindings.Add("Text", dt, "fldMaNV"); TbChucVu.DataBindings.Clear(); TbChucVu.DataBindings.Add("Text", dt, "fldChucVu"); 84 TbBoPhan.DataBindings.Clear(); TbBoPhan.DataBindings.Add("Text", dt, "fldBoPhan"); TbCMND.DataBindings.Clear(); TbCMND.DataBindings.Add("Text", dt, "fldCMND"); TbGioiTinh.DataBindings.Clear(); TbGioiTinh.DataBindings.Add("Text", dt, "fldGioiTinh"); TbNgaySinh.DataBindings.Clear(); TbNgaySinh.DataBindings.Add("Text", dt, "fldNgaySinh"); TbTTHonNhan.DataBindings.Clear(); TbTTHonNhan.DataBindings.Add("Text", dt, "fldTTHonNhan"); TbDienThoai.DataBindings.Clear(); TbDienThoai.DataBindings.Add("Text", dt, "fldDienThoai"); TbEmail.DataBindings.Clear(); TbEmail.DataBindings.Add("Text", dt, "fldEmail"); TbDiaChi.DataBindings.Clear(); TbDiaChi.DataBindings.Add("Text", dt, "fldDiaChi"); LbAnhNV.Text = "Hình ảnh"; PbAnhNV.ImageLocation = dt.Rows[0][12].ToString(); #endregion //Write to DATABASE status_write_DB = 1; = ngaythang.Day; thang = ngaythang.Month; nam = ngaythang.Year; gio = ngaythang.ToShortTimeString(); //Kiem tra su ton tai cua khoa chinh = Tức ngày quét thẻ lần chưa SqlDataAdapter check_exist = new SqlDataAdapter("Select count(*) From ChamCong Where fldMaNV = '" + TbMaNV.Text + "' AND fldNgay = '" + ngay.ToString() + "' AND fldThang = '" + thang.ToString() + "' AND fldNam = '" + nam.ToString() + "'", con); DataTable check_exist_table = new DataTable(); 85 check_exist.Fill(check_exist_table); //Nếu chưa tồn - Trong ngày chưa quét lần ==> Tiến hành tạo record if (check_exist_table.Rows[0][0].ToString() == "0") { if(ngaythang.Hour < ) { cmd.CommandText = "INSERT INTO CHAMCONG VALUES (N'" + TbMaNV.Text + "', N'" + ngay.ToString() + "', N'" + thang.ToString() + "', N'" + nam.ToString() + "',N'" + gio + "',NULL,0.5,0)"; } else { if(ngaythang.Hour == && ngaythang.Minute < 10) { cmd.CommandText = "INSERT INTO CHAMCONG VALUES (N'" + TbMaNV.Text + "', N'" + ngay.ToString() + "', N'" + thang.ToString() + "', N'" + nam.ToString() + "',N'" + gio + "',NULL,0.5,0)"; } else { if(ngaythang.Hour == && ngaythang.Minute < 30) { cmd.CommandText = "INSERT INTO CHAMCONG VALUES (N'" + TbMaNV.Text + "', N'" + ngay.ToString() + "', N'" + thang.ToString() + "', N'" + nam.ToString() + "',N'" + gio + "',NULL,0.5,0.1)"; } else { cmd.CommandText = "INSERT INTO CHAMCONG VALUES (N'" + TbMaNV.Text + "', N'" + ngay.ToString() + "', N'" + thang.ToString() + "', N'" + nam.ToString() + "',N'" + gio + "',NULL,0,0)"; 86 } } } cmd.CommandType = CommandType.Text; cmd.Connection = con; con.Open(); cmd.ExecuteNonQuery(); con.Close(); } else //Nếu tồn cập nhật record { //Kiem tra chong cong > SqlDataAdapter check_cong = new SqlDataAdapter("Select fldGioRa From ChamCong Where fldMaNV = '" + TbMaNV.Text + "' AND fldNgay = '" + ngay.ToString() + "' AND fldThang = '" + thang.ToString() + "' AND fldNam = '" + nam.ToString() + "'", con); DataTable check_cong_tbl = new DataTable(); check_cong.Fill(check_cong_tbl); if(check_cong_tbl.Rows[0][0].ToString() == "") { if (ngaythang.Hour >= 17 ) { cmd.CommandText = "UPDATE ChamCong SET fldGioRa ='" + gio + "', fldCong = fldCong+0.5 WHERE fldMaNV = '" + TbMaNV.Text + "' AND fldNgay = '" + ngay.ToString() + "' AND fldThang = '" + thang.ToString() + "' AND fldNam = '" + nam.ToString() + "'"; } else { if(ngaythang.Hour == 16 && ngaythang.Minute >50) { 87 cmd.CommandText = "UPDATE ChamCong SET fldGioRa ='" + gio + "', fldCong = fldCong+0.5 WHERE fldMaNV = '" + TbMaNV.Text + "' AND fldNgay = '" + ngay.ToString() + "' AND fldThang = '" + thang.ToString() + "' AND fldNam = '" + nam.ToString() + "'"; } else { cmd.CommandText = "UPDATE ChamCong SET fldGioRa ='" + gio + "' WHERE fldMaNV = '" + TbMaNV.Text + "' AND fldNgay = '" + ngay.ToString() + "' AND fldThang = '" + thang.ToString() + "' AND fldNam = '" + nam.ToString() + "'"; } cmd.CommandType = CommandType.Text; cmd.Connection = con; con.Open(); cmd.ExecuteNonQuery(); con.Close(); } } } else { #region Xóa tồn form thẻ khơng tồn CSDL TbHoTenNV.Text = ""; //TbMaNV.Text = ""; TbChucVu.Text = ""; TbBoPhan.Text = ""; TbCMND.Text = ""; TbGioiTinh.Text = ""; TbNgaySinh.Text = ""; TbTTHonNhan.Text = ""; 88 TbDienThoai.Text = ""; TbEmail.Text = ""; TbDiaChi.Text = ""; PbAnhNV.ImageLocation = "./AnhNV/NoImage.jpg"; LbAnhNV.Text = "Thẻ khơng tồn tại"; #endregion } } #region Button Xóa toàn liệu form nhân viên private void button1_Click(object sender, EventArgs e) { tbCardID.Text = ""; } #endregion private void nhânViênToolStripMenuItem_Click(object sender, EventArgs e) { DanhSachNhanVien dsnv = new DanhSachNhanVien(); dsnv.Show(); } private void thoátToolStripMenuItem_Click(object sender, EventArgs e) { if (MessageBox.Show("Bạn có chắn muốn khơng?", "Thốt", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { this.Close(); System.Windows.Forms.Application.Exit(); } } private void thôngTinPhầnMềmToolStripMenuItem_Click(object EventArgs e) { 89 sender, Thongtin tt = new Thongtin(); tt.Show(); } private void thayĐổiTàiKhoảnToolStripMenuItem_Click(object EventArgs e) { TaiKhoan acc = new TaiKhoan(txtAC.Text); acc.ShowDialog(); } } } 90 sender, TÀI LIỆU THAM KHẢO Tài liệu tiếng việt [1] Đỗ Xuân Thụ,Kỹ thuật mạch điện tử, Nhà xuất giáo dục năm 1997 [2] Tiêu Kim Cương,Giáo trình lập trình, NXB Thống Kê năm 2002 [3] Phạm Minh Hà,Kĩ thuật mạch, Nhà xuất khoa học kỹ thuật năm 1997 Tài liệu tiếng anh [4] Klaus Finkenzeller,RFID Handbook, Second Edition, Giesecke & Devrient DmbH, Munich, Germany, 2003 [5] Jerry Banks et al,RFID Applied, John Wiley & Sons, Hoboken, New Jersey.2007 [6] Shahram Moradpour Manish Bhuptani,RFIDField Guide: Deploying Radio Frequency Identification Systems, Prentice Hall PTR,2005 Tài liệu website [7]https://www.google.com.vn/ Ngày truy cập cuối 19/1/2015 [8]http://www.picvietnam.com/ Ngày truy cập cuối 19/1/2015 [9]http://dientuvietnam.net Ngày truy cập cuối 19/1/2015 91 ... phần hệ thống RFID, phương thức làm vi? ??c hệ thống RFID, ứng dụng công nghệ RFID, ưu – nhược điểm công nghệ 1.1 Khái quát công nghệ RFID Khái niệm RFID Hình 1.1 RFID cơng nghệ nhỏ - nghiệp lớn RFID. .. chọn vi điều khiển PIC, cấu trúc vi điều khiển PIC16F877A Chương 3: Thiết kế hệ thống quản lí nhân ứng dụng cơng nghệ RFID sở PIC16F877A Chương trình bày quy trình thiết kế hệ thống, thành phần hệ. .. thống quản lí nhân ứng dụng cơng nghệ RFID sở vi điều khiển PIC16F877A? ?? để thực đồ án Báo cáo đề tài gồm có chương: Chương 1: Công nghệ RFID ứng dụng Chương trình bày tổng qt cơng nghệ RFID,

Ngày đăng: 25/08/2021, 15:32

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan