Đ ÁN MÔN VĐK
ƯỜ
NG ĐHCN HÀ N I Ộ
TR 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
ng, 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 ự ả ề ể ể ạ ấ ố ườ
… đ 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 k nh ệ ủ ộ t c a b vi đi u khi n nh : kh năng l p trình phù h p v i thi ả ư ề ể ậ ợ ớ ế ế ỏ
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 ế ế
ả
1
GVHD: Vũ Th Thu H ng ị
ươ
SVTH: Nguy n Văn Qu ng ễ Lê Duy Tú Nguy n Văn Thái
ễ
III – K t lu n ế ậ
Đ ÁN MÔN VĐK
ƯỜ
NG ĐHCN HÀ N I Ộ
TR 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 ấ ố ắ ự ệ ề
nên chúng em h n ch v th i gian, ki n th c cũng nh kinh ngi m th c t ứ ạ ế ề ờ ự ế ư ế ệ
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 ầ ộ ươ ẫ ậ ỡ
ả
2
GVHD: Vũ Th Thu H ng ị
ươ
SVTH: Nguy n Văn Qu ng ễ Lê Duy Tú Nguy n Văn Thái
ễ
hoàn thi n đ tài này. ệ ề
Đ ÁN MÔN VĐK
ƯỜ
NG ĐHCN HÀ N I Ộ
TR 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 ả
i 1000 chu kỳ t ớ
- 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 ạ ộ ặ
ả
3
GVHD: Vũ Th Thu H ng ị
ươ
SVTH: Nguy n Văn Qu ng ễ Lê Duy Tú Nguy n Văn Thái
ễ
a – S đ kh i và s đ chân c a AT89S52 ơ ồ ơ ồ ố ủ
Đ ÁN MÔN VĐK
ƯỜ
NG ĐHCN HÀ N I Ộ
TR KHOA C KHÍ L P CĐT2-K5
Ồ Ớ
Ơ
INT1\ INT0\ SERIAL PORT TEMER0 TEMER1 TEMER2 8032\8052
128 byte RAM 8032\8052
TEMER2 8032\8052 TEMER1
128 byte RAM
INTERRUPT CONTROL
ROM 0K: 8031\8032 4K:8951 8K:8052
TEMER1
OTHER REGISTER
CPU
BUS CONTROL
I/O PORT
SERIAL PORT
OSCILATOR
ALE\ PSEN\
EA\ RST
TXD RXD
P P P P 3 2 1 0 Address\Data
Hình 1 – S đ kh i c a AT89S52 ố ủ ơ ồ
ả
4
GVHD: Vũ Th Thu H ng ị
ươ
SVTH: Nguy n Văn Qu ng ễ Lê Duy Tú Nguy n Văn Thái
ễ
Hình 2 – S đ chân c a AT89S52 ơ ồ ủ
Đ ÁN MÔN VĐK
ƯỜ
NG ĐHCN HÀ N I Ộ
TR 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 ữ ệ ứ ợ ị ỉ
c s d ng khi AT89S52 giao ti p v i thi t b ngoài có ki n trúc bus. s đ ẽ ượ ử ụ ế ớ ế ị ế
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. ẩ ượ ộ
ả
5
GVHD: Vũ Th Thu H ng ị
ươ
SVTH: Nguy n Văn Qu ng ễ Lê Duy Tú Nguy n Văn Thái
ễ
Hình 4 – Port 1
Đ ÁN MÔN VĐK
ƯỜ
NG ĐHCN HÀ N I Ộ
TR 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: ộ ố ứ ứ ấ ậ ặ ệ
ứ
ậ ề
ả
6
GVHD: Vũ Th Thu H ng ị
ươ
SVTH: Nguy n Văn Qu ng ễ Lê Duy Tú Nguy n Văn Thái
ễ
Bit P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 Tên RXD TXD INT0 INT1 T0 T1 WR RD Ch c năng chuy n đ i ể ổ D li u nh n cho port n i ti p ố ế ữ ệ D li u truy n cho port n i ti p ố ế ữ ệ Ng t bên ngoài 0 Ng t bên ngoài 1 Ngõ vào c a Timer/Counter 0 Ngõ vào c a Timer/Counter 1 Xung ghi b nh d li u ngoài Xung đ c b nh d li u ngoài ắ ắ ủ ủ ộ ọ ộ ớ ữ ệ ớ ữ ệ
Đ ÁN MÔN VĐK
ƯỜ
NG ĐHCN HÀ N I Ộ
TR 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 m c th p, ch ng trình ch đ c thi hành t ừ ROM n i. N u ộ ế ở ứ ấ ươ ỉ ượ ừ ộ 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 ề ể ể
ng đ b nh ch ộ ớ ươ ng trình m r ng và th ở ộ ườ ượ 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. ể ủ ệ ộ ọ
ả
7
GVHD: Vũ Th Thu H ng ị
ươ
SVTH: Nguy n Văn Qu ng ễ Lê Duy Tú Nguy n Văn Thái
ễ
PSEN s ẽ ở ứ ủ m c th p trong th i gian đ c l nh. Các mã nh phân c a ọ ệ ấ ờ ị
Đ ÁN MÔN VĐK
ƯỜ
NG ĐHCN HÀ N I Ộ
TR 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 ươ ượ ọ ừ ượ ố
i mã l nh. Khi thi hành ch ng trình trong l nh c a b vi đi u khi n đ gi ệ ủ ộ ể ả ề ể ệ ươ
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 ầ ậ ỏ
# 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();
ả
8
GVHD: Vũ Th Thu H ng ị
ươ
SVTH: Nguy n Văn Qu ng ễ Lê Duy Tú Nguy n Văn Thái
ễ
a – Ph n l p trình ầ ậ
Đ ÁN MÔN VĐK
ƯỜ
NG ĐHCN HÀ N I Ộ
TR KHOA C KHÍ L P CĐT2-K5
Ồ Ớ
Ơ
void ht1(long int number);
= 0; C2= 1; C3= 1; C4= 1;
void scan_key() {
C1 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;
= 1; C2
= 0; C3= 1; C4= 1;
C1 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;
= 1; C2
= 1; C3= 0; C4= 1;
C1 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;
= 1; C2
= 1; C3= 1; C4= 0;
//key =16;
C1 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; } //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] ;
ả
9
GVHD: Vũ Th Thu H ng ị
ươ
SVTH: Nguy n Văn Qu ng ễ Lê Duy Tú Nguy n Văn Thái
ễ
Đ ÁN MÔN VĐK
ƯỜ
NG ĐHCN HÀ N I Ộ
TR 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;
ả
10
GVHD: Vũ Th Thu H ng ị
ươ
SVTH: Nguy n Văn Qu ng ễ Lê Duy Tú Nguy n Văn Thái
ễ
Đ ÁN MÔN VĐK
ƯỜ
NG ĐHCN HÀ N I Ộ
TR 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();
number_key;
key_true = set =0; } if (enter ==1)
{
if(number_key == key_true) { dung =1; sai =0; } else { dung =0; sai =1; } enter =0; }
h[5] =0;
if(clear ==1) { h[0] =0; h[1] =0;h[2] =0;h[3] =0;h[4] =0; number_key=0; clear=0; index=0; }
}
}
void delay() { unsigned int i; for( i=0; i< 500; i++);
}
ả
11
GVHD: Vũ Th Thu H ng ị
ươ
SVTH: Nguy n Văn Qu ng ễ Lê Duy Tú Nguy n Văn Thái
ễ
Đ ÁN MÔN VĐK
ƯỜ
NG ĐHCN HÀ N I Ộ
TR KHOA C KHÍ L P CĐT2-K5
Ồ Ớ
Ơ
b – Ph n mô ph ng ỏ ầ
ả
12
GVHD: Vũ Th Thu H ng ị
ươ
SVTH: Nguy n Văn Qu ng ễ Lê Duy Tú Nguy n Văn Thái
ễ
3 – M ch nguyên lý và m ch in ạ ạ
Đ ÁN MÔN VĐK
ƯỜ
NG ĐHCN HÀ N I Ộ
TR KHOA C KHÍ L P CĐT2-K5
Ồ Ớ
Ơ
ả
13
GVHD: Vũ Th Thu H ng ị
ươ
SVTH: Nguy n Văn Qu ng ễ Lê Duy Tú Nguy n Văn Thái
ễ
Hình 9 – S đ m ch nguyên lý ơ ồ ạ
Đ ÁN MÔN VĐK
ƯỜ
NG ĐHCN HÀ N I Ộ
TR 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. ề ệ ế ể ị
c thi t k nh g n, d s d ng, ti n l - M ch đ ạ ượ ế ế ễ ử ụ ỏ ọ ệ ợ ề 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 ể
ả
14
GVHD: Vũ Th Thu H ng ị
ươ
SVTH: Nguy n Văn Qu ng ễ Lê Duy Tú Nguy n Văn Thái
ễ
- M t kh u b gi i h n 6 kí t ị ớ ạ ở ậ ẩ ự
Đ ÁN MÔN VĐK
ƯỜ
NG ĐHCN HÀ N I Ộ
TR 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
ả
15
GVHD: Vũ Th Thu H ng ị
ươ
SVTH: Nguy n Văn Qu ng ễ Lê Duy Tú Nguy n Văn Thái
ễ
ki m đi n năng… ệ ệ
Đ ÁN MÔN VĐK
ƯỜ
NG ĐHCN HÀ N I Ộ
TR KHOA C KHÍ L P CĐT2-K5
Ồ Ớ
Ơ
M c l c ụ ụ
Trang
3
I – C s lý thuy t ế
ơ ở
1 – Gi 3 ớ 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 ơ ồ ơ ồ ủ ố
b – Ch c năng các chân c a AT89S52 5 ủ ứ
11 II – N i dung ộ
1– Ph n l p trình và mô ph ng 13 ầ ậ ỏ
13 a – Ph n l p trình ầ ậ
b – Ph n mô ph ng 16 ầ ỏ
2 – M ch nguyên lý và m ch in 17 ạ ạ
19 III – K t lu n ế ậ
19 1 – u đi m Ư ể
2 – Nh 19 ượ c đi m ể
ả
16
GVHD: Vũ Th Thu H ng ị
ươ
SVTH: Nguy n Văn Qu ng ễ Lê Duy Tú Nguy n Văn Thái
ễ
20 4 – H ng c i ti n, phát tri n ể ả ế ướ