đếm ngược từ 99 về 0 dùng 1 port sử dụng pic16f877a

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • Heroboss
    Nhập môn đệ tử
    • Apr 2011
    • 10

    #1

    đếm ngược từ 99 về 0 dùng 1 port sử dụng pic16f877a

    Em đang học vy xử lý đang có đoạn viết code đếm ngược từ 99 về 0 nhưng chỉ dùng 1 port thôi để điều khiển 2 led 7 đoạn. Ai có thể giúp dùm em viết đoạn code này được không à. Em xin cảm ơn các anh chị trên diễn đàn rất nhiều
  • akatsu
    Đệ tử 2 túi
    • Aug 2010
    • 27

    #2
    dùng quet led đi bạn. để lại mail đi mình sẽ send tài liệu hướng dẫn cho bạn

    Comment

    • Heroboss
      Nhập môn đệ tử
      • Apr 2011
      • 10

      #3
      Dùng quét led thì em biết rồi, cần ở đây là kỹ thuật bảng(Lệnh retlw) mà chỉ được dùng 1 port để đếm ngược thôi không được dùng 2 port. Anh có thẻ giúp em k nếu được xin gửi qua yahoo: phong_le92000@yahoo.com. Em xin cảm ơn anh.

      Comment

      • vidieukhiencdn
        Đệ tử 7 túi
        • May 2009
        • 242

        #4
        Nguyên văn bởi akatsu View Post
        dùng quet led đi bạn. để lại mail đi mình sẽ send tài liệu hướng dẫn cho bạn
        - Máy tính bị mất hết dữ liệu mà sao còn tài liệu để send thế , để mình phụ 1 tay

        Code:
        #include <16F877a.h>
        #include <def_8877A.h>
        #fuses NOWDT,PUT,HS,NOPROTECT
        #use delay(clock=4000000)
        #define led0   ra0
        #define led1   ra1
        #define led2   ra2
        #define led3   ra3
        
        #define data_led  portb
        
        char dig[]={192, 249, 164, 176, 153, 146, 130, 248, 128, 144};
        
        
        void  hienthi7doan(int16 x)
        {
           int8 i,j;
           for (j = 0;j<50;j++)
           {
        
           x = x%100;
           i = x/10;
           led2 = 0;
           data_led = dig[i];
           delay_ms(10);
           led2 = 1;
           
           i = x%10;
           led3 = 0;
           data_led = dig[i];
           delay_ms(10);
           led3 = 1;
        }
        }
        
        void main()
        {
           int8 i;
           // TODO: USER CODE!!
           trisb = 0x00;
           trisa = 0x00;
           portb = 0x00;
           porta = 0xff;
           
            while(true)
           { 
             
              for (i = 0; i<100; i++)
              hienthi7doan(i);
          
           }
        
        }
        Nếu dếm lùi về thì bạn chỉnh lệnh for lại nhé
        Last edited by vidieukhiencdn; 11-04-2011, 01:29 PM.
        Mạch nạp Pickit 2 SE ---> 170k BH 1 năm
        Pic 18F2550 PDIP Thailand bao test 60K/1c
        https://sites.google.com/site/machnapvdk/

        [url]http://vidieukhien.tk[/url

        Comment

        • nguyenhuunguyen
          Nhập môn đệ tử
          • Mar 2012
          • 5

          #5
          Các anh ơi cho hương dẫn em viết chương trình điều khiển led matrix với .em mới học lên chưa bit nhiều .các anh gửi vào mail cho em nhé .thanks các anh .mail :nguyenhuunguyen91@gmail.com

          Comment

          • tudonghoa_k54
            Nhập môn đệ tử
            • Apr 2011
            • 1

            #6
            Có ai biết viết bằng Asembly ko vậy?
            Help me.

            Comment

            Working...