Thông báo

Collapse
No announcement yet.

Giúp Mình Về Việc Quet Led 7 đoạn

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

  • Giúp Mình Về Việc Quet Led 7 đoạn

    các cao nhân AVR giúp mình với

  • #2
    #include <mega16.h>
    #include <delay.h>
    #include <stdio.h>
    #define A PORTC.0//A,B,C,D nối vào ic giải mã 74247
    #define B PORTC.1
    #define C PORTC.2
    #define D PORTC.3
    #define T1 PORTC.5 // T1,t2,T3 nối vào IC 74138 dùng để quét 5 led(anod)
    #define T2 PORTC.6
    #define T3 PORTC.7
    unsigned long a,b,c,d,e,f,g,h,sodem,cnt;
    void giaima(unsigned long cnt)
    {
    switch (cnt)
    {
    case 0:
    A=0;
    B=0;
    C=0;
    D=0;
    break;
    case 1:
    A=1;
    B=0;
    C=0;
    D=0;
    break;
    case 2:
    A=0;
    B=1;
    C=0;
    D=0;
    break;
    case 3:
    A=1;
    B=1;
    C=0;
    D=0;
    break;
    case 4:
    A=0;
    B=0;
    C=1;
    D=0;
    break;
    case 5:
    A=1;
    B=0;
    C=1;
    D=0;
    break;
    case 6:
    A=0;
    B=1;
    C=1;
    D=0;
    break;
    case 7:
    A=1;
    B=1;
    C=1;
    D=0;
    break;
    case 8:
    A=0;
    B=0;
    C=0;
    D=1;
    break;
    case 9:
    A=1;
    B=0;
    C=0;
    D=1;
    break;
    }
    }
    sodem=DATA;//dât cần xuất ra led
    a=(sodem/10000);
    b=(sodem-a*10000)/1000;
    c=(sodem-a*10000-b*1000)/100;
    d=(sodem-a*10000-b*1000-c*100)/10;
    e=(sodem-a*10000-b*1000-c*100-d*10);
    //------------------ ---------------------------------------
    cnt=a;
    giaima(cnt);
    //PORTA=0b11101111;
    T1=1;
    T2=1;
    T3=0;
    delay_ms(2);
    //------------------
    cnt=b;
    giaima(cnt);
    T1=0;
    T2=0;
    T3=1;
    delay_ms(2);
    //------------------
    cnt=c;
    giaima(cnt);
    T1=1;
    T2=0;
    T3=1;
    delay_ms(2);
    //-----------------------
    cnt=d;
    giaima(cnt);
    T1=0;
    T2=1;
    T3=1;
    // PORTA=0b10111101;
    delay_ms(2);
    PORTA=0xFF;
    //------------------
    cnt=e;
    giaima(cnt);
    T1=1;
    T2=1;
    T3=1;
    delay_ms(2);
    PORTA=0xFF;

    Comment


    • #3
      cũng chương trình quét vậy mình dùng các POTRA thi OK nhưng dùng qua PORTC thi led sáng led không.mình đã thử với nhiều ic khác nhưng vẫn vậy.kô biết nguyên nhân tại sao
      mong cao nhân giúp đỡ

      Comment


      • #4
        mình có cảm giác như PORTC bị lỗi hay sao đó

        Comment


        • #5
          đây là đoạn chương trình khai báo trong main
          PORTA=0xFF;
          DDRA=0xFF;
          PORTB=0xFF;
          DDRB=0xFE;
          PORTC=0xff;
          DDRC=0xFF;
          PORTD=0xff;
          DDRD=0x00;
          TCCR0=0x00;
          TCNT0=0x00;
          OCR0=0x00;
          TCCR1A=0x00;
          TCCR1B=0x00;
          TCNT1H=0x00;
          TCNT1L=0x00;
          ICR1H=0x00;
          ICR1L=0x00;
          OCR1AH=0x00;
          OCR1AL=0x00;
          OCR1BH=0x00;
          OCR1BL=0x00;
          ASSR=0x00;
          TCCR2=0x00;
          TCNT2=0x00;
          OCR2=0x00;
          // INT2: On
          // INT2 Mode: Falling Edge
          GICR|=0x00;
          MCUCR=0x00;
          MCUCSR=0x00;
          GIFR=0x00;
          TIMSK=0x00;
          ACSR=0x80;
          SFIOR=0x00;

          Comment


          • #6
            ban bo chuc nang jtag o portc thi portc moi hoat dong nhu io binh thuong. chuc ban thanh cong

            Comment


            • #7
              cảm ơn bạn'hotuanhai' minh đã làm được rồi

              Comment


              • #8
                chúc diễn đàn thành công vì nền điện tử việt nam

                Comment


                • #9
                  khi chuyển qua mấy con AVR có JTAG lúc đầu chưa biết mọi người không bỏ nó đi nên mấy chân dùng cho JTAG lập trình hok đc,chỉ cần set lại Fusebit để bỏ nó đi thôi mà

                  Comment


                  • #10
                    Nguyên văn bởi bk_exp Xem bài viết
                    khi chuyển qua mấy con AVR có JTAG lúc đầu chưa biết mọi người không bỏ nó đi nên mấy chân dùng cho JTAG lập trình hok đc,chỉ cần set lại Fusebit để bỏ nó đi thôi mà
                    Haha! Anh Nam cũng vào đây ah. Em có con mega16 set fuse JTAGEN = 0 mà PORTC vẫn không hoạt động ở GPIO được. Chả hiểu thế nào nữa???

                    Comment


                    • #11
                      Bạn phải để JTAGEN = 1 (tức là không được tick) chứ không phải =0 (tức là Enable chức năng JTAG).
                      PNLab
                      Mạch nạp/debug ULink2, Jlink ARM USB
                      Mạch nạp AVR, PIC, 8051, MSP430 USB
                      Mạch phát triển STM32, ARM9, ARM11
                      more...www.pnlabvn.com

                      Comment

                      Về tác giả

                      Collapse

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

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

                      Collapse

                      Đang tải...
                      X