Tổng số bài gửi : 397 Điểm : 1334 Danh tiếng : 63 Ngày tham gia : 30/11/2010 Tuổi : 35 Đến từ : Thái Bình
Tiêu đề: ĐIỀU KHIỂN 12 LED SÁNG TỪ 2 BÊN VÀO GIỮA Sun May 08, 2011 3:48 am
MÌNH KHAI MẠC VẬY ? MỌI NGƯỜI CÙNG THẢO LUẬN NHÉ
Sunset_Pro Thành viên chính thức
Tổng số bài gửi : 55 Điểm : 97 Danh tiếng : 11 Ngày tham gia : 25/12/2010 Đến từ : UNETI
Tiêu đề: Re: ĐIỀU KHIỂN 12 LED SÁNG TỪ 2 BÊN VÀO GIỮA Sun May 08, 2011 6:44 am
chương trình tổng hợp điều khiển 8 led(nhiều hơn thì tùy ý mỗi người) #include
//khai bao vi tri cac ham void delay(unsigned char ms); void delay1(unsigned char time); unsigned char i,j,b,c,e=0x01,z=0x80,a=0xff;
//bat dau viet cac ham void delay(unsigned char ms) { while(ms--) //delay 1 ms { TMOD=0x01; TH0=0xFC; TL0=0x18; TR0=1; while(!TF0); TR0=0; TF0=0; } } //bat dau viet ham chinh
void main (void) { P2=0;
while(1) { // sang dan tung led den het for(i=0;i<8;i++) { P2=P2<<1|0x01; delay(500); } // sang nhay tung led mot for (i=0;i<8;i++) { P2=e<delay(500); P2=0x00; delay(500); } //chuong trinh sang don dan tung led tu phai sang trai for (j=8;j>0;j--) { for(i=0;i { P2=e< delay(500); } b=P2;
} //chuong trinh led tat dan tu phai sang trai for(i=0;i<=8;i++) { P2=a<delay(500); }; //chuong trinh led tat dan tu trai samg phai for(i=0;i<=8;i++) { P2=a>>i; delay(500); }; //chuong trinh led tat dan tu giua ra for(i=0;i<=8;i++) { b=a>>i; c=a<P2=b|c; delay(500); }; //chuong trinh tat dan tu 2 ben vao giua for(i=0;i<=8;i++) { b=a>>i; c=a<P2=b&c; delay(500); }; //sang dan tu ngoai vao roi tat dan tu giua ra for(i=0;i<=8;i++) { b=a>>i; c=a<P2=b^c; delay(500); }; //chuong trinh 1 led sang dan tu phai sang for(i=0;i<=8;i++) { b=e<P2=b; delay(2000); }; //chuong trinh 1 led sang tu trai sang for(i=0;i<=8;i++) { b=z>>i; P2=b; delay(500); };
/*=================== 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} } /*================================================= ==============*/
P0=P1=P2=P3=255; delay(1000); // // ON dan tu P),P2 den P1,P3 for(i=0;i<8;i++) {P0=P2=U[i]; delay(1000);} for(i=0;i<8;i++) {P3=U[i]; P0=P2=255-U[i]; P1=Q[i]; delay(1000);} for(i=0;i<8;i++) {P3=255-U[i]; P1=255-Q[i]; delay(1000);} // chay ON dan for(l=0;l<37;l++){ P1=P2=P3=W[l]; P0=na[l]; delay(1000);}
Tổng số bài gửi : 240 Điểm : 580 Danh tiếng : 17 Ngày tham gia : 06/12/2010 Tuổi : 36 Đến từ : Việt Nam
Tiêu đề: Re: ĐIỀU KHIỂN 12 LED SÁNG TỪ 2 BÊN VÀO GIỮA Mon May 16, 2011 3:21 pm
theo mình chúng ta nên bàn về các phương án giải quyết các bài toán trước! sau đó chúng ta sẽ đưa ra chương trình sau! Nếu cứ đưa thẳng chương trình thế nàu mà không bàn về phương san giải quyết thì mình thấy không cso ổn! Thân Chào!
trungkienksnb.tk Thành viên tích cực
Tổng số bài gửi : 115 Điểm : 195 Danh tiếng : 15 Ngày tham gia : 06/12/2010 Tuổi : 36 Đến từ : Ninh Bình
Tiêu đề: Re: ĐIỀU KHIỂN 12 LED SÁNG TỪ 2 BÊN VÀO GIỮA Wed Feb 22, 2012 11:54 pm
ban sunste_pro nen dua chuong trinh main vao phan khai bao ham,nhin roi mat qua
smokingaces Thành viên mới
Tổng số bài gửi : 2 Điểm : 3 Danh tiếng : 1 Ngày tham gia : 04/09/2012
Tiêu đề: Re: ĐIỀU KHIỂN 12 LED SÁNG TỪ 2 BÊN VÀO GIỮA Tue Sep 04, 2012 10:44 am
Có cách viết nào khác nữa không các pro ! Sao mấy kiểu viết này ko giống kiểu em học ở trường thế ?
Sponsored content
Tiêu đề: Re: ĐIỀU KHIỂN 12 LED SÁNG TỪ 2 BÊN VÀO GIỮA