1. Trang chủ
  2. » Công Nghệ Thông Tin

Đồ án môn vi điều khiển mạng máy tính: Mạch khóa số điện tử

23 817 10

Đ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

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 821,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đồ á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 1

BỘ 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 2

Lờ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 3

Mụ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 4

Chươ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 5

3 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 6

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, ở đâ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 7

Sử 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 8

2.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 10

Bit 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 11

C/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 12

nê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 13

bê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 14

sẽ 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 15

Châ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 16

2 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 17

4 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 21

User_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 22

if(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 23

Tà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

Ngày đăng: 26/06/2017, 08:57

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w