Mạch Khóa Số Điện Tử Mạch Đếm Sản Phẩm Mạch Đèn giao thông Ngã Tư Mạch Trái Tim Final Mạch Trái Tim Final Mạch Trái Tim I Love U

January 21, 2014

Led trái tim sao băng code C full - Version Final

Chip thấy trên mạng có những video led trái tim sao băng đẹp, tình cờ tìm thấy trên 4rum DTVN có nhiều code hay, đặc biệt là TUT hướng dẫn của bạn Tienhuypro thực sự rất hay và băm xung rất đẹp, Chip đem về chia sẻ lại cho các bạn đam mê điện tử cùng học tập và làm mạch nhé. Riêng code này các bạn nào biết có thể biến tầu lên thành led trái tim đa sắc RGB dùng 3 chân điều khiển còn dùng 28 bóng chạy là ngon. Nói nhiều quá sốt ruột chia sẻ đã ^^ cho nóng.
Ak quên: Thay mặt bạn bè đam mê điện tử Blog Echipkoo.com cảm ơn bạn Huy chẳng may bạn qua lại lùm beng lên..hì hì
Mạch chip rảnh sẽ thiết kế mạch và hướng dẫn chi tiết sau sẽ có bổ sung:

I. Video xem cho đã mắt còn lấy hứng làm tiếp:



II. Một số hình ảnh làm mạch:

Những bạn nào đã từng làm mạch trái tim trên website echipkool.com thì việc làm mạch này lại quá đơn giản:




III. Code C:

Code có 2 phần:
a. Phần main:
#include "regx52.h"
#include "code_display_32c.h"
#define t 15
typedef unsigned char uchar;
typedef unsigned int  uint;
sbit c1=P0^0;
sbit c2=P0^1;
sbit c3=P0^2;
sbit c4=P0^3;
sbit c5=P0^4;
sbit c6=P0^5;
sbit c7=P0^6;
sbit c8=P0^7;
sbit c9=P2^7;
sbit c10=P2^6;
sbit c11=P2^5;
sbit c12=P2^4;
sbit c13=P2^3;
sbit c14=P2^2;
sbit c15=P2^1;
sbit c16=P2^0;
sbit c17=P3^7;
sbit c18=P3^6;
sbit c19=P3^5;
sbit c20=P3^4;
sbit c21=P3^3;
sbit c22=P3^2;
sbit c23=P3^1;
sbit c24=P3^0;
sbit c25=P1^7;
sbit c26=P1^6;
sbit c27=P1^5;
sbit c28=P1^4;
sbit c29=P1^3;
sbit c30=P1^2;
sbit c31=P1^1;
sbit c32=P1^0;
bit f_endl;
uchar timedl;
uchar settimedl;

// | | |
// c1,c2,c3|c4,c5,c6,c7,c8|c9,c10,c11,c12,c13,c14|c15  ,c16,c17,
uchar code hu01[32]={14,13,12,11, 10, 9, 8, 7,  6,  5,  4, 3, 2, 1,1,  0,  14,13,
12,11, 10, 9, 8,  7,  6, 5, 4,  3,  2,  1,  1,0};
// | | |
//c18,c19,c20|c21,c22,c23,c24,c25,c26|c27,c28,c29,c3  0,c31,c32|
// | | |
// c1,c2,c3|c4,c5,c6,c7,c8|c9,c10,c11,c12,c13,c14|c15  ,c16,c17,
uchar code hu02[32]={14,13,12,11, 10, 9, 8, 7,  6,  5,  4, 3, 2, 1,1,  0,  0,1,
1,2, 3, 4, 5,  6,  7, 8, 9,  10,  11,  12,  13,14};
// | | |
//c18,c19,c20|c21,c22,c23,c24,c25,c26|c27,c28,c29,c3  0,c31,c32|

// | | |
// c1,c2,c3|c4,c5,c6,c7,c8|c9,c10,c11,c12,c13,c14|c15  ,c16,c17,
uchar code hu03[32]={0,5,10,14, 0,5,10,14,0,5,10,14,0,5,10,14,0,5,10,14,0,5,10,14,
0,5,10,14,0,5,10,14};
// | | |
//c18,c19,c20|c21,c22,c23,c24,c25,c26|c27,c28,c29,c3  0,c31,c32|

// | | |
// c1,c2,c3|c4,c5,c6,c7,c8|c9,c10,c11,c12,c13,c14|c15  ,c16,c17,
uchar code hu04[32]={0,5,10,14, 0,5,10,14,0,5,10,14,0,5,10,14, 14,10,5,1, 14,10,5,1, 
14,10,5,1, 14,10,5,1};
// | | |
//c18,c19,c20|c21,c22,c23,c24,c25,c26|c27,c28,c29,c3  0,c31,c32|
void isr_timer0() interrupt 1 using 1{
TH0=0xb1;
TL0=0xe0; /*10ms*/
if(f_endl && ++timedl==settimedl){
timedl=0;
f_endl=0;
}
}

uchar num_pwm;
uchar pwm_c[32];
void isr_timer1() interrupt 3 using 2{
TH1=0xf8; /*tan so dieu rong xung 24*10^6/12/66/15=2000-->f830 */
TL1=0x30; /*f=60hz*/
c1=(pwm_c[0]>num_pwm)?1:0;
c2=(pwm_c[1]>num_pwm)?1:0;
c3=(pwm_c[2]>num_pwm)?1:0;
c4=(pwm_c[3]>num_pwm)?1:0;
c5=(pwm_c[4]>num_pwm)?1:0; 
c6=(pwm_c[5]>num_pwm)?1:0;
c7=(pwm_c[6]>num_pwm)?1:0;
c8=(pwm_c[7]>num_pwm)?1:0;
c9=(pwm_c[8]>num_pwm)?1:0;
c10=(pwm_c[9]>num_pwm)?1:0;
c11=(pwm_c[10]>num_pwm)?1:0;
c12=(pwm_c[11]>num_pwm)?1:0;
c13=(pwm_c[12]>num_pwm)?1:0;
c14=(pwm_c[13]>num_pwm)?1:0;
c15=(pwm_c[14]>num_pwm)?1:0;
c16=(pwm_c[15]>num_pwm)?1:0;
c17=(pwm_c[16]>num_pwm)?1:0;
c18=(pwm_c[17]>num_pwm)?1:0;
c19=(pwm_c[18]>num_pwm)?1:0;
c20=(pwm_c[19]>num_pwm)?1:0;
c21=(pwm_c[20]>num_pwm)?1:0;
c22=(pwm_c[21]>num_pwm)?1:0;
c23=(pwm_c[22]>num_pwm)?1:0;
c24=(pwm_c[23]>num_pwm)?1:0;
c25=(pwm_c[24]>num_pwm)?1:0;
c26=(pwm_c[25]>num_pwm)?1:0;
c27=(pwm_c[26]>num_pwm)?1:0;
c28=(pwm_c[27]>num_pwm)?1:0;
c29=(pwm_c[28]>num_pwm)?1:0;
c30=(pwm_c[29]>num_pwm)?1:0;
c31=(pwm_c[30]>num_pwm)?1:0;
c32=(pwm_c[31]>num_pwm)?1:0;
if(++num_pwm==15){
num_pwm=0;
}
}
void delay_ms(uchar time){
TH0=0xb1;
TL0=0xe0; /*10ms*/
settimedl=time;
f_endl=1;
while(f_endl);
}
void init_time0();
void init_time0_1();
void hieu_ung1(uchar dl);
void hieu_ung2(uchar dl);
void hieu_ung3(uchar dl);
void hieu_ung4(uchar dl);
void hieu_ung5(uchar dl);
void hieu_ung6(uchar dl);  
void hieu_ung01(uchar dl); /*hieu ung song lon led tron*/
void hieu_ung02(uchar dl); /*hieu ung song lon led 2 ben*/
void hieu_ung03(uchar dl); /*hieu ung song 8 canh led tron*/
void hieu_ung07(uchar dl); /*hieu ung song 8 canh led tron nguoc*/
void hieu_ung04(uchar dl); /*hieu ung song 4canh led 2 ben*/
void hieu_ung08(uchar dl); /*hieu ung song 4canh led 2 ben nguoc*/
void hieu_ung05(uchar dl); /*hieu ung song lon led tron nguoc*/
void hieu_ung06(uchar dl); /*hieu ung song lon led 2 ben nguoc*/
void hieu_ung09(); /*hieu ung sang,tat dan*/

void main(){
P1=P2=P3=P0=0xff;
init_time0();
while(1){
hieu_ung09();
hieu_ung1(3);
hieu_ung2(1);
hieu_ung3(10);
hieu_ung4(1);
hieu_ung5(10);
hieu_ung6(1);
hieu_ung09();
hieu_ung01(5);
hieu_ung05(5);
hieu_ung02(5);
hieu_ung06(5);
hieu_ung03(10);
hieu_ung07(10);
hieu_ung04(10);
hieu_ung08(10);
hieu_ung09(); 
 
hieu_ung01(1);
hieu_ung05(1);
hieu_ung01(1);
hieu_ung05(1);
hieu_ung01(1);
hieu_ung05(1);
hieu_ung01(1);
hieu_ung05(1);
 
hieu_ung4(1);
hieu_ung02(1);
hieu_ung06(1);
hieu_ung02(1);
hieu_ung06(1);
hieu_ung02(1);
hieu_ung06(1);
hieu_ung02(1);
hieu_ung06(1);
hieu_ung02(1);
hieu_ung06(1);
hieu_ung09();
 
hieu_ung6(1);
hieu_ung03(2);
hieu_ung07(2);
hieu_ung03(2);
hieu_ung07(2);
hieu_ung03(2);
hieu_ung07(2);
hieu_ung03(2);
hieu_ung07(2);

hieu_ung3(1);
hieu_ung5(1);
hieu_ung3(1);
hieu_ung5(1);
hieu_ung3(1);
hieu_ung5(1);
hieu_ung3(1);
hieu_ung5(1);
hieu_ung3(1);
hieu_ung5(1);
hieu_ung3(1);
hieu_ung5(1);
hieu_ung3(1);
hieu_ung5(1);
hieu_ung3(1);
hieu_ung5(1);
hieu_ung09();
 
hieu_ung2(2);
hieu_ung04(1);
hieu_ung08(1);
hieu_ung04(1);
hieu_ung08(1);
hieu_ung04(1);
hieu_ung08(1);
hieu_ung04(1);
hieu_ung08(1);
hieu_ung04(1);
hieu_ung08(1);
hieu_ung04(1);
hieu_ung08(1);
hieu_ung04(1);
hieu_ung08(1);
}
}
void hieu_ung1(uchar dl){
uchar i,j,P0s;
init_time0();
for(j=0;j<dl;j++){
for(i=0;i<code_display1[1];i++){
P0s=code_display1[code_display1[2]*i+3];
P0s=(P0s & 0x80)>>7 | (P0s & 0x40)>>5 | (P0s & 0x20)>>3 | (P0s & 0x10)>>1 | (P0s & 0x08)<<1 | (P0s & 0x04)<<3 | (P0s & 0x02)<<5 | (P0s & 0x01)<<7 ; 
P0=P0s;
P2=code_display1[code_display1[2]*i+4];
P3=code_display1[code_display1[2]*i+5];
P1=code_display1[code_display1[2]*i+6];
delay_ms(t);
}
}
}
void hieu_ung2(uchar dl){
uchar i,j,P0s;
init_time0();
for(j=0;j<dl;j++){
for(i=0;i<code_display2[1];i++){
P0s=code_display2[code_display2[2]*i+3];
P0s=(P0s & 0x80)>>7 | (P0s & 0x40)>>5 | (P0s & 0x20)>>3 | (P0s & 0x10)>>1 | (P0s & 0x08)<<1 | (P0s & 0x04)<<3 | (P0s & 0x02)<<5 | (P0s & 0x01)<<7 ; 
P0=P0s;
P2=code_display2[code_display2[2]*i+4];
P3=code_display2[code_display2[2]*i+5];
P1=code_display2[code_display2[2]*i+6];
delay_ms(t);
}}
}
void hieu_ung3(uchar dl){
uchar i,j,P0s;
init_time0();
for(j=0;j<dl;j++){
for(i=0;i<code_display3[1];i++){
P0s=code_display3[code_display3[2]*i+3];
P0s=(P0s & 0x80)>>7 | (P0s & 0x40)>>5 | (P0s & 0x20)>>3 | (P0s & 0x10)>>1 | (P0s & 0x08)<<1 | (P0s & 0x04)<<3 | (P0s & 0x02)<<5 | (P0s & 0x01)<<7 ; 
P0=P0s;
P2=code_display3[code_display3[2]*i+4];
P3=code_display3[code_display3[2]*i+5];
P1=code_display3[code_display3[2]*i+6];
delay_ms(t);
}}
}
void hieu_ung4(uchar dl){
uchar i,j,P0s;
init_time0();
for(j=0;j<dl;j++){
for(i=0;i<code_display4[1];i++){
P0s=code_display4[code_display4[2]*i+3];
P0s=(P0s & 0x80)>>7 | (P0s & 0x40)>>5 | (P0s & 0x20)>>3 | (P0s & 0x10)>>1 | (P0s & 0x08)<<1 | (P0s & 0x04)<<3 | (P0s & 0x02)<<5 | (P0s & 0x01)<<7 ; 
P0=P0s;
P2=code_display4[code_display4[2]*i+4];
P3=code_display4[code_display4[2]*i+5];
P1=code_display4[code_display4[2]*i+6];
delay_ms(10);
}}
}
void hieu_ung5(uchar dl){
uchar i,j,P0s;
init_time0();
for(j=0;j<dl;j++){
for(i=0;i<code_display5[1];i++){
P0s=code_display5[code_display5[2]*i+3];
P0s=(P0s & 0x80)>>7 | (P0s & 0x40)>>5 | (P0s & 0x20)>>3 | (P0s & 0x10)>>1 | (P0s & 0x08)<<1 | (P0s & 0x04)<<3 | (P0s & 0x02)<<5 | (P0s & 0x01)<<7 ; 
P0=P0s;
P2=code_display5[code_display5[2]*i+4];
P3=code_display5[code_display5[2]*i+5];
P1=code_display5[code_display5[2]*i+6];
delay_ms(t);
}}
}
void hieu_ung6(uchar dl){
uchar i,j,P0s;
init_time0();
for(j=0;j<dl;j++){
for(i=0;i<code_display6[1];i++){
P0s=code_display6[code_display6[2]*i+3];
P0s=(P0s & 0x80)>>7 | (P0s & 0x40)>>5 | (P0s & 0x20)>>3 | (P0s & 0x10)>>1 | (P0s & 0x08)<<1 | (P0s & 0x04)<<3 | (P0s & 0x02)<<5 | (P0s & 0x01)<<7 ; 
P0=P0s;
P2=code_display6[code_display6[2]*i+4];
P3=code_display6[code_display6[2]*i+3];
P1=code_display6[code_display6[2]*i+4];
delay_ms(10);
}}
}
void hieu_ung01(uchar dl){ /*hieu ung song lon led tron*/
uchar shu,i;
uint j;
init_time0_1();
for(i=0;i<32;i++) pwm_c[i]=hu01[i];
delay_ms(10);
shu=hu01[31];
for(j=0;j<(dl*32);j++){
for(i=30;i!=255;i--)
pwm_c[i+1]=pwm_c[i];
pwm_c[0]=shu;
delay_ms(10);
shu=pwm_c[31];
}
}  
void hieu_ung02(uchar dl){ /*hieu ung song lon led 2 ben*/
uchar shu,shu1,i,k;
uint j;
init_time0_1();
for(i=0;i<32;i++) pwm_c[i]=hu02[i];
delay_ms(10);
shu=hu02[31];
shu1=hu02[0];
for(j=0;j<(dl*16);j++){
for(i=30,k=0;i>15,k<16;i--,k++){
pwm_c[i+1]=pwm_c[i];
pwm_c[k]=pwm_c[k+1];
}
pwm_c[16]=shu;
pwm_c[15]=shu1;
delay_ms(10);
shu=pwm_c[31];
shu1=pwm_c[0];
}
}
void hieu_ung03(uchar dl){ /*hieu ung song 8 canh led tron*/
uchar shu,i;
uint j;
init_time0_1();
for(i=0;i<32;i++) pwm_c[i]=hu03[i];
delay_ms(10);
shu=hu03[31];
for(j=0;j<(dl*4);j++){
for(i=30;i!=255;i--)
pwm_c[i+1]=pwm_c[i];
pwm_c[0]=shu;
delay_ms(10);
shu=pwm_c[31];
}
}
void hieu_ung07(uchar dl){ /*hieu ung song 8 canh led tron nguoc*/
uchar shu,i;
uint j;
init_time0_1();
for(i=0;i<32;i++) pwm_c[i]=hu03[i];
delay_ms(10);
shu=hu03[0];
for(j=0;j<(dl*4);j++){
for(i=0;i<31;i++)
pwm_c[i]=pwm_c[i+1];
pwm_c[31]=shu;
delay_ms(10);
shu=pwm_c[0];
}
}
void hieu_ung04(uchar dl){ /*hieu ung song 4canh led 2 ben*/
uchar shu,shu1,i,k;
uint j;
init_time0_1();
for(i=0;i<32;i++) pwm_c[i]=hu04[i];
delay_ms(10);
shu=hu04[31];
shu1=hu04[0];
for(j=0;j<(dl*4);j++){
for(i=30,k=0;i>15,k<15;i--,k++){
pwm_c[i+1]=pwm_c[i];
pwm_c[k]=pwm_c[k+1];
}
pwm_c[16]=shu;
pwm_c[15]=shu1;
delay_ms(10);
shu=pwm_c[31];
shu1=pwm_c[0];
}
}
void hieu_ung08(uchar dl){ /*hieu ung song 4canh led 2 ben nguoc*/
uchar shu,shu1,i,k;
uint j;
init_time0_1();
for(i=0;i<32;i++) pwm_c[i]=hu04[i];
delay_ms(10);
shu=hu04[16];
shu1=hu04[15];
for(j=0;j<(dl*4);j++){
for(i=16,k=15;i<31,k>0;i++,k--){
pwm_c[i]=pwm_c[i+1];
pwm_c[k]=pwm_c[k-1];
}
pwm_c[31]=shu;
pwm_c[0]=shu1;
delay_ms(10);
shu=pwm_c[16];
shu1=pwm_c[15];
}
}
void hieu_ung05(uchar dl){ /*hieu ung song lon led tron nguoc*/
uchar shu,i;
uint j;
init_time0_1();
for(i=0;i<32;i++) pwm_c[i]=hu01[i];
delay_ms(10);
shu=hu01[0];
for(j=0;j<(dl*32);j++){
for(i=0;i<31;i++)
pwm_c[i]=pwm_c[i+1];
pwm_c[31]=shu;
delay_ms(10);
shu=pwm_c[0];
}
}
void hieu_ung06(uchar dl){ /*hieu ung song lon led 2 ben nguoc*/
uchar shu,shu1,i,k;
uint j;
init_time0_1();
for(i=0;i<32;i++) pwm_c[i]=hu02[i];
delay_ms(10);
shu=hu02[16];
shu1=hu02[15];
for(j=0;j<(dl*16);j++){
for(i=16,k=15;i<31,k>0;i++,k--){
pwm_c[i]=pwm_c[i+1];
pwm_c[k]=pwm_c[k-1];
}
pwm_c[31]=shu;
pwm_c[0]=shu1;
delay_ms(10);
shu=pwm_c[16];
shu1=pwm_c[15];
}
}
void hieu_ung09(){ //sang dan, tat dan
uchar i,j;
init_time0_1();
P1=0xff;
P3=0xff;
for(j=15;j!=255;j--){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(5);
}
for(j=0;j<16;j++){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(10);
}

for(j=15;j!=255;j--){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(5);
}
for(j=0;j<16;j++){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(10);
}

for(j=15;j!=255;j--){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(2);
}
for(j=0;j<16;j++){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(5);
}

for(j=15;j!=255;j--){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(2);
}
for(j=0;j<16;j++){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(2);
}
for(j=15;j!=255;j--){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(2);
}
for(j=0;j<16;j++){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(2);
}

for(j=15;j!=255;j--){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(1);
}
for(j=0;j<16;j++){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(1);
}
for(j=15;j!=255;j--){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(1);
}
for(j=0;j<16;j++){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(1);
}
for(j=15;j!=255;j--){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(1);
}
for(j=0;j<16;j++){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(1);
}
for(j=15;j!=255;j--){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(1);
}
for(j=0;j<16;j++){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(1);
}
for(j=15;j!=255;j--){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(1);
}
for(j=0;j<16;j++){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(1);
}

for(j=15;j!=255;j--){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(2);
}
for(j=0;j<16;j++){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(2);
}
for(j=15;j!=255;j--){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(2);
}
for(j=0;j<16;j++){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(2);
}


for(j=15;j!=255;j--){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(2);
}
for(j=0;j<16;j++){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(5);
}

for(j=15;j!=255;j--){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(5);
}
for(j=0;j<16;j++){
for(i=0;i<32;i++) pwm_c[i]=j;
delay_ms(10);
}
}
void init_time0(){
TMOD=0x01; /*timer 0 16bit*/
TR0=1;
TH0=0xb1;
TL0=0xe0;
TF0=1;
IE=0x82;
}
void init_time0_1(){
TMOD=0x11; /*timer 1 16bit*/
TR1=1;
TH1=0xf8;
TL1=0x30;
TF1=1;
IE=0x8a;
}



b, Phần header: "code_display_32c.h"
unsigned char code code_display1[]=
{
/*------------------------------------------------------------------------------
; If font display distortion, please check Fonts format of setup.
; Source file / text :D:\led sign\led trai tim 32c\1.bmpLCD Font Maker
; Width x Height (pixels) :32X18
;  Font Format/Size : Monochrome LCD Fonts ,Horizontal scan ,Big endian order/72Byte
;  Font make date  : 3/9/2011 12:12:35 AM
------------------------------------------------------------------------------*/
0x20,0x12,0x04,//Width pixels,Height pixels,Width bytes
0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x03,0xC0,0x00,  0x00,0x07,0xE0,0x00,0x00,0x0F,
0xF0,0x00,0x00,0x1F,0xF8,0x00,0x00,0x3F,0xFC,0x00,  0x00,0x7F,0xFE,0x00,0x00,0xFF,
0xFF,0x00,0x01,0xFF,0xFF,0x80,0x03,0xFF,0xFF,0xC0,  0x07,0xFF,0xFF,0xE0,0x0F,0xFF,
0xFF,0xF0,0x1F,0xFF,0xFF,0xF8,0x3F,0xFF,0xFF,0xFC,  0x7F,0xFF,0xFF,0xFE,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,
};
unsigned char code code_display2[]=
{
/*------------------------------------------------------------------------------
; If font display distortion, please check Fonts format of setup.
; Source file / text :D:\led sign\led trai tim 32c\1.bmpLCD Font Maker
; Width x Height (pixels) :32X17
;  Font Format/Size : Monochrome LCD Fonts ,Horizontal scan ,Big endian order/68Byte
;  Font make date  : 3/9/2011 12:16:57 AM
------------------------------------------------------------------------------*/
0x20,0x11,0x04,//Width pixels,Height pixels,Width bytes
0xFF,0xFF,0xFF,0xFE,0x7F,0xFF,0xFF,0xFC,0x3F,0xFF,  0xFF,0xF8,0x1F,0xFF,0xFF,0xF0,
0x0F,0xFF,0xFF,0xE0,0x07,0xFF,0xFF,0xC0,0x03,0xFF,  0xFF,0x80,0x01,0xFF,0xFF,0x00,
0x00,0xFF,0xFE,0x00,0x00,0x7F,0xFC,0x00,0x00,0x3F,  0xF8,0x00,0x00,0x1F,0xF0,0x00,
0x00,0x0F,0xE0,0x00,0x00,0x07,0xC0,0x00,0x00,0x03,  0x80,0x00,0x00,0x01,0x00,0x00,
0x00,0x00,0x00,0x00,
};

/*  */
unsigned char code code_display3[]=
{
/*------------------------------------------------------------------------------
; If font display distortion, please check Fonts format of setup.
; Source file / text : 
; Width x Height (pixels) :32X4
;  Font Format/Size : Monochrome LCD Fonts ,Horizontal scan ,Big endian order/16Byte
;  Font make date  : 3/8/2011 10:56:29 PM
------------------------------------------------------------------------------*/
0x20,0x04,0x04,//Width pixels,Height pixels,Width bytes
0x88,0x88,0x88,0x88,0x44,0x44,0x44,0x44,0x22,0x22,  0x22,0x22,0x11,0x11,0x11,0x11,
};
/* D:\led sign\led trai tim 32c\2.bmp */
unsigned char code code_display4[]=
{
/*------------------------------------------------------------------------------
; If font display distortion, please check Fonts format of setup.
; Source file / text :D:\led sign\led trai tim 32c\22.bmp 
; Width x Height (pixels) :32X153
;  Font Format/Size : Monochrome LCD Fonts ,Horizontal scan ,Big endian order/612Byte
;  Font make date  : 3/9/2011 12:37:23 AM
------------------------------------------------------------------------------*/
0x20,0x99,0x04,//Width pixels,Height pixels,Width bytes
0xFF,0xFF,0xFF,0xFE,0x7F,0xFF,0xFF,0xFD,0xBF,0xFF,  0xFF,0xFB,0xDF,0xFF,0xFF,0xF7,
0xEF,0xFF,0xFF,0xEF,0xF7,0xFF,0xFF,0xDF,0xFB,0xFF,  0xFF,0xBF,0xFD,0xFF,0xFF,0x7F,
0xFE,0xFF,0xFE,0xFF,0xFF,0x7F,0xFD,0xFF,0xFF,0xBF,  0xFB,0xFF,0xFF,0xDF,0xF7,0xFF,
0xFF,0xEF,0xEF,0xFF,0xFF,0xF7,0xDF,0xFF,0xFF,0xFB,  0xBF,0xFF,0xFF,0xFD,0x7F,0xFF,
0xFF,0xFE,0xFF,0xFF,0xFF,0xFE,0xFF,0xFE,0x7F,0xFE,  0xFF,0xFD,0xBF,0xFE,0xFF,0xFB,
0xDF,0xFE,0xFF,0xF7,0xEF,0xFE,0xFF,0xEF,0xF7,0xFE,  0xFF,0xDF,0xFB,0xFE,0xFF,0xBF,
0xFD,0xFE,0xFF,0x7F,0xFE,0xFE,0xFE,0xFF,0xFF,0x7E,  0xFD,0xFF,0xFF,0xBE,0xFB,0xFF,
0xFF,0xDE,0xF7,0xFF,0xFF,0xEE,0xEF,0xFF,0xFF,0xF6,  0xDF,0xFF,0xFF,0xFA,0xBF,0xFF,
0xFF,0xFC,0x7F,0xFF,0xFF,0xFC,0x7F,0xFE,0x7F,0xFC,  0x7F,0xFD,0xBF,0xFC,0x7F,0xFB,
0xDF,0xFC,0x7F,0xF7,0xEF,0xFC,0x7F,0xEF,0xF7,0xFC,  0x7F,0xDF,0xFB,0xFC,0x7F,0xBF,
0xFD,0xFC,0x7F,0x7F,0xFE,0xFC,0x7E,0xFF,0xFF,0x7C,  0x7D,0xFF,0xFF,0xBC,0x7B,0xFF,
0xFF,0xDC,0x77,0xFF,0xFF,0xEC,0x6F,0xFF,0xFF,0xF4,  0x5F,0xFF,0xFF,0xF8,0x3F,0xFF,
0xFF,0xF8,0x3F,0xFE,0x7F,0xF8,0x3F,0xFD,0xBF,0xF8,  0x3F,0xFB,0xDF,0xF8,0x3F,0xF7,
0xEF,0xF8,0x3F,0xEF,0xF7,0xF8,0x3F,0xDF,0xFB,0xF8,  0x3F,0xBF,0xFD,0xF8,0x3F,0x7F,
0xFE,0xF8,0x3E,0xFF,0xFF,0x78,0x3D,0xFF,0xFF,0xB8,  0x3B,0xFF,0xFF,0xD8,0x37,0xFF,
0xFF,0xE8,0x2F,0xFF,0xFF,0xF0,0x1F,0xFF,0xFF,0xF0,  0x1F,0xFE,0x7F,0xF0,0x1F,0xFD,
0xBF,0xF0,0x1F,0xFB,0xDF,0xF0,0x1F,0xF7,0xEF,0xF0,  0x1F,0xEF,0xF7,0xF0,0x1F,0xDF,
0xFB,0xF0,0x1F,0xBF,0xFD,0xF0,0x1F,0x7F,0xFE,0xF0,  0x1E,0xFF,0xFF,0x70,0x1D,0xFF,
0xFF,0xB0,0x1B,0xFF,0xFF,0xD0,0x17,0xFF,0xFF,0xE0,  0x0F,0xFF,0xFF,0xE0,0x0F,0xFE,
0x7F,0xE0,0x0F,0xFD,0xBF,0xE0,0x0F,0xFB,0xDF,0xE0,  0x0F,0xF7,0xEF,0xE0,0x0F,0xEF,
0xF7,0xE0,0x0F,0xDF,0xFB,0xE0,0x0F,0xBF,0xFD,0xE0,  0x0F,0x7F,0xFE,0xE0,0x0E,0xFF,
0xFF,0x60,0x0D,0xFF,0xFF,0xA0,0x0B,0xFF,0xFF,0xC0,  0x07,0xFF,0xFF,0xC0,0x07,0xFE,
0x7F,0xC0,0x07,0xFD,0xBF,0xC0,0x07,0xFB,0xDF,0xC0,  0x07,0xF7,0xEF,0xC0,0x07,0xEF,
0xF7,0xC0,0x07,0xDF,0xFB,0xC0,0x07,0xBF,0xFD,0xC0,  0x07,0x7F,0xFE,0xC0,0x06,0xFF,
0xFF,0x40,0x05,0xFF,0xFF,0x80,0x03,0xFF,0xFF,0x80,  0x03,0xFE,0x7F,0x80,0x03,0xFD,
0xBF,0x80,0x03,0xFB,0xDF,0x80,0x03,0xF7,0xEF,0x80,  0x03,0xEF,0xF7,0x80,0x03,0xDF,
0xFB,0x80,0x03,0xBF,0xFD,0x80,0x03,0x7F,0xFE,0x80,  0x02,0xFF,0xFF,0x00,0x01,0xFF,
0xFF,0x00,0x01,0xFE,0x7F,0x00,0x01,0xFD,0xBF,0x00,  0x01,0xFB,0xDF,0x00,0x01,0xF7,
0xEF,0x00,0x01,0xEF,0xF7,0x00,0x01,0xDF,0xFB,0x00,  0x01,0xBF,0xFD,0x00,0x01,0x7F,
0xFE,0x00,0x00,0xFF,0xFE,0x00,0x00,0xFE,0x7E,0x00,  0x00,0xFD,0xBE,0x00,0x00,0xFB,
0xDE,0x00,0x00,0xF7,0xEE,0x00,0x00,0xEF,0xF6,0x00,  0x00,0xDF,0xFA,0x00,0x00,0xBF,
0xFC,0x00,0x00,0x7F,0xFC,0x00,0x00,0x7E,0x7C,0x00,  0x00,0x7D,0xBC,0x00,0x00,0x7B,
0xDC,0x00,0x00,0x77,0xEC,0x00,0x00,0x6F,0xF4,0x00,  0x00,0x5F,0xF8,0x00,0x00,0x3F,
0xF8,0x00,0x00,0x3E,0x78,0x00,0x00,0x3D,0xB8,0x00,  0x00,0x3B,0xD8,0x00,0x00,0x37,
0xE8,0x00,0x00,0x2F,0xF0,0x00,0x00,0x1F,0xF0,0x00,  0x00,0x1E,0x70,0x00,0x00,0x1D,
0xB0,0x00,0x00,0x1B,0xD0,0x00,0x00,0x17,0xE0,0x00,  0x00,0x0F,0xE0,0x00,0x00,0x0E,
0x60,0x00,0x00,0x0D,0xA0,0x00,0x00,0x0B,0xC0,0x00,  0x00,0x07,0xC0,0x00,0x00,0x06,
0x40,0x00,0x00,0x05,0x80,0x00,0x00,0x03,0x80,0x00,  0x00,0x02,0x00,0x00,0x00,0x01,
0x00,0x00,0x00,0x00,
};

/*  */
unsigned char code code_display5[]=
{
/*------------------------------------------------------------------------------
; If font display distortion, please check Fonts format of setup.
; Source file / text : 
; Width x Height (pixels) :32X4
;  Font Format/Size : Monochrome LCD Fonts ,Horizontal scan ,Big endian order/16Byte
;  Font make date  : 3/8/2011 10:55:48 PM
------------------------------------------------------------------------------*/
0x20,0x04,0x04,//Width pixels,Height pixels,Width bytes
0x77,0x77,0x77,0x77,0xBB,0xBB,0xBB,0xBB,0xDD,0xDD,  0xDD,0xDD,0xEE,0xEE,0xEE,0xEE,
};



/* D:\led sign\led trai tim 32c\22.bmp */
unsigned char code code_display6[]=
{
/*------------------------------------------------------------------------------
; If font display distortion, please check Fonts format of setup.
; Source file / text :D:\led sign\led trai tim 32c\6.bmp 
; Width x Height (pixels) :16X136
;  Font Format/Size : Monochrome LCD Fonts ,Horizontal scan ,Big endian order/272Byte
;  Font make date  : 3/9/2011 1:13:54 AM
------------------------------------------------------------------------------*/
0x10,0x88,0x02,//Width pixels,Height pixels,Width bytes
0x7F,0xFF,0xBF,0xFF,0xDF,0xFF,0xEF,0xFF,0xF7,0xFF,  0xFB,0xFF,0xFD,0xFF,0xFE,0xFF,
0xFF,0x7F,0xFF,0xBF,0xFF,0xDF,0xFF,0xEF,0xFF,0xF7,  0xFF,0xFB,0xFF,0xFD,0xFF,0xFE,
0x7F,0xFE,0xBF,0xFE,0xDF,0xFE,0xEF,0xFE,0xF7,0xFE,  0xFB,0xFE,0xFD,0xFE,0xFE,0xFE,
0xFF,0x7E,0xFF,0xBE,0xFF,0xDE,0xFF,0xEE,0xFF,0xF6,  0xFF,0xFA,0xFF,0xFC,0x7F,0xFC,
0xBF,0xFC,0xDF,0xFC,0xEF,0xFC,0xF7,0xFC,0xFB,0xFC,  0xFD,0xFC,0xFE,0xFC,0xFF,0x7C,
0xFF,0xBC,0xFF,0xDC,0xFF,0xEC,0xFF,0xF4,0xFF,0xF8,  0x7F,0xF8,0xBF,0xF8,0xDF,0xF8,
0xEF,0xF8,0xF7,0xF8,0xFB,0xF8,0xFD,0xF8,0xFE,0xF8,  0xFF,0x78,0xFF,0xB8,0xFF,0xD8,
0xFF,0xE8,0xFF,0xF0,0x7F,0xF0,0xBF,0xF0,0xDF,0xF0,  0xEF,0xF0,0xF7,0xF0,0xFB,0xF0,
0xFD,0xF0,0xFE,0xF0,0xFF,0x70,0xFF,0xB0,0xFF,0xD0,  0xFF,0xE0,0x7F,0xE0,0xBF,0xE0,
0xDF,0xE0,0xEF,0xE0,0xF7,0xE0,0xFB,0xE0,0xFD,0xE0,  0xFE,0xE0,0xFF,0x60,0xFF,0xA0,
0xFF,0xC0,0x7F,0xC0,0xBF,0xC0,0xDF,0xC0,0xEF,0xC0,  0xF7,0xC0,0xFB,0xC0,0xFD,0xC0,
0xFE,0xC0,0xFF,0x40,0xFF,0x80,0x7F,0x80,0xBF,0x80,  0xDF,0x80,0xEF,0x80,0xF7,0x80,
0xFB,0x80,0xFD,0x80,0xFE,0x80,0xFF,0x00,0x7F,0x00,  0xBF,0x00,0xDF,0x00,0xEF,0x00,
0xF7,0x00,0xFB,0x00,0xFD,0x00,0xFE,0x00,0x7E,0x00,  0xBE,0x00,0xDE,0x00,0xEE,0x00,
0xF6,0x00,0xFA,0x00,0xFC,0x00,0x7C,0x00,0xBC,0x00,  0xDC,0x00,0xEC,0x00,0xF4,0x00,
0xF8,0x00,0x78,0x00,0xB8,0x00,0xD8,0x00,0xE8,0x00,  0xF0,0x00,0x70,0x00,0xB0,0x00,
0xD0,0x00,0xE0,0x00,0x60,0x00,0xA0,0x00,0xC0,0x00,  0x40,0x00,0x80,0x00,0x00,0x00,
};

(Code đã ghép hoàn chỉnh - Biên dịch bằng Pm Keil C 4)
Khi nhấn nút "Tải Về Máy", bạn sẽ vào trang quảng cáo, vui lòng chờ 5 giây. Nút  hiện ra ở góc phải phía trên, nhấn vào để đến trang download

VIdeo Chip mới làm thử từ code trên

Echipkool.com - Điện Tử | Tin Học - Chia sẻ kiến thức - Kết nối đam mê điện tử

34 comments:

Giáp Kỹ Thuật Viên said...
21/1/14

A chip cho e hỏi 2 phần code này mình gép vào với nhau chỉ bỏ đi chú thích (a) & (b) thôi phải không a để chuyển qua file hex đó a :) e chưa học nhiều về lập trình nên muốn hỏi :)

Chip Kool said...
21/1/14

Bạn tạo 2 file..1 file VD. code.c và 1 file bắt buộc "code_display_32c.h" rồi cho vào cùng folder rồi compiler

Trung Hiếu Trần said...
21/1/14

Chip hd cụ thể lại chỗ xử lý 2 phần của code rồi tạo file hex đi. mình không hiểu lắm

Chip Kool said...
21/1/14

@Trung Hiếu Trần Đã biên dịch gộp..xem cuối bài viết..

Giáp Kỹ Thuật Viên said...
21/1/14

a chip ơi e đã test mạch thật và công nhận là rất đẹp :) nhưng hình như code thiếu hay sao ý e thấy có một vài hiệu ứng không có ? Tiện thể mạch này dao động vẫn 12 chứ a hay là dao động khác vậy e thấy hơi nhanh ở chỗ LED sáng tối dần :) e sẽ làm mạch hoàn chỉnh bằng LED xanh lá chứ LED đỏ e test trên mạch test của e nhìn có vẻ không được đẹp :)

Chip Kool said...
21/1/14

Nên làm bằng led xanh lá hoặc dương..led đỏ chip test rồi..nhìn chuối lắm..còn thạch anh dùng 12M sáng là được..

Giáp Kỹ Thuật Viên said...
21/1/14

OKe e sẽ hoàn thiện sớm nhất có thể :) mà cái này làm được LED RGB hả a :) a đã test chưa :)

Chip Kool said...
22/1/14

Cái món này làm với led RGB không khó chỉ mất thời gian..và phải giảm bớt led viền vòng dành riêng 3 chân điều khiển..năm tới sẽ có nhiều cái hay..

Giáp Kỹ Thuật Viên said...
22/1/14

a cố gắng cho gia sản phẩm LED RGB dùng code này nhé :) mong chờ phiên bản đặc biệt :((

minh vu hoang said...
22/1/14

sao mình lắp vào phần cứng của mạch trái tim final trước đây thì lại k ra hiệu ứng gì cả,led còn sáng kiểu giật giật,có ai bị như vậy k nhỉ? hay phần cứng cần thay đổi?

Chip Kool said...
22/1/14

@minh vu hoangChào bạn, mạch này đâu có thể chạy tùy tiện được..Phiên bản mạch chuẩn Fix cứng sẽ ra mắt sau tết nhé..có hướng dẫn, có hỗ trợ phiên bản mạch nạp cho các bạn thỏa sức sáng tạo với code này..

minh vu hoang said...
22/1/14

mình đã xem kỹ và đổi đúng thứ tự các port,hiệu ứng đã đúng,mình thấy led bị giật cục trong lúc thay đổi cường độ sáng và hiệu ứng quá chậm không giống như trong clip là do thạch anh 12mz vẫn quá chậm,mình định thay bằng thạch anh 24mz để led thay đổi xung nhanh hơn mắt người nhìn thấy nên sẽ mượt hơn!

Nguyen Huy said...
22/1/14

em thay bằng cái code nào led sáng bị giật có khi thay thạch anh chạy đc

minh vu hoang said...
22/1/14

chuẩn luôn,bạn huy tác giả của code này có nói là dùng thạch anh 24 mhz mà,thay thạch anh 21mhz vào mạch cũ chạy 100% luôn,mình đã thử và thành công !

Chip Kool said...
22/1/14

Chú ý: Code compile chỉnh tầ số thạch anh...^^

Lạc Nguyen said...
27/1/14

sử dụng mạch in trái tim final .... nạp code này chạy đc k chip :3

Nguyễn Văn Nam said...
9/2/14

oh mạch này cứ thế nối với chip thôi à ko cần thêm linh kiện j ngoài điện trở à bạn

Chip Kool said...
9/2/14

@Lạc Nguyen Mạch trái tim Final bạn nạp là chạy nhé..nhưng mà lộn 1 port 0, hiệu ứng nạp chạy nói chung xí lắm..phải chỉnh lại nhiều nhiều ^^ Phiên bản mạch dành riêng cho code này chip sẽ vẽ sau..

Giáp Kỹ Thuật Viên said...
13/2/14

đã để mọi người chờ lâu :) mình làm xong cái này rồi đây [img]http://icons.iconarchive.com/icons/rokey/popo-emotions/64/big-smile-icon.png[/img]
[youtube]http://www.youtube.com/watch?v=9oGaMaC9oSI[/youtube]

trần tuấn said...
17/2/14

đẹp thế bạn. bạn dùng thạch anh 12 ak

Giáp Kỹ Thuật Viên said...
17/2/14

mình dùng XTAL 12Mhz :) nếu bạn muốn đẹp hơn có thể dùng XTAL như tác giả đã nói :)
[img]http://icons.iconarchive.com/icons/rokey/popo-emotions/96/big-smile-icon.png[/img]

tuyen dt said...
19/2/14

t đã làm nhưng sao t dùng thạch anh 12 thì koong thấy chạy nhỉ. ko hiểu tạị sao

Chip Kool said...
19/2/14

Bạn mặt cười hớn hở nói đúng đó..chip lấy mạch trái tim Final nạp code chạy thử còn ra hiệu ứng..huống chi làm mới..chỉ có điều mạch chip nó ngược port 0 thôi.

ngọc tuyến said...
6/3/14

ad cho mình cái mạch mô phỏng đi

quy phan said...
7/3/14

=d>

quy phan said...
7/3/14

anh chip oi cai video o tren cung ay anh co code no ko ban cho em di , em thich hieu ung sao bang lam ...:(

Chip Kool said...
8/3/14

@quy phanCode chip đã compile như bên cuối file download cho các bạn chỉ việc xúc mà làm thôi.

quy phan said...
8/3/14

dạ , anh chip ơi em nạp ui mà hình như hiệu ứng chạy chậm hơn video anh post ,nhưng đẹp lắm anh :)

Đức Anh Nguyễn said...
30/3/14

Nếu em muốn làm led trái tim này thì phải làm mạch giống TUT này phải k anh http://www.echipkool.com/2012/08/huong-dan-lam-mach-trai-tim-final.html
em đọc cmt thấy phải thay đổi port là phải thay đổi chân nào vậy ạ

quy luonghoan said...
18/5/14

ai có thể viết trên ngôn ngưc asm dc ko hỉnh dậy mình vs

quy luonghoan said...
18/5/14

anh chip che em xin cái đường link hướng dẫn của tienhuypro dc ko ạ
Gmail: luonghoanquy052@gmai.com

ELF SuperJunior said...
20/10/14

chip ơi mình nạp code hex vào con s52 sao h đo chân GND với Port nào nó cũng lên hết là sao?

Nhỏ Quỷ said...
12/11/15

Chip ơi s k có mạch hướng dẫn vậy
Mình nhìn k hiu

thanh van said...
31/8/16

A chip ơi. 2 phần code này e ko biết xử lý, a tạo ra five hex gửi wa cho e xin nha.e làm trai tim roi mak h cai code e ko xu ly dc. A giúp e vs, e rất cần ạ
levanthanh1007@gmail.com

Post a Comment

Bạn đọc hãy giúp chúng tôi xây dựng cộng đồng bằng cách để lại bình luận, chúng tôi luôn đón nhận mọi ý kiến của các bạn:
» Bình luận nghiêm túc và không chứa các liên kết quảng cáo.
» Vui lòng không Spam nhận xét với mọi hình thức.
» Rất mong bạn đề tên cho nhận xét của chính mình - Bằng cách chọn vào Tên/URL và điền tên bạn vào (Phần URL có thể bỏ trống ).

- Bạn có thể chèn Link nhạc (NCT), video(Youtube),Hình ảnh vào comment bằng cú pháp:
+ [youtube] Link video Youtube [/youtube].
+ [img] Link ảnh( định dạng PNG, JPG,GIF) [/img]
+Chèn link liên kết: <a href="LINK" rel="nofollow">Name</a>
-Bạn copy mã bên cạnh biểu tượng chèn vào nhận xét để bày tỏ cảm xúc!!

:) :( :)) :(( =)) =D> :D :P