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

14 2K 81
mạch điều khiển ma trận phím hiển thị lên lcd

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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. Nhiệm vụ của khối bàn phím là nhập dữ liệu vào khối điều khiển chính để xuất ra khối hiển thị 3. Khối 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 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ó 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ển thị 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ố 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 tưong ứng thì V0 được dùng để điều khiể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 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ển thị 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ên LCD 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ên LCD hoặc đọc nội dung của các thanh ghi trong LCD. Ðể hiển thị các chữ cái và các con số, chúng ta gửi các 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 lệnh 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ên LCD Hình dạng thực tế: MA TRẬN PHÍM Trang 6 BÁO CÁO THÍ NGHIỆM VI ĐIỀU KHIỀN 4. Ma trậ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ạ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 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ển thị lên những dữ liệu người cài đặt vào. Dữ liệu được nhập vào bằng bàn phím từ ma trận phím và được xử lý thông qua chíp AT89S52. Ma trận phí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ừ ma trận phím và được vi điều khiển xử lý thông qua đoạn chương trình 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; // 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; 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; } MA TRẬN PHÍM Trang 9 BÁO CÁO THÍ NGHIỆM VI ĐIỀU KHIỀ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 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 1"); } if(P2==0xde) { ghi_lenh(0x01); ghi_lenh(0x80+3); ghi_chuoi("Phim so 2"); } MA TRẬN PHÍM Trang 10 [...]... Dieu Khien "); delay(300); ghi_lenh(0x01); ghi_lenh(0x80); ghi_chuoi("Moi chon phim"); while(1) { quetphim(); } } MA TRẬN PHÍM Trang 13 BÁO CÁO THÍ NGHIỆM VI ĐIỀU KHIỀ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  MA TRẬN PHÍM Trang 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}; 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

Ngày đăng: 17/04/2014, 17:03

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan