Xin giúp định nghĩa PORT trong CCS

Thảo luận trong 'Họ PIC -> dsPIC'

Đang xem chủ đề này ( Thành viên: 0, Khách: 0)

Moderators: THUONGDTQB
  1. Authur

    Authur Học sinh phổ thông

    Chào các bạn,

    mình sử dụng CCS 5.015, để lập trình đoạn code bật tắt LED, nhưng mô phỏng trên Proteus không chạy được,
    Cách 1 : mình muốn mở công RB0,1,2 nhưng không được
    Cách 2 : mình mở được cổng RB3, nhưng không mở đồng thời cổng RB4 được,

    mình cảm ơn,

    #include <main.h>

    int8 status_b=0;

    #byte PORTB=0x06
    #byte TRISB=0x86

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

    //cach 1
    PORTB=0x01;
    delay_ms(500);
    PORTB=0x02;
    delay_ms(500);
    PORTB=0x04;
    delay_ms(500);

    //cach 2
    status_b=PORTB;
    output_b(status_b|0x08);
    delay_ms(500);
    status_b=PORTB;
    output_b(status_b|0x10);
    while(TRUE)
    {

    //TODO: User Code
    }

    }
     
    Last edited: 25/12/16
  2. huuquy95

    huuquy95 Học sinh phổ thông

    Chương trình ko có vấn đề gì nhé,bạn kiểm tra lại mô phỏng xem.tần số thạch anh đặt là 20Mhz chưa. mặc định trong protues là 1 Mhz nên có thể chương trình chạy ko đúng yêu cầu.
     
  3. dientuthuc

    dientuthuc Kỹ sư

    mở rb012 thì portb=0b00000111; còn 34 thì cũng tương tự portb=0b00011000; bác đã khai báo mỗi port có 8 bít thì thao tác trên từng bít cho dễ hiểu nó cũng mất 1 lệnh không làm chậm chương trình đâu mà
     
  4. Authur

    Authur Học sinh phổ thông

    Mình đã kiểm tra lại proteus, tần số mình cài đặt đúng 20Mhz nhưng vẫn ko chạy được @@,

    To dientuthuc : Ah, tại mình có một số đoạn code lập trình bên MPLABX sử dụng cách trên, nên đổi lại có một số bất tiện,
     
Moderators: THUONGDTQB

Chia sẻ trang này