Đồ án môn vi điều khiển mạng máy tính: Mạch khóa số điện tửThiết kế hệ thống1.Sơ đồ khố tổng thể hệ thống2.Các khối chức năng của hệ thốngThiết kế và thi công1.Sơ đồ mạch cơ bản2.Nguyên lý hoạt động3. Sơ đồ thuật toán
Trang 1BỘ THÔNG TIN VÀ TRUYỀN THÔNG TRƯỜNG CAO ĐẲNG CNTT HỮU NGHỊ VIỆT – HÀN
KHOA: CÔNG NGHỆ ĐIỆN TỬ-VIỄN THÔNG
MÔN : ĐỒ ÁN VI ĐIỀU KHIỂN
ĐỀ TÀI: Mạch khóa số điện tử
Giảng viên hướng dẫn: Dương Tuấn Quang Sinh viên thực hiện : Nguyễn Phúc Tăng
Đà Nẵng, tháng 12 năm 2016
Trang 2Lời nói đầu
Ngày nay, với những ứng dụng của khoa học kỹ thuật tiên tiến, thế giớicủa chúng ta đã và đang một ngày thay đổi, văn minh và hiện đại hơn Kỹ thuật
vi điều khiển đã được phát triển và ứng dụng rộng rãi trên thế giới trong rấtnhiều lĩnh vực khác nhau, khắc phục được những vấn đề về cơ khí Ứng dụng
kỹ thuật vi điều khiển là sự phát triển cần thiết của một xã hội hiện đại
Đ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 trongnhữ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 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
Tuy em đã cố gắng thực hiện đồ án tốt nhất có thể, nhưng vẫn không tránh được thiếu sót, mong quý Thầy Cô góp ý và thông cảm cho những thiếu sót của em
Em xin chân thành cảm ơn Thầy cô !!!
Trang 3Mục Lục
L i m đ u ời mở đầu ở đầu ầu
Chương 1: Giới thiệu đề tài 4
1 Giới thiệu 4
2 Chức năng của hệ thống 4
3 Hoạt động của hệ thống 5
Chương 2: Thiết kế hệ thống 6
1 Sơ đồ khố tổng thể hệ thống 6
2 Các khối chức năng của hệ thống 6
2.1 Khối xử lý trung tâm 6
2.1.1 Đặc điểm ATMEGA328 7
2.1.2 Sơ lược các chân ATMEGA 328 8
2.1.3 Chế độ của bộ định thời Timer 11
2.2 Bàn phím 12
2.3 Khối hiển thị LCD 13
2.4 Khối nguồn 16
2.5 Bộ reset 16
2.6 Bộ tạo dao động 17
2.7 Khối báo động và LED 17
Chương 3: Thiết kế và thi công 15
1 Sơ đồ mạch cơ bản 15
2 Nguyên lý hoạt động 15
3 Sơ đồ thuật toán 16
4 Mã nguồn của chương trình 16
Tài liệu tham khảo 22
Trang 4Chương 1: Giới thiệu đề tài
1 Giới thiệu
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ệnnay 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ộtdãy các số liên tiếp nhau, nếu nhập đúng các dãy số đó thì mở đượckhóa
Ở đây em xin giới thiệu về đề tài về khóa điện tử với một số yêu cầu cơbản của một thiết bị khóa thông dụng:
- Tính an toàn: phải có chức năng bảo mật cao
- Dễ sử dụng
- Có thể thay đổi bảo mật khi cần thiết
- Hệ thống vận hành ổn định, tuổi thọ cao
2 Chức năng của hệ thống
Hệ thống gồm một chuổi mã số từ 0 đến 9, và độ dài mật mã không quá 10
số chỉ có người được phân quyền sử dụng mới biết được
Có hệ thống phím gồm 15 phím, ngoài 10 số mật khẩu có các phím chứcnăng: phím Enter, phím Đổi mã,
Hệ thống hiển thị trực quan qua LCD 16x2A, có đèn chiếu sáng khi điềukiện môi trường tối
Có hệ thống báo động khi nhập sai quá nhiều lần (ở đây em thiết kế là 3 lần,sau 3 lần nhập sai thì LCD hiển thị sai mã, và kích hoạt hệ thống báo động)
Có chức năng thay đổi mật khẩu khi cần thiết, và mật khẩu mặc định banđầu là 123456
Trang 53 Hoạt động của hệ thống
Thay đổi mật khẩu cho người sử dụng:
- Ấn phím thay đổi mật khẩu, hệ thống sẽ hiển thị trên LCD ta nhập mậtkhẩu mới và nhấn phím xác nhận
Nhập mật khẩu:
- Lcd hiển thị nhập mật khẩu, người sử dụng nhập mã thông qua bànphím, nhấn Enter để xác nhận nhập xong, nếu nhập đúng thì LCD hiểnthị “ MO KHOA”, nếu nhập sai thì LCD hiển thị:” SAI MA, NHAPLAI”,sai quá 3 lần thì kích hoạt hệ thống báo động
- Đèn sang màu xanh báo hiệu cửa mở
Trang 6Thiế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, ở đây em sử dụng led
2 Các khối chức năng của hệ thống
2.1 Khối xử lý trung tâm
Chức năng: Đóng vai trò đầu não của hệ thống,tiếp nhận tín hiệu từ bànphím và so sánh mã, hiển thị trên LCD.Từ đó đưa các tín hiệu điều khiển đếncho khối mạch báo động tương ứng
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 7Sử dụng chip ATMEGA328.
Khối vi điều khiển, 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ẽ đượckết nối với các khối khác như động cơ, bàn phím, khối hiển thị 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ủaVĐK
- 1K EEPROM (lưu trữ không dễ bay hơi)
Electrically Eraseble Programmable Read Only Memory: đây giống
như một chiếc ổ cứng mini – nơi ta có thể đọc và ghi dữ liệu của mình vào đây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM
- 2K RAM (bộ nhớ thời gian chạy làm việc). Random Access Memory:
giá trị các biến ta khai báo khi lập trình sẽ lưu ở đây
- 2.7 V ~ 5,5 V Cung cấp điện áp
- 23 kỹ thuật số I / O Pins
- 6 × 10 bit chuyển đổi A / D
Trang 82.1.2 Sơ lược các chân ATMEGA 328
Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấpnguồn ngoài với điện áp là 7-12V DC và giới hạn là 6-20V Thường thì cấpnguồn bằng pin vuông 9V là hợp lí nhất nếu ta không có sẵn nguồn từ cổngUSB Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, ta sẽ làm hỏng ArduinoUNO
Với 23 chân có thể sử dụng cho các kết nối vào hoặc ra i/O, 32 thanh ghi, 3
bộ timer/counter có thể lập trình, có các gắt nội và ngoại (2 lệnh trên một vectorngắt Ngoài ra có thể sử dụng bộ biến đổi số tương tự 10 bít (ADC/DAC) mởrộng tới 8 kênh, hoạt động với 5 chế độ nguồn, có thể sử dụng tới 6 kênh điềuchế độ rộng xung (PWM)
GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO Khi dùng
các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phảiđược nối với nhau
5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA.
3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA
Trang 9 Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, ta nối cực
dương của nguồn với chân này và cực âm của nguồn với chân GND
IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể
được đo ở chân này Và dĩ nhiên nó luôn là 5V Mặc dù vậy chúng takhông được lấy nguồn 5V từ chân này để sử dụng bởi chức năng của nókhông phải là cấp nguồn
RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương
đương với việc chân RESET được nối với GND qua 1 điện trở 10KΩ
2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận
(receive – RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết
bị khác thông qua 2 chân này Kết nối bluetooth thường thấy chính là kếtnối Serial không dây Nếu không cần giao tiếp Serial, thì không nên sửdụng 2 chân này nếu không cần thiết
Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM
với độ phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằnghàm analogWrite() Có thể điều chỉnh được điện áp ra ở chân này từ mức0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác
Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngoài
các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệubằng giao thức SPI với các thiết bị khác
Arduino UNO có 6 chân analog (C0 → C5) cung cấp độ phân giải tín hiệu10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V Với
chân AREF trên board, có thể đưa vào điện áp tham chiếu khi sử dụng các chân
analog Tức là nếu ta cấp điện áp 2.5V vào chân này thì có thể dùng các chânanalog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit.Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác
Trang 10Bit Tn Chức năng chuyển đổi
Ngõ vào dữ liệu nối tiếp
Ngõ ra dữ liệu nối tiếp
Ngõ vào ngắt ngồi 0Ngõ vào ngắt ngoài 1Ngõ vào của timer/couter 0Ngõ vào của timer/couter 1
Bộ dao động thạch anh có tác dụng tạo xung nhịp với tần số 12MHz choVĐK hoạt động Hai đầu này được nối vào 2chân XTAL1 và XTAL2 của VĐK
2.1.3 Chế độ của bộ định thời Timer
a) Giới thiệu bộ Timer
Timer là một chuỗi các flip-flop chia đôi tần sồ nối tiếp với nhau, chúng nhận tín hiệu vào làm nguồn xung nhịp Giá trị nhị phân trong các flip - flop củatimer có thể xem như đếm số xung nhịp khởi động timer Ví dụ timer 16 bit sẽ đếm từ 0000H đến FFFFH.Cờ báo tràn sẽ lên 1 khi số đếm tràn từ FFFFH đến 0000H
b) Thanh ghi chế độ Timer
Thanh ghi TMOD chứa hai nhóm 4 bit dùng để đặt chế độ làm việc cho timer 0 và timer 1.
7 GATE 1 Bit điều khiển cổng Khi GATE=1 thì bộ định thời
chỉ hoạt động khi chân INTO=1
6 C/T 1 Bit chọn chức năng đếm hoặc định thời
C/T =1:bộ định thời l bộ đếm
C/T =0:bộ định thời l bộ định khoảng thời gian
5 M0 1 Bit chọn chế độ hoạt động của bộ định thời
4 M1 1 Bit chọn chế độ hoạt động của bộ định thời
3 GATE 0 Bit điều khiển cổng Khi GATE=1 thì bộ định thời
chỉ hoạt động khi chân INTO=1
2 C/T 0 Bit chọn chức năng đếm hoặc định thời
C/T =1:bộ định thời l bộ đếm
Trang 11C/T =0:bộ định thời l bộ định khoảng thời gian.
1 M0 0 Bit chọn chế độ hoạt động của bộ định thời
0 M1 0 Bit chọn chế độ hoạt động của bộ định thời
2.2 Bàn phím
Bàn phím gồm các nút Mỗi nút là một bộ phận đóng mở bằng cơ khí Các
mã của bàn phím tạo ra có thể được tạo ra trực tiếp hoặc bằng phép quét hàng vàquét cột Bàn phím gồm 16 phím được xắp xếp theo kiểu 4x4 ( với 4 cột và 4dòng)
Chức năng: là tín hiệu đầu vào cho bộ xử lý trung tâm, nhập mã đóng mởcửa
Trang 12nên LCD, tức là Liquid Crystals (thạch anh lỏng) Các tinh thể bình thườngchúng ở thể rắn với sự định hướng đặc biệt.
Khi sản xuất LCD, nhà sản xuất đã tích hợp chíp điều khiển (HD44780)bên trong lớp vỏ và chỉ đưa các chân giao tiếp cần thiết Các chân này đượcđánh số thứ tự và đặt tên như bên dưới :
b) Chức năng của các chân LCD
1 Vss Chân nối đất cho LCD, khi thiết kế mạch ta nối chân
này với GND của mạch điều khiển
2 Vdd Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối
chân này với VCC=5V của mạch điều khiển
3 Vee Chân này dùng để điều chỉnh độ tương phản của LCD
4
Rs
Chân chọn thanh ghi (Register select) Nối chân RSvới logic “0” (GND) hoặc logic “1” (VCC) để chọn thanhghi
+ Logic “0”: Bus D0-D7 sẽ nối với thanh ghi lệnh IR củaLCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉcủa LCD (ở chế độ “đọc” - read)
+ Logic “1”: Bus D0-D7 sẽ nối với thanh ghi dữ liệu DR
Trang 13bên trong LCD.
Chân chọn chế độ đọc/ghi (Read/Write) Nối chân R/
W với logic “0” để LCD hoạt động ở chế độ ghi, hoặc nốivới logic “1” để LCD ở chế độ đọc
6
E
Chân cho phép (Enable) Sau khi các tín hiệu được đặtlên bus D0-D7, các lệnh chỉ được chấp nhận khi có 1xung cho phép của chân E
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyểnvào(chấp nhận) thanh ghi bên trong nó khi phát hiện mộtxung (high-to-low transition) của tín hiệu chân E
+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra D0-D7 khiphát hiện cạnh lên (low-to-high transition) ở chân E vàđược LCD giữ ở bus đến khi nào chân E xuống mức thấp
Thanh ghi IR : khi ta nạp vào thanh ghi IR một chuỗi 8 bit, chíp HD44780
sẽ tra bảng mã lệnh tại địa chỉ mà IR cung cấp và thực hiện lệnh đó
Thanh ghi DR : Thanh ghi DR dùng để chứa dữ liệu 8 bit để ghi vào vùngRAM DDRAM hoặc CGRAM (ở chế độ ghi) hoặc dùng để chứa dữ liệu từ 2vùng RAM này gởi ra cho MPU (ở chế độ đọc)
+ Vùng Ram hiển thị DDRAM(Display Data RAM):
Đây là vùng RAM dùng để hiển thị, nghĩa là ứng với một địa chỉ của RAM làmột ô kí tự trên màn hình và khi bạn ghi vào vùng RAM này một mã 8 bit, LCD
Trang 14sẽ hiển thị tại vị trí tương ứng trên màn hình một kí tự có mã 8 bit mà chúng ta
đã cung cấp.Vùng RAM này có 80x8 bit nhớ, nghĩa là chứa được 80 kí tự mã 8bit
+ Vùng RAM chứa kí tự đồ họa CGRAM (Character Generator RAM)
Nhà sản xuất dành vùng có địa chỉ byte cao là 0000 để người dùng có thể tạocác mẫu kí tự đồ họa riêng Tuy nhiên dung lượng vùng này rất hạn chế: Ta chỉ
có thể tạo 8 kí tự loại 5x8 điểm ảnh, hoặc 4 kí tự loại 5x10 điểm ảnh Địa chỉ tử 40h đến 7Fh
2.4 Khối nguồn
Chức năng: cung cấp nguồn hoạt động cho hệ thống vi điều khiển củng như
hệ thống báo động
Sử dụng 7805 cung cấp cho vi điều khiển và lcd
Dùng nguồn 5V xoay chiều đưa vào cầu điốt để tạo ra điện áp một
chiều, qua tụ san phẳng cho điện áp bằng phẳng hơn Dùng IC7805
để ổn định điện áp đầu ra cho mạch của khối điều khiển
2.5 Bộ reset
Trang 15Chân RESET được kết nối như sau: Với Vi điều khiển sử dụng thạch anh có
tần số fzat = 12MHz sử dụng C=10µF và R=1KΩ.
2.6 Bộ tạo dao động
Mạch tạo dao động bên trong chip 8051 được ghép với thạch anh bên ngoài
ở hai chân XTAL1 và XTAL2 Tần số danh định của thạch anh là 12MHz
Sơ đồ nguyên lý thạch anh tụ gốm
2.7 Khối báo động và LED
Chức năng: nhận tín hiệu từ bộ xử lý trung tâm, phát ra tín hiệu báo độngbằng âm thanh
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
LED hiển thị kết quả từ lệnh bàn phím đưa vào
Chương 3: Thiết kế và thi công
1 Sơ đồ mạch cơ bản
Trang 162 Nguyên lý hoạt động
Khi muốn mở cửa thì phải gõ đúng mật khẩu với độ dài 6 ký tự Nếu gõđúng thì màng hình LCD sẽ hiện mở cửa Và gõ sai thì màn hình LCD hiển thịchữ nhập sai mật khẩu Nếu nhập mật khẩu sai 3 lần liên tiếp thì hệ thống báođộng
Muốn đổi mật khẩu ta nhấn nút đổi mật khẩu trên bàn phím, và ta phải nhậpmật khẩu mới, nhập xong thì nhấn nút xác nhận theo chỉ dẫn trên màng hìnhLCD, vậy là mật khẩu đã được đổi
3 Sơ đồ thuật toán
15
Bắt đầu
Khởi Tạo Biến, Mảng, LCD
Quét phím
Nh
ập phím
Mở cửa – đổi pass
Kiểm tra số lần
>=3
Trang 174 Mã nguồn của chương trình
Trang 18"Mo Cua","Dung ","KhoaCua"};
const byte ROWS = 4;
const byte COLS = 4;
//initialize an instance of class NewKeypad
Keypad customKeypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);
Trang 21User_is_good = true; //gets out of while loop
user -= 1; // ENTER: 1 = master, 2 = user, but the array is 0 for master and 1 for user Thismakes it so
Trang 22if(customKey == '#') // press # to store new passwrd for userlcd.clear();
{ // This can be used for any array size,
Data[currentCommand ] = 0; //clear for new data
Trang 23Tài liệu tham khảo
1 Phần mềm vẽ mạch proteus và keil c
2 Họ Vi Điều Khiển 8051” của thầy Tống Văn On và Hoàng Đức Hải
3 “Giáo Trình Vi Điều Khiển” Của GV Phạm Hùng Kim Khánh
4 Từ các trang web: www.dientuvietnam.net, codientu.org