Gặp vấn đề với với điều khiển các port của PIC 16F877A

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • firstlove05
    Nhập môn đệ tử
    • Feb 2010
    • 2

    #1

    Gặp vấn đề với với điều khiển các port của PIC 16F877A

    Em mới học về PIC nên chưa hiểu rõ một số vấn đề mong các bác chỉ giúp :
    Em có mấy Bt lập trình để điều khiển các cổng của PIC nhưng gặp một số vấn đề khó hiểu ,em lập trình bằng pm mikroC và mô phỏng bằng Protues ,BT của em như sau :

    BT1 :Viết ct để làm sáng đèn theo kiểu đuổi ( sáng từ chân 0-7 ,sáng 1 đèn xong tắt rồi sáng đèn tiếp theo )

    void main() {
    PORTD = 0;
    TRISD = 0;

    while(1) {
    PORTD=0x80;;
    Delay_ms(500);
    PORTD=0x40;
    Delay_ms(500);
    PORTD=0x20;
    Delay_ms(500);
    PORTD=0x10;
    Delay_ms(500);
    PORTD=0x08;
    Delay_ms(500);
    PORTD=0x04;
    Delay_ms(500);
    PORTD=0x02;
    Delay_ms(500);
    PORTD=0x01;
    Delay_ms(500);

    }
    }

    Ở bài này Ra port D nhưng chỉ chạy từ chân 1-3 .Khi đổi sang port C thì vẫn chạy ở port D

    BT2 :Viết ct để làm sáng đèn theo kiểu lan ( sáng từ chân 0-7 ,từng đèn sáng lên một )

    void main() {
    PORTB = 0;
    TRISB = 0;

    while(true) {
    PORTB.F0=1;
    Delay_ms(1000);
    PORTB.F1=1;
    Delay_ms(1000);
    PORTB.F2=1;
    Delay_ms(1000);
    PORTB.F3=1;
    Delay_ms(1000);
    PORTB.F4=1;
    Delay_ms(1000);
    PORTB.F4=1;
    Delay_ms(1000);
    PORTB.F5=1;
    Delay_ms(1000);
    PORTB.F6=1;
    Delay_ms(1000);
    }
    }

    Ở bài này Lại ra port D và chỉ chạy từ chân 1-5 .Đổi sang port C nhưng vẫn chạy ở port D

    BT3 :Viết ct để làm sáng đèn theo kiểu dồn ( sáng dồn từ ngoài vào đến giữa rồi quay ngược ra )

    void main() {
    PORTC = 0;
    TRISC = 0;

    while(1) {
    PORTC=0x81;
    Delay_ms(500);
    PORTC=0x42;
    Delay_ms(500);
    PORTC=0x24;
    Delay_ms(500);
    PORTC=0x18;
    Delay_ms(500);
    PORTC=0x24;
    Delay_ms(500);
    PORTC=0x42;
    Delay_ms(500);
    PORTC=0x81;
    Delay_ms(500);
    }
    }


    Ở bài này Chạy ở port C nhưng khi chuyển qua Port D thì vẫn chạy ở port C ,chạy từ ngoài vào ok nhưng từ trong ra chỉ đến cặp đèn thứ 3


    Rất mong mọi người chỉ giúp em với ạ ,Thanks !

    Mạch và bài lập trình em để trong file đính kèm .

    http://www.mediafire.com/?hvjrwyulrlh
    Last edited by firstlove05; 21-03-2010, 11:26 PM.
Working...