Thông báo

Collapse
No announcement yet.

dịch chữ led matran

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

  • dịch chữ led matran

    bác nào có thể giúp mình dịch chữ của led matran từ trái sang phải không
    dùng atmega16+led matran 8x8
    cho mình xin code lun nha,hic hic

  • #2
    Nguyên văn bởi avratmega Xem bài viết
    bác nào có thể giúp mình dịch chữ của led matran từ trái sang phải không
    dùng atmega16+led matran 8x8
    cho mình xin code lun nha,hic hic
    dùng lệnh lặp (for trong C, loop trong asm...) cho phần tử bên phải bằng phần tử bên trái (là mảng, là phần tử điểm ảnh), làm như vậy từ bên phải sang trái cho đến hết.

    Comment


    • #3
      Nguyên văn bởi nhanh0112 Xem bài viết
      dùng lệnh lặp (for trong C, loop trong asm...) cho phần tử bên phải bằng phần tử bên trái (là mảng, là phần tử điểm ảnh), làm như vậy từ bên phải sang trái cho đến hết.
      Cám ơn bạn đã giúp,ban có thể viết code fần đó đc k,chỗ vong lặp for đấy,mình dùng mảng,ban giúp mình nha

      Comment


      • #4
        Nguyên văn bởi avratmega Xem bài viết
        Cám ơn bạn đã giúp,ban có thể viết code fần đó đc k,chỗ vong lặp for đấy,mình dùng mảng,ban giúp mình nha
        Giả sử quét cột, mỗi phần tử mảng là một cột. Có mảng là display[n] (n là số cột, giả sử có 32 cột).
        Code:
        for(i=31;i>0;i--)
            {
             display[i]=display[i-1];
            }

        Comment


        • #5
          Nguyên văn bởi nhanh0112 Xem bài viết
          Giả sử quét cột, mỗi phần tử mảng là một cột. Có mảng là display[n] (n là số cột, giả sử có 32 cột).
          Code:
          for(i=31;i>0;i--)
              {
               display[i]=display[i-1];
              }
          Cám ơn bạn rất nhiều

          Comment


          • #6
            Nguyên văn bởi nhanh0112 Xem bài viết
            Giả sử quét cột, mỗi phần tử mảng là một cột. Có mảng là display[n] (n là số cột, giả sử có 32 cột).
            Code:
            for(i=31;i>0;i--)
                {
                 display[i]=display[i-1];
                }
            bạn ơi sao mình làm không đc,nó chỉ nháy nháy ak,chứ ko dịch chuyển,bạn giúp mình lần nữa nha,bạn có code cho mình xin lun,mình tham khảo.
            đây là code của mình,bạn xem có sai cho nao không

            /************************************************** ***
            This program was produced by the
            CodeWizardAVR V2.03.4 Standard
            Automatic Program Generator
            © Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l.
            HP InfoTech - CodeVisionAVR C Compiler

            Project :
            Version :
            Date : 4/18/2014
            Author :
            Company :
            Comments:


            Chip type : ATmega16
            Program type : Application
            Clock frequency : 8.000000 MHz
            Memory model : Small
            External RAM size : 0
            Data Stack size : 256
            ************************************************** ***/

            #include <mega16.h>
            #include <delay.h>
            char i,j;
            char ch[]={0x00,0xf7,0xf7,0x0f,0x9f,0x6f,0x6f,0x9f };
            unsigned char cot[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
            void tao(void)
            {
            // Declare your local variables here

            // Input/Output Ports initialization
            // Port A initialization
            // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
            // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
            PORTA=0x00;
            DDRA=0x00;

            // Port B initialization
            // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
            // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
            PORTB=0x00;
            DDRB=0x00;

            // Port C initialization
            // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
            // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
            PORTC=0x00;
            DDRC=0xFF;

            // Port D initialization
            // Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
            // State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
            PORTD=0x00;
            DDRD=0xFF;

            // Timer/Counter 0 initialization
            // Clock source: System Clock
            // Clock value: Timer 0 Stopped
            // Mode: Normal top=FFh
            // OC0 output: Disconnected
            TCCR0=0x00;
            TCNT0=0x00;
            OCR0=0x00;

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

            // Timer/Counter 2 initialization
            // Clock source: System Clock
            // Clock value: Timer 2 Stopped
            // Mode: Normal top=FFh
            // OC2 output: Disconnected
            ASSR=0x00;
            TCCR2=0x00;
            TCNT2=0x00;
            OCR2=0x00;

            // External Interrupt(s) initialization
            // INT0: Off
            // INT1: Off
            // INT2: Off
            MCUCR=0x00;
            MCUCSR=0x00;

            // Timer(s)/Counter(s) Interrupt(s) initialization
            TIMSK=0x00;

            // Analog Comparator initialization
            // Analog Comparator: Off
            // Analog Comparator Input Capture by Timer/Counter 1: Off
            ACSR=0x80;
            SFIOR=0x00;
            }

            void hienthi(void)
            {
            unsigned char line=1;

            for(j=7;j>0;j--)
            {
            for(i=0;i<=7;i++)
            {

            PORTC=line;
            PORTD=ch[i];
            delay_ms(1);
            line<<=1 ;


            }
            ch[i]=ch[j-1];

            }





            }


            //======================
            void main(void)
            {
            tao();


            while (1)
            {
            hienthi();
            };

            }

            Comment

            Về tác giả

            Collapse

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

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

            Collapse

            Đang tải...
            X