Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
1,14 MB
Nội dung
BÁO CÁO THÍ NGHIỆM VI ĐIỀUKHIỀ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ỀUKHIỂ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 MATRẬNPHÍM Trang 1 BÁO CÁO THÍ NGHIỆM VI ĐIỀUKHIỀN Vi điềukhiể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ềukhiể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ềukhiể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ỀUKHIỂNMATRẬN PHÍM HIỂNTHỊLÊNLCD 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 matrận phím. Nhiệm vụ của khối bàn phím là nhập dữ liệu vào khối điềukhiển chính để xuất ra khối hiểnthị 3. Khối hiển thị: Khối hiểnthị là một màn hình LCD 16x2 bao gồm 16 cột và 2 dòng. Nhiệm vụ của khối hiểnthị là đưa ra ở màn hình những thông số khối điềukhiển chính đã nhận từ khối bàn phímMATRẬNPHÍM Trang 2 KHỐI NGUỒN KHỐI ĐIỀUKHIỂN CHÍNH KHỐI BÀN PHÍM KHỐI HIỂNTHỊ BÁO CÁO THÍ NGHIỆM VI ĐIỀUKHIỀN 4. Khối điềukhiển chính: Khối này sử dụng vi điềukhiển AT89C51 có nhiệm vụ thu thập thông tin từ khối bàn phím sau đó xuất tín hiệu và kích cho LCD hoạt động và hiểnthị các thông số ra khối hiển thị. II. Các linh kiện sử dụng trong mạch. 1. IC AT89S52 Chức năng: Nhận dữ liệu từ bàn phím và từ người lập trình rồi xuất ra khối hiển thị. Sơ đồ chân: IC CD4047 hoạt động ở mức điện áp 5V. Chức năng của các chân như sau: - P0.0 đến P0.7 là các chân của cổng 0. - P1.0 đến P1.7 là các chân của cổng 1. - P2.0 đến P2.7 là các chân của cổng 2 - P3.0 đến P3.7 là các chân của cổng 3 - RST: Chân vào Reset, tích cực ở mức logic cao trong khoảng 2 chu kỳ máy. - XTAL1: Chân vào mạch khuyếch đaị dao động - XTAL2: Chân ra từ mạch khuyếch đaị dao động. - EA: Truy cập bộ nhớ ngoài. - /PSEN : Chân cho phép đọc bộ nhớ chương trình ngoài (ROM ngoài). - ALE (/PROG): Chân tín hiệu cho phép chốt địa chỉ để truy cập bộ nhớ ngoài, khi On-chip xuất ra byte thấp của địa chỉ. Tín hiệu chốt được kích hoạt ở mức cao, tần số xung chốt = 1/6 tần số MATRẬNPHÍM Trang 3 BÁO CÁO THÍ NGHIỆM VI ĐIỀUKHIỀ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 MATRẬNPHÍM Trang 4 BÁO CÁO THÍ NGHIỆM VI ĐIỀUKHIỀN Hình dạng thực tế: 3.LCD 16x2: Là một màn hình hiểnthi gồm 16 cột và 2 hàng dùng để hiểnthị các thông số do người dùng nhập vào. Sơ đồ chân: MATRẬNPHÍM Trang 5 BÁO CÁO THÍ NGHIỆM VI ĐIỀUKHIỀ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 tưong ứng thì V0 được dùng để điềukhiển độ tưong phản của LCD. - Chân chọn thanh ghi RS (Register Select): Có hai thanh ghi trong LCD, chân RS(Register Select) được dùng để chọn thanh ghi, như sau: Nếu RS = 0 thì thanh ghi mà lệnh được chọn để cho phép người dùng gửi một lệnh chẳng hạn như xoá màn hình, đưa con tr ỏ về đầu dòng v.v… Nếu RS = 1 thì thanh ghi dữ liệu được chọn cho phép người dùng gửi dữ liệu cần hiểnthị trên LCD. - Chân đọc/ ghi (R/W): Ðầu vào đọc/ ghi cho phép người dùng ghi thông tin lênLCD khi R/W = 0 hoặc đọc thông tin từ nó khi R/W = 1. - Chân cho phép E (Enable): Chân cho phép E dược sử dụng bởi LCD để chốt dữ liệu của nó. Khi dữ liệu được cấp dến chân dữ liệu thì một xung mức cao xuống thấp phải được áp đến chân này để LCD chốt dữ liệu trên các chân dữ liệu. Xung này phải rộng tối thiểu là 450ns. - Chân D0 - D7: Ðây là 8 chân dữ liệu 8 bít, được dùng dể gửi thông tin lênLCD hoặc đọc nội dung của các thanh ghi trong LCD. Ðể hiểnthị các chữ cái và các con số, chúng ta gửi các mã ASCII của các chữ cái từ A đến Z, a đến f và các con số từ 0 - 9 đến các chân này khi bật RS = 1. Cũng có các mã lệnh mà có thể được gửi đến LCD để xoá màn hình hoặc đưa con trỏ về đầu dòng hoặc nhấp nháy con trỏ. - Chú ý:Chúng ta cũng sử dụng RS = 0 để kiểm tra bít cờ bận để xem LCD có sẵn sàng nhận thông tin. Cờ bận là bít D7 và có thể được đọc khi R/W = 1 và RS = 0 như sau: Nếu R/W = 1, RS = 0 khi D7 = 1 (cờ bận 1) thìLCD bận bởi các công việc bên trong và sẽ không nhận bất kỳ thông tin mới nào. Khi D7 = 0 thìLCD sẵn sàng nhận thông tin mới. Lưu ý chúng ta nên kiểm tra cờ bận truớc khi ghi bất kỳ dữ liệu nào lênLCD Hình dạng thực tế: MATRẬNPHÍM Trang 6 BÁO CÁO THÍ NGHIỆM VI ĐIỀUKHIỀN 4. Matrận phím: Là một tổ hợp gồm 16 nút nhấn được kết nối với nhau dùng để nhập dữ liệu vào vi điều khiển. Sơ đồ chân: Nguyên lí quét phím: - Vì sao mạchphí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 matrậnthì 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. MATRẬNPHÍM Trang 7 BÁO CÁO THÍ NGHIỆM VI ĐIỀUKHIỀ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 C 2 S W 1 7 S W 2 V C C S W 6 R 2 8 K 2 S W 1 0 S W 1 2 C 3 1 0 u F S W 1 5 S W 5 C 1 3 3 p F S W 3 S W 1 4S W 1 3 S W 4 S W 1 6 L C D _ T E X T U 1 L C D 1 2 3 4 5 6 7 8 9 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 8 1 9 2 0 2 9 3 0 3 1 4 0 1 2 3 4 5 6 7 8 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 1 0 1 1 1 2 1 3 1 4 1 5 1 6 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 P 2 . 5 / A 1 3 P 2 . 6 / A 1 4 P 2 . 7 / A 1 5 P 3 . 0 / R X D P 3 . 1 / T X D P 3 . 2 / I N T 0 P 3 . 3 / I N T 1 P 3 . 4 / T 0 P 3 . 5 / T 1 P 3 . 6 / W R P 3 . 7 / R D P 0 . 0 / A D 0 P 0 . 1 / A D 1 P 0 . 2 / A D 2 P 0 . 3 / A D 3 P 0 . 4 / A D 4 P 0 . 5 / A D 5 P 0 . 6 / A D 6 P 0 . 7 / A D 7 V C C R 3 2 2 0 2. Giải thích: Sau khi cấp nguồn LCD sẽ hoạt động và hiểnthịlên những dữ liệu mà người cài đặt vào. Dữ liệu được nhập vào bằng bàn phím từ matrậnphím và được xử lý thông qua chíp AT89S52. Matrậnphím được nối vào PORT 2 của chân vi điều khiển. Chân 18, 19 của chíp AT89S52 được nối với thạch anh tạo nên mạch dao động trên chíp với 2 tụ 33pF dùng để ổn định mạch dao động. Chân 9 được nối với 1 nút nhấn tạo nên bộ phận reset cho mạch, khi nút Reset được nhấn thì sẽ trở về trạng thái ban đầu. Tín hiệu được đưa vào chíp từ matrậnphím và được vi điềukhiển xử lý thông qua đoạn chương trình mà ta nạp vào cho nó. Đoạn chương trình như sau: #include <reg52.h> #include <stdio.h> sbit RS_LCD = P3^5; sbit RW_LCD = P3^6; sbit E_LCD = P3^7; unsigned int i; // MATRẬNPHÍM Trang 8 BÁO CÁO THÍ NGHIỆM VI ĐIỀUKHIỀ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; RS_LCD = 0; RW_LCD = 1; do { E_LCD = 1; delay_short(); E_LCD = 0; x=P1; x=x&0x80; } while(x!=0x80); } // void ghi_lenh(unsigned char commant) { kt_ban(); delay(50); P1 = commant; RS_LCD = 0; // chon thanh ghi lenh RW_LCD = 0; // write to LCD E_LCD = 1; delay_short(); E_LCD = 0; } MATRẬNPHÍM Trang 9 BÁO CÁO THÍ NGHIỆM VI ĐIỀUKHIỀN // void ghi_kytu(unsigned char kytu) { kt_ban(); 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 matran 5x7 ghi_lenh(0x01); //Xoa man hinh ghi_lenh(0x0f); //Co dich hienthi ghi_lenh(0x0c); //Bat hienthi ,tat con tro } // void hienthi() { if(P2==0xee) { ghi_lenh(0x01); ghi_lenh(0x80+3); ghi_chuoi("Phim so 1"); } if(P2==0xde) { ghi_lenh(0x01); ghi_lenh(0x80+3); ghi_chuoi("Phim so 2"); } MATRẬNPHÍM Trang 10 [...]... DieuKhien "); delay(300); ghi_lenh(0x01); ghi_lenh(0x80); ghi_chuoi("Moi chon phim"); while(1) { quetphim(); } } MATRẬNPHÍM Trang 13 BÁO CÁO THÍ NGHIỆM VI ĐIỀUKHIỀN V./ SƠ ĐỒ MẠCH IN VÀ MẠCH THỰC TẾ: Sơ đồ mạch in: Mạch thực tế: Kết luận: mạch hoạt động tốt và ổn định HẾT MATRẬNPHÍM Trang 14 ... if(P2==0xb7) { ghi_lenh(0x01); ghi_lenh(0x80+3); ghi_chuoi("Phim so 15"); MATRẬNPHÍM Trang 12 BÁO CÁO THÍ NGHIỆM VI ĐIỀUKHIỀ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}; for (i=0; i . 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 ở. bàn phím MA TRẬN PHÍM Trang 2 KHỐI NGUỒN KHỐI ĐIỀU KHIỂN CHÍNH KHỐI BÀN PHÍM KHỐI HIỂN THỊ BÁO CÁO THÍ NGHIỆM VI ĐIỀU KHIỀN 4. Khối điều khiển chính: Khối này sử dụng vi điều khiển AT89C51 có. hiển thị: Khối hiển thị là một màn hình LCD 16x2 bao gồm 16 cột và 2 dòng. Nhiệm vụ của khối hiển thị là đưa ra ở màn hình những thông số khối điều khiển chính đã nhận từ khối bàn phím MA TRẬN