Tải bản đầy đủ (.pdf) (34 trang)

Mạch khóa số điện tử sử dụng vi điều khiển 8051

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 (656.4 KB, 34 trang )

HỌ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 hướng dẫn: Lại Hồng Nhung
Sinh viên thực hiện:
Vũ Thị Nguyệt – DT030232
Nguyễn Công Tùng – DT030247

Hà Nội, 2022


Mục lục

Lời nói đầu............................................................................................................3
CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG KHÓA SỐ ĐIỆN TỬ.................4
1.1 Sơ đồ khối và chức năng các khối...............................................................4
1.2 Nguyên lý hoạt động....................................................................................5
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT......................................................................6
2.1 Tổng quan về vi điều khiển 8051................................................................6
2.2 Tổng quan về LCD....................................................................................12
2.2.1 Cấu tạo.................................................................................................12
2.2.2 Chức năng các chân.............................................................................13
2.3 Tổng quan về bàn phím.............................................................................18
CHƯƠNG 3: THIẾT KẾ MẠCH VÀ THI CƠNG.............................................19
3.1 Lưu đồ thuật tốn.......................................................................................19
3.2 Mạch mơ phỏng.........................................................................................20
3.4 Mạch in......................................................................................................23


3.5 Mạch 3D....................................................................................................24
3.6 Code...........................................................................................................25
3.7 Kết luận......................................................................................................33
Lời nhận xét của thầy cơ:....................................................................................34

Nhó m: 10

Page 2


Lờ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ển
ngà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ểm soá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 nay chủ 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ới hạ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ột phươ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 tồ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ác
chứ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 q

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ện mơi trường tối.
Trong q 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ác mô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, em nhậ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ử”
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 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 q
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ế. Em xin chân thành cảm ơn các thầy cơ!
Nhó m: 10

Page 3



CHƯƠ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ỐI NGUỒN DC

KHỐI XỬ LÝ
TRUNG TÂM

KHỐI HIỂN THỊ LCD

MẠCH ĐIỀU KHIỂN
ĐỘNG CƠ KHÓA VÀ
MỞ CỬA

BÀN PHÍM

Hình 1: Sơ đồ khối

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 các tín hiệu điều khiển đến cho khối mạch điều khiển động cơ.
Sử 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 thao

tác nhập mật khẩu, thay đổi mật khẩu, mở cửa, khóa cửa
Khối hiển thị
Dùng LCD 16x2 có chức năng chính để giao tiếp người dùng với vi điều khiển
Nhó m: 10

Page 4




Ư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

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.
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ười
dù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:
o

Trên màn hình LCD sẽ hiển thị “ KHOA SO DIEN TU DT3

HVKTMM”,“NHAP MAT KHAU”
Nhập mật khẩu:
o

LCD hiển thị nhập mật khẩu, người sử dụng nhập mã thơng qua bàn

phím, nếu nhập đúng thì LCD hiển thị “ CHINH XAC, MO CUA SAU 5S”, nếu
nhập sai thì LCD hiển thị: “ NHAP SAI MAT KHAU, K MO DUOC CUA”.

Nhó m: 10

Page 5


CHƯƠ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 ngồi
- 64 KB khơng gian bộ nhớ dữ liệu ngồ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

Nhó m: 10

Page 6


Hì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
- Ngồ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

Nhó m: 10

Page 7


- 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 ngồ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à ngồi chức năng cổng I/O,
mỗi châ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 bit như 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ớ ngồi.
• Bus địa chỉ byte thấp và bus dữ liệu đa hợp (AD0 – AD7) −> có sử dụng
bộ nhớ ngồi.

Lư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
Nhó m: 10

Page 8


trì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 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:
- 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 (P2.0 – P2.7) −>không sử dụng bộ nhớ ngồ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ấu
hì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ập trì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 nhập dữ liệu (P3.0 – P3.7) −> khơng sử dụng bộ nhớ ngồi
hoặc các chức năng đặc biệt.Các chức năng đặc biệt của Port 3 được ghi
trong bảng sau:


Bit
Nhó m: 10

Tên

Chức năng
Page 9




P3.0

RXD

Dữ liệu nhận cho Port nối tiếp

P3.1

TXD

Dữ liệu truyền cho Port nối tiếp

P3.2

INT0

Ngắt bên ngoài 0


P3.3

INT1

Ngắt ngoài 1

P3.4

TO

Ngõ vào của Timer/counter0

P3.5

T1

Ngõ vào của Timer/counter1

P3.6

/WR

Xung ghi bộ nhớ dữ liệu ngoài.

P3.7

/RD

Xung đọc bộ nhớ dữ liệu ngoài.


Chân

(Program Store Enable ) : 8051 có 4 tín hiệu điều khiển.

PSEN 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).
Nhó m: 10


Page 10




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 động bì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 clock bê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.
Lưu ý:

=12MHz (MHz): tần số danh định.

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
Nhó m: 10

Page 11


nên LCD, tức là Liquid Crystals (thạch anh lỏng). Các tinh thể bình thường
chúng ở thể rắ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ác tinh 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 2 bề mặt dạng rãnh, giữa 2 bề mặt này là 1 lớp Thạch Anh lỏng

(Liquid Crystal).
Để có 1 đ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ớp
nà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ứ 2 lớp phân cực thứ 2 (lớp lọc đơn cực), ánh sáng khơng ló ra
được khỏi lớp này (bị chặn lại hoàn toàn) ta thấy 1 điểm tối trên màn hình LCD.
Để có 1 điểm sáng trên LCD: q trình đi tương tự nhưng khác ở chỗ ánh sá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ứ 2 (lớp lọc đơn cực) .Ta thấy 1 điểm sáng
trên LCD.

Nhó m: 10

Page 12


2.2.2 Chức năng các chân
Chức năng

Chân

Tên

Chức Năng

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 IR
của LCD (ở chế độ “ghi” - write) hoặc nối với bộ đếm
địa chỉ của LCD (ở chế độ “đọc” - read)

4

5

Nhó m: 10

RS

RW

+ 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ới
logic “0” để LCD hoạt động ở chế độ ghi, hoặc nối với
logic “1” để LCD ở chế độ đọc.

Page 13


Chân cho phép (Enable). Sau khi các tín hiệu được đặt lên
bus DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung
cho phép của chân E.
+ Ở chế độ ghi: Dữ liệu ở bus sẽ được LCD chuyển
vào(chấp nhận) thanh ghi bên trong nó khi phát hiện
một xung (high-to-low transition) của tín hiệu chân E.
6

E

+ Ở 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.
Tám đường của bus dữ liệu dùng để trao đổi thông tin với
MPU. Có 2 chế độ sử dụng 8 đường bus này :
+ Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với
bit MSB là bit DB7.

7-14

DB0DB7


15,16

A,K

+ Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4
tới DB7, bit MSB là DB7.
Đèn của LCD

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ân RS(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ư xố màn hình, đưa con trỏ về đầu dịng v.v… Nếu RS = 1 thì thanh ghi dữ
liệu được chọn cho phé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ên LCD khi R/W = 0 hoặc đọc thơng tin từ nó khi R/W = 1.
Châ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

Nhó m: 10

Page 14


cao xuống thấp phả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ải rộ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

LCD hoặ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 để xố 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
Lệnh

Mã lệnh
RS

DB DB
0
1

Mơ tả

DB
2

DB
3


DB
4

DB
5

DB
6

DB
7

Thời
gian
thi
hành

Xóa
màn
hình

0

0

0

0

0


0

0

0

0

1

Xóa màn hình đưa 1.64ms
con trỏ về vị trí đầu

Đưa
con
trỏ về
vị trí
đầu

0

0

0

0

0


0

0

0

1

x

Đưa con trỏ về vị 1.64ms
trí đầu

Thiết
lập
chế độ

0

0

0

0

0

0

0


1

I/D

S

Thiết lập hướng 40us
dịch chuyển con
trỏ(I/D), dịch hiển
thị(S)

Nhó m: 10

Page 15


Bật tắt
hiển
thị

0

0

0

0

0


0

1

D

C

B Bật tắt hiển thị, con 40us
trỏ; bật tắt chế độ
nhấp nháy con trỏ

Dịch
con
trỏ
hiển
thị

0

0

0

0

0

1


S/C

R/L

*

* Thiết lập chiều dịch 40us
chuyển của con trỏ
và hiển thị

Thiết
lập
chức
năng

0

0

0

0

1

DL

N


F

*

* Thiết lập độ dài của 40us
dữ liệu, số dòng và
font chữ

Thiết
lập địa
chỉ
CGR
AM

0

0

0

1

Thiết
lập địa
chỉ
DDR
AM

0


0

1

DDRAM address

Đọc
cờ báo
bận và
địa chỉ
CGR
AM/

0

1

BF

CGRAM/ DDRAM address

1

0

CGRAM address

Thiết lập địa chỉ
CGRAM


40us

Thiết lập địa chỉ
DDRAM

40us

Đọc cờ báo bận và 40us
địa chỉ của
CGRAM hoặc
DDRAM( tùy vào
lệnh trước đó)

DDR
AM
Ghi
CGR
AM/

Nhó m: 10

Write data

Page 16

Ghi dữ liệu vào
CGRAM hoặc
DDRAM.

40us



DDR
AM
Đọc
CGR
AM/

1

1

Read data

Mã (Hex)

Lệnh đến thanh ghi của LCD

DDR
AM

Nhó m: 10

1

Xóa màn hình hiển thị

2

Trở về đầu dịng


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 tồn bộ vị trí hiển thị sang trái

1C

Dịch tồn bộ vị trí hiển thị sang phải

80

Ép con trỏ về đầu dòng thứ nhất

Page 17

Đọc dữ liệu từ

CGRAM hoặc
DDRAM

40us


C0

Ép con trỏ về đầu dòng thứ hai

38

Hai dòng và ma trận 5x7

2.3 Tổng quan về bàn phím
Giới thiệu về bàn phím

Bàn phím là 1 ma trận phím. Một phím được nhấn và thả được xác định thông
qua hàng và cột trong ma trận phím.
Nguyên lý quét ma trận phím
Thuật tốn qt phím được sử dụng là lần lượt tìm hàng và tìm cột (hay ngược
lại), khi tìm cột, các cột được đặt ở mức cao, các hàng đặt ở mức thấp. Sau đó
kiểm tra xem có cột nào ở mức thấp hay khơng ( có phím nào nhấn nối với hàng
hay khơng).sau khi xác định được cột thì cho hàng là mức cao, cột tìm được
mức thấp, rồi xác định hàng tương ứng với phím đả nhấn.
Trong 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ã.

Nhó m: 10


Page 18


CHƯƠNG 3: THIẾT KẾ MẠCH VÀ THI CÔNG
3.1 Lưu đồ thuật tốn

Lưu đồ chương trình mở cửa

Nhó m: 10

Page 19


3.2 Mạch mơ phỏng
h4 h3 h2 h1
U2
VCC

C7

R2

10µF

10µΩ

C5
1µF
C6


X1

VCC
P0B0AD0
P0B1AD1
P0B2AD2
P0B3AD3
P0B4AD4
P0B5AD5
P0B6AD6
P0B7AD7
EAVPP
ALEPROG
PSEN
P2B7A15
P2B6A14
P2B5A13
P2B4A12
P2B3A11
P2B2A10
P2B1A9
P2B0A8

40
39
38
37
36
35
34

33
32
31
30
29
28
27
26
25
24
23
22
21

D7
D6
D5
D4
D3
D2
D1
D0

5.0V

U1
P1B0T2
P1B1T2EX
P1B2
P1B3

P1B4
P1B5MOSI
P1B6MISO
P1B7SCK
RST
P3B0RXD
P3B1TXD
P3B2INT0
P3B3INT1
P3B4T0
P3B5T1
P3B6WR
P3B7RD
XTAL2
XTAL1
GND

E
RS
RW

5.0V

1
2
3
4
5
6
7

8
9
10
11
12
13
14
15
16
17
18
19
20

VCC
CV
GND

c4 c3 c2 c1
VDD

R1
3kΩ

VCC
5.0V

8051

R3

220Ω

1µF HC-49/U_15MHz
led
K1

c4 c3 c2 c1

h4 h3 h2 h1

LED1

7

8

9

+

4

5

6

-

1


2

3

*

C

0

=

/

NUMERIC_KEYPAD_4X4

Khối trung tâm

Khối xử lý trung tâm với 8051 có nhiệm vụ là nhận biết tín hiệu thu được từ bàn
phím. Sau đó xử lý các tín hiệu đó và xuất ra các tín hiệu điều khiển thích hợp
để điều khiển hệ thống theo chương trình lập sẵn.
Nhó m: 10

Page 20




Địa chỉ chức năng kết nối của hệ thống xử lý trung tâm như sau:
P3.0- RS

P3.1-RW
P34 - Tín hiệu đóng,mở cửa
P2 nối với D0-D7 của LCD
P1.0- Hàng 1
P1.1- Hàng 2
P1.2- Hàng 3
P1.3- Hàng 4
P1.4- Cột 1
P1.5- Cột 2
P1.6- Cột 3
P1.7- Cột 4

Bộ dao động thạch anh có tác dụng tạo xung nhịp với tần số 12MHz cho VĐK
hoạt động. Hai đầu này được nối vào 2chân XTAL1 và XTAL2 của VĐK.
Bộ RESET có tác dụng đưa vi điều khiển về trạng thái ban đầu. Khi nút Reset
được ấn điện áp +5V từ nguồn được nối vào chân Reset của vi điều khiển được
chạy thẳng xuống đất lúc này điện áp tại chân vi điều khiển thay đổi đột ngột về
0, VĐK nhận biết được sự thay đổi này và khởi động lại trạng thái ban đầu cho
hệ thống.
Khối hiển thị LCD

Nhó m: 10

Page 21


LCD được sử dụng là 16x2 với 2 dòng và hiển thị 4x4
Các chân được nối:
P3.0- RS
P3.1-RW

P34- Tín hiệu đóng, mở của
P2 nối với D0-D7 của LCD

Bàn phím
K1

c4 c3 c2 c1

h4 h3 h2 h1

7

8

9

+

4

5

6

-

1

2


3

*

C

0

=

/

NUMERIC_KEYPAD_4X4

Người dùng nhập mã thông qua bàn phím và bàn phím là thiết bị đầu vào được
kết nối với vi điều khiển, cung cấp tín hiệu cho bộ xử lý trung tâm, sau khi phân
tích tính hiệu và so sánh thì cho ra tín hiệu điều khiển tương ứng.
Bàn phím được dùng bằng phương pháp quét phím theo hàng và cột.
Dùng bàn phím cơ với 4 cột 4 hàng
Xắp xếp các hàng cột như bảng:
Cột 1

Cột 2

Cột 3

Cột 4

Hàng 1


7

8

9

+

Hàng 2

4

5

6

-

Hàng 3

1

2

3

*

Hàng 4


C

0

=

/

Được ghép nối với vi điều khiển tại Port P1
Với :
Nhó m: 10

Page 22


P1.0- Hàng 1

P1.4- Cột 1

P1.1- Hàng 2

P1.5- Cột 2

P1.2- Hàng 3

P1.6- Cột 3

P1.3- Hàng 4

P1.7- Cột 4


3.4 Mạch in

Nhó m: 10

Page 23


3.5 Mạch 3D
Mặt trước

Mặt sau

Nhó m: 10

Page 24


3.6 Code
#include <htc.h>
#include <string.h>
/********Khai bao chan giao tiep LCD************/
#define RS P30
#define E P31
#define lcd_data P2
// khai bao chan giao tiep phim
#define row0

P10


#define row1

P11

#define row2

P12

#define row3

P13

#define col0 P14

//hang

//cot

#define col1 P15
#define col2 P16
#define col3 P17
#define led P34
#define bat 0
#define tat 1
void delay_ms(unsigned int t);
void mocua();
void dongcua();
void mocua()
{
int sv;

Nhó m: 10

Page 25


×