Thông báo

Collapse
No announcement yet.

giúp đỡ sửa code 12f675 sang 12f509

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

  • giúp đỡ sửa code 12f675 sang 12f509

    e viết code cho 12f675 bằng C sao chuyển mãi sang 12f509 mà không chạy. nản quá. trên proteus lại không hỗ trợ 12f509. bác nào giúp e với.
    đây là đoạn code của e nó.

    #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);
    }
    }
    }

  • #2
    e mới học lập trình. nhiều điều chưa biết.mở hơi nhiều luồng admin đừng bane e nhé. :-d

    Comment


    • #3
      Thành viên BQT diễn đàn nói chung và bqv nói riêng có rất ít thời gian. Không ai rảnh bỏ công ban nick thành viên viết bài bình thường. Chỉ mong bạn đừng spam mở luồng vô tội vạ là được.
      Phần mềm tự do hoặc không dùng máy tính nữa !.

      Comment


      • #4
        híc. thì hôm qua e viết ra 2 luồng thế là 1 luồng die luôn.:-d cũng tại e hay nghĩ vậy. có gì sai e sl BQT.hi

        Comment

        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