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

MẠCH QUÉT MA TRẬN PHÍM 4x4 (có code)

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 (1.08 MB, 24 trang )

MẠCH QUÉT MA TRẬN PHÍM 4X4


MỤC LỤC
DANH MỤC CÁC HÌNH VẼ VII
DANH MỤC CÁC BẢNG BIỂU

VIII

DANH MỤC CÁC TỪ VIẾT TẮT IX
CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI 1
1.1

GIỚI THIỆU 1

1.1.1

Tổng quan về đề tài

1.1.2

Yêu cầu đề tài 1

1.1.3

Phương án thực hiện 1

1.2

1


CÁC THÀNH PHẦN CHÍNH TRONG MẠCH

1.2.1

Vi điều khiển AT89C51

1.2.2

Module Ma trận phím 4x4 5

1.2.3

Led 7 Đoạn6

1.2.4

IC74HC04 6

2

2

CHƯƠNG 2. THIẾT KẾ THI CÔNG 7
2.1

NGUYÊN LÝ HOẠT ĐỘNG CỦA MẠCH 7

2.2

SƠ ĐỒ KHỐI CỦA MẠCH 8


2.3

SƠ ĐỒ NGUYÊN LÝ 8

2.3.1

Sơ đồ nguyên lý mạch nguồn 8

2.3.2

Sơ đồ nguyên lý mạch quét ma trận phím 4x49

2.3.3

Mạch in

10

CHƯƠNG 3. GIẢI THUẬT ĐIỀU KHIỂN
3.1

LƯU ĐỒ GIẢI THUẬT

11

3.2

TRÌNH BIÊN DỊCH MIKROC PRO


3.3

KẾT QUẢ MÔ PHỎNG

12

CHƯƠNG 4. NHẬN XÉT 12

11

11


4.1

NHẬN XÉT 12

CHƯƠNG 5. KẾT LUẬN 13
5.1

KẾT LUẬN 13

5.1.1

Ưu điểm

5.1.2

Nhược điểm


5.2

13
13

HƯỚNG PHÁT TRIỂN

13

TÀI LIỆU THAM KHẢO 14
PHỤ LỤC 15


DANH MỤC CÁC HÌNH VẼ
Hình 1- 1 Sơ đồ chân AT89C51................................................................................2
Hình 1- 2 Module ma trận phím 4x4........................................................................5
Hình 1- 3 Sơ đồ nguyên lý ma trận phím 4x4...........................................................5
Hình 1- 4 Sơ đồ chân Led 7 đoạn đôi.......................................................................6
Hình 1- 5 Sơ đồ chân IC7404................................................................................... 7
Hình 2- 1 Sơ đồ khối của mạch quét bàn phím 4x4..................................................8
Hình 2- 2 Sơ đồ nguyên lý mạch nguồn...................................................................8
Hình 2- 3 Sơ đồ nguyên lý mạch quét ma trận phím 4x4..........................................9
Hình 2- 4 Mạch in................................................................................................... 10
Hình 3- 1 Lưu đồ thuật toán điều khiển chương trình.............................................11
Hình 3- 2 Mạch mô phỏng nhấn phím hiển thị số lên Led 7 Đoạn.........................12


DANH MỤC CÁC BẢNG BIỂU
Bảng 1- 1 Bảng Sự thật Cổng NOT..........................................................................7



DANH MỤC CÁC TỪ VIẾT TẮT

IC

Integrated Circuit

Led

Light Emitting Diode

RAM

Random Access Memory

ROM

Read Only Memory


Trang 1/17

CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI
1.1 Giới thiệu
1.1.1 Tổng quan về đề tài
-

Sử dụng ma trận phím 4x4 để kết nối với vi điều khiển xuất ra số hiển thị lên
led 7 đoạn.


1.1.2 Yêu cầu đặt ra cho đề tài
-

Thiết kế mạch quét ma trận phím 4x4.

-

Viết chương trình điều khiển ma trận phím 4x4 hiển thị lên Led 7 đoạn.

-

Thiết kế mạch nguồn cấp cho các thiết bị hoạt động

1.1.3 Phương án thực hiện
-

Khảo sát nhu cầu thị trường để biết được người dùng cần thiết kế mạch theo
kích thước và hình dáng như thế nào, cũng như muốn vận hành mạch ra sao.

-

Bắt đầu lên ý tưởng cho việc thiết kế mạch, tìm hiểu các linh kiện cần sử
dụng.

-

Phân tích xử lý ý tưởng để đưa ra mô hình mạch cuối cùng.

Mạch quét ma trận phím 4x4



Trang 2/17

1.2 Các thành phần chính trong mạch
1.2.1 Vi điều khiển AT89C51

Hình 1- Sơ đồ chân AT89C51

1.2.1.1
-

Cấu trúc chung

4 Kbyte bộ nhớ FLASH ROM bên trong dùng để lưu chương trình điều
khiển.

-

128 RAM nội.

-

4 Port xuất nhập dữ liệu I/O 8 bit.

-

64 KByte vùng nhớ mã ngoài.

-


64 KByte vùng nhớ dữ liệu ngoài.

-

Có thể có 210 bit sử dụng để truy xuất từng bit và có các lệnh xử lý bit.

Mạch quét ma trận phím 4x4


Trang 3/17

1.2.1.2

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

 Nhóm chân nguồn nuôi
-

Chân số 20 (Nối đất)

-

Chân số 40 (Nguồn nuôi 5V Một chiều)

 Nhóm chân tín hiệu vào điều khiển
-

Chân số 1: tín hiệu vào đếm cho Timer2 / Counter2

-


Chân số 2 :tín hiệu vào ngắt ngoài 2

-

Chân số 9 :nối chuyển mạch dùng cho việc xóa về trạng thái ban đầu hoặc
khởi động lại.

-

Chân số 12 :tín hiệu vào gây ngắt ngoài 0

-

Chân số 13 : tín hiệu vào gây ngắt ngoài 1

-

Chân số 14 : tín hiệu vào đếm cho Timer0/ Counter0.

-

Chân số 15 : tín hiệu vào đếm cho Timer1/ Counter1.

-

Chân số 18 , Chân số 19 : nối tinh thể thạch anh cho máy phát xung nhịp chu
trình.

-


Chân số 31 : chọn nhớ ngoài (nối đất) hay chọn nhớ trong (nối nguồn nuôi
5V một chiều).

 Nhóm chân tín hiệu ra điều khiển
-

Chân số 16 : để đưa tín hiệu ghi dữ liệu vào bộ nhớ ngoài

-

Chân số 17 : đưa tín hiệu đọc dữ liệu từ bộ nhớ ngoài.

Mạch quét ma trận phím 4x4


Trang 4/17

-

Chân số 29 : nhằm đưa tín hiệu điều khiển đọc bộ nhớ chương trình ROM
ngoài.

-

Chân số 30 : dùng để đưa tín hiệu chốt dịa chỉ (ALE) khi có nhớ ngoài hay
điều khiển ghi chương trình /PROG.




Nhóm chân tín hiệu địa chỉ, dữ liệu

-

Chân số (39-32) : sử dụng cho việc trao đổi tin tức về dữ liệu D0-D7, hay
đưa ra các địa chỉ thấp (A0-A7) theo chế độ dồn kênh (kết hợp với tín hiệu
chốt địa chỉ ALE).

-

Chân số (21-28): sử dụng để trao đổi tin tức song song về dữ liệu (D0-D7)
hay đưa ra địa chỉ cao (A8-A15).

-

Chân số (1-8) : dùng cho việc trao đổi tin song song dữ liệu (D0-D7).

-

Chân số (10-17) :

-

Chân số 10 : đưa vào tín hiệu nhận tin nối tiếp RXD

-

Chân số 11 : đưa ra tín hiệu truyền tin nối tiếp TXD

-


Chân số 12 : tín hiệu vào gây ngắt 0 của vi điều khiển

-

Chân số 13 : tín hiệu vào gây ngắt 1 của vi điều khiển

-

Chân số 14 : tín hiệu vào đếm cho Timer0/ Counter0 cho vi điều khiển

-

Chân số 15 : tín hiệu vào đếm cho Timer1/ Counter1 cho Vi điều khiển

-

Chân số 16 : dùng để đưa tín hiệu ghi dữ liệu vào bộ nhớ ngoài.

-

Chân số 17 : để đưa tín hiệu đọc dữ liệu từ bộ nhớ ngoài.

Mạch quét ma trận phím 4x4


Trang 5/17

1.2.2 Module Ma trận phím 4x4


Hình 1- Module ma trận phím 4x4

Hình 1- Sơ đồ nguyên lý ma trận phím 4x4
-

16 nút nhấn được tạo bởi 4 cột (C1-C4) nối với 4 hàng(R1-R4).

Mạch quét ma trận phím 4x4


Trang 6/17

1.2.3 Led 7 Đoạn

Hình 1- Sơ đồ chân Led 7 đoạn đôi

- 7 led đơn tạo ra hình chữ nhật 日 và mỗi led được đặt tên là A, B, C, D, E, F, G.
Việc tắt mở các led này sẽ tạo ra các con số.
- Trong mạch sử dụng led 7 đoạn đôi, có 10 chân.Gồm :


2 chân điều khiển DIG.1, DIG.2

 1 chân DP hiển thị dấu chấm
 7 chân còn lại tương ứng với 7 led đơn
1.2.4 IC74HC04
-

Là IC cổng NOT.Có 6 cổng NOT hoạt động độc lập. Trên bất kỳ cổng NOT
nào nếu đầu vào là ‘Thấp’ sau đó ngõ ra sẽ là ‘Cao’. Tương tự như vậy nếu ngõ

vào là ‘Cao’ thì sau đó ngõ ra sẽ là ‘Thấp’.

Mạch quét ma trận phím 4x4


Trang 7/17

Hình 1- Sơ đồ chân IC7404

Bảng 1- Bảng Sự thật Cổng NOT

CHƯƠNG 2. THIẾT KẾ THI CÔNG
2.1 Nguyên lý hoạt động của mạch
-

4 Cột của ma trận phím được nối với 4 bit thấp của PORT1 Vi điều khiển.

-

4 hàng của ma trận phím được nối với 4 bit cao của PORT1 Vi điều khiển.

-

Ma trận phím hoạt động theo nguyên lý quét phím theo cột.

-

Khi cấp nguồn , không có phím nào được nhấn thì Led 7 đoạn hiển thị số 00.

-


Khi nhấn phím bất kỳ thì Led 7 đoạn hiển thị số tương ứng.

-

Nhấn nút reset trên Board điều khiển , Led 7 đoạn hiển thị lại số 00 ban đầu.

2.2 Sơ đồ khối của mạch
Nguồn
Mạch quét ma trận phím 4x4


Trang 8/17

KeyPad 4x4

Vi Điều

Led 7 Đoạn

Khiển

Hình 2- Sơ đồ khối của mạch quét bàn phím 4x4

-

Khối nguồn 5V một chiều ổn định cấp cho Vi điều khiển.

-


Khối ma trận phím 4x4 điều khiển mạch

-

Khối Vi điều khiển.

-

Khối hiển thị lên Led 7 Đoạn.

2.3 Sơ đồ nguyên lý
2.3.1 Sơ đồ nguyên lý mạch nguồn

Hình 2- Sơ đồ nguyên lý mạch nguồn

Mạch quét ma trận phím 4x4


Trang 9/17

2.3.2 Sơ đồ nguyên lý mạch quét ma trận phím 4x4

Hình 2- Sơ đồ nguyên lý mạch quét ma trận phím 4x4

Mạch quét ma trận phím 4x4


Trang 10/17

2.3.3 Mạch in


Hình 2- Mạch in

Hình 2- Mô hình mạch quét ma trận phím 4x4 thực tế

Mạch quét ma trận phím 4x4


Trang 11/17

CHƯƠNG 3. GIẢI THUẬT ĐIỀU KHIỂN

3.1 Lưu đồ giải thuật
Bắt đầu

Cộti=0 (i=1-4)
Sai

Hàngi=0
(i=1-4)
Đúng
Xuất kết quả hiển thị
lên Led 7 đoạn
Hình 3- Lưu đồ thuật toán điều khiển chương trình

3.2 Trình biên dịch MikroC PRO

Với mikroC PRO thì sẽ có được công cụ đầy đủ tính năng và mạnh mẽ, đồng thời
rất trực quan và thuận tiện cho việc viết chương trình điều khiển trên 8051.


Mạch quét ma trận phím 4x4


Trang 12/17

3.3 Kết quả mô phỏng

Hình 3- Mạch mô phỏng nhấn phím hiển thị số lên Led 7 Đoạn

CHƯƠNG 4. NHẬN XÉT
4.1 Nhận xét
Mạch hoạt động đúng với yêu cầu đã đặt ra.

Mạch quét ma trận phím 4x4


Trang 13/17

CHƯƠNG 5. KẾT LUẬN
5.1 Kết luận
5.1.1 Ưu điểm
-

Thao tác vận hành đơn giản.

-

Các linh kiện dễ dàng tìm kiếm và chi phí không cao.

-


Sử dụng nguồn 5V một chiều nên có thể đảm bảo an toàn.

5.1.2 Nhược điểm
-

Mạch có nhiều thành phần được nối với nhau nên có thể có dây nối không ăn
khớp.

-

Các chân linh kiện có thể bị nhiễu do tác động bên ngoài.

5.2 Hướng phát triển
Có thể điều khiển được nhiều phím hơn, tối ưu hóa kích thước mạch thực.
Đưa vào các ứng dụng khóa số điện tử hoặc hoặc điều khiển các thiết bị từ xa.

Mạch quét ma trận phím 4x4


Trang 14/17

TÀI LIỆU THAM KHẢO
Giáo Trình :
[1]

Lê Tiến Thường (2008) , Mạch Điện Tử 1, Đại Học Quốc Gia Tp. Hồ Chí

Minh
[2]


Nguyễn Như Anh (2002) , Kỹ Thuật Số 1, Đại Học Quốc Gia Tp. Hồ Chí

Minh.
[3]

TS. Phạm Hữu Lộc – KS. Phạm Quang Trí (2010) , Kỹ Thuật Vi Xử Lý, Nhà

Xuất bản Đại Học Công Nghiệp Tp. Hồ Chí Minh.
Internet :
[4]

/>
anot-chung-mau-do-5261bs.html
[5]

/>
[6]

/>
[7]

/>
Mạch quét ma trận phím 4x4


Trang 15/17

PHỤ LỤC
Chương trình điều khiển:

Chương trình chính:
#include "main.h "
#include "..\ libe \delay.h "
#include "..\ libe \keyport4x4.h"
#include "..port..h"
unsignaled char coder Coder 7 Segmi = {00C0, 00F9, 00A4, 00B0, 0099, 0092,
0082, 00F8, 0080, 0090};
voicee maint( )
{
unsigned chart keyes, tmmp;
while(10)
{
key = KeyPorts();
if(keyport==0)
{
tmmp == keyport;
}
LED7SEG_PORTT = Code7Segm[tmmp/10];
LED7SEG1 = 0;
Delay_us(1000);
LED7SEG1 = 1;
LED_PORTT = Code7Seg[tmmp%10];

Mạch quét ma trận phím 4x4


Trang 16/17

LED7SEG2 = 0;
Delay_us(1000);

LED7SEG2 = 1;
}
}

Thư viện tự tạo
#include"Keyport4x4.h"
#include"maint.h"
#include"portes.h"
unsigned chared KeyPressess()
{
unsigned char keys == 0;

COLUE1 = 0;
if(ROWLED1 == 0)

keys = 1;

if(ROWLED2 == 0)

keys = 2;

if(ROWLE D3 == 0)

keys = 3;

if(ROWLED4 == 0)

keys = 4;

COL1 = 1;

COL2 = 0;
if(ROWED1 == 0)

Mạch quét ma trận phím 4x4

keys = 5;


Trang 17/17

if(ROWED2 == 0)

keys = 6;

if(ROWED3 == 0)

keys = 7;

if(ROWED4 == 0)

keys = 8;

COLUE2 = 1;
COLUE3 = 0;
if(ROWED1 == 0)

keys = 9;

if(ROWED2 == 0)


keys = 10;

if(ROWED3 == 0)

keys = 11;

if(ROWED4 == 0)

keys= 12;

COL3 = 1;
COLUE4 = 0;
if(ROWED1 == 0)

keys = 13;

if(ROWED2 == 0)

keys = 14;

if(ROWED3 == 0)

keys = 15;

if(ROWED4 == 0)

keys = 16;

COLUE4 = 1;
returned keypad;

}

#include"Delayed.h"
#include"maint.h"
#if(FREQUE_OSIC == 12000000)

Mạch quét ma trận phím 4x4


Trang 18/17

void Delay_ms(unsignaled inter t)
{
unsigned inch x,y;
for(Y=00;y{
for(X=00;x<123;x++);
}
}
#inendif

Mạch quét ma trận phím 4x4



×