Trường ĐHBK Đà Nẵng--Khoa ĐTVT --- Đồ án chuyên ngành Điện tử Trước nhu cầu đó khóa số bằng điện tử là một giải pháp dùng để bảo mật rất hiệu quả và tiện lợi.. Trường ĐHBK Đà Nẵng--Khoa
Trang 1Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Nhận xét của giáo viên hướng dẫn
Đà Nẵng, Ngày Tháng Năm 20
Giáo Viên hướng dẫn
Trang 2
Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Nhận xét của giáo viên chấm
Đà Nẵng, Ngày Tháng Năm 20
Giáo Viên hướng dẫn
Trang 3Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
CHƯƠNG 1 : PHÂN TÍCH HỆ THỐNG 9
1.1.ĐẶT VẤN ĐỀ: 9
1.2.GIỚI THIỆU HỆ THỐNG KHÓA SỐ 11
1.3.CÁC GIẢI PHÁP VÀ CÁCH XÁC ĐỊNH BÀI TOÁN 16
1.3.1.Phân Tích Và Lựa Chọn Phương Án 16
1.3.2.Xác Định Bài Toán Và Giới Hạn Của Đề Tài 18
CHƯƠNG 2 :THIẾT KẾ HỆ THỐNG 19
2.1 SƠ ĐỒ KHỐI TỔNG THỂ CỦA HỆ THỐNG 19
2.2 SƠ ĐỒ CALL GRAPH 20
2.3 SƠ ĐỒ ĐẶC TẢ CỦA HỆ THỐNG 21
2.4 CÁC MODUL TRONG HỆ THỐNG 23
Trang 4Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
2.4.1 Khối Điều Khiển Trung Tâm 24
2.4.2 Khối Hiển Thị 27
2.4.3 Khối Bàn Phím 29
2.4.4 Khối Khuếch Đại, Động Cơ Và Báo Động 30
2.4.5 Khối Nguồn 33
2.5 LỰA CHỌN LINH KIỆN 34
2.5.1 KHỐI ĐIỀU KHIỂN PIC 16F877a 34
Trang 5Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
2.5.5.Động cơ 66
2.5.6 Khối Nguồn 67
2.6.SƠ ĐỒ NGUYÊN LÝ CỦA MẠCH 70
2.7.NGUYÊN LÝ HOẠT ĐỘNG CỦA MẠCH 71
2.8.SƠ ĐỒ THUẬT TOÁN ĐIỀU KHIỂN 72
CHƯƠNG 3: XÂY DỰNG HỆ THỐNG 73
3.1 CHƯƠNG TRÌNH PHẦN MỀM 73
3.2 CHƯƠNG TRÌNH QUÉT PHÍM CƠ BẢN 74
3.3 CHƯƠNG TRÌNH CHÍNH: 77
3.4 CHƯƠNG TRÌNH KIỂM TRA 82
3.5 CHƯƠNG TRÌNH BÁO ĐỘNG 84
Trang 6Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
ĐÁNH GIÁ VÀ KẾT LUẬN 87
HƯỚNG PHÁT TRIỂN 88
TÀI LIỆU THAM KHẢO 90
Trang 7Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Điện tử đang trở thành một ngành khoa học đa nhiệm vụ Nó đã đáp ứng được những nhu cầu cần thiết trong hoạt động đời sống hằng ngày.Một trong những nhu cầu đó là vấn đề bảo mật Mỗi một cá nhân, một gia đình, hay một cơ quan đều có các vấn đề cần được bảo mật Và để bảo mật được thì phải có một hệ thống bảo mật
Trang 8Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Trước nhu cầu đó khóa số bằng điện tử là một giải pháp dùng để bảo mật rất hiệu quả
và tiện lợi
Ngoài ra do nhu cầu ứng dụng lý thuyết đã học ở trường vào trong cuộc sống
nên chúng em đã chọn đề tài “khoá số” để làm đồ án môn học.
Sau một thời gian học tập và rèn luyện, với sự chỉ bảo tận tình của thầy giáo
Huỳnh Thanh Tùng cùng sự trợ giúp của các bạn trong nhóm và các tài liệu có liên
quan,chúng em đã hoàn thành xong đề tài
Đồ án đã hoàn thành xong, nhưng không thể tránh nhiều thiếu sót mong thầy cô giáo thông cảm và chỉ bảo thêm để đề tài có thể ứng dụng rộng rãi trong thực tế
Trang 9Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
CHƯƠNG 1 : PHÂN TÍCH HỆ THỐNG
1.1 ĐẶT VẤN ĐỀ:
Với mỗi gia đình, cơ qua, xí nghiệp, trường học hay bất cứ nơi đâu, để bảo vệ tài sản trong phòng Trên mỗi cánh cửa ra vào được trang bị thêm chiếc khóa Hiện nay trên thị trường có rất nhiều loại khóa cửa nhưng hầu như đều là khóa cơ khí, các
Trang 10Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
khóa cơ khí này gặp vấn đề lớn đó là tính bảo mật của các khóa này không cao, nên
dễ dàng bị phá khóa bởi các chìa khóa đa năng
Khóa số nói chung là loại khóa để bảo vệ thiết bị, tài sản….mà khi muốn mở
ra thì phải tác động đến số mà ta cài đặt trước có 2 loại khóa số cơ bản hiện nay trên thị trường có đó là khóa số cơ khí và khóa số điện tử
- Khóa số cơ khí : khi mở khóa hay khóa lại thì ta phải xoay các vòng số trên khóa sao cho một dãy các số nào đó cùng hợp với nhau thì mở được khóa
- Khóa số điện tử : khi mở khóa thì ta phải nhập đúng mật khẩu là một dãy các số liên tiếp nhau, nếu nhập đúng các dãy số đó thì mở được khóa
Nhìn chung thì khóa số điện tử sẽ có nhiều ký tự, nhiều mã số để cài đặt hơn, cũng như độ dài của mã số sẽ dài hơn Vì vậy tính bảo mật của khóa số điện tử cũng
Trang 11Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
người dùng, hiển thị các thông báo về nhập mật khẩu, cảnh báo, thay đổi mật khẩu khiến người dùng dễ sử dụng hơn
1.2 GIỚI THIỆU HỆ THỐNG KHÓA SỐ.
Trên thị trường hiện nay có bán rất nhiều loại khóa số điện tử Hầu hết các loại khóa điện tử đó đều có tính nắng đổi mật mã, cảnh báo Nhưng lại không có tính năng giao diện người dùng bằng màn hình LCD khiến người dùng khó sử dụng các sản phẩm đó Thiết bị mà bộ khóa số trên thị trường điều khiển chủ yếu là Roler để đóng,
Trang 12Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
năng khoá bằng chìa Chìa của loại này cũng đặc biệt hơn các loại thông thường, nó được làm 4 cạnh, khó làm giả như các loại khoá 2 cạnh
Khoá kỹ thuật số còn có loại mở bằng dấu vân Loại khoá này có thể đăng ký được 25 hoặc 40 vân tay khác nhau Như vậy bạn có thể lưu lại rất nhiều vân tay của mọi người trong gia đình vào bộ nhớ của khoá Khi cho đúng các vân tay có lưu trong
bộ nhớ thì cửa sẽ được mở Phần lớn loại này không sử dụng chìa nữa
Trang 13Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Trang 14Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Trang 15Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Hình 1.1: khóa số trên thị trường không có giao diện người dùng
Một số loại trên thị trường đã có giao diện người dùng qua những màn hình LCD 16x2 để hiển thị thông tin tới người dùng Như vậy thì dễ sử dụng hơn các loại khác
Trang 16Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Hình 1.2: khóa số đã trang bị màn hình LCD giao diện người dùng.
1.3 CÁC GIẢI PHÁP VÀ CÁCH XÁC ĐỊNH BÀI TOÁN
1.3.1 Phân Tích Và Lựa Chọn Phương Án
a Yêu cầu của hệ thống:
Qua tham khảo các sản phẩm khóa số trên thị trường thì yêu cầu của một bộ sản phẩm khóa số thông thường:
- Dạo diện người dung dễ sử dụng
- Mật khẩu có độ dài đảm bảo tính bảo mật cao
Trang 17Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
b Lựa chọn phương án
Với yêu cầu về tính năng như trên, chúng em chọn các thiết bị chính:
- Vi điều khiển 16f877 với bộ nhớ eeprom có khả lưu trữ dữ liệu ngay cả khi mất điện
- Màn hình LCD 16x2 với mục đích hiển thị thông tin, giao tiếp vi điều khiển với người dùng
- Bàn phím 16 phím có các phím số và phím chức năng đưa đầu vào là mật khẩu, các lệnh đóng mơ cửa tới vi điều khiển
- Động cơ để kéo cánh cửa đóng và mở Với đề tài này có yêu cầu sản phẩm
mô phỏng thực tế, chúng tôi chọn động cơ một chiều công suất nhỏ
- Nguồn dự trữ khi mất điện là nguồn acquy
Trang 18Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
1.3.2 Xác Định Bài Toán Và Giới Hạn Của Đề Tài
a Xác Định Bài Toán
Điểm quan trọng nhất của chương trình khóa số là thuật toán quét phím, sau đó là lưu và thay đổi mật mã trên eeprom Còn một số phần khác là hiển thị thông tin ra LCD thì có các lệnh hỗ chợ nên không phức tạp cuối cùng là đưa tín hiệu ra để điều khiển thiết bị là khóa cửa
Vì vậy bài toán chính là ta cần quan tâm là :
- Thuật toán quét phím
- Quá trình lưu mật mã trong eeprom và thay đổi eeprom
Trang 19Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
- Thông thường hệ thống giao diện với người dùng để ở bên ngoài, nên phải
an toàn, tránh được những tác động của ngoại cảnh
- Chi phí của bộ sản phẩm (không có động cơ) không quá 500.000vnđ
- Chịu được quá tải tải khi gặp chướng ngại vật trong thời gian dài
- Áp dụng để điều khiển động cơ có công suất nhỏ
CHƯƠNG 2 :THIẾT KẾ HỆ THỐNG
2.1 SƠ ĐỒ KHỐI TỔNG THỂ CỦA HỆ THỐNG
Hình 2.1: sơ đồ khối khóa số cơ bản.
Khối giao tiếp và
hiển thị thông tin
Khối điều khiển Thiết bị chấp
hành
Trang 20Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Khối giao tiếp và hiển thị thông tin : dùng để đưa tín hiệu, thông số tới khối điều khiển
Khối điều khiển tiếp nhận các thông tin, và xử lý các thông tin đó Xuất tín hiệu
để điều khiển các thiết bị khác
Thiết bị chấp hành ở đây có thể là động cơ, có thể là rơle để điều khiển thiết bị chính là cửa hoặc khóa
2.2 SƠ ĐỒ CALL GRAPH
Controller software
Giao Tiếp
LCD
Chương Trình Báo Động
Trang 21Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Hình 2.2 : sơ đồ Call graph giữa phần cứng và phần mềm
Khóa Cửa
Mở Cửa
Báo Động
Nhập Mật
Mã Cũ
Mật Mã
Trang 22Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Trang 23Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Hình 2.3: sơ đồ đặc tả của hệ thống
2.4 CÁC MODUL TRONG HỆ THỐNG
Vi Điều Khiển PIC 16F877a Báo Động
Tín Hiệu
Bàn Phím Ma Trận 4x4 Khối Nguồn
Màn Hình Hiển Thị LCD
Trang 24Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Hình 2.4 : Sơ đồ khối các Modul trong hệ thống
2.4.1 Khối Điều Khiển Trung Tâm
Trang 25Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Trang 26Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Hình 2.5 : Khối vi điều khiển
Khối vi điều khiển sử dụng vi điều khiển Pic16F877A, nó đóng vai trò hết sức quan trọng trong hệ thống để điều khiển hệ thống khóa số Khối VĐK bao gồm mạch tạo dao động thạch anh, mạch Reset để reset hệ thống lại trạng thái ban đầu Các chân của VĐK sẽ được kết nối với các khối khác như động cơ, bàn phím, khối hiển thị Lưu trữ mật khẩu qua bộ nhớ EEPROM có thể lưu trữ ngay khi mất điện Toàn bộ dữ liệu mà ta thiết kế để điều khiển hệ thống khóa số đều được chứa trong bộ nhớ của VĐK
Trang 27Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
2.4.2 Khối Hiển Thị
Khối hiển thị chính là màn hình hiển thị LCD 16x2
Trang 28Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Trang 29Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Trang 30Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Nguyên lý hoạt động của việc quét phím chính là cho các cột bằng 1 và lần lượt các chân nối vơi hàng mức 0 Rồi kiểm tra xem có cột nào bằng 0 hay không, nếu cột nào bằng 0 trong thời điểm một hàng bằng 0 thì phát hiện ra phím đó được bấm
2.4.4 Khối Khuếch Đại, Động Cơ Và Báo Động
Hệ thống báo động: cảnh báo khi nhập sai mật khẩu quá 3 lần Thông qua hệ thống chông báo động
Trang 31Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Hình 2.8 : chuông báo động
Trang 32Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Bộ khuếch đại tín hiệu và mạch cầu H :dùng để đưa tín hiệu điều khiển động cơ
Trang 33Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Trang 34Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
2.5 LỰA CHỌN LINH KIỆN
2.5.1 KHỐI ĐIỀU KHIỂN PIC 16F877a
a Đặc điểm pic 16f877a:
• Công nghệ CMOS có đặc tính : công suất thấp, công nghệ bộ nhớ Flash/EEPROM tốc độ cao Điện áp hoạt động từ 2V đến 5,5V và tiêu tốn năng nượng thấp phù hợp với nhiệt độ làm việc trong công nghiệp và trong thương mại
• Tốc độ hoạt động :
- DC – 20MHz ngõ vào xung clock
- DC – 200ns chu kỳ lệnh
Trang 35Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
o Bộ nhớ EEPROM có thể lưu giữ dữ liệu hơn 40 năm và
có thể tự lập trình lại được dưới sự điều khiển của phần mềm
• Số chân : 40 pins 5 cổng vào ra số RA,RB,RC,RD,RE
Trang 36Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Trang 37Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
b Các công vào ra của PIC 16F877a:
Việc điều khiển các cổng vào ra của pic dựa trên việc điều khiển các File thanh ghi Vì trong đề tài chỉ sử dụng 3 cổng vào ra là PORTB, PORTC, PORTD nên chúng tôi xin đưa ra đặc điểm của các chân
PORTB và thanh ghi TRISB:
Portb (RPB) gồm 8 pin I/O thanh ghi điều khiển xuất nhập tương ứng là TRISB Bên cạnh đó một số chân của PORTB còn được sử dụng trong quá trình nạp chường trình cho vi điều khiển với các chế độ nào khác nhau PORTB còn liên quan dến ngắt ngoại vi và bộ Timer0 PORTB còn được tích hợp chức năng điện trở kéo lên được điều khiển bởi chương trình
Ba chân của PORTB được đa hợp với mạch điện gỡ rối bên trong và chức năng lập trình điện áp thấp RB3/PGM, RB6/PGC và RB7PGD
Mỗi chân của PORTB có điện trở kéo lên Bit điều khiển RBPU (OPTION_REG<7>) =0 thì có thể mở tất cả các điện trở kéo lên khi portb được thiết
Trang 38Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
lập là ngõ ra thì sẽ tự động ngắt chức năng điện trở kéo lên , cũng tương tự khi CPU
bị reset lúc mới cấp điện
Bốn chân của portb RB4:RB7 có cấu chúc ngắt thay đổi, chỉ có những chân được thiết lập ở cấu hình là ngõ vào thì mới có chức năng ngắt các chân ngõ vào là (RB4:RB7) được so sánh với giá trị cũ đã được chốt trong lần đọc trước của portb Các ngõ ra không trùng nhau của các chân RB4:RB7 được OR lại với nhau để tao ra ngắt ở PORTB với bít cờ báo ngắt RBIF<INTCON<0>>
Ngắt này có thể kích hoạt vi điều khiển trở lại trạng thái hoạt động khi nó đang
ở chế độ SLEEP Trong chương trình phục vụ ngắt thì người dùng có thể xóa ngắt bằng các cách khác nhau:
Trang 39Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Điều kiện không tương thích sẽ tiếp tục làm cờ báo ngắt RBIF bằng 1 Khi đọc PORTB sẽ chấm dứt điều kiện không tương thích và cho phép xóa bít cờ báo ngắt RBIF
Cấu trúc ngắt thay đổi dùng để thoát khỏi chế độ nghỉ khi có nhấn phím và các hoạt động mà PORTB chỉ được dùng cho cấu trúc thay đổi ngắt
PORTC và thanh ghi TRISC:
PORTC là port 2 chiều 8 bít Thanh ghi định hướng là TRISC Khi bit TRISC=1 thì portc là nhập, khi TRISC=0 thì portc là xuất
Portc được đa hợp với vài chức năng ngoại vi Các chân của portc có mạch đệm Schmit Trigger ở ngõ vào Khi khối I2C được cho phép thì các chân PORTC (3,4) có thể được định cấu hình ở các mức I2C hoặc mức SMBUS bằng cách sử dụng bít CKE (SSPSTAT<6>)
Khi cho phép chức năng ngoại vi, nên chú ý đến các bít TRIS cho mỗi chân của PORTC Một vài thiết bị ngoại vi ghi lên bít TRIS để làm một chân như là 1 ngõ
Trang 40Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Khi ghi đè bít TRIS thì không ảnh hưởng đến các thiets bị đã cho phép, các kệnh đọc – hiệu chỉnh – ghi (BSF,BCF,XORWF) với TRISC là đích đến phải tránh dùng Người sử dụng tham chiếu tới phần thiết bị ngoại vi tướng ứng để thiếp lập cho đúng bít TRIS
PORTD và thanh ghi TRISD:
PORTD là port 8 bít với ngõ vào có mạch Schmitt Trigger Mỗi chân có thể được cấu hình độc lập là ngõ vào hoặc ngõ ra PORTD có thể định cấu hình như là port của vi sử lũ 8 bít bằng cách thiết lập bít điều khiển PSPMODE(TRISE<4>) Trong mode này thì các bộ đến ngõ vào dạng TTL PORTD và TRISD không được
Trang 41Trường ĐHBK Đà Nẵng Khoa ĐTVT - Đồ án chuyên ngành Điện tử
Hai BANK thanh ghi : BANK 0 và BANK 1 thuộc địa chỉ từ 0x5 đến 0x09 là địa chỉ của PORTA đến PORTE dùng để xuất nhập dữ liệu địa chỉ từ 0x85 đến 0x89
là địa chỉ của các thanh ghi định hướng TRISA đến TRISE
Khi chọn BANK thanh ghi ta thiết lập các giá trị của RP0 và RP1 thuộc thanh ghi STATUS như sau:
• Bank 0 : RP0=0, RP1=0
• Bank 1 : RP0=1, RP1=0
• Bank 2 : RP0=0, RP1=1
• Bank 3 : RP0=1, RP1=1