MẠCH LED TRÁI TIM ĐƠN GIẢN
1. Tìm Hiểu mạch nguyên lý
Đây là mạch nguyên lý có kết hợp nút reset, trong mạch này led ta đấu chung Anot,
PORT0 là 1 port đặc biệt nó mặc định là port vào của vđk 8051 muốn port này xuất
ra ở mức 1 cần phải có trở băng cho nó.
2. Thông số các linh kiện cần mua chuẩn bị làm mạch in:
- 1 chip 89C51 hoặc 89C52
- 1 đế chip 40 chân
- 1 tụ 10uF
- 32 điện trở 220 hoặc 330 ohm
- 1 điện trở 10K
- 1 thạch anh 12MHZ
- 2 tụ gốm 33pF
- 1 button nhỏ (2 chân hay 4 chân đều được)
- 1 trở băng 103
- 32 led
3.Nguyên lý
4.Nạp Code:
Mã:
/*****************************************************
This program was produced by the
32 led noi voi +5v qua dien tro han dong vao cac cong P0,P1,P2,P3
Thach anh: 12 Mhz
=================================================================*/
/*========================= Bo tien xu ly =======================*/
#include<reg52.h>
/*===============================================================*/
/*=================== Khai bao bien toan cuc ====================*/
sbit led1=P1^0;
sbit led14=P3^5;
sbit led15=P3^6;
sbit led16=P3^7;
sbit led17=P2^0;
sbit led21=P2^4;
sbit led22=P2^5;
sbit led23=P2^6;
sbit led27=P0^5;
sbit led28=P0^4;
sbit led29=P0^3;
sbit led32=P0^0;
unsigned int j,i,l,h,v,k;
unsigned char Q[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00}; // ON 0-->7
unsigned char U[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00}; // ON 7-->0
unsigned char E[]={0xfc,0xf3,0xcf,0x3f}; // ON chay 2 port 0-->7
unsigned char N[]={0x3f,0xcf,0xf3,0xfc}; // ON chay 2 port 7-->4
unsigned char S[]={0xfe,0xfd,0xfa,0xf5,0xea,0xf5,0xaa,0x55}; // ON/OFF tien 0-->7
unsigned char A[]={0x7f,0xbf,0x5f,0xaf,0x57,0xab,0x55,0xaa}; // ON/OFF tien 7-->0
unsigned char M[]={0xfc,0xf3,0xcf,0x3f,0xfc,0xf3,0xcf,0x3f};
unsigned char code na[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0x7e,
0xbe,0xde,0xee,0xf6,0xfa,0xfc,0x7c,0xbc,0xdc,0xec,0xf4,0xf8,0x78,0xb8,
0xd8,0xe8,0xf0,0x70,0xb0,0xd0,0xe0,0x60,0xa0,0xc0,0x40,0x80,0x00};
unsigned char O[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
unsigned char W[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,
0xbf,0x7f,0x7e,0x7d,0x7b,0x77,0x6f,0x5f,0x3f,0x3e,
0x3d,0x3b,0x37,0x2f,0x1f,0x1e,0x1d,0x1b,0x17,0x0f,
0x0e,0x0d,0x0b,0x07,0x06,0x05,0x03,0x02,0x01,0x00};
unsigned char R[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
unsigned char code ma[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
/*===============================================================*/
/*===================== Khai bao ham ============================*/
void delay(long time){
long n;
for (n=0; n
Mã:
// OFF dan tu P1,P3 den P0,P2
for(h=0;h<8;h++){P1=255-U[h];P3=255-Q[h];delay(2000);}for(l=0;l<8;l++){P0=P2=255-Q[l];delay(2000);}//for(k=0;k<4;k++){P1=P3=P2=E[k];P0=N[k];delay(2000);}for(k=0;k<4;k++){P1=P3=P2=E[k];P0=N[k];delay(2000);}for(k=0;k<4;k++){P1=P3=P2=E[k];P0=N[k];delay(2000);}for(l=0;l<4;l++){P0=E[l];P3=P2=P1=N[l];delay(2000);}for(l=0;l<4;l++){P0=E[l];P3=P2=P1=N[l];delay(2000);}for(l=0;l<4;l++){P0=E[l];P3=P2=P1=N[l];delay(2000);}P0=P1=P2=P3=0xff;for(i=0;i<8;i++){P1=P3=P2=U[i];P0=Q[i];delay(2000);}P0=P1=P2=P3=0x00;delay(1000);for(i=0;i<8;i++){P1=P3=P2=Q[i];P0=U[i];delay(2000);}P0=P1=P2=P3=0x00;delay(1000);P0=P1=P2=P3=0xff;delay(1000);for(h=0;h<8;h++){P1=U[h];P3=Q[h];delay(2000);}for(h=0;h<8;h++){P0=P2=Q[h];delay(2000);}P0=P1=P2=P3=0x00;delay(1000);P0=P1=P2=P3=0xff;delay(1000);for(l=0;l<8;l++){P0=P2=U[l];delay(2000);}for(l=0;l<8;l++){P1=Q[l];P3=U[l];delay(2000);}P0=P1=P2=P3=0xff;delay(1000);/*=======*/P1=0xf8;delay(3000);P3=0xf8;delay(3000);led15=0;led16=0;led17=0;delay(3000);P2=0x8f;led21=led22=led23=led17=0;delay(3000);led27=led28=led29=0;delay(3000);P1=P2=P3=P0=0x00;delay(3000);P1=P2=P3=P0=0xff;delay(2000);P1=P2=P3=P0=0x00;delay(3000);P1=P2=P3=P0=0xff;delay(2000);P1=P2=P3=P0=0x00;delay(3000);P1=P2=P3=P0=0xff;delay(2000);P1=P2=P3=P0=0x00;delay(3000);P1=P2=P3=P0=0xff;delay(2000);for(j=0;j<8;j++){P0=P1=P2=P3=O[j];delay(2000); }for(j=0;j<8;j++){P0=P1=P2=P3=O[j];delay(2000); }for(j=0;j<8;j++){P0=P1=P2=P3=Q[j];delay(2000); }// nhap nhayP1=P3=P2=P0=0x00;delay(2000);P1=P3=P2=P0=0xff;delay(2000);P1=P3=P2=P0=0x00;delay(2000);P1=P3=P2=P0=0xff;delay(2000);P1=P3=P2=P0=0x00;delay(2000);P1=P3=P2=P0=0xff;delay(2000);P1=P3=P2=P0=0x00;delay(2000);P1=P3=P2=P0=0xff;delay(2000);P3=0x0f;P2=0xf0;led21=0;delay(2000);P3=P2=0x00;delay(2000);P1=P0=0x0f;delay(2000);P1=P0=0x00;delay(2000);P1=P2=P3=P0=0xff;delay(2000);P0=P1=P2=P3=0x00;delay(3000);P0=P1=P2=P3=0xff;delay(2000);P0=P1=P2=P3=0x000;delay(3000);P0=P1=P2=P3=0xff;delay(2000);P1=P0=0xf0;delay(4000);P1=P0=0x00;delay(4000);P3=0xf0;P2=0x0f;delay(4000);P1=P2=P3=P0=0x00;delay(4000);P1=P2=P3=P0=0xff;delay(2000);P3=0x0f;P2=0xf0;led21=0;delay(4000);P3=P2=0x00;delay(4000);P1=P0=0x0f;delay(4000);P1=P0=0x00;delay(4000);P1=P2=P3=P0=0xff;delay(2000);P1=P0=0xf0;delay(4000);P1=P0=0x00;delay(4000);P3=0xf0;P2=0x0f;delay(4000);P1=P2=P3=P0=0x00;delay(4000);P1=P2=P3=P0=0xff;delay(2000);P3=P1=0x00;led17=0;delay(4000);led17=1;P3=P1=0xff; delay(2000); P2=P0=0x00;led1=0;delay(2000);P2=P0=0xff;led1=1;delay(2000);/* sang duoi */for(j=0;j<8;j++){P1=Q[j];P0=Q[j];delay(2000);}for(j=0;j<8;j++){P2=Q[j];P3=U[j];delay(2000);}P1=P0=P2=P3=0xff;delay(1000);for(j=0;j<8;j++){P1=Q[j];P0=Q[j];delay(2000);} for(j=0;j<8;j++){P3=Q[j];P2=U[j];delay(2000);} P0=P1=P2=P3=0xff;delay(2000);for(j=0;j<8;j++){P2=Q[j];P3=U[j];delay(2000);}for(j=0;j<8;j++){P0=U[j];P1=U[j];delay(2000);}P0=P1=P2=P3=0x00;delay(1000);P0=P1=P2=P3=0x00;delay(3000);for(j=0;j<8;j++){P3=255-U[j];P2=255-Q[j];delay(2000);}for(j=0;j<8;j++){P1=255-U[j];P0=255-U[j];delay(2000);}P0=P1=P2=P3=0x00;delay(3000);P3=P2=P1=P0=0xff;delay(2000);for(h=0;h<8;h++){P1=Q[h];delay(2000);}for(h=0;h<8;h++){P3=Q[h];delay(2000);}led17=0;for(h=0;h<8;h++){P0=Q[h];delay(2000);}for(h=0;h<8;h++){P2=U[h];delay(2000);}P0=P1=P2=P3=0xff;delay(2000);// ON&OFF danfor(j=0;j<8;j++){P1=Q[j];delay(2000);}for(j=0;j<8;j++){P3=Q[j];delay(2000);}for(j=0;j<8;j++){P1=255-Q[j];P2=Q[j];delay(2000);}for(j=0;j<8;j++){P3=255-Q[j];P0=U[j];delay(2000);}for(j=0;j<8;j++){P1=Q[j];P2=255-Q[j];delay(2000);}for(j=0;j<8;j++){P3=Q[j];P0=255-U[j];delay(2000);}for(j=0;j<8;j++){P1=255-Q[j];P2=Q[j];delay(2000);}for(j=0;j<8;j++){P3=255-Q[j];P0=U[j];delay(2000);}for(j=0;j<8;j++){P2=255-Q[j];delay(2000);}for(j=0;j<8;j++){P0=255-U[j];delay(2000);}P0=P1=P2=P3=0xff;// On dan, OFF danfor(j=0;j<8;j++){P1=Q[j];delay(2000);}for(j=0;j<8;j++){P3=Q[j];delay(2000);}for(j=0;j<8;j++){P2=Q[j];delay(2000);}for(j=0;j<8;j++){P0=U[j];delay(2000);}P0=P1=P2=P3=0x00;delay(2000);for(j=0;j<8;j++){P1=255-Q[j];delay(2000);}for(j=0;j<8;j++){P3=255-Q[j];delay(2000);}for(j=0;j<8;j++){P2=255-Q[j];delay(2000);}for(j=0;j<8;j++){P0=255-U[j];delay(2000);}P1=P3=P2=P0=0x00;delay(1000);P1=P2=P3=P0=0xff;delay(1000);P1=P3=P2=P0=0x00;delay(1000);P1=P2=P3=P0=0xff;delay(1000);P1=P3=P2=P0=0x00;delay(1000);P1=P2=P3=P0=0xff;delay(1000);P1=P3=P2=P0=0x00;delay(1000);P1=P2=P3=P0=0xff;delay(1000);P1=P3=P2=P0=0x00;delay(1000);P1=P2=P3=P0=0xff;delay(1000);P1=P3=P2=P0=0x00;delay(1000);P1=P2=P3=P0=0xff;delay(1000);P1=P3=P2=P0=0x00;delay(1000);P1=P2=P3=P0=0xff;delay(1000);/*=== Trang thai ===*/for(j=0;j<8;j++){P1=Q[j];delay(2000);}for(j=0;j<8;j++){P3=Q[j];delay(2000);}for(j=0;j<8;j++){P2=Q[j];delay(2000);}for(j=0;j<8;j++){P0=U[j];delay(2000);}P0=P1=P2=P3=0xff;for(j=0;j<8;j++){P1=P2=Q[j];delay(2000);}for(j=0;j<8;j++){P3=Q[j];P0=U[j];delay(2000);}P0=P1=P2=P3=0xff;led17=led1=0;delay(2000);for(j=0;j<8;j++){P3=U[j];P0=Q[j];delay(2000);}for(j=0;j<8;j++){P1=P2=U[j];delay(2000);}P0=P1=P2=P3=0xff;delay(1000);for(i=0;i<8;i++){P1=P3=P2=U[i];P0=Q[i];delay(2000);}P0=P1=P2=P3=0x00;delay(1000);for(i=0;i<8;i++){P1=P3=P2=Q[i];P0=U[i];delay(2000);}P0=P1=P2=P3=0x00;delay(1000);for(i=0;i<8;i++){P1=O[i];P3=Q[i];P2=Q[i];delay(2000);}for(j=0;j<8;j++){P1=P2=Q[j];delay(2000);}for(j=0;j<8;j++){P3=Q[j];P0=U[j];delay(2000);}P0=P1=P2=P3=0xff;delay(3000);led17=led1=0;delay(2000);for(j=0;j<8;j++){P3=U[j];P0=Q[j];delay(2000);}P0=P1=P2=P3=0xff;for(j=0;j<8;j++){P1=P2=U[j];delay(2000);}P0=P1=P2=P3=0xff;delay(1000);}} <8 dan="" delay="" duoi="" for="" h="" i="0;i<8;i++){" j="0;j<8;j++){" k="" l="0;l<8;l++){" led15="0;" led16="0;" led17="" led1="0;" led21="0;" led22="" led23="" led27="" led28="" led29="0;" nhap="" nhay="" off="" on="" p0="" p1="" p2="" p3="0xff;" sang="" thai="==*/" trang="">8>