Thông báo

Collapse
No announcement yet.

xem giúp em code sai chỗ nào

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

  • xem giúp em code sai chỗ nào

    em nạp vô nhưng ko thấy led sáng chữ chạy mong các bác xem giúp em làm sai chỗ nào với

    #include <mega8.h>
    #include <delay.h>
    // SPI functions
    #include <spi.h>

    #define SCK PORTB.5
    #define DATA PORTB.3
    #define SCL PORTB.0

    #define A PORTC.0;
    #define B PORTC.1;
    #define C PORTC.2;
    #define OutEn PORTC.3;

    unsigned char Pattern1[8]={0,1,2,3,4,5,6,7};
    unsigned char flash chu_c[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 60,126,195,195,255,195,195,0};
    unsigned char DMem[8]; // Bo nho man hinh, 3 byte dau cho hang 1, 3 byte tiep theo cho hang 2 ...
    unsigned char i=0,rr,r=0;
    unsigned char k;
    void LatchData()
    {
    SCL=0;
    SCL=1;
    }
    // Timer1 output compare A interrupt service routine
    interrupt [TIM1_COMPA] void timer1_compa_isr(void)
    {
    // Place your code here
    //spi(DMem[r*3+2]);
    //spi(DMem[r*3+1]);

    spi(DMem[r]);
    PORTC.3=1;
    LatchData();
    PORTC=Pattern1[r];
    PORTC.3=0;
    r++;
    if (r==8)
    {

    r=0;
    }
    }

    // Declare your global variables here

    void main(void)
    {
    PORTB=0x00;
    DDRB=0x2D;

    PORTC=0x00;
    DDRC=0x7F;

    PORTD=0x00;
    DDRD=0x00;

    TCCR0=0x00;
    TCNT0=0x00;

    // Timer/Counter 1 initialization
    // Clock source: System Clock
    // Clock value: 15.625 kHz
    // Mode: CTC top=OCR1A
    // OC1A output: Discon.
    // OC1B output: Discon.
    // Noise Canceler: Off
    // Input Capture on Falling Edge
    // Timer1 Overflow Interrupt: Off
    // Input Capture Interrupt: Off
    // Compare A Match Interrupt: On
    // Compare B Match Interrupt: Off
    TCCR1A=0x00;
    TCCR1B=0x09;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x25;
    OCR1BH=0x00;
    OCR1BL=0x00;

    ASSR=0x00;
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;

    MCUCR=0x00;

    TIMSK=0x10;

    UCSRB=0x00;

    ACSR=0x80;
    SFIOR=0x00;

    ADCSRA=0x00;

    // SPI initialization
    // SPI Type: Master
    // SPI Clock Rate: 250.000 kHz
    // SPI Clock Phase: Cycle Half
    // SPI Clock Polarity: Low
    // SPI Data Order: MSB First
    SPCR=0x54;
    SPSR=0x00;

    TWCR=0x00;

    #asm("sei")
    // Place your code here
    //for (i=0;i<=7;i++)
    //{
    //DMem[i]=~chu_c[i];
    //}
    while (1)
    {
    for (k=0;k<=7;k++)
    {
    DMem[k]=~(chu_c[i*8+k]>>rr);
    }
    rr++;
    if (rr==8)
    {
    rr=0;
    }
    i++;
    if (i==3) i=0;
    delay_ms(100);
    }
    }
    |

  • #2
    anh tính đánh đố mọi ng à, mọi ng ko phải thầy bói đâu, ko có sơ đồ biết mạch này làm j????????????

    Comment


    • #3
      sao lại có cả hàm trong hàm ngắt thế kia ? , lập trình tối kỵ hàm trong hàm ngắt đó ... nó thành đệ quy thì chip treo giẫy đành đạch !
      Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

      Comment


      • #4
        Nguyên văn bởi aaahhhh Xem bài viết
        anh tính đánh đố mọi ng à, mọi ng ko phải thầy bói đâu, ko có sơ đồ biết mạch này làm j????????????
        dạ em quên không nói em lập trình cho led ma trận 8x8 dùng 74138 quét hàng, 74595 đưa dữ liệu ra cột em làm chỉ 1 con ma trận 8x8 thôi
        |

        Comment


        • #5
          Nguyên văn bởi queduong Xem bài viết
          sao lại có cả hàm trong hàm ngắt thế kia ? , lập trình tối kỵ hàm trong hàm ngắt đó ... nó thành đệ quy thì chip treo giẫy đành đạch !
          cái hàm spi(DMem[r]); này đúng không anh, tại em thấy bên anh nghaiha ở luồng tutorial-led-ma-tran-bang-hinh-anh-completed làm được nên em dùng
          |

          Comment


          • #6
            em lập trình bằng codevisionavr đó mấy anh
            |

            Comment


            • #7
              cái của anh nghĩa hà có thể phải mua cái mudel p10 hoặc tính toán lại mạch viết theo anh ấy là ko chạy,có ai đã nói làm theo cách của anh ấy chạy đâu topic đó theo mình chỉ là cách hướng dẫn lập trình thôi,bạn hiểu thuật toán quét led ma trận rùi tự làm cái mạch theo ý của bạn xem sao,mình đọc tpic của anh nghĩa hà lâu rùi nhưng ko thấy ai gủi video hay hình ảnh theo cách của anh ấy các video có trong topic đó đều là do mọi người làm theo cá nhân mình,bạn cứ dùng thuật toán đơn giản ko cần SPI đâu

              Comment


              • #8
                Nguyên văn bởi hoanganh1991 Xem bài viết
                cái của anh nghĩa hà có thể phải mua cái mudel p10 hoặc tính toán lại mạch viết theo anh ấy là ko chạy,có ai đã nói làm theo cách của anh ấy chạy đâu topic đó theo mình chỉ là cách hướng dẫn lập trình thôi,bạn hiểu thuật toán quét led ma trận rùi tự làm cái mạch theo ý của bạn xem sao,mình đọc tpic của anh nghĩa hà lâu rùi nhưng ko thấy ai gủi video hay hình ảnh theo cách của anh ấy các video có trong topic đó đều là do mọi người làm theo cá nhân mình,bạn cứ dùng thuật toán đơn giản ko cần SPI đâu
                em làm giống anh nghaiha và đã chạy nên em muốn phát triển thêm phần chữ chạy , em làm đc chữ "A" chạy từ phải qua trái rồi nhưng đến khi em tăng lên muốn cho chạy nhiều chữ thì gặp vấn đề nên em muốn hỏi mấy anh trên diễn đàn
                |

                Comment

                Về tác giả

                Collapse

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

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

                Collapse

                Đang tải...
                X