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

                • nguyendinhvan
                  Trả lời cho Vấn đề về tốc độ quay
                  bởi nguyendinhvan
                  Sử dụng động cơ servor, hoặc lắp thêm một cái encoder vào động cơ bước. Encoder sẽ kiểm soát động cơ có quay hoặc đứng im.
                  hôm nay, 19:50
                • Andrea14
                  Vấn đề về tốc độ quay
                  bởi Andrea14
                  Chào mọi người,

                  Tôi muốn mô phỏng sự thay đổi các mùa bằng cách từ từ nghiêng một quả địa cầu 16 inch bằng một động cơ bước nhỏ. Một động cơ bước khác sẽ quay quả địa cầu theo thời gian thực. Hệ thống truyền động...
                  12-12-2025, 12:42
                • bqviet
                  Trả lời cho Đấu tắt điện cho máy tính bảng
                  bởi bqviet
                  Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
                  06-12-2025, 17:17
                • nguyendinhvan
                  Trả lời cho Xin hỏi về mạch thu FM/AM trong catsette
                  bởi nguyendinhvan
                  Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
                  05-12-2025, 19:59
                Đang tải...
                X