DMDT
  • Danh Mục
    • Vi Điều Khiển
      • 8051
      • Arduino
      • AVR
      • IC Chức Năng
      • PIC
    • Module
      • MD Chuyển Đổi
      • MD GSM,GPS,3G
      • MD LCD
      • MD Nguồn
      • MD Wifi
    • Điện Tử Cơ Bản
      • ADC/DAC
      • Bộ Nhớ Bán Dẫn
      • Các Họ IC Số
      • Họ OPAM
      • Mạch Tổ Hợp
      • Mạch Tuần Tự
      • Linh Kiện Cơ Bản
    • Mạch Điện Vui
      • DIY – Tự Ráp Mạch
      • Hướng Dẫn Thiết Kế Mạch
      • Sản Phẩm Sáng Tạo
      • Tự Làm Mạch In
    • Cảm Biến
      • Analog (Tín hiệu điện áp)
      • Digital (Tín hiệu số)
  • Phần Mềm
  • Đồ Án
No Result
View All Result
DMDT
  • Danh Mục
    • Vi Điều Khiển
      • 8051
      • Arduino
      • AVR
      • IC Chức Năng
      • PIC
    • Module
      • MD Chuyển Đổi
      • MD GSM,GPS,3G
      • MD LCD
      • MD Nguồn
      • MD Wifi
    • Điện Tử Cơ Bản
      • ADC/DAC
      • Bộ Nhớ Bán Dẫn
      • Các Họ IC Số
      • Họ OPAM
      • Mạch Tổ Hợp
      • Mạch Tuần Tự
      • Linh Kiện Cơ Bản
    • Mạch Điện Vui
      • DIY – Tự Ráp Mạch
      • Hướng Dẫn Thiết Kế Mạch
      • Sản Phẩm Sáng Tạo
      • Tự Làm Mạch In
    • Cảm Biến
      • Analog (Tín hiệu điện áp)
      • Digital (Tín hiệu số)
  • Phần Mềm
  • Đồ Án
No Result
View All Result
DMDT
No Result
View All Result
Home Vi Điều Khiển 8051

Bài 3: Lập trình LED Matrix với 8051.

26 Tháng Sáu, 2022
in 8051, Vi Điều Khiển
953 20

Hướng dẫn 8051 lập trình với led matrix.

I.Cấu tạo về led matrix

 Cấu tạo LED Martrix có dạng như hình dưới đây. Về cấu tạo rất giống với một hệ nhiều LED 7 thanh, ví dụ gồm 8 LED 7 thanh ghép với nhau

 Để chuẩn bị cho bài toán về LED matrix các bạn chuẩn bị một mạch điện mô phỏng đơn giản theo hình sau. Đánh vào từ khóa “Matrix”, kéo xuống chọn loại 8×8 (màu xanh, đỏ tùy các em).

 Ở đây PORT2 dùng để điều khiển 8 cột LED, PORT3 dùng để điều khiển 8 hàng LED. LED sẽ sáng nếu thỏa mãn 2 điều kiện là Port3 xuất ra 0 và Port2 xuất ra 1. Port 3 cấp giá trị theo chân, PORT2 được dùng để xuất dữ liệu ra LED. Để đèn sáng thì chân tương ứng ở PORT2 phải có giá trị bằng 0. Chi tiết xem hình dưới.

Đây là code để các bạn tham khảo:

Hiển thị một  chữ cái là :B

#include<REGX52.H>
unsigned char code chuB[]={ 0XFF,0X00,0X00,0X66,0X66,0X66,0X81,0XFF };

/* Ham Delay */
void Fn_DELAY (unsigned int _vrui_Time)
{ while(_vrui_Time--); }
void main()
{
unsigned char i,j;
while(1)
{
for(j=0;j<200;j++)
{
 for(i=0;i<8;i++)
  {
  P3 = chuB[i];
  P2 = 0x01<<i;
  Fn_DELAY(50);
  P2 = 0x00;
  }

}
}
}

 

Hiển thị lần lượt các chữ cái:

#include<REGX52.H>
unsigned char code chuB[]={0XFF,0X00,0X00,0X66,0X66,0X66,0X81,0XFF };
unsigned char code chuT[]={0XFF,0XFC,0XFC,0X00,0X00,0XFC,0XFC,0XFF };
unsigned char code chuR[]={0XFF,0X00,0X00,0XEC,0XEC,0X00,0X01,0XFF };
unsigned char code chuI[]={0XFF,0X3C,0X3C,0X00,0X00,0X3C,0X3C,0XFF };
unsigned char code chuN[]={0XFF,0X01,0X00,0XFC,0XFC,0X00,0X01,0XFF };
unsigned char code chuH[]={0XFF,0X00,0X00,0XE7,0XE7,0X00,0X00,0XFF };
unsigned char code chuV[]={0XFF,0XC0,0X80,0X3F,0X3F,0X80,0XC0,0XFF };
unsigned char code chuA[]={0XFF,0X03,0XED,0XEE,0XEE,0XED,0X03,0XFF };

/* Ham Delay */
void Fn_DELAY (unsigned int _vrui_Time)
{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while(_vrui_Time--);}
void main()
{
unsigned char i,j;
while(1)
{
for(j=0;j<200;j++)
{
for(i=0;i<8;i++)
 {
  P3 = chuT[i];
  P2 = 0x01<<i;
  Fn_DELAY(50);
  P2 = 0x00;
 }
}
for(j=0;j<200;j++)
{
for(i=0;i<8;i++)
 {
  P3 = chuR[i];
  P2 = 0x01<<i;
  Fn_DELAY(50);
  P2 = 0x00;
  }
}

for(j=0;j<200;j++)
{
for(i=0;i<8;i++)
 {
  P3 = chuI[i];
  P2 = 0x01<<i;
  Fn_DELAY(50);
  P2 = 0x00;
 }
}

for(j=0;j<200;j++)
{
for(i=0;i<8;i++)
 {
  P3 = chuN[i];
  P2 = 0x01<<i;
  Fn_DELAY(50);
  P2 = 0x00;
 }
}
for(j=0;j<200;j++)
{
for(i=0;i<8;i++)
 {
  P3 = chuH[i];
  P2 = 0x01<<i;
  Fn_DELAY(50);
  P2 = 0x00;
 }
}
for(j=0;j<200;j++)
{
for(i=0;i<8;i++)
{
  P3 = chuV[i];
  P2 = 0x01<<i;
  Fn_DELAY(50);
  P2 = 0x00;
}
}
for(j=0;j<200;j++)
{
for(i=0;i<8;i++)
{
P3 = chuA[i];
P2 = 0x01<<i;
Fn_DELAY(50);
P2 = 0x00;
}
}
for(j=0;j<200;j++)
{
for(i=0;i<8;i++)
{
P3 = chuN[i];
P2 = 0x01<<i;
Fn_DELAY(50);
P2 = 0x00;
}
}
for(j=0;j<200;j++)
{
for(i=0;i<8;i++)
{
P3 = chuB[i];
P2 = 0x01<<i;
Fn_DELAY(50);
P2 = 0x00;
}
}
for(j=0;j<200;j++)
{
for(i=0;i<8;i++)
{
P3 = chuA[i];
P2 = 0x01<<i;
Fn_DELAY(50);
P2 = 0x00;
}

}
for(j=0;j<200;j++)
{
for(i=0;i<8;i++)
{
P3 = chuT[i];
P2 = 0x01<<i;
Fn_DELAY(50);
P2 = 0x00;
}
}
for(j=0;j<200;j++)
{
for(i=0;i<8;i++)
{
P3 = chuV[i];
P2 = 0x01<<i;
Fn_DELAY(50);
P2 = 0x00;
}
}
}
}

 

 

 

 

Tags: 8051cách quét led matrixlập trình led matrix với 8051led matrix
Share722Tweet452

Related Posts

lập trình led 7 thanh
8051

Lập trình LED 7 thanh với 8051

4 Tháng Bảy, 2022
Module nRF24L01 2.4G – Cách Thức Sử Dụng Với Tất Cả Các Dòng VĐK
Điện Tử Cơ Bản

Module nRF24L01 2.4G – Cách Thức Sử Dụng Với Tất Cả Các Dòng VĐK

19 Tháng Sáu, 2022
BÀI 12: Đọc bàn phím khóa số với 8051.
8051

BÀI 12: Đọc bàn phím khóa số với 8051.

26 Tháng Sáu, 2022
Next Post
Lập trình Truyền thông nối tiếp với 8051

Lập trình Truyền thông nối tiếp với 8051

Hướng dẫn tạo project với KeilC lập trình 8051.

Hướng dẫn tạo project với KeilC lập trình 8051.

0 0 đánh giá
Đánh giá bài viết
Theo dõi
Đăng nhập
Thông báo của
guest
guest
0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận

No Result
View All Result
  • Danh Mục
    • Vi Điều Khiển
      • 8051
      • Arduino
      • AVR
      • IC Chức Năng
      • PIC
    • Module
      • MD Chuyển Đổi
      • MD GSM,GPS,3G
      • MD LCD
      • MD Nguồn
      • MD Wifi
    • Điện Tử Cơ Bản
      • ADC/DAC
      • Bộ Nhớ Bán Dẫn
      • Các Họ IC Số
      • Họ OPAM
      • Mạch Tổ Hợp
      • Mạch Tuần Tự
      • Linh Kiện Cơ Bản
    • Mạch Điện Vui
      • DIY – Tự Ráp Mạch
      • Hướng Dẫn Thiết Kế Mạch
      • Sản Phẩm Sáng Tạo
      • Tự Làm Mạch In
    • Cảm Biến
      • Analog (Tín hiệu điện áp)
      • Digital (Tín hiệu số)
  • Phần Mềm
  • Đồ Án

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In
wpDiscuz