mạch điều khiển ma trận phím hiển thị lên lcd - Pdf 13

BÁO CÁO THÍ NGHIỆM VI ĐIỀU KHIỀN
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC
LẠC HỒNG

KHOA ĐIỆN – ĐIỆN TỬ
BÁO CÁO 60%
MÔN
THÍ NGHIỆM VI ĐIỀU KHIỂN
ĐỀ TÀI:

GVHD : Thầy ĐỖ BÌNH NGUYÊN
SVTH : Nguyễn Công Liêm MSSV: 109000701
Nguyễn Văn Hoàng MSSV: 109000042
Lớp : 09DV111
BIÊN HÒA, Ngày 08 tháng 02 năm 2012
MA TRẬN PHÍM Trang 1
BÁO CÁO THÍ NGHIỆM VI ĐIỀU KHIỀN
Vi điều khiển ra đời là một bước ngoặc lớn trong ngành điện tử, nó đưa ngành điện tử lên
một tầm cao mới. Ứng dụng của vi điều khiển hết sức phong phú trong công nghiệp cũng như
trong dân dụng. Nó tạo ra những thiết bị tiện lợi trong việc sử dụng điện.
Vi điều khiển còn là một môn học thú vị, nó giúp cho sinh viên mở rộng được óc sáng tạo
của bản thân khi thi công các mô hình tự học. Chính vì những lý do trên nhóm chúng em tiến
hành thi công một mạch ứng dụng vi điều khiển:
MẠCH ĐIỀU KHIỂN MA TRẬN PHÍM HIỂN THỊ LÊN LCD
I./SƠ ĐỒ KHỐI
1. Khối nguồn
Nguồn điện được sử dụng ở đây là nguồn 5VDC sử dụng 7805 để ổn định nguồn ra là 5V.

2. Khối bàn phím:
Là một khối gồm 16 nút nhấn đơn được liên kết lại với nhau tạo thành một ma trận phím.

MA TRẬN PHÍM Trang 3
BÁO CÁO THÍ NGHIỆM VI ĐIỀU KHIỀN
dao động của bộ VĐK. Nó có thể được dùng cho các bộ Timer ngoài hoặc cho mục đích tạo xung
Clock. Đây cũng là chân nhận xung vào để nạp
chương trình cho Flash (hoặc EEPROM) bên trong On-chip khi nó ở mức thấp.
- /EA/Vpp: Cho phép On-chip truy cập bộ nhớ chương trình ngoài khi /EA=0, nếu
/EA=1 thì On-chip sẽ làm việc với bộ nhớ chương trình nội trú (trường hợp cần truy
cập vùng nhớ lớn hơn dung lượng bộ nhớ chương trình nội trú, thì bộ nhớ chương
trình ngoài cũng được sử dụng). Khi chân này được cấp nguồn điện áp 12V (Vpp) thì
On-chip đảm nhận chức năng nạp chương trình cho Flash bên trong nó.
- Vcc: Cung cấp dương nguồn cho On-chip (+ 5V).
- GND: nối Mass.
Hình dạng thực tế:
2. IC 7805:
Chức năng: Là Ic ổn định ngõ ra 5VDC cho mạch nguồn
Sơ đồ chân:
− Chân IN là chân ngõ vào
− Chân OUT là chân ngõ ra
− Chân COM là chân chung
MA TRẬN PHÍM Trang 4
BÁO CÁO THÍ NGHIỆM VI ĐIỀU KHIỀN
Hình dạng thực tế:
3.LCD 16x2:
Là một màn hình hiển thi gồm 16 cột và 2 hàng dùng để hiển thị các thông số do người
dùng nhập vào.
Sơ đồ chân:
MA TRẬN PHÍM Trang 5
BÁO CÁO THÍ NGHIỆM VI ĐIỀU KHIỀN
Nguyên lý hoạt động của LCD:
- Chân VCC, V và VSS: Các chân VEECC, V: Cấp dưong nguồn5v và đất

khiển.
Sơ đồ chân:
Nguyên lí quét phím:
- Vì sao mạch phím đấu theo ma trận. Nếu để đọc từ 16 nút bấm bình thường phải dùng 16 chân
vi điều khiển. Nếu đấu theo dạng ma trận thì chỉ mất 8 chân ta cũng có thể đọc được 16 phím
bấm.
- Có 2 cách quét phím theo cột và theo hàng, tôi chọn cách quét theo cột, quét theo
hàng các bạn có thể làm tưong tự.
- Bước 1 : Ta đưa chân P1.0 nối với cột 1 xuống 0V.Rồi ta kiểm tra giá trị logic của
các chân P1.4,P1.5,P1.6,P1.7.Nếu phím 1 được bấm thì hàng 1_ P1.4 sẽ có giá trị bằng
0.
Nếu phím 2 được bấm thì hàng 2_ P1.5 sẽ có giá trị bằng 0. Nếu phím 3 được bấm thì
hàng 3_ P1.6 sẽ có giá trị bằng 0. Nếu phím 4 được bấm thì hàng 4_ P1.7 sẽ có giá trị
bằng 0. Ta căn cứ vào đó để xác định xem phím nào được bấm.
- Bước 2 : Ta đưa chân P1.1 nối với cột 2 xuống 0V.Rồi ta kiểm tra giá trị logic của
các chân P1.4,P1.5,P1.6,P1.7.Nếu phím 5 được bấm thì hàng 1_ P1.4 sẽ có giá trị bằng
0.
Nếu phím 6 được bấm thì hàng 2_ P1.5 sẽ có giá trị bằng 0. Nếu phím 7 được bấm thì
hàng 3_ P1.6 sẽ có giá trị bằng 0. Nếu phím 8 được bấm thì hàng 4_ P1.7 sẽ có giá trị
bằng 0. Ta căn cứ vào đó để xác định xem phím nào được bấm. Tương tự ta thực hiện
cho các cột còn lại. Ta sẽ dùng câu lệnh if để kiểm tra.
MA TRẬN PHÍM Trang 7
BÁO CÁO THÍ NGHIỆM VI ĐIỀU KHIỀN
IV./ SƠ ĐỒ NGUYÊN LÝ VÀ GIẢI THÍCH:
1. Sơ đồ nguyên lý:
V C C
S W 8S W 7
S W 1
S W 1 1
1 0 0 R 1

1 0
1 1
1 2
1 3
1 4
1 5
1 6
G N D
V C C
V O
R S
R W
E N
D 0
D 1
D 2
D 3
D 4
D 5
D 6
D 7
V +
V -
S W 9
V C C
R 1
1 0 K
U 2
A T 8 9 S 5 2
9

1 7
3 9
3 8
3 7
3 6
3 5
3 4
3 3
3 2
R S T
X T A L 2
X T A L 1
G N D
P S E N
A L E / P R O G
E A / V P P
V C C
P 1 . 0 / T 2
P 1 . 1 / T 2 - E X
P 1 . 2
P 1 . 3
P 1 . 4
P 1 . 5
P 1 . 6
P 1 . 7
P 2 . 0 / A 8
P 2 . 1 / A 9
P 2 . 2 / A 1 0
P 2 . 3 / A 1 1
P 2 . 4 / A 1 2

#include <stdio.h>
sbit RS_LCD = P3^5;
sbit RW_LCD = P3^6;
sbit E_LCD = P3^7;
unsigned int i;
//

MA TRẬN PHÍM Trang 8
BÁO CÁO THÍ NGHIỆM VI ĐIỀU KHIỀN
void delay_short()
{
unsigned int i;
for(i=0;i<3;i++);
}
//
void delay(unsigned int ms)// delay 1ms
{
unsigned int x,y;
for(x=0;x<ms;x++)
{
for(y=0;y<125;y++)
{
}
}
}
//
void kt_ban()
{
unsigned char x;
P1 = 0xff;

delay(30);
P1 = kytu;
RS_LCD = 1;
RW_LCD = 0;
E_LCD =1;
delay_short();
E_LCD = 0;
}

void ghi_chuoi(char *str)
{
while(*str)
{
ghi_kytu(*str);
str++;
}
}
// */
void setting()
{
ghi_lenh(0x38); // hai dong va ma tran 5x7
ghi_lenh(0x01); //Xoa man hinh
ghi_lenh(0x0f); //Co dich hien thi
ghi_lenh(0x0c); //Bat hien thi ,tat con tro
}
//
void hienthi()
{
if(P2==0xee)
{

ghi_lenh(0x01);
ghi_lenh(0x80+3);
ghi_chuoi("Phim so 5");
}

if(P2==0xdd)
{
ghi_lenh(0x01);
ghi_lenh(0x80+3);
ghi_chuoi("Phim so 6");
}

if(P2==0xbd)
{
ghi_lenh(0x01);
ghi_lenh(0x80+3);
ghi_chuoi("Phim so 7");
}

if(P2==0x7d)
{
ghi_lenh(0x01);
ghi_lenh(0x80+3);
ghi_chuoi("Phim so 8");
}

if(P2==0xeb)
{
MA TRẬN PHÍM Trang 11
BÁO CÁO THÍ NGHIỆM VI ĐIỀU KHIỀN

ghi_chuoi("Phim so 13");
}

if(P2==0xd7)
{
ghi_lenh(0x01);
ghi_lenh(0x80+3);
ghi_chuoi("Phim so 14");
}

if(P2==0xb7)
{
ghi_lenh(0x01);
ghi_lenh(0x80+3);
ghi_chuoi("Phim so 15");
MA TRẬN PHÍM Trang 12
BÁO CÁO THÍ NGHIỆM VI ĐIỀU KHIỀN
}

if(P2==0x77)
{
ghi_lenh(0x01);
ghi_lenh(0x80+3);
ghi_chuoi("Phim so 16");
}
}
//
void quetphim(void)
{
int n[4] = {0xfe,0xfd,0xfb,0xf7};

 HẾT 
MA TRẬN PHÍM Trang 14


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status