Ở đây chúng 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 Hệ thống v
Trang 1HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA ĐIỆN TỬ - VIỄN THÔNG
Báo cáo môn:
THIẾT KẾ MẠCH SỬ DỤNG MÁY TÍNH
Đề tài: Mạch khóa số điện tử sử dụng vi điều khiển 8051
Giảng viên: Ths.Lại Hồng Nhung
Sinh viên thực hiện:
Vũ Thị Nguyệt – DT030232 Nguyễn Công Tùng – DT030247
Trang 2
Hà Nội, 2022
MỤC LỤC
DANH MỤC HÌNH ẢNH 2
CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG KHÓA SỐ ĐIỆN TỬ 5
1.1Sơ đồ khối và chức năng các khối 5
1.2 Nguyên lý hoạt động 6
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 8
2.1 Tổng quan về vi điều khiển 8051 8
2.2 Tổng quan về LCD 13
2.2.1 Cấu tạo 13
2.2.2 Chức năng các chân 15
2.3 Tổng quan về bàn phím 21
CHƯƠNG 3: THIẾT KẾ MẠCH VÀ THI CÔNG 22
3.1 Lưu đồ thuật toán 22
3.2 Mạch mô phỏng 23
3.4 Mạch in 27
3.5 Mạch 3D 28
3.6 Kết luận 29
Ưu điểm: 29
Nhược điểm: 29
Hướng phát triển: 29
Trang 33.7 Code 30 TÀI LIỆU THAM KHẢO 37
Trang 4DANH MỤC HÌNH ẢNH
Hình 1: Sơ đồ khối 5
Hình 2: Sơ đồ khối của bộ vi điều khiển 8
Hình 3: Sơ đồ cấu tạo 89C51 9
Hình 4: Sơ đồ chân của 8051 10
Hình 5: Màn hình LCD 16x2 15
Hình 6: Sơ đồ nguyên lý bàn phím 4x4 21
Hình 7: Lưu đồ chương trình mở cửa 22
Hình 8: Sơ đồ nguyên lý mạch khóa số điện tử 23
Hình 9: Khối trung tâm mạch khóa số 23
Hình 10: Khối hiển thị LCD 16x2 25
Hình 11: Khối bàn phím 4x4 25
Hình 12: Sơ đồ mạch in 27
Hình 13: Sơ đồ mặt trước mạch 3D 28
Hình 14: Sơ đồ mặt sau mạch 3D 29
Trang 5LỜI NÓI ĐẦU
Ngành công nghệ kỹ thuật không ngừng phát triển, việc ứng dụng vi điều khiểnngày càng được sử dụng rộng rãi trong lĩnh vực dân dụng và công nghiệp, các thiết bịđiện tử là một phần gắn với cuộc sống con người trong xã hội hiện đại, hệ thống kiểmsoát bảo vệ an ninh cũng trong xu thế đó, phần lớn hiện tại các khóa sử dụng hiện naychủ yếu là khóa cơ khí, nhưng trong công việc có bảo mật, giám sát an ninh và giớihạn người vào, thì việc ứng dụng khóa điện tử vào các cơ quan, nhà máy là mộtphương án có hiệu quả cao Ở đây chúng 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
Hệ thống vận hành ổn định, tuổi thọ cao
Trên cơ sở đó, chúng em đã đưa ra phương án thiết kế khóa điều khiển với cácchức năng như sau:
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
Hệ thống hiển thị trực quan qua LCD 16x2, có đèn chiếu sáng khi điều kiệnmôi trường tối
Trong quá trình học tập chúng em có cơ hội làm quen với vi điều khiển qua cácmôn học trên lớp và tìm hiểu thêm thông qua các tài liệu sách báo và internet, emnhận thấy: “Ứng dụng vi điều khiển vào cuộc sống là một điều thú vị và là cả một quátrình sáng tạo”
Trong báo cáo môn thiết kế mạch điện sử dụng máy tính này, chúng em chọn
đề tài: “Thiết bị khóa số điện tử sử dụng vi điều khiển 8051”.
Trang 6Sau 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 cô giáo Lại Hồng Nhung cùng sự trợ giúp của các anh chị khóa trên, các bạn trong lớp và các tài
liệu có liên quan, chúng em đã hoàn thành xong đề tài
Báo cáo đã hoàn thành xong, nhưng không thể tránh nhiều thiếu sót mong quý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ựctế
Em xin chân thành cảm ơn các thầy cô!
Trang 7CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG KHÓA SỐ ĐIỆN TỬ
1.1 Sơ đồ khối và chức năng các khối
Khóa số điện tử nói chung là khóa mã điện tử dựa trên mật khẩu Trong bài báocáo này, chúng em đã thiết kế mạch khóa số điện tử sử dụng vi điều khiển 8051, nó
có thể được sử dụng như một hệ thống kiểm tra bảo mật để hạn chế quyền truy cậpvào khu vực nhất định có mật khẩu Hệ thống được thiết kế gồm 5 khối:
Khối nguồn DC sử dụng nguồn 5V
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àn phím
và so sánh mã và đưa thông tin hiển thị ra LCD thông báo cho người dùng Từ đó đưa
KHỐI XỬ LÝTRUNG TÂM
Trang 8Sử dụng chip: AT89C51
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à 4 dòng)
Thực hiện chức năng nhập các dữ liệu đưa đến vi điều khiển và bao gồm thaotác nhập mật khẩu, thay đổi mật khẩu, mở cửa, khóa cửa
Chức năng: cung cấp nguồn hoạt động cho hệ thống vi điều khiển
Khối mạch điều khiển động cơ đóng ,mở cửa
Chức năng: Đóng và mở cửa khi có tín hiện tương ứng từ bộ xử lý trung tâm.Mạch sử dụng mạch cầu H để điều khiển và động cơ sử dụng là động cơ DC
1.2 Nguyên lý hoạt động
Nhập một mật mã đưa tới khối giao tiếp và hiển thị những thông tin tới ngườidùng Rồi khối điều khiển sẽ gửi tín hiệu tới một thiết bị chấp hành đóng/ngắt hoặcđiều khiển cho đóng hoặc mở của nếu như mật mã đúng và đưa ra thông báo khi cómật khẩu sai
Ban đầu:
Trên màn hình LCD sẽ hiển thị “ KHOA SO DIEN TU DT3 HVKTMMN10”,“NHAP MAT KHAU”
Trang 9Nhậ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, nếu nhập đúng thì LCD hiển thị “ CHINH XAC, MO CUA SAU5S”, nếu nhập sai thì LCD hiển thị: “ SAI MAT KHAU, K MO DUOCCUA”
Trang 10CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Tổng quan về vi điều khiển 8051
Hình 2: Sơ đồ khối của bộ vi điều khiển
Kiến trúc của bộ vi xử lý điều khiển 8051
IC vi điều khiển 8051/8031 thuộc họ MCS51 có các đặt điểm sau :
- 4 kbyte ROM (được lập trình bởi nhà sản xuất chỉ có ở 8051)
- 128 byte RAM - 4 port I/0 8 bit 4
- Hai bộ định thời 16 bits
- Giao tiếp nối tiếp
- 64KB không gian bộ nhớ chương trình ngoài
- 64 KB không gian bộ nhớ dữ liệu ngoài
- Bộ xử lí luận lí (thao tác trên các bit đơn)
- 210 bit được địa chỉ hóa
- Bộ nhân / chia 4μs
Trang 11Hình 3: Sơ đồ cấu tạo 89C51
Phần chính của vi điều khiển 8051 là bộ xử lí trung tâm (CPU: central processing unit) bao gồm :
- Thanh ghi tích lũy A
- Thanh ghi tích lũy phụ B, dùng cho phép nhân và phép chia
- Đơn vị logic học (ALU : Arithmetic Logical Unit )
- Từ trạng thái chương trình (PSW : Prorgam Status Word)
- Bốn băng thanh ghi
- Con trỏ ngăn xếp
- Ngoài ra còn có bộ nhớ chương trình, bộ giải mã lệnh, bộ điều khiển thời gian vàlogic EA\ RST\ PSEN\ ALE\ P0\ P1\ P2\ P3
Trang 12- Bộ nhớ dữ liệu (RAM) tồn tại độc lập so với bộ nhớ chương trình Họ vi điều khiển
8051 có bộ nhớ dữ liệu tích hợp trên chip nhỏ nhất là 128byte và có thể mở rộng với
bộ nhớ dữ liệu ngoài lên tới 64 kByte
Hình 4: Sơ đồ chân của 8051
Vi điều khiển 8051 có 32 trong 40 chân có chức năng như là các cổng I/O, trongđoa 24 chân được sử dụng với hai mục đích Nghĩa là ngoài chức năng cổng I/O, mỗichân có công dụng kép này có thể là một đường điều khiển của Bus địa chỉ hay Bus
dữ liệu hoặc là mỗi chân hoạt động một cách độc lập để giao tiếp với các thiết đơn bitnhư là công tắc, LED, transistor…
Port 0
Port 0 (P0.0 – P0.7) có số chân từ 32 – 39
Port 0 có hai chức năng:
Port xuất nhập dữ liệu(P0.0 – P0.7) không sử dụng bộ nhớ ngoài
Bus địa chỉ byte thấp và bus dữ liệu đa hợp(AD0 - AD7) có sử dụng bộnhớ ngoài
Trang 13Lưu ý: Khi Port 0 đóng vai trò là port xuất nhập dữ liệu thì phải sử dụng các điện trở
kéo lên bên ngoài
Ở chế độ mặc định (khi reset) thì các chân Port 0 (P0.0 - P0.7) được cấu hình làport xuất dữ liệu Muốn các chân Port 0 làm port nhập dữ liệu thì cần phải lập trìnhlại, bằng cách ghi mức logic cao (mức 1) đến tất cả các bit của port truớc khi bắt đầunhập dữ liệu từ port (vấn đề này được trình bày ở phần kế tiếp)
Khi lập trình cho ROM trong chip thì Port 0 đóng vai trò là ngõ vào của dữ liệu(D0 – D7)
❖ Port 1: Là một port I/O chuyên dụng trên các chân 1-8 của MC8051 Chúng được
sử dụng với một múc đích duy nhất là giao tiếp với các thiết bị ngoài khi cần thiết
❖ Port 2: (P2.0 – P2.7) có số chân từ 21 – 28.
Port 2 có hai chức năng:
Port xuất nhập dữ liệu (-2.0 - P2.7) không sử dụng bộ nhớ ngoài
Bus địa chỉ byte cao (A8 – A15) có sử dụng bộ nhớ ngoài
Ở chế độ mặc định (khi reset) thì các chân Port 2 (P2.0 – P2.7) được cấuhình là port xuất dữ liệu Muốn các chân Port 2 làm port nhập dữ liệu thì cần phải lậptrình lại, bằng cách ghi mức logic cao (mức 1) đến tất cả các bit của port truớc khi bắtđầu nhập dữ liệu từ port (vấn đề này được trình bày ở phần kế tiếp)
Khi lập trình cho ROM trong chip thì Port 2 đóng vai trò là ngõ vào của địa chỉbyte cao (A8 – A11) và các tín hiệu điều khiển
Port 3:
Port 3 (P3.0 – P3.7) có số chân từ 10 – 17
Port 3 có hai chức năng:
Port xuất và nhập dữ liệu (P3.0 – P3.7) không sử dụng bộ nhớ ngoàihoặc các chức năng đặc biệt.Các chức năng đặc biệt của Port 3 được ghitrong bảng sau:
Trang 14Bit Tên Chức năng
❖ Chân (Program Store Enable): 8051 có 4 tín hiệu điều khiển là tín hiệu
ra trên chân 29 Nó là tín hiệu điều khiển để cho phép truy xuất bộ nhớ chương trình
mở rộng và thường được nối đến chân OE (Output Enable) của một EPROM để cho phép đọc các byte mã lệnh của chương trình Tín hiệu PSEN ở mức thấp trong suốt phạm vi quá trình của một lệnh PSEN sẽ ở mức thấp trong thời gian lấy lệnh Các
mã nhị phân của chương trình được đọc từ EPROM qua bus và được chốt vào thanh ghi lệnh của 8051 để giải mã lệnh Khi thi hành chương trình trong ROM nội PSEN
sẽ ở mức cao
❖ Chân ALE (Address Latch Enable): ALE là tín hiệu để chốt địa chỉ vào một
thanh ghi bên ngoài trong nữa đầu của chu kỳ bộ nhớ Sau đó, các đường Port 0 dùng
để xuất hoặc nhập dữ liệu trong nữa sau chu kỳ của chu kỳ bộ nhớ.Các xung tín hiệu
ALE có tốc độ bằng 1/6 lần tần số dao động trên chip và có thể được dùng là nguồn
xung nhịp cho các hệ thống Nếu xung trên 8051 là 12MHz thì ALE có tần số 2MHz Chân này cũng được làm ngõ vào cho xung lập trình cho EPROM trong 8051.
❖ Chân (External Access): Tín hiệu vào EA trên chân 31 thường được nối lên mức cao (+5V) hoặc mức thấp (GND)
Trang 15 Chân RST :
RST (Reset): thiết lập lại, chân số 9.
Chức năng:
Là tín hiệu cho phép đặt lại trạng thái ban đầu chp hệ thống
Là tín hiệu nhập, tích cực mức cao RST = 0 8051 hoạt độngbình thường RST = 1 8051 được thiết lập lại trạng thái banđầu
(µs): thời gian reset
(MHz): tần số thạch anh
(µs): chu kỳ máy
❖ Chân XTAL1, XTAL2:
XTAL (Crystal): tinh thể thạch anh, chân số 18-19
Chức năng:
● Dùng để nối với thạch anh hoặc mạch dao động tạo xung clockbên ngoài, cung cấp tín hiệu xung clock cho chip hoạt động
● XTAL1 – ngõ vào mạch tạo xung clock trong chip
● XTAL2 – ngõ ra mạch tạo xung clock trong chip
2.2 Tổng quan về LCD
2.2.1 Cấu tạo
LCD (Liquid Crystals Display ): Màn hình tinh thể lỏng, cơ sở vật lý để LCD
có thể hiển thị được thông tin, hình ảnh chính là do đặc tính của vật liệu chế tạo nênLCD, tức là Liquid Crystals (thạch anh lỏng) Các tinh thể bình thường chúng ở thể
Trang 16rắn với sự định hướng đặc biệt Tuy nhiên ở đây các thể lỏng được cấu trúc từ cáctinh thể động Các tinh thể này có thể điều chỉnh bởi một điện trường đây là một cách
để điều khiển chất lỏng thay đổi từ trong suốt đến trạng thái mờ đục (chắn sáng)
LCD gồm hai bề mặt dạng rãnh, giữa hai bề mặt này là một lớp thạch anh lỏng(Liquid Crystal)
Để có một điểm tối trên LCD: ánh sáng phát ra từ bên trong LCD sẽ đi qua bềmặt rãnh thứ nhất (lớp lọc đơn cực), sau đó ánh sáng đi qua lớp Liquid Cristal (lớpnày được phân cực nên ánh sáng qua nó mà không bị xoắn), sau đó ánh sáng qua bềmặt rãnh thứ hai lớp phân cực thứ hai(lớp lọc đơn cực), ánh sáng không ló ra đượckhỏi lớp này(bị chặn lại hoàn toàn) ta thấy một điểm tối trên màn hình LCD
Để có một điểm sáng trên LCD: quá trình đi tương tự nhưng khác ở chỗ ánhsáng qua lớp Liquid Cristal không được phân cực nên ánh sáng bị xoắn 90 độ, nhờ thế
mà đi qua được bề mặt rãnh thứ hai(lớp lọc đơn cực) Ta thấy một điểm sáng trênLCD
Trang 172.2.2 Chức năng các chân
Chức năng
Hình 5: Màn hình LCD 16x2
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
Chân chọn thanh ghi (Register select)
+ Logic “0”: Bus DB0-DB7 sẽ nối với thanh ghi lệnh IRcủa LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm địa chỉ của LCD (ở chế độ “đọc” - read)
+ Logic “1”: Bus DB0-DB7 sẽ nối với thanh ghi dữ liệu
DR bên trong LCD
Chân chọn chế độ đọc/ghi (Read/Write) Nối chân R/W vớilogic “0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic “1” để LCD ở chế độ đọc
Chân cho phép (Enable) Sau khi các tín hiệu được đặt lên
Trang 18+ Ở chế độ đọc: Dữ liệu sẽ được LCD xuất ra DB0-DB7 khi phá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
Chân VDD, VSS và VEE: Các chân VDD, VSS và VEE: Cấp dương nguồn 5V
và đất tương ứng thì VEE được dùng để điều khiển độ tương phản của LCD
Chân chọn thanh ghi RS (Register Select): Có hai thanh ghi trong LCD, chânRS(Register Select) được dùng để chọn thanh ghi, như sau: Nếu RS = 0 thì thanh ghi
mà lệnh được chọn để cho phép người dùng gửi một lệnh chẳng hạn như xoá mànhình, đưa con trỏ về đầu dòng v.v… Nếu RS = 1 thì thanh ghi dữ liệu được chọn chophép người dùng gửi dữ liệu cần hiển thị trên LCD
Chân đọc/ ghi (R/W): Đầu vào đọc/ ghi cho phép người dùng ghi thông tin lênLCD khi R/W = 0 hoặc đọc thông tin từ nó khi R/W = 1
Trang 19Chân cho phép E (Enable): Chân cho phép E được sử dụng bởi LCD để chốt dữliệu của nó Khi dữ liệu được cấp đến chân dữ liệu thì một xung mức cao xuống thấpphải được áp đến chân này để LCD chốt dữ liệu trên các chân dữ liêu Xung này phảirộng tối thiểu là 450ns.
Chân D0 - D7: Đây là 8 chân dữ liệu 8 bít, được dùng để gửi thông tin lên LCDhoặc đọc nội dung của các thanh ghi trong LCD Để hiển thị các chữ cái và các con
số, chúng ta gửi các mã ASCII của các chữ cái từ A đến Z, a đến f và các con số từ 0
-9 đến các chân này khi bật RS = 1 Cũng có các mã lệnh mà có thể được gửi đến LCD
để xoá màn hình hoặc đưa con trỏ về đầu dòng hoặc nhấp nháy con trỏ
Chú ý: Chúng ta cũng sử dụng RS = 0 để kiểm tra bít cờ bận để xem LCD có sẵn
sàng nhân thông tin Cờ bận là bít D7 và có thể được đọc khi R/W = 1 và RS = 0 như
sau:
Nếu R/W = 1, RS = 0 khi D7 = 1 (cờ bận 1) thì LCD bận bởi các công việc bên
trong và sẽ không nhận bất kỳ thông tin mới nào Khi D7 = 0 thì LCD sẵn sàng nhận
thông tin mới
Lưu ý: Chúng ta nên kiểm tra cờ bận trước khi ghi bất kỳ dữ liệu nào lên LCD.
Bảng mã lệnh của LCD
gian thi hành
RS R/W
R
DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7Xóa
Trang 2140us
Trang 22Mã (Hex) Lệnh đến thanh ghi của LCD
1 Xóa màn hình hiển thị
4 Giảm con trỏ (dịch con trỏ sang trái)
6 Tăng con trỏ (dịch con trỏ sang phải)
7 Dịch hiển thị sang trái
5 Dịch hiển thị sang phải
8 Tắt con trỏ, tắt hiển thị
A Tắt hiển thị, bật con trỏ
C Bật hiển thị, tắt con trỏ
E Bật hiển thị, nhấp nháy con trỏ
F Tắt con trỏ, nhấp nháy con trỏ
10 Dịch vị trí con trỏ sang trái
14 Dịch vị trí con trỏ sang phải
18 Dịch toàn bộ vị trí hiển thị sang trái
1C Dịch toàn bộ vị trí hiển thị sang phải
80 Ép con trỏ về đầu dòng thứ nhất
C0 Ép con trỏ về đầu dòng thứ hai
38 Hai dòng và ma trận 5x7
Trang 23Trong báo cáo chúng em thiết kế với phím 4 cột và 4 hàng.
Có phím 0 đến 9 là phím nhập mã
Trang 24CHƯƠNG 3: THIẾT KẾ MẠCH VÀ THI CÔNG 3.1 Lưu đồ thuật toán
Hình 7: Lưu đồ chương trình mở cửa