Danh mục

Điều khiển ma trận 8*8 dùng Psoc

Số trang: 8      Loại file: pdf      Dung lượng: 232.41 KB      Lượt xem: 10      Lượt tải: 0    
tailieu_vip

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Xác định cho chân LED ma trận. Ta dùng đồng hồ xác định cũng được . Vì mỗi ma trận LED được cấu tạo bởi bởi các hàng và các cột trong đó các hàng là cực Anot của LED và cột là Katot của LED.
Nội dung trích xuất từ tài liệu:
Điều khiển ma trận 8*8 dùng Psoc Điều khiển ma trận 8*8 dùng PsocNguồn:biendt.bizBài này tôi giới thiệu với các pác làm led ma trận 8x8 đơn giản dùng chip Psoc.Hiện thị chữ BIENDT ta quét cột* Chuẩn bị :1 LED ma trận 8*8. Hiện này trên thị trường có loại LED 8*8 hai mầu đỏ và xanhXác định cho chân LED ma trận. Ta dùng đồng hồ xác định cũng được . Vì mỗima trận LED được cấu tạo bởi bởi các hàng và các cột trong đó các hàng là cựcAnot của LED và cột là Katot của LED.Hay các pác có thể xem hình dới đây để xác định:Để như trên thì thứ tự chân như sau: Đây là LED hai mầu đỏ (D) và xanh (X) vớihàng chung hay Anot chung!Nhìn trên thứ tự đó thì : H1 D1 X1 H2 D2 X2 H3 D3 X3 H4 D4 X4H5 D5 X5 H6 D6 X6 H7 D7 X7 H8 D8 X8Ỏ đây tôi chỉ dùng mầu đỏ thôi!* Mạch nguyên lý :Với mạch trên tôi dùng+ A1015 để kích dòng cho các hàng+ ULN2803 để ổn định dòng để đèn sáng đều* Nguyên lý hoạt động.Tại mỗi thời điểm ta chỉ có một đèn LED trên 1 cột sáng do ta quét 8 cột với tầnsố nhanh do mắt con người có sự lưu ảnh nên tại một thới điểm ta sẽ nhìn thấytoàn bộ kí tự. Để cho đèn D1 sáng ta phải cho vào hàng 1 điện áp 5V và cột 1điện áp âm.Đối với mạch trên do ta sử dụng A1013 nên chân điều khiển vào Bazo phải là 0V.Nên ta phải tính các ký tự hiện thị ở mức 0.tức là một mảng kí tự gồm 9 phần tửtrong đó có 1 phần tử đưa tất cả các hàng về 0 V để tắt toàn bộ hàng đó!Để làm chữ chạy ta phải thêm 1 biến vào để hiện thị các kí tự ra hàng!* Chương trình điều khiển.Ỏ đây các hàng ta nối với P0 với mức logic là 0 (Điều khiển Transitor A1015)Các cột ta nối với P2 với mức logic là 0//----------------------------------------------------------------------// C main line//-----------------------------------------------------------------------#include // part specific constants and macros#include PSoCAPI.h // PSoC API definitions for all User Modulesunsigned char kytu1[9]; // mang 9 phan tu cua cac hangunsigned char k=0; bien xac dinh cac ki tuunsigned int n;void delay(){for(n=0;nkytu1[4]=0x76;kytu1[5]=0x89;kytu1[6]=0xFF;kytu1[7]=0xFF;kytu1[8]=0xFF;break;}//CHU Icase 2: {kytu1[0]=0xFF;kytu1[1]=0x7E;kytu1[2]=0x7E;kytu1[3]=0x7E;kytu1[4]=0x00;kytu1[5]=0x7E;kytu1[6]=0x7E;kytu1[7]=0xFF;kytu1[8]=0xFF;break;}//CHU Ecase 3: {kytu1[0]=0xFF;kytu1[1]=0xFF;kytu1[2]=0x00;kytu1[3]=0x6E;kytu1[4]=0x6E;kytu1[5]=0x6E;kytu1[6]=0x6E;kytu1[7]=0xFF;kytu1[8]=0xFF;break;}//CHU Ncase 4: {kytu1[0]=0xFF;kytu1[1]=0x00;kytu1[2]=0xFE;kytu1[3]=0xFD;kytu1[4]=0xFB;kytu1[5]=0xF7;kytu1[6]=0xEF;kytu1[7]=0xDF;kytu1[8]=0x00;break;}//CHU Dcase 5: {kytu1[0]=0xFF;kytu1[1]=0xFF;kytu1[2]=0x00;kytu1[3]=0x7E;kytu1[4]=0x7E;kytu1[5]=0x7E;kytu1[6]=0x7E;kytu1[7]=0x81;kytu1[8]=0xFF;break;}//CHU Tcase 6: {kytu1[0]=0xFF;kytu1[1]=0xFE;kytu1[2]=0xFE;kytu1[3]=0xFE;kytu1[4]=0x00;kytu1[5]=0xFE;kytu1[6]=0xFE;kytu1[7]=0xFE;kytu1[8]=0xFF;break;}}//DAU DONGcase 7: {kytu1[0]=0xFF;kytu1[1]=0xFF;kytu1[2]=0xFF;kytu1[3]=0xFF;kytu1[4]=0xFF;kytu1[5]=0xFF;kytu1[6]=0xFF;kytu1[7]=0xFF;kytu1[8]=0xFF;break;}void hienthi(void){unsigned char i,j,lap;unsigned char cot[8]={0xFF,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};//phan tu quet cotfor(j=0;jPRT0DR=0xFF;PRT2DR=0xFF;}}}}void main(void){while(1){hienthi();k=k+1;if(k==7){k=0;}}}Ngoài ra các pác có thể hiện thị chữ khác chỉ cần tính chữ hiện thị trong mảng kítự là OK!

Tài liệu được xem nhiều: