Thông báo

Collapse
No announcement yet.

Rút gọn code,cần giúp đỡ

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Rút gọn code,cần giúp đỡ

    e đang lập trình con 12f675, các bác trong diễn đàn ai biết xem hộ và chỉ giáo cho e với. e muốn rút gọn tối thiểu cho nó, nhưng thử đi thử lại vẫn chưa ok.:-d mong mọi ngưởi giúp đỡ, code đây mọi người:


    #include <12F675.h>
    #device ADC=10
    #fuses INTRC_IO,NOWDT,NOPUT,NOPROTECT,NOCPD,NOMCLR
    #use delay(clock=4000000)
    #define GP0 PIN_A0
    #define GP1 PIN_A1
    #define GP2 PIN_A2
    #define GP3 PIN_A3_OFF
    #define GP4 PIN_A4
    #define GP5 PIN_A5
    void main()
    {
    int16 k,b,x,t;
    while(1){
    for(x=250;x>=20;x-=40){
    output_a(0x00);delay_ms(x);//tat het led
    output_a(0xff);delay_ms(x);//bat het led
    }
    for(x=150;x>=135;x-=1){
    for(k=1;k<0x40;k=k<<1){//dich trai1
    if(k==0x08){}
    else{
    output_a(k);delay_ms(x);
    }}}
    for(x=150;x>=140;x-=1){
    for(k=0x40; k>=0x01;k=k>>1){//dich phai1
    if(k==0x08)
    {}
    else{
    output_a(k);delay_ms(x);}
    }}
    for(x=150;x>=115;x-=5){
    for(k=1;k<0x40;k=k<<1){
    if(k==0x08){}
    else{
    output_a(k);delay_ms(x);
    }}
    for(k=0x40; k>=0x01;k=k>>1){//len xuong
    if(k==0x08)
    {}
    else{
    output_a(k);delay_ms(x);}
    }}
    for(x=300;x>=50;x-=30){
    b=0x00; //khai bao bien phai dat duoi for tren
    for(k=1;k<=0x20;k=k<<1){//don trai
    if(k==0x08){}
    else{
    b=b+k;output_a(b);delay_ms(x);
    }}
    t=0x00;//khai bao bien phai dat duoi for tren
    for(k=0x40; k>0x00; k=k>>1){//don phai(luon phien)
    if(k==0x08)
    {
    }
    else
    {
    output_a(k|t);delay_ms(x);t=t+k;}
    }}
    for(x=10;x<=200;x+=30){
    for(k=0x40; k>=0x01;k=k>>1){//dich phai
    if(k==0x08)
    {}
    else{
    output_a(k);delay_ms(x);}
    }}
    for(x=300;x>=100;x-=30){
    for(k=0x40,t=1; k>=0x01,t<0x40;k=k>>1,t=t<<1){// ngoai vao giua, giua ra
    if(k==0x08)
    {}
    else{
    output_a(k|t);delay_ms(x);
    }}}
    for(x=300;x>=30;x-=20){
    t=0xff;//khai bao bien phai dat duoi for tren
    for(k=0x40; k>0x00; k=k>>1){
    if(k==0x08)
    {
    }
    else
    {
    output_a(k|t);delay_ms(x);t=t+k;}
    }
    }
    for(x=50;x>=35;x-=1){
    t=0x01;//khai bao bien phai dat duoi for tren
    for(k=0x40; k>0x00; k=k>>1){
    if(k==0x08)
    {
    }
    else
    {
    output_a(k|t);delay_ms(x);t=t+k;}
    }
    }
    for(x=60;x>=40;x-=1){
    t=0x04;
    for(k=0x40; k>0x00; k=k>>1){//sang lan
    if(k==0x08)
    {
    }
    else
    {
    output_a(k|t);delay_ms(x);t=t+k;}
    }
    }
    for(x=200;x>=190;x-=1){//van co the long vong for thoi gian cho nhieu vong for con khac
    for(k=0x40,t=0x01,k>=0x04;t<=0x04;t<<=1){//ngoai vao va nguoc lai
    if(k==0x08)
    {}
    else{
    k>>=1;output_a(t|k);delay_ms(x);}}//tu ngoai vao giua//chu y gan k truoc output tranh truong hop tre o chan GP3
    for(k=0x04,t=0x04;k>=0x01,t<=0x40;k>>=1){
    if(k==0x08)
    {}
    else{
    t<<=1;output_a(k|t);delay_ms(x);}//tu giua ra_chu y phai gan t truoc output
    }}
    for(x=300;x>=280;x-=2){
    output_a(0x3c);delay_ms(x);
    output_a(0x00);delay_ms(x);
    output_a(0x07);delay_ms(x);
    output_a(0x00);delay_ms(x);
    }
    }
    }




    mà có ai biết sửa code này làm code cho pic2f59 thì sửa giùm e với nhé. thank mọi người trước.

Về tác giả

Collapse

kaka_hjtmjss Tìm hiểu thêm về kaka_hjtmjss

Bài viết mới nhất

Collapse

Đang tải...
X