Tải bản đầy đủ (.doc) (24 trang)

thiết kế khóa điện tử

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (321.71 KB, 24 trang )

BTL vi xử lý Thiết kế khóa điện tử
Lời nói đầu
Trong một xã hội hiện đại, sự phát triển của ngành điện tử viễn thông là
một yêu cầu không thể thiếu để thúc đẩy nền kinh tế phát triển và góp phần
nâng cao đời sống xã hội.
Ngày nay, trên thế giới, điện tử viễn thông vẫn không ngừng phát triển với
tốc độ rất cao và thâm nhập ngày càng sâu vào tất cả các lĩnh vực của đời
sống xã hội. Cùng với sự phát triển nh vũ bão đó, ngành điện tử viễn thông
Việt Nam cũng đang nỗ lực hết sức trên con đờng tìm chỗ đứng cho mình.
Trong đó, lĩnh vực bảo mật là một mảng lớn mà chúng ta cần quan tâm.
Chính vì thế, với mục đích làm quen bớc đầu với việc thiết kế mạch điện tử
nói chung và với hệ thống an toàn, bảo mật nói riêng, chúng em chọn đề tài
Thiết kế hệ thống khóa mã điện tử để nghiên cứu và thực hiện. Hệ thống
này cho phép ta quản lý và hạn chế đợc số ngời ra vào theo mã số trong khu
vực cần bảo mật với độ an toàn cao.Đề tài tuy không lớn song về mặt nguyên
lý thì có thể phát triển thành các ứng dụng quản lý theo thẻ từ, mã vạch,mã
hoá trong các khu vực đặc biệt cần phải có may tính hiện đại với CSDL,ngoài
mật mã ra còn kiểm tra tần số giọng nói và camera kiểm tra hình ảnh mà
hiện nay đang rất cần thiết. Vì thế, đối với chúng em đây là bớc cơ sở để
nghiên cứu những ứng dụng lớn hơn sau này.
Trong quá trình thực hiện đề tài, tuy đã rất cố gắng song do những hạn chế
về thời gian tìm hiểu, kiến thức cũng nh kinh nghiệm thực tế nên chúng em
không tránh khỏi nhiều thiếu sót. Chúng em rất mong nhận đợc những ý kiến
đóng góp của thầy cô và các bạn để đề tài của chúng em đợc hoàn thiện hơn,
với nhiều chức năng hơn
Hà Nội ngày 25 tháng 11 năm 2005
PHầN1: Giới thiệu chức năng hệ thống
1
BTL vi xử lý Thiết kế khóa điện tử
Đây là một hệ thống đóng mở theo mã cho phép một số ít ngời có thể
ra vào theo mã của họ. Nó có thể đợc áp dụng làm cửa ra vào của các hệ


thống cần mang tính bảo mật, giới hạn số ngời ra vào nh: Cửa ra vào cơ
quan, nhà máy, các khu quan trọng
Trên cơ sở đó, hệ thống phải đảm bảo đợc hai yêu cầu cơ bản sau:
-Tính an toàn: do là cửa nên phải có chức năng bảo vệ.
-Tính bảo mật.
I. Chức năng hệ thống:
Hệ thống quản lí một số mã ứng với một số ngời đợc cho phép ra vào
ở của này và hoạt động trên cơ sở các mã này.
Mã gồm có 6 chữ số.
Hệ thống giao tiếp với ngời sử dụng thông qua một bàn phím điều
khiển và hiển thị trên màn hình.
Bàn phím gồm các phím số 0-9 và các phím chức năng: ON, Change,
Enter, backspace(< ).
Khi bắt đầu , ngời điều khiển chọn chức năng thực hiện:
Nếu chọn Open: sau đó sẽ nhập mã. Kết thúc nhập mã băng nút Enter.
-Nếu mã đúng: cửa sẽ mở(mô phỏng trên mạch bằng việc bật
hay tắt đèn LED xanh)
-Nếu mã sai: không có hiện tợng gì cả. Nếu nhập mã sai 3 lần
liên tiếp chuông sẽ báo động. (mô phỏng trên mạch bằng việc bật hay
tắt đèn LED đỏ)
Nếu chọn Change: Kiểm tra xem mã cũ có đúng hay không.
-Nếu mã đúng: cho phép thay đổi mã bằng cách nhập vào mã
mới và xác nhận đúng mã này một lần nữa.
-Nếu mã sai: không có hiện tợng gì cả. Nếu nhập mã sai ba lần
liên tiếp chuông sẽ báo động.
Trong quá trình nhập mã, nếu có nhầm lẫn có thể nhập lại bằng cách
sử dụng nút Backspace(< )
II. Phân tích hệ thống :
II.1.Khả năng đáp ứng yêu cầu của hệ thống:
Hệ thống giao tiếp với ngời sử dụng chỉ bằng bàn phím và hiển thị do

vậy nó hạn chế đợc tác động của ngời sử dung vào nội dung bên trong của
khoá.
Với số lợng mã không lớn (cỡ 10 mã), mỗi mã dài sáu chữ số thì xác
suất tìm thấy mã đúng là: 10/1.000.000 = 0,0001%.Thêm vào đó là khả năng
báo động khi nhập ba mã sai liên tiếp làm cho hệ thống có tính an toàn cao.
Mỗi ngời có một mã riêng. Nếu nghi ngờ lộ mã, ngời dùng có thể thay
đổi mã theo mong muốn. Nhờ đó mà khả năng bảo mật của hệ thống cũng
tăng cao.
2
BTL vi xử lý Thiết kế khóa điện tử
II.2. Phân tích hệ thống:
Do giới hạn của bài tập, chúng em chỉ tập trung vào thiêt kế phần
mạch điện tử để điều khiển hệ thống này.
Theo yêu cầu đa ra, hệ thống gồm 3 khối cơ bản:
Khối bàn phím: cần 14 nút gồm:
- Các nút số từ 0-9
- Các nút chức năng: Open, Change, <
- Sử dụng cácphím bấm tự nhả để nhập vào.
Khối mạch xử lí: Xử lí các hoạt động đã nêu ở yêu cầu hệ thống.
Khối hiển thị: Giúp cho việc giao tiếp với ngời sử dụng trở nên dễ
dàng hơn ngời sử dụng biết mình đang thực hiện thao tác gì với cửa.

PHầN 2: Các phơng án
Trên cơ sở các yêu cầu đã đặt ra và các phân tích sơ bộ, từng khối đều
có các phơng án giải quyết nh sau:
I. Khối 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. Số đầu dây ra từ bàn phím phải phù hợp với đầu vào của
mạch xử lí. Đồng thời với càng ít dây thì khả năng ổn định của bàn phím

càng tăng.
Để thực hiện bàn phím 14 nút ta có thể có các phơng án sau:
I.1.Phơng án 1: Bố trí thành 1 hàng hoặc 1 cột:
Số đầu ra từ bàn phím là 14 dây.
Tốn diện tích.
Hình thức không đẹp.
I.2.Phơng án 2: Bố trí thành 2 hàng và 7 cột hoặc 7 hàng và 2 cột:
Số đầu ra từ bàn phím là 9 dây. Khả năng để giải mã khó.
Tốn diện tích.
3
BTL vi xử lý Thiết kế khóa điện tử
Hình thức không đẹp.
I.3.Phơng án 3 :Bố trí thành 4 hàng và 4 cột:
Số đầu ra từ bàn phím là 8 dây.
Hình dáng đẹp, cân đối.
Còn d 3 nút để mở rộng chức năng trong tơng lai.
Sơ đồ của bàn phím nh sau
II. Khối hiển thị:
Yêu cầu đặt ra đối với khối hiển thị là thân thiện với ngời sử dụng.
Trên cơ sở đó ta có 2 phơng án sau:
II.1.Phơng án 1: Dùng LED 7 thanh:
Ưu điểm: Đơn giản, rẻ.
Nhợc điểm: Không chỉ dẫn cụ thể.Giới hạn kí tự hiển thị ra. Nếu
muốn hiển thị chỉ dẫn dài cần nhiều LED và đi kèm với nó là bộ
giải mã. Điều này làm cho hệ thống trở nên cồng kềnh, phức
tạp.Việc lập trình quét hàng quét cột để hiển thị phức tạp.
II.2.Phơng án 2: Dùng LCD.
Ưu điểm: Hiển thị rõ ràng có kèm theo chỉ dẫn.
Thay đổi nội dung linh hoạt.Xử lý lập trình đơn giản hơn LED7
thanh và ma trận điểm.

Nhợc điểm: Giá thành đắt.
III. Mạch xử lí:
Dùng vi điều khiển:
Ưu điểm:
4
BTL vi xử lý Thiết kế khóa điện tử
- Vi điều khiển có khả năng điều khiển linh hoạt theo
mong muốn của ngời sử dụng dựa vào phần mềm đợc
viết.
- Khả năng thay đổi mã có thể thực hiện đợc.
- Hệ thống đơn giản hơn nhiều, kích thức nhỏ. Hơn nữa sẽ
giảm đợc độ kém ổn định do nhiều linh kiện gây ra.
- Có thể thay đổi, thêm chức năng bằng cách thay đổi
phần mềm.
Nhợc điểm:
- Chất lợng của hệ thống phụ thuộc vào chất lợng chơng
trình đợc nạp cho vi điều khiển.
IV. Kết luận:
Sau khi cân nhắc các phơng án đã đa ra, và khả năng phối hợp giữa các
khối, chúng em chọn giải pháp:
- Sử dụng bàn phím 4x4.
- Khối hiển thị dùng LCD.
- Khối mạch xử lí dùng vi điều khiển.
PHầN 3: phơng án dùng vi điều khiển
I. Thiết kế phần cứng:
Định hớng thiết kế:
Thiết kế một hệ vi điều khiển bao gồm cả việc thiết kế tổ chức phần
cứng và viết phần mềm cho nền phần cứng mà ta thiết kế. Việc xem xét giữa
tổ chức phần cứng và chơng trình phần mềm cho một thiết kế là một vấn đề
cần phải cân nhắc. Vì khi tổ chức phần cứng càng phức tạp, càng có nhiều

chức năng hỗ trợ cho yêu cầu thiết kế thì phần mềm càng đợc giảm bớt và dễ
dàng thực hiện nhng lại đẩy cao giá thành chi phí cho phần cứng, cũng nh
chi phí bảo trì. Ngợc lại với một phần cứng tối thiểu lại yêu cầu một chơng
trình phần mềm phức tạp hơn, hoàn thiện hơn; nhng lại cho phép bảo trì hệ
thống dễ dàng hơn cũng nh việc phát triển tính năng của hệ thống.
Từ yêu cầu và nhận định trên ta có những định hớng sơ bộ cho thiết kế
nh sau:
I.1.Chọn bộ vi điều khiển:
Từ yêu cầu của đề bài ta dự kiến dùng các chip vi điều khiển thuộc họ
MCS-51 của Intel, mà cụ thể ở đây là dùng chip 8051 vì những lý do sau:
Thứ nhất 8051 thuộc họ MCS-51, là chip vi điều khiển. Đặc
điểm của các chip vi điều khiển nói chung là nó đợc tích hợp
với đầy đủ chức năng của một hệ VXL nhỏ, rất thích hợp với
những thiết kế hớng điều khiển. Tức là trong nó bao gồm: mạch
VXL, bộ nhớ chơng trình và dữ liệu, bộ đếm, bộ tạo xung, các
cổng vào/ra nối tiếp và song song, mạch điều khiển ngắt
Thứ hai là, vi điều khiển 8051 cùng với các họ vi điều khiển
khác nói chung trong những năm gần đây đợc phát triển theo
các hớng sau:
5
BTL vi xử lý Thiết kế khóa điện tử
Giảm nhỏ dòng tiêu thụ.
Tăng tốc độ làm việc hay tần số xung nhịp của CPU.
Giảm điện áp nguồn nuôi.
Có thể mở rộng nhiều chức năng trên chip, mở rộng cho
các thiết kế lớn.
Những đặc điểm đó dẫn đến đạt đợc hai tính năng quan trọng là: giảm
công suất tiêu thụ và cho phép điều khiển thời gian thực nên về mặt ứng
dụng nó rất thích hợp với các thiết kế hớng điều khiển.
Thứ ba là, vi điều khiển thuộc họ MCS-51 đợc hỗ trợ một tập

lệnh phong phú nên cho phép nhiều khả năng mềm dẻo trong
vấn đề viết chơng trình phần mềm điều khiển.
Cuối cùng là, các chip thuộc họ MCS-51 hiện đợc sử dụng phổ
biến và đợc coi là chuẩn công nghiệp cho các thiết kế khả
dụng.Với sinh viên mới làm quen với VĐK thì 8051 có nhiều
tài liệu tham khảo,đồng thời cũng sử dụng đơn giản nhất. Mặt
khác, qua việc khảo sát thị trờng linh kiện việc có đợc chip
8051 là dễ dàng nên mở ra khả năng thiết kế thực tế.
Vì những lý do trên mà việc lựa chọn vi điều khiển AT89C51 của hãng
Atmel, đây là vi điều khiển thuộc họ MCS-51.
Cấu hình hoạt động của chip AT89C51:
-ROM trong: Flash ROM - 4KBytes
-RAM trong: 128 bytes
I.2 Tổ chức ngoại vi:
- Chip: AT89C51
- Ghép nối màn hình LCD: 16x2
Ngoài ra còn:
- LED báo hiệu chơng trình đang chạy
- Tín hiệu cho phép chạy đợc xử lý bằng cách dùng một nút ấn Reset
hệ thống.
- Tín hiệu báo động, mở cửa, đóng cửa đợc đa ra led
Sơ đồ khối của hệ thống nh sau:
6
Khối vi xử lý
AT89C51
Bàn phím
Hiển thị LCD
Báo động
LED 1
LED 2

LED
Lớn
BTL vi xử lý Thiết kế khóa điện tử
II. Vi điều khiển AT89C51:
Chức năng của từng khối :
Khối xử lý trung tâm CPU:
Phần chính của bộ vi xử lý là khối xử lý trung tâm (CPU=Central
Processing Unit ), khối này có chứa các thành phần chính :
Thanh chứa ACC (ký hiệu là A).
Thanh ghi chứa phụ (ký hiệu là B) thờng đợc dùng cho phép nhân và
phép chia.
Khối logic số học (ALU=Arithmetic Logical Unit).
Từ trạng thái chơng trình (PSW= Program Status Word).
Bốn băng thanh ghi (Blank).
Con trỏ ngăn xếp (SP=Stack Point) cũng nh con trỏ dữ liệu để định địa
chỉ cho bộ nhớ dữ liệu ở bên ngoài.
Ngoài ra, khối xử lý trung tâm còn chứa:
Thanh ghi đếm chơng trình (PC= Progam Counter ).
Bộ giải mã lệnh
Bộ điều khiển thời gian và logic.
Sau khi đợc Reset, CPU bắt đầu làm việc tại địa chỉ 0000h, là địa chỉ
đầu đợc ghi trong thanh ghi chứa chơng trình (PC) và sau đó, thanh ghi này
sẽ tăng lên 1 đơn vị và chỉ đến các lệnh tiếp theo của chơng trình.
Bộ tạo dao động:
7
Hình 2.1: Cấu trúc của vi điều khiển 8051.
Bộ tạo dao
động

CPU

Điều khiển
ngắt
Nguồn
ngắt
trong.
8Kbytes
ROM trong
256byte
RAM
trong
2bộ
đếm /
định thời
Khối
đ.khiển
quản lý
Bus.
Port
0
Port
1
Port
2
Port
3
Giao
diện
nối
tiép.
XTAL 1.2

/PSEN/ALE
Cổng I/O
8 bit
Cổng I/O
Đchỉ cao
Dữ liệu 8
bit
Cổng I/O
Đchỉ thấp
Dữ liệu 8
bit
Cổng I/O
Các chức
năng đắc biệt
Dữ liệu 8 bit
Nguồn ngắt Đếm sự kiện.
BTL vi xử lý Thiết kế khóa điện tử
Khối xử lý trung tâm nhận trực tiếp xung nhịp từ bộ tạo dao động đợc
lắp thêm vào, linh kiện phụ trợ có thể là một khung dao động làm bằng tụ
gốm hoặc thạch anh. Ngoài ra, còn có thể đa một tín hiệu giữ nhịp từ bên
ngoài vào.
Khối điều khiển ngắt:
Chơng trình đang chạy có thể cho dừng lại nhờ một khối logic ngắt ở
bên trong. Các nguồn ngắt có thể là: các biến cố ở bên ngoài, sự tràn bộ
đếm/bộ định thời hay có thể là giao diện nối tiếp. Tất cả các ngắt đều có thể
đợc thiết lập chế độ làm việc thông qua hai thanh ghi IE (Interrupt Enable)
và IP (Interrupt Priority).
Khối điều khiển và quản lý Bus :
Các khối trong vi điều khiển liên lạc với nhau thông qua hệ thống Bus
nội bộ đợc điều khiển bởi khối điều khiển quản lý Bus.

Các bộ đếm/định thời:
Vi điều khiển 8051 có chứa hai bộ đếm tiến 16 bit có thể hoạt động
nh là bộ định thời hay bộ đếm sự kiện bên ngoài hoặc nh bộ phát tốc độ Baud
dùng cho giao diện nối tiếp. Trạng thái tràn bộ đếm có thể đợc kiểm tra trực
tiếp hoặc đợc xoá đi bằng một ngắt.
Các cổng vào/ra:
Vi điều khiển 8051 có bốn cổng vào/ra (P0 P3), mỗi cổng chứa 8
bit, độc lập với nhau. Các cổng này có thể đợc sử dụng cho những mục
đích điều khiển rất đa dạng. Ngoài chức năng chung, một số cổng còn đảm
nhận thêm một số chức năng đặc biệt khác.
Giao diện nối tiếp:
Giao diện nối tiếp có chứa một bộ truyền và một bộ nhận không đồng
bộ làm việc độc lập với nhau. Bằng cách đấu nối các bộ đệm thích hợp, ta có
thể hình thành một cổng nối tiếp RS-232 đơn giản. Tốc độ truyền qua cổng
nối tiếp có thể đặt đợc trong một vùng rộng phụ thuộc vào một bộ định thời
và tần số dao động riêng của thạch anh.
Bộ nhớ ch ơng trình:
Bộ nhớ chơng trình thờng là bộ nhớ ROM (Read Only Memory), bộ
nhớ chơng trình đợc sử dụng để cất giữ chơng trình điều khiển hoạt động của
vi điều khiển.
Bộ nhớ số liệu:
Bộ nhớ số liệu thờng là bộ nhớ RAM (Ramdom Acces Memory), bộ
nhớ số liệu dùng để cất giữ các thông tin tạm thời trong quá trình vi điều
khiển làm việc.
Sự sắp xếp chân ra của vi điều khiển 8051:
Phần lớn các bộ vi điều khiển 8051 đợc đóng vào vỏ theo kiểu hai
hàng DIL (Dual In Line) với tổng số là 40 chân ra, một số ít còn lại đợc đóng
vỏ theo kiểu hình vuông PLCC (Plastic Leaded Chip Carrier) với 44 chân và
loại này thờng đợc dùng cho những hệ thống cần thiết phải tiết kiệm diện
tích.

Trong chơng trình ta sử dụng loại 89C51 kiểu 2 hàng với 40 chân ra.
III. Chi tiết từng khối:
III.1 Khối phím số:
Hệ thống sử dụng bàn phím 4x4 có giao diện nh sau:
8
BTL vi xử lý Thiết kế khóa điện tử
Các phím của bàn phím.
Trong đó:
Phím 0-9 dùng để nhập mã
Các phím chọn chức năng: open(phím ON),đổi password(phím
change),xóa ký tự vừa nhập(< ).

9
BTL vi xử lý Thiết kế khóa điện tử
Sơ đồ nguyên lý của bàn phím theo hình vẽ sau:
Nguyên lý hoạt động bàn phím:
Khi một phím đợc nhấn sẽ làm thông 2 transistor và cho đầu ra của
phím đó từ +5V về 0V tức là từ mức lôgic 1 về mức lôgic 0. Sau đó ta đa tín
hiệu ra qua hệ thống cổng NAND xử lí xung từ bàn phím vào P3.10.
Ta giải mã bàn phím đợc tín hiệu có 8 bít khi nhấn bàn phím ta lấy
luôn tín hiệu này đa vào Port2 của VĐK.Trong vi điều khiển ta lập trình nạp
mã số dạng 8 bit nh bàn phím mã hoá đợc vào lần lợt sáu thanh ghi trong
ROM. Ta đem so sánh mã bàn phím nhấn với mã đợc nạp. Để mở rộng ta có
thể giải mã bàn phím về dạng phức tạp hơn để tính bảo mật đợc tốt hơn.
Bảng mã hóa trạng thái bàn phím
.Phím
Trạng thái khi ấn phím
10
BTL vi xử lý Thiết kế khóa điện tử
ON

0 1
1 1 0 1 1 1
7 0 1 1 1 1 0 1 1
8 0 1 1 1 1 1 0 1
9 0 1 1 1 1 1 1 0
Change
1
0 1 1 0 1 1 1
4 1 0 1 1 1 0 1 1
5 1 0 1 1 1 1 0 1
6 1 0 1 1 1 1 1 0
1 1 1 0 1 1 0 1 1
2 1 1 0 1 1 1 0 1
3 1 1 0 1 1 1 1 0
0 1 1 1 0 1 0 1 1
< 1 1 1 0 1 1 1 0
III.2 Khối xử lý trung tâm:
Nhiệm vụ của khối xử lý trung tâm:
Đọc mã phím từ bàn phím để kiểm tra xem phím nào đã đợc ấn
và thực hiện chức năng của phím đó.
Lu giá trị của các mã để mở khóa.
Lu các chơng trình xử lý phím ấn: mở khóa, đổi mã, báo động
Lu chơng trình điều khiển LCD.
Chức năng của các chân của VĐK trung tâm:
-Vcc: Chân cung cấp nguồn.
-GND: Chân nối đất.
-Port1:dùng làm bus dữ liệu 8 bit tới 8 chân dữ liệu của LCD.
-Port 2:dùng để nhận dữ liệu đầu vào của mã bàn phím.
-Port 3:
Chân 3.6 nối với chân 4 RS của LCD

Chân 3.4 nối với chân 6 E của LCD
Chân 3.5 nối với chân 4 RW của LCD
Chân 3.5 nối với khối tạo tiếng bíp khi có một phím đựơc nhấn
-Chân số 9 nối với mạch reset, hoạt động ở mức High(1).
-Chân số 18,19:nối với bộ dao động thạch anh,tụ 33p để tạo dao động
cho vi AT89C51.
XTAL1, XTAL2 là bộ tạo tín hiệu giữ nhịp với tần số đợc xác
định bởi bộ cộng hởng thạch anh đợc lắp thêm vào, tần số này
xác định tốc độ làm của bộ vi điều khiển. Thông thờng các lệnh
đợc thực hiện bằng 1/12 tần số dao động của thạch anh.
-Chân số 20: Vss nối đất
-Chân số 31: EA Đóng vai trò quyết định xem vi điều khiển làm việc
với chơng trình bên trong hay bên ngoài. Với loại 8051 không có
ROM trong thì chân này phải đợc nối với mát. Loại thông thờng có thể
làm việc tuỳ theo cách lựa chọn giữa ROM trong hay ROM ngoài, khi
đang ở chế độ làm việc với bộ nhớ ROM trong, loại có chứa bộ nhớ
ROM có thể truy nhập tự động lên bộ nhớ chơng trình bên ngoài.
Trong mạch ta nối lên nguồn vì không sử dụng ROM bên ngoài
11
BTL vi xử lý Thiết kế khóa điện tử
-Chân số 40: Vdd nguồn dơng( +5V).
III.3 Khối hiển thị LCD:
Với các u điểm nh: tiêu thụ dòng thấp, hiển thị đợc hình ảnh/ký tự linh
hoạt tốt hơn nhiều so với LED ,màn hình tinh thể lỏng LCD (Liquid Crystal
Display) đợc sử dụng trong hầu hết các thiết bị điều khiển trong công nghiệp
để hiển thị trạng thái của máy móc. Ngày nay với công nghệ phát triển giá
thành của LCD cũng giảm nhiều.
Do có rất nhiều chủng loại khác nhau, nên LCD đợc sử dụng rất rộng
rãi. Tất cả các LCD đều đợc sản xuất theo các chuẩn chung, tích hợp luôn
các module điều khiển (cho LCD) nên việc sử dụng nó không mấy phức tạp.

Bộ điều khiển LCD cung cấp một tập lệnh dùng để diều khiển LCD.
Trong ứng dụng cụ thể này, do không yêu cầu hiển thị phức tạp nên
em chọn loại LCD kiểu ký tự, với 16 ký tự, 2 hàng (16characters x 2lines).
LCD sử dụng ma trận chữ 5x8 (font 5x8), module điều khiển là HD44780.
Tên của LCD này là DM1602B.
CHARACTER TYPE LCD MODULE
OD-DM 1602B 16charsX2lines
V
ss
V
dd
V
o
RS RW E
D
0
D
1
D
2
D
3
D
4
D
5
D
6
D
7

1 2 3 4 5 6
10 11987 12 13 14
15
16
LED
+
-
LCD : DM 1602B
Bng : Chc nng ca tng chõn v ghộp ni chi tit LCD- 89C51 :
STT

hiu
Ni vi
vi x lý
Mc logic Chc nng
1 Vss 0 V (Ground)
2 Vcc 5 V (Supply)
3 Vee iu khin sỏng ti cho LCD
4 RS
P3.7
H/L
H: chn thanh ghi vo d liu.
L: chn thanh ghi cho lờnh iu
khin.
5 R/W
P3.6
H/L
chn ch c vit:
H: cho bit c t LCD vo VXL.
L: cho bit c t VXL vo LCD.

6 E
P3.5
xung L-H-L
t ớn hiu cho phộp LCD hot
ng.
7 DB0 P1.0 H/L Bit d liu 0
8 DB1
P1.1
H/L Bit d liu 1
9 DB2 P1.2 H/L Bit d liu 2
10 DB3 P1.3 H/L Bit d liu 3
12
BTL vi xử lý Thiết kế khóa điện tử
11 DB4
P1.4
H/L Bit d liu 4
12 DB5 P1.5 H/L Bit d liu 5
13 DB6
P1.6
H/L Bit d liu 6
14 DB7 P1.7 H/L Bit d liu 7
15 0 V (Ground)
16 5 V ngun cp cho ốn backline.
Điều khiển hoạt động của LCD:
Hoạt động của LCD đợc điều khiển thông qua 3 tín hiệu E, RS, RW.
-Tín hiệu E là tín hiệu cho phép gửi dữ liệu. Để gửi dữ liệu đến LCD, chơng
trình phải thiết lập E=1, sau đó đặt các trạng thái điều khiển thích hợp lên
RS, RW và bus dữ liệu, cuối cùng là đa E về 0. Hoạt động chuyển đổi từ cao-
xuống-thấp cho phép LCD nhận dữ liệu hiện thời trên các đờng điều khiển
cũng nh trên bus dữ liệu và xem đó nh là một lệnh.

-Tín hiệu RS là tín hiệu cho phép chọn thanh ghi (Register Select ). Khi
RS=0, dữ liệu đợc coi nh là một lệnh hay một chỉ thị đặc biệt (nh là xóa màn
hình, đặt vị trí con trỏ). Khi RS=1, dữ liệu đợc coi là dữ liệu dạng văn bản
và sẽ đợc hiển thị trên màn hình.
-Tín hiệu RW là tín hiệu Đọc/Ghi. Khi RW=1, thông tin trên bus dữ liệu
đợc ghi vào LCD. Khi RW=0, chơng trình sẽ đọc LCD.
-Bus dữ liệu gồm 4 hoặc 8 đờng tùy thuộc vào chế độ hoạt động mà ngời sử
dụng lựa chọn (ở đây chơng trình sử dụng bus dữ liệu 8-bít).
Mã lệnh điều khiển của LCD:
Command Binary
D7 D6 D5 D4 D3 D2 D1 D0
Hex
Clear Display 0 0 0 0 0 0 0 1 01
Display & Cursor Home 0 0 0 0 0 0 1 X 02 or 03
Chacractor Entry Mode 0 0 0 0 0 1 I/D S 04 to 07
Display On/Off & Cursor 0 0 0 0 1 D U B 08 to 0F
Display/Cursor Shift 0 0 0 1 D/C R/L X X 10 to1F
Funtion Set 0 0 1 8/4 2/1 10/7 X X 20 to 3F
Set Ggram Address 0 1 A A A A A A 40 to 7F
Set Display Address 1 A A A A A A A 80 to FF
13
BTL vi xử lý Thiết kế khóa điện tử
I/D:1= Increment*, 0=Decrement R/L: 1 = Right Shift, 0 = Left Shift
S : 1= Display Shift on, 0= Display Shift off* 8/4: 1 = 8 bit interface*, 0 = 4 bit interface
D: 1= Display On, 0= Display Off* 2/1: 1 = 2 line mode, 0= 1 line mode
D/C :1=Display Shift, 0=Cursor move 10/7 :1= 5x10 dot format, 0= 5x7 dot format
x = Dont care * = initialisation settings.
III.4. Khối báo động:
Khi ngời sử dụng nhập mã sai 3 lần thì sẽ kích cho tín hiệu báo động.
Để đơn giản, tín hiệu báo động đợc đa ra đèn led để chúng ta quan sát. Mở

rộng thiết kế khi thời gian nhiều hơn chúng em sẽ mắc rơle điều khiển động

III.5. Sơ đồ khối toàn mạch:
IV.2. Mã nguồn:đợc viết và dịch sang hex bằng phần mền READS51
14
BTL vi xö lý ThiÕt kÕ khãa ®iÖn tö
; READS51 generated header
;
#include <sfr51.inc>
;Cong P1 duoc ket noi voi LCD.
;Cong P2 dung de nhan du lieu gui tu ban phim.
;Chan P3.6 noi voi chan 6 ENcua LCD.
;Chan P3.4 noi voi chan 4 RS cua LCD.
;Chan P3.5 noi voi chan 5 RW cua LCD.
;Chan P3.7 noi voi khoi tao tin hieu nhay den khi LED khi nhan phim
ORG 0
;| |
;Chuong trinh phuc vu ngat cho ban phim
MAIN:
MOV 50,#4H
CLR P3.7
MAIN_ENABLE_LOOP:
LCALL INIT_LCD ;Khoi tao trang thai ban dau cho LCD
LCALL CLEAR_LCD
LCALL DELAY1S
;Viet "Password: "
MOV A,#'P'
LCALL TEXT_LCD
MOV A,#'a'
LCALL TEXT_LCD

MOV A,#'s'
LCALL TEXT_LCD
MOV A,#'s'
LCALL TEXT_LCD
MOV A,#'w'
LCALL TEXT_LCD
MOV A,#'o'
LCALL TEXT_LCD
MOV A,#'r'
LCALL TEXT_LCD
MOV A,#'d'
LCALL TEXT_LCD
MOV A,#':'
LCALL TEXT_LCD
MOV A,#'-'
LCALL TEXT_LCD
MOV A,#'-'
LCALL TEXT_LCD
MOV A,#'-'
LCALL TEXT_LCD
MOV A,#'-'
LCALL TEXT_LCD
MOV A,#'-'
LCALL TEXT_LCD
15
BTL vi xö lý ThiÕt kÕ khãa ®iÖn tö
MOV A,#'-'
LCALL TEXT_LCD
MOV A,R7
MOV R7,#06H ;Dich chuyen vi tri con tro doi ve vi tri dau

SHIFT_L6:
LCALL SHIFT_LEFT
LCALL DELAY
DJNZ R7,SHIFT_L6
MOV R7,A
LCALL SET_PASSWORD
;| |
;111111111111111111111111111111111111111111111111111
;Doan chuong trinh thuc hien viec nhap vao 6 ki tu ma
;Ghi du lieu nhan duoc vao cac thanh ghi tu R1 den R6 cua bang
;thanh ghi thu hai.
;Viet ra ki tu * moi khi du lieu tren cac dau vao P2 duoc ghi
;hoan chinh vao trong cac thanh ghi tuong ung;
;Lap lai qua trinh 6 lan, neu co xoa, an phim CLEAR, thi
;phai co xu li
;Moi khi mot phim duoc nhan thi chuong trinh se dung lai
;trong mot khoang thoi gian nhat dinh, de tranh tinh trang
;co nhung dot bien xung khong theo y muon
;xay ra trong mach
;Sau do no se nhan du lieu tu cong P2 dua vao thanh ghi tuong ung
;Ma thu nhat ghi vao thanh ghi R1;
;Ma thu hai ghi vao thanh ghi R2;
; ;
;Ma thu 6 ghi vao thanh ghi R6;
;Tat ca deu la thanh ghi bang 2
;Sau khi ghi xong thi se lien tuc kiem tra xem bit P3.0 da ve muc 1
;chua, neu van dang con nhan phim, tuc la van dang muc 0 thi doi,
;cho den khi bit P3.0 tro ve muc cao, khi do phat tin hieu len
;bit P3.7 de nguoi su dung biet la minh vua tha phim xong,
;va co the thuc hien viec nhap ma tiep theo

;Vi vay trong qua trinh su dung nguoi dung phai giu phim nhan
;trong mot thoi gian nhat dinh sau khi nha phim co tin hieu bao
;thi moi tien hanh nhap mot ma moi duoc, khong the nhap phim qua
;nhanh, dieu nay se khong dung nhu mong muon cua nguoi dung

;CTC thiet lap password
SET_PASSWORD:
MOV R4,#6H
MOV R0,#35H
HERE:
16
BTL vi xö lý ThiÕt kÕ khãa ®iÖn tö
LCALL DELAY1S ;Doi mot luc de tranh xung bat thuong, ngoai mong
muon
;Dung bit P3.0 de kiem tra co phim nhan khong
SETB P3.0
JB P3.0,HERE ;Doi cho den luc nao phim duoc nhan, chan P3.0
;ve muc 0
MOV A,#FFH
MOV P2,A ;Dat cong P2 lam cong vao
MOV A,P2
;Kiem tra xem do co phai la phim Clear khong
;Neu phai thi xoa lui lai mot ki tu, va giam gia tri R0 xuong 1
CJNE A,#E7H,LABEL_CONTINUOUS
LCALL CLEAR_SHIFT_L
SJMP CONTINUOUS
LABEL_CONTINUOUS:
MOV @R0,A ;Tang dia chi cua thanh ghi len tuong ung voi thanh ghi R1
bang 1
WAIT_HERE:JNB P3.0,WAIT_HERE;Doi neu nhu chua nha phim ra

MOV A,#'*'
LCALL TEXT_LCD;Viet len LCD ki tu '*'
LCALL DELAY1S
INC R0
CONTINUOUS:DJNZ R4, HERE
LCALL DELAY1S
;So sanh mat khau nhap voi mat khau truoc
LCALL COMP_PASSWORD
RET
;111111111111111111111111111111111111111111111111111
;111111111111111111111111111111111111111111111111111
;Chuong trinh xoa mot ki tu va giam R0 xuong 1
CLEAR_SHIFT_L:
CJNE R4,#6,CLEAR_CONTINUOUS
SJMP CONSTANT
CLEAR_CONTINUOUS:
LCALL SHIFT_LEFT
LCALL DELAY1S
MOV A,#'-'
LCALL TEXT_LCD
LCALL SHIFT_LEFT
DEC R0
INC R4
CONSTANT:
INC R4
RET
;111111111111111111111111111111111111111111111111111
;111111111111111111111111111111111111111111111111111
;Chuong trinh thuc hien viec so sanh ma nhap vao voi ma thuc
17

BTL vi xö lý ThiÕt kÕ khãa ®iÖn tö
COMP_PASSWORD:
ORG 200H
MY_PASS_WORD: DB 7BH,7BH,7BH,7BH,7BH,7BH
MOV R1,#35H
MOV DPTR,#MY_PASS_WORD
MOV R6,#6
LOOP_COMP:
CLR A
MOVC A,@A+DPTR
XRL A,@R1
JNZ LABEL_ERROR
INC R1
INC DPTR
DJNZ R6, LOOP_COMP
LCALL WRITE_STRING_OPEN
SJMP CON
LABEL_ERROR:
LCALL WRITE_STRING_ERROR
CON:
RET
;111111111111111111111111111111111111111111111111111
;111111111111111111111111111111111111111111111111111
;Chuong trinh viet len mot thong
WRITE_STRING_OPEN:
LCALL CLEAR_LCD;Xoa man hinh truoc khi viet
LCALL DELAY1S
MOV A,#'Y'
LCALL TEXT_LCD
MOV A,#'O'

LCALL TEXT_LCD
MOV A,#'U'
LCALL TEXT_LCD
MOV A,#' '
LCALL TEXT_LCD
MOV A,#'A'
LCALL TEXT_LCD
MOV A,#'R'
LCALL TEXT_LCD
MOV A,#'E'
LCALL TEXT_LCD
MOV A,#' '
LCALL TEXT_LCD
MOV A,#'W'
LCALL TEXT_LCD
MOV A,#'E'
LCALL TEXT_LCD
MOV A,#'L'
LCALL TEXT_LCD
18
BTL vi xö lý ThiÕt kÕ khãa ®iÖn tö
MOV A,#'C'
LCALL TEXT_LCD
MOV A,#'O'
LCALL TEXT_LCD
MOV A,#'M'
LCALL TEXT_LCD
MOV A,#'E'
LCALL TEXT_LCD
SETB P3.7

DUNG:SJMP DUNG
RET
;111111111111111111111111111111111111111111111111111
;111111111111111111111111111111111111111111111111111
;Chuong trinh viet len mot thong
WRITE_STRING_ERROR:
LCALL CLEAR_LCD
LCALL DELAY1S
MOV A,#'I'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'N'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'C'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'O'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'R'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'R'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'E'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'C'

LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'T'
LCALL TEXT_LCD
LCALL DELAY1S
LCALL DELAY1S
LCALL DELAY1S
LCALL CLEAR_LCD
LCALL DELAY1S
19
BTL vi xö lý ThiÕt kÕ khãa ®iÖn tö
DEC 50
MOV A,50
CJNE A,#1,LOOP
SJMP CONTI;NEU QUA BA LAN THI VO HIEU HOA KHOA
LOOP:
LCALL CLEAR_LCD
LCALL DELAY1S
MOV A,#'T'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'R'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'Y'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#' '
LCALL TEXT_LCD
LCALL DELAY1S

MOV A,#'A'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'G'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'A'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'I'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'N'
LCALL TEXT_LCD
LCALL DELAY1S
LCALL DELAY1S
LCALL CLEAR_LCD
LCALL DELAY1S
LJMP MAIN_ENABLE_LOOP;CHO PHEP NHAP TIEP
CONTI:
LCALL CLEAR_LCD
LCALL DELAY1S
MOV A,#'A'
LCALL TEXT_LCD
LCALL DELAY1S
CPL P3.7
MOV A,#'L'
LCALL TEXT_LCD
LCALL DELAY1S
20

BTL vi xö lý ThiÕt kÕ khãa ®iÖn tö
CPL P3.7
MOV A,#'R'
LCALL TEXT_LCD
LCALL DELAY1S
CPL P3.7
MOV A,#'M'
LCALL TEXT_LCD
LCALL DELAY1S
MOV A,#'I'
CPL P3.7
LCALL TEXT_LCD
LCALL DELAY1S
CPL P3.7
MOV A,#'N'
LCALL TEXT_LCD
LCALL DELAY1S
CPL P3.7
MOV A,#'G'
LCALL TEXT_LCD
LCALL DELAY1S
CPL P3.7
MOV A,#'!'
LCALL TEXT_LCD
LCALL DELAY1S
CPL P3.7
MOV A,#'!'
LCALL TEXT_LCD
LCALL DELAY1S
CPL P3.7

SJMP CONTI ;VO HIEU HOA KHOA
RET
;111111111111111111111111111111111111111111111111111
;111111111111111111111111111111111111111111111111111
;Chuong trinh tao tre doi LCD thuc hien lenh
WAIT_LCD:
SETB P3.4
SETB P3.5;Dat chan RW len muc cao de chi day la lenh doc LCD
CLR P3.6 ;Dat chan RS muc thap 'day la mot command'
MOV P1,#FFH
CLR P3.4
MOV P1,A
JB ACC.7,WAIT_LCD
SETB P3.4
CLR P3.5
RET
;111111111111111111111111111111111111111111111111111
;111111111111111111111111111111111111111111111111111
;Chuong trinh khoi tao trang thai ban dau cho LCD
21
BTL vi xö lý ThiÕt kÕ khãa ®iÖn tö
INIT_LCD:
MOV A,#00001111B;De khoi tao che do cho LCD
LCALL ACTION;Goi chuong trinh thuc hien lenh
RET
;111111111111111111111111111111111111111111111111111
;11111111111111111111111111111111111111111111111111
;Chuong trinh thuc hien viec dich chuyen con tro sang trai
SHIFT_LEFT:
MOV A,#00010000B

LCALL ACTION;Goi chuong trinh thuc hien lenh
RET
;111111111111111111111111111111111111111111111111111
;11111111111111111111111111111111111111111111111111
;Chuong trinh thuc hien viec dich chuyen con tro sang phai
SHIFT_RIGHT:
MOV A,#00010100B
LCALL ACTION;Goi chuong trinh thuc hien lenh
RET
;111111111111111111111111111111111111111111111111111
;111111111111111111111111111111111111111111111111111
;Chuong trinh thuc hien lenh xoa man hinh
CLEAR_LCD:
MOV A,#1H;
LCALL ACTION;Goi chuong trinh thuc hien lenh
RET
;111111111111111111111111111111111111111111111111111
;111111111111111111111111111111111111111111111111111
;Chuong trinh thuc hien lenh viet noi dung thanh ghi A lenh LCD
TEXT_LCD:
SETB P3.4
CLR P3.5
SETB P3.6;Dat chan RS muc cao "dung de viet ki tu len LCD"
MOV P1,A
CLR P3.4
LCALL WAIT_LCD
SETB P3.4
LCALL DELAY
RET
;111111111111111111111111111111111111111111111111111

;
;11111111111111111111111111111111111111111111111111
;Chuong trinh thuc hien viec thuc hien mot lenh nao do cua LCD
ACTION:
SETB P3.4
CLR P3.5;
22
BTL vi xử lý Thiết kế khóa điện tử
CLR P3.6;
MOV P1,A
CLR P3.4
LCALL WAIT_LCD;
SETB P3.4
RET
;11111111111111111111111111111111111111111111111111
;22222222222222222222222222222222222222222222222222
;Chuong trinh tao tre cho Chuong Trinh
DELAY1S:
MOV R3,#20
DJNZ R3,DELAY1S1
DELAY1S1:
MOV R1,#245
NEXT1: MOV R2,#245
AGAIN :
NOP
DJNZ R2,AGAIN
DJNZ R1,NEXT1
RET
;222222222222222222222222222222222222222222222222222
;22222222222222222222222222222222222222222222222222

;Chuong trinh tao tre cho Chuong Trinh
DELAY:
MOV R3,#2
DJNZ R3,DELAYS
DELAYS:
MOV R1,#25
NEXT11: MOV R2,#25
AGAIN1 : DJNZ R2,AGAIN1
DJNZ R1,NEXT11
RET
;222222222222222222222222222222222222222222222222222
END
Kết luận
Trên cơ sở lí thuyết đã học, chúng em đã thiết kế hệ thống khóa với độ tin
cậy có thể chấp nhận đợc dựa vào chức năng quản lí chơng trình bằng
23
BTL vi xử lý Thiết kế khóa điện tử
password trong máy tính với quy mô đơn giản hơn. Để ứng dụng vào thực tế,
hệ thống nàycòn cần đợc chỉnh sửa để tăng tính ổn định và kết nối với bộ
phận cơ khí đóng mở cửa. Ngoài ra hệ thống trên có thể phát triển thêm chức
năng giữ cho cửa mở trong một khoảng thời gian tuỳ ý theo ngời sử dụng.
Hiện nay, những hệ thống kiểm soát ra vào theo mã đã sử dụng những
hình thức quản lí tiên tiến hơn nh: thẻ từ, vân tay tuy nhiên chi phí còn rất
cao. Một hệ thống quản lí nh chúng em tập thiết kế vẫn còn có những ứng
dụng nhất định.
Do là thiết kế đầu tiên nên không thể tránh khỏi sai sót nhất định Chúng
em xin chân thành cảm ơn sự giúp đỡ và hớng dẫn của các thầy giáo và các
bạn trong thời gian vừa qua. Mong rằng sẽ nhận đợc nhiều đóng góp ý kiến
để bản thiết kế này và những bản thiết kế sau ngày càng đợc hoàn thiện hơn.
+ Phần mềm sử dụng :

- Lập trình dịch file ASM >Hex : Reads51
- Mô phỏng : Proteus 6 Professional.
- Vẽ mạch nguyên lý và mạch in : Orcad,Protel
+ Tài liệu tham khảo :
1.Họ vi điều khiển 8051
Tác giả :Tống văn On,Hoàng đức Hải
2.Cấu trúc và lập trình họ VĐK 8051
Tác giả :Nguyễn Tăng Cờng và Phan Quốc Thắng.
3.Cẩm nang thực hành Vi mạch tuyến tính TTL/LS,CMOS
Tác giả :Huỳnh Đắc Thắng.
4.Kỹ thuật số - Nguyễn Thuý Vân
5.Kỹ thuật mạch điện tử - Phạm Minh Hà
Các tài liệu khác
24

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×