Thông báo

Collapse
No announcement yet.

các bạn giải thích câu lệnh trong chương trình led ma trận +pic+595 sau giúp mình với

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

  • các bạn giải thích câu lệnh trong chương trình led ma trận +pic+595 sau giúp mình với

    Code:
     // tac gia demon52
    
    #include <16F877A.h>
    #include <def_877a.h>
    #device *=16 adc=10
    #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT,NOLVP, NOCPD, NOWRT
    #use delay(clock=20000000)
    #include <string.h> /////////// biên dich thì báo lỗi thư viện này (file đính kèm)
     
    #define ic595_sclk1 PIN_B0
    #define ic595_data1  PIN_B1
    #define ic595_lclk1 PIN_B2
    #define ic595_sclk2 PIN_B3
    #define ic595_data2  PIN_B4
    #define ic595_lclk2 PIN_B5
     
    unsigned int8 next=0,lengh_STR;
    unsigned char count=0;
    unsigned char welcome[]=" http://codientu.org  ";
    unsigned char *str;
    #int_timer0
    void ngat_time0()
      {
      set_timer0(8);
      count++;
      if(count==25){
          count=0;
          next++;
          if(next>=lengh_STR)next=0;
          }
      }
     
    void Ic74595_Write(char data,char ic,char bits)
      {
      signed char count;       
      if(ic==1)         
          {
          for(count=bits-1;count>=0;count--)
            {
            if((( data>>count) & 0x01) ==1)
                output_high(ic595_data1);
            else
                output_low(ic595_data1);
            output_high(ic595_sclk1);
            output_low(ic595_sclk1);
            }
          output_high(ic595_lclk1);
          output_low(ic595_lclk1);
          }
      if(ic==2)         
          {
          for(count=bits-1;count>=0;count--)   /////////////  các đoạn này ?
            {
            if((( data>>count) & 0x01) ==1)
                output_high(ic595_data2);
            else
                output_low(ic595_data2);
            output_high(ic595_sclk2);
            output_low(ic595_sclk2);
            }
          output_high(ic595_lclk2);
          output_low(ic595_lclk2);
          }
      }
     
    void Run_str_RtoL()       //////////////////////???
      {
      lengh_str=strlen(str)*6;
      unsigned char j,temp_font;
      Ic74595_Write(1,1,1);
      for(j=next;j<32+next;j++){
          Temp_font=font[str[(j%lengh_STR)/With_of_font] -32][j%With_of_font];
          Ic74595_Write(temp_font,2,8);
          delay_us(500);
          Ic74595_Write(0,1,1);
          }
      }
     
    void main (){
      TRISB=0x00;
      enable_interrupts(int_timer0);
      setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256);
      enable_interrupts(global);
      set_timer0(8);
      str=welcome;
        while(1){
                Run_str_RtoL();
                }
    }
    mô phỏng, thư viện font, string.
    http://www.mediafire.com/download/zk...X8_PIC_CCS.rar

  • #2
    Có 2 cách:
    C1: chỉnh sửa lại các dòng khai báo như sau
    Code:
    #include <16F877A.h>
    #device *=16 adc=10
    #include <string.h>
    #include <def_877a.h>
    C2: sửa lại file string mặc định của CCS ( vì mình code project này lúc đó thư viện đã được sửa nên khai báo như vậy)
    Web:
    ->Nhận thiết kế, hoàn thiện dự án, sản phẩm điện tử<-
    -->Giải pháp GSM/GPRS/GPS - Công nghệ RFID<--

    Comment


    • #3
      em chọn c1 vì c2 cũng chưa biết sửa ở đâu. tuy nhiên không đượcClick image for larger version

Name:	ma tran 832.jpg
Views:	1
Size:	78.4 KB
ID:	1380659.
      mà anh chú thích 2 đoạn chương trình những chỗ em //// ? ý giúp em với.

      Comment


      • #4
        không có ai giúp em thế này?

        Comment


        • #5
          quái lạ mọi người đi đâu hết cả rồi. xem cho em với chứ.chẳng lẽ không ai dùng pic nữa

          Comment


          • #6
            có ai code bào này bị lỗi không hiện ra mấy kí tự không?
            vd như chữ "aq..." là không hiện ra.

            Comment

            Về tác giả

            Collapse

            toi ngu kinh Tìm hiểu thêm về toi ngu kinh

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

            Collapse

            Đang tải...
            X