Xem mẫu

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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