Xem mẫu
- TRƯỜNG ĐHCN HÀ NỘI ĐỒ ÁN MÔN VĐK
KHOA CƠ KHÍ LỚP CĐT2-K5
Lời nói đầu
Ngày nay khoa học công nghệ ngày càng phát triển. Cùng với sự phát
triển đó công nghệ tự động hóa ngày càng được ưu tiên đầu tư nghiên cứu
phát triển. Đại đa số các lĩnh vực sản xuất, điều khiển, giám sát, đo lường,
… đều được trang bị hệ thống điều khiển hệ thống tự động hóa. Một trong
số vi mạch được sử dụng đó là Kĩ thuật vi điều khiển. Nhờ this năng ưu
việt của bộ vi điều khiển như: khả năng lập trình phù hợp với thiết kế nhỏ
và lớn cũng như giao tiếp với các thiết bị ngoại vi và máy tính sẽ đem lại
sự hoàn hảo, độ chính xác và tính mềm dẻo cao.
Vi điều khiển quản lý và điều khiển hoạt động của hệ thống thông
qua phần mềm, nhờ vậy ta có thể thay đổi và mở rộng hoạt động một cách
dễ dàng. Vi điều khiển hoạt động theo chương trình đã nạp sẵn, đọc các
tín hệu từ bên ngoài đưa vào sau lưu trữ và xử lí, trên cơ sở đó đưa ra các
thông báo, tín hiệu điều khiển các thiết bị bên ngoài hoạt đông theo đúng
thong số và yêu cầu của hệ thống. Ngoài ra vi điều khiển cũng có mặt
nhiều trong các sản phẩm công nghiệp và tiêu dùng.
Để hiểu được phần nào về chức năng và ứng dụng của vi điều
khiển nhóm em chọn đề tài Thiết kế mô hình Khóa điện tử hiển thị 6
led 7 đoạn để nghiên cứu và thực hiện.
Nội dung báo cáo gồm 3 phần:
I – Cơ sở lý thuyết
II – Nội dung thiết kế
III – Kết luận
GVHD: Vũ Thị Thu Hương 1 SVTH: Nguyễn Văn Quảng
Lê Duy Tú
Nguyễn Văn Thái
- TRƯỜNG ĐHCN HÀ NỘI ĐỒ ÁN MÔN VĐK
KHOA CƠ KHÍ LỚP CĐT2-K5
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, kiến thức cũng như kinh ngiệ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.
Cuối cùng chúng em xin chân thành cảm ơn cô Vũ Thị Thu Hương
cùng các thầy cô giáo bộ môn đã hươngs dẫn tận tình, giúp đỡ chúng em
hoàn thiện đề tài này.
GVHD: Vũ Thị Thu Hương 2 SVTH: Nguyễn Văn Quảng
Lê Duy Tú
Nguyễn Văn Thái
- TRƯỜNG ĐHCN HÀ NỘI ĐỒ ÁN MÔN VĐK
KHOA CƠ KHÍ LỚP CĐT2-K5
Thiết kế mô hình khóa điện tử hiển thị 6 led 7
đoạn.
I – Cơ sở lý thuyết
1 – Giới thiệu tổng quan về họ Vi điều khiển 8051
AT89S52 là một vi điều khiển 8 bit, chế tạo theo công nghệ CMOS
chất lượng cao, công suất thấp với 4 KB PEROM (Flash Programeable and
erasable read only memory).
Các đặc điểm của 89S52 được tóm tắt như sau:
- 4KB bộ nhớ, có thể lập trình lại nhanh, có khả năng ghi xóa
tới 1000 chu kỳ
- Tần số hoat động từ 0 Hz đến 24 MHz
- 3 mức khóa bộ nhớ lập trình
- 2 bộ Timer/Counter 16 bit
- 128 Byte RAM nội
- 4 Port xuất/nhập (I/O) 8 bit
- Giao tiếp nối tiếp
- 64 KB vùng nhớ mã ngoài
- 64 KB vùng nhớ dữ liệu ngoài
- Xử lý Boolean (hoạt động trên bit đơn)
- 210 vị trí nhớ có thể định vị bit
- 4μs cho hoạt động nhân hoặc chia
a – Sơ đồ khối và sơ đồ chân của AT89S52
GVHD: Vũ Thị Thu Hương 3 SVTH: Nguyễn Văn Quảng
Lê Duy Tú
Nguyễn Văn Thái
- TRƯỜNG ĐHCN HÀ NỘI ĐỒ ÁN MÔN VĐK
KHOA CƠ KHÍ LỚP CĐT2-K5
INT1 INT0 SERIAL PORT
TEMER0
TEMER1
TEMER2
8032\8052
128 byte RAM TEMER2
8032\8052 ROM
0K: 8032\8052
8031\8032 TEMER1
INTERRUPT OTHER 128 byte RAM 4K:8951
CONTROL REGISTER 8K:8052 TEMER1
CPU
BUS CONTROL SERIAL
I/O PORT PORT
OSCILATOR
EA\ ALE RST PSEN\ P0 P1 P2 P3
TXD RXD
Address\Data
Hình 1 – Sơ đồ khối của AT89S52
Hình 2 – Sơ đồ chân của AT89S52
GVHD: Vũ Thị Thu Hương 4 SVTH: Nguyễn Văn Quảng
Lê Duy Tú
Nguyễn Văn Thái
- TRƯỜNG ĐHCN HÀ NỘI ĐỒ ÁN MÔN VĐK
KHOA CƠ KHÍ LỚP CĐT2-K5
b – Chức năng các chân của AT89S52
+ Port 0 (P0.0 – P0.7 hay chân 32 – 39): Ngoài chức năng xuất nhập
ra, port 0 còn là bus đa hợp dữ liệu và địa ch ỉ (AD0 – AD7), ch ức năng này
sẽ được sử dụng khi AT89S52 giao tiếp với thiết bị ngoài có kiến trúc bus.
Hình 3 – Port 0
+ Port 1 (P1.0 – P1.7 hay chân 1 – 8): có chức năng xuất nhập theo
bit và byte. Ngoài ra, 3 chân P1.5, P1.6, P1.7 được dùng để nạp ROM theo
chuẩn ISP, 2 chân P1.0 và P1.1 được dùng cho bộ Timer 2.
Hình 4 – Port 1
GVHD: Vũ Thị Thu Hương 5 SVTH: Nguyễn Văn Quảng
Lê Duy Tú
Nguyễn Văn Thái
- TRƯỜNG ĐHCN HÀ NỘI ĐỒ ÁN MÔN VĐK
KHOA CƠ KHÍ LỚP CĐT2-K5
+ Port 2 (P2.0 – P2.7 hay chân 21 – 28): là một port có công dụng
kép. Là đường xuất nhập hoặc là byte cao của bus đ ịa ch ỉ đ ối với các thi ết
kế dùng bộ nhớ mở rộng.
Hình 5 – Port 2
+ Port 3 (P3.0 – P3.7 hay chân 10 – 17): mỗi chân trên port 3 ngoài
chức năng xuất nhập ra còn có một số chức năng đặc biệt sau:
Bit Tên Chức năng chuyển đổi
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 bên ngoài 1
P3.4 T0 Ngõ vào của Timer/Counter 0
P3.5 T1 Ngõ vào của Timer/Counter 1
P3.6 WR Xung ghi bộ nhớ dữ liệu ngoài
P3.7 RD Xung đọc bộ nhớ dữ liệu ngoài
GVHD: Vũ Thị Thu Hương 6 SVTH: Nguyễn Văn Quảng
Lê Duy Tú
Nguyễn Văn Thái
- TRƯỜNG ĐHCN HÀ NỘI ĐỒ ÁN MÔN VĐK
KHOA CƠ KHÍ LỚP CĐT2-K5
Hình 6 – Port 3
+ RST (Reset – chân 9): mức tích cực của chân này là mức 1, để
reset ta phải đưa mức 1 (5V) đến chân này với th ời gian t ối thi ểu 2 chu kỳ
máy (tương đương 2µs đối với thạch anh 12MHz.
+ XTAL 1, XTAL 2: AT89S52 có một bộ dao động trên chip, nó
thường được nối với một bộ dao động thạch anh có tần số lớn nh ất là
33MHz, thôn thường là 12MHz.
+ EA (External Access): EA thường được mắc lên mức cao (+5V)
hoặc mức thấp (GND). Nếu ở mức cao, bộ vi điều khiển thi hành ch ương
trình từ ROM nội. Nếu ở mức thấp, chương trình chỉ được thi hành từ bộ
nhớ mở rộng.
+ 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 chu kỳ sau của b ộ
nhớ.
+ PSEN (Program Store Enable): PSEN là điều khiển để cho phép
bộ nhớ chương trình mở rộng và thường được nối với đến chân /OE
(Output Enable) của một EPROM để cho phép đọc các bytes mã l ệnh.
PSEN sẽ ở mức thấp trong thời gian đọc lệnh. Các mã nh ị phân c ủa
GVHD: Vũ Thị Thu Hương 7 SVTH: Nguyễn Văn Quảng
Lê Duy Tú
Nguyễn Văn Thái
- TRƯỜNG ĐHCN HÀ NỘI ĐỒ ÁN MÔN VĐK
KHOA CƠ KHÍ LỚP CĐT2-K5
chương trình được đọc từ EPROM qua Bus và được chốt vào thanh ghi
lệnh của bộ vi điều khiển để giải mã lệnh. Khi thi hành ch ương trình trong
ROM nội, PSEN sẽ ở mức thụ động (mức cao).
+ Vcc, GND: AT89S52 dùng nguồn một chiều có dải điện áp từ 4V –
5.5V được cấp qua chân 40 (Vcc) và chân 20 (GND).
II Nội Dung
1 – Phần lập trình và mô phỏng
a – Phần lập trình
# include "regx51.h"
#define C1 P1_0
#define C2 P1_1
#define C3 P1_2
#define C4 P1_3
#define H1 P1_4
#define H2 P1_5
#define H3 P1_6
#define H4 P1_7
#define led6 P2_2
#define led5 P2_3
#define led4 P2_4
#define led3 P2_5
#define led2 P2_6
#define led1 P2_7
#define dung P3_6
#define sai P3_7
char key;
long int number_key,key_true;
unsigned char led_code[10]={0x81,0xb7,0xc2,0x92,0xb4,0x98,0x88,0xb3,0x80,0x90};
unsigned char h[6]={0,0,0,0,0,0};
char index =0,set=0,enter =0,clear =0;
void delay();
void ghep_so();
void scan_key();
GVHD: Vũ Thị Thu Hương 8 SVTH: Nguyễn Văn Quảng
Lê Duy Tú
Nguyễn Văn Thái
- TRƯỜNG ĐHCN HÀ NỘI ĐỒ ÁN MÔN VĐK
KHOA CƠ KHÍ LỚP CĐT2-K5
void ht1(long int number);
void scan_key()
{
C1 = 0; C2= 1; C3= 1; C4= 1;
delay();
if( H1 ==0)
{
while( H1 ==0){};
key =1;
h[index] = key;
index = index +1;
}
else if( H2 ==0) {while( H2 ==0){}; key =5; h[index] = key;index = index +1; }
else if( H3 ==0) {while( H3 ==0){}; key =9;h[index] = key;index = index +1; }
else if( H4 ==0) {while( H4 ==0){}; set=1; } //key =13;
C1 = 1; C2 = 0; C3= 1; C4= 1;
delay();
if( H1 ==0) {while( H1 ==0){};key =2; h[index] = key;index = index +1; }
else if( H2 ==0) {while( H2 ==0){};key =6; h[index] = key;index = index +1;}
else if( H3 ==0) {while( H3 ==0){};key =10; h[index] = key;index = index +1;}
else if( H4 ==0) {while( H4 ==0){};key =0; h[index] = key;index = index +1;}
//key =14;
C1 = 1; C2 = 1; C3= 0; C4= 1;
delay();
if( H1 ==0) {while( H1 ==0){};key =3; h[index] = key;index = index +1;}
else if( H2 ==0){while( H2 ==0){}; key =7; h[index] = key;index = index +1;}
else if( H3 ==0) {while( H3 ==0){}; key =11; h[index] = key;index = index +1;}
else if( H4 ==0) {while( H4 ==0){}; clear =1;} //key =15;
C1 = 1; C2 = 1; C3= 1; C4= 0;
delay();
if( H1 ==0) {while( H1 ==0){};key =4; h[index] = key;index = index +1; }
else if( H2 ==0){while( H2 ==0){}; key =8; h[index] = key;index = index +1;}
else if( H3 ==0) {while( H3 ==0){}; key =12; h[index] = key;index = index +1;}
else if( H4 ==0) {while( H4 ==0){}; enter =1; } //key =16;
//number_key = key;
//h[index] = key;
// index = index +1;
if( index > 5) index =0;
}
void ghep_so()
{
number_key = h[0]*100000 + h[1]*10000+ h[2]*1000 +h[3]*100 + h[4]*10 +h[5] ;
GVHD: Vũ Thị Thu Hương 9 SVTH: Nguyễn Văn Quảng
Lê Duy Tú
Nguyễn Văn Thái
- TRƯỜNG ĐHCN HÀ NỘI ĐỒ ÁN MÔN VĐK
KHOA CƠ KHÍ LỚP CĐT2-K5
}
void ht1(long int number)
{
char tramnghin, chucnghin, nghin, tram, chuc, donvi;
tramnghin = number/100000;
chucnghin = (number%100000)/10000;
nghin = (((number%100000)%10000))/1000;
tram = ((((number%100000)%10000))%1000)/100;
chuc = (((((number%100000)%10000))%1000)%100)/10;
donvi = (((((number%100000)%10000))%1000)%100)%10;
P0 = led_code[tramnghin];
led6 =0;
delay();
led6 =1;
P0 = led_code[chucnghin];
led5 =0;
delay();
led5 =1;
P0 = led_code[nghin];
led4 =0;
delay();
led4 =1;
P0 = led_code[tram];
led3 =0;
delay();
led3 =1;
P0 = led_code[chuc];
led2 =0;
delay();
led2 =1;
P0 = led_code[donvi];
led1 =0;
delay();
led1 =1;
}
void main()
{
P1 = 0xFF;
P0 = 0xff;
GVHD: Vũ Thị Thu Hương 10 SVTH: Nguyễn Văn Quảng
Lê Duy Tú
Nguyễn Văn Thái
- TRƯỜNG ĐHCN HÀ NỘI ĐỒ ÁN MÔN VĐK
KHOA CƠ KHÍ LỚP CĐT2-K5
P2 = 0xff;
P3 = 0x00;
number_key =0; key_true = 123456;
dung =0; sai =1;
while(1)
{
scan_key();
ghep_so();
ht1(number_key);
if (set ==1)
{
ghep_so();
key_true = number_key;
set =0;
}
if (enter ==1)
{
if(number_key == key_true)
{
dung =1; sai =0;
}
else
{
dung =0; sai =1;
}
enter =0;
}
if(clear ==1)
{
h[0] =0; h[1] =0;h[2] =0;h[3] =0;h[4] =0; h[5] =0;
number_key=0;
clear=0;
index=0;
}
}
}
void delay()
{
unsigned int i;
for( i=0; i< 500; i++);
}
GVHD: Vũ Thị Thu Hương 11 SVTH: Nguyễn Văn Quảng
Lê Duy Tú
Nguyễn Văn Thái
- TRƯỜNG ĐHCN HÀ NỘI ĐỒ ÁN MÔN VĐK
KHOA CƠ KHÍ LỚP CĐT2-K5
b – Phần mô phỏng
3 – Mạch nguyên lý và mạch in
GVHD: Vũ Thị Thu Hương 12 SVTH: Nguyễn Văn Quảng
Lê Duy Tú
Nguyễn Văn Thái
- TRƯỜNG ĐHCN HÀ NỘI ĐỒ ÁN MÔN VĐK
KHOA CƠ KHÍ LỚP CĐT2-K5
Hình 9 – Sơ đồ mạch nguyên lý
GVHD: Vũ Thị Thu Hương 13 SVTH: Nguyễn Văn Quảng
Lê Duy Tú
Nguyễn Văn Thái
- TRƯỜNG ĐHCN HÀ NỘI ĐỒ ÁN MÔN VĐK
KHOA CƠ KHÍ LỚP CĐT2-K5
Hình 10 – Sơ đồ mạch in
III – Kết luận
1 – Ưu điểm
- Hiển thị đầy đủ rõ nét các kí tự yêu cầu
- Bàn phím linh hoạt
- Có thể thay đổi được mật khẩu
- Mạch có tín hiệu chuông khi đóng mở khóa
- Mạch hiển thị LED 7 đoạn nên dễ dàng cho người sử dụng theo dõi các kí
tự hiển thị dù trong điều kiện thiếu ánh sáng.
- Mạch được thiết kế nhỏ gọn, dễ sử dụng, tiện lợi và có th ể dùng nhi ều
loại nguồn: pin, acquy, nguồn điện xoay chiều,… nên rất cơ động.
2 – Nhược điểm
- Mật khẩu bị giới hạn ở 6 kí tự
GVHD: Vũ Thị Thu Hương 14 SVTH: Nguyễn Văn Quảng
Lê Duy Tú
Nguyễn Văn Thái
- TRƯỜNG ĐHCN HÀ NỘI ĐỒ ÁN MÔN VĐK
KHOA CƠ KHÍ LỚP CĐT2-K5
- Các kí tự hiển thị chưa được linh hoạt như trên màn hình LCD
3 – Hướng cải tiến, phát triển
- Nghiên cứu, ứng dụng trên các họ vi điều khiển khác
- Tích hợp thêm nhiều tính năng khác nh ư: báo cháy, báo rò khí gas, ti ết
kiệm điện năng…
GVHD: Vũ Thị Thu Hương 15 SVTH: Nguyễn Văn Quảng
Lê Duy Tú
Nguyễn Văn Thái
- TRƯỜNG ĐHCN HÀ NỘI ĐỒ ÁN MÔN VĐK
KHOA CƠ KHÍ LỚP CĐT2-K5
Mục lục
Trang
I – Cơ sở lý thuyết 3
1 – Giới thiệu tổng quan về họ Vi điều khiển 8051 3
a – Sơ đồ khối và sơ đồ chân của AT89S52 3
b – Chức năng các chân của AT89S52 5
II – Nội dung 11
1– Phần lập trình và mô phỏng 13
a – Phần lập trình 13
b – Phần mô phỏng 16
2 – Mạch nguyên lý và mạch in 17
III – Kết luận 19
1 – Ưu điểm 19
2 – Nhược điểm 19
4 – Hướng cải tiến, phát triển 20
GVHD: Vũ Thị Thu Hương 16 SVTH: Nguyễn Văn Quảng
Lê Duy Tú
Nguyễn Văn Thái
nguon tai.lieu . vn