Welcome & Happy Holidays!
Trang 2 của 5 Đầu tiênĐầu tiên 1234 ... CuốiCuối
Kết quả 11 đến 20 của 46
  1. #11
    Ngày tham gia
    Apr 2016
    Bài viết
    0
    Mã:
    T0CONbits.T08BIT = 1;
     
    T0CONbits.T0CS = 0;
     
    T0CONbits.PSA = 0;
     
    T0CONbits.T0PS2 = 0;
     
    T0CONbits.T0PS2 = 1;
     
    T0CONbits.T0PS2 = 0;
     
    TMR0L = 0xE7;
     
    INTCONbits.TMR0IE = 1;
     
    INTCON2bits.TMR0IP= 1;
     
    INTCONbits.GIE = 1;
     
    T0CONbits.TMR0ON = 1;
     
    T0CONbits INTCONbits
    là gì zậy mọi người em dùng MPLAB c18 nhưng hok bik mấy cái này là sao...hok hiểu. dùng HITECH c18 đâu có mấy cái này đâu ta

  2. #12
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi kim jong
    T0CONbits.T08BIT = 1;
    T0CONbits.T0CS = 0;
    T0CONbits.PSA = 0;
    T0CONbits.T0PS2 = 0;
    T0CONbits.T0PS2 = 1;
    T0CONbits.T0PS2 = 0;
    TMR0L = 0xE7;
    INTCONbits.TMR0IE = 1;
    INTCON2bits.TMR0IP= 1;
    INTCONbits.GIE = 1;
    T0CONbits.TMR0ON = 1;
    T0CONbits INTCONbits là gì zậy mọi người em dùng MPLAB c18 nhưng hok bik mấy cái này là sao...hok hiểu. dùng HITECH c18 đâu có mấy cái này đâu ta
    T0CONbits.T08BIT = 1; // Sử dụng timer0 chế độ 8 bit.
    T0CONbits.T0CS = 0; // xung sử dụng là Fosc/4.
    T0CONbits.PSA = 0; // sử dụng prescaler, nếu là 1 thì nguồn xung vào sẽ bằng nguồn xung clock timer

    T0CONbits.T0PS2 = 0;
    T0CONbits.T0PS2 = 1;
    T0CONbits.T0PS2 = 0;
    // 3 hàng trên là khai báo prescaler thôi. 0 1 0 tương ứng prescaler là 1:8
    TMR0L = 0xE7; // chứa giá trị timer0
    INTCONbits.TMR0IE = 1; // cho phép ngắt timer0
    INTCON2bits.TMR0IF= 1; // bật cờ ngắt timer0
    INTCONbits.GIE = 1; cho phép ngắt toàn cục
    T0CONbits.TMR0ON = 1; cho phép ngắt ngoại vi

  3. #13
    Ngày tham gia
    Jun 2016
    Bài viết
    241
    Trích dẫn Gửi bởi kaitudh09cd
    T0CONbits.T08BIT = 1; // Sử dụng timer0 chế độ 8 bit.
    T0CONbits.T0CS = 0; // xung sử dụng là Fosc/4.
    T0CONbits.PSA = 0; // sử dụng prescaler, nếu là 1 thì nguồn xung vào sẽ bằng nguồn xung clock timer

    T0CONbits.T0PS2 = 0;
    T0CONbits.T0PS2 = 1;
    T0CONbits.T0PS2 = 0;
    // 3 hàng trên là khai báo prescaler thôi. 0 1 0 tương ứng prescaler là 1:8
    TMR0L = 0xE7; // chứa giá trị timer0
    INTCONbits.TMR0IE = 1; // cho phép ngắt timer0
    INTCON2bits.TMR0IF= 1; // bật cờ ngắt timer0
    INTCONbits.GIE = 1; cho phép ngắt toàn cục
    T0CONbits.TMR0ON = 1; cho phép ngắt ngoại vi
    INTCONbits. và T0CONbits. ở đâu ra vậy bạn.sao mình kiếm trong datasheet hok thấy zậy. mới chuyển qua dùng mpab c18 nên hơi lạ

  4. #14
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi kim jong
    INTCONbits. và T0CONbits. ở đâu ra vậy bạn.sao mình kiếm trong datasheet hok thấy zậy. mới chuyển qua dùng mpab c18 nên hơi lạ
    Bạn tra datasheet phần thanh ghi của timer0 là có hết mà.
    - INTCON là 1 thanh ghi ngắt của timer0. INTCONbits. là cách khai báo 1 bit trong 1 thanh ghi. Sau dấu chấm là tên từng bit. Mỗi thanh ghi có 8 bit.
    - Tương tự T0CON là thanh ghi điều khiển timer0. T0CONbits. là cách khai báo 1 bit trong 1 thanh ghi. Sau dấu chấm là tên từng bit trong thanh ghi đó.
    Thân.

  5. #15
    Ngày tham gia
    May 2016
    Bài viết
    0
    like! kaitudh09cd một cái ^_^

  6. #16
    Ngày tham gia
    Jan 2016
    Bài viết
    0
    bạn kaitudh09cd có thể check hộp thư được không! mình có gởi thư cho bạn. tks

  7. #17
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    mình gửi nick yh cho bạn rồi đó. Có gì ta trao đổi qua yh.

  8. #18
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    TMR0L = 0xE7; // chứa giá trị timer0==========> tại sao lại là 0xE7 mah không là địa chỉ khác.cái này trong datasheet thuộc phần nào ?
    INTCONbits.TMR0IE = 1; // cho phép ngắt timer0 =========> sao hok có INTCONbits.TMR0IP ?????????
    INTCON2bits.TMR0IF= 1; // bật cờ ngắt timer0
    INTCONbits.GIE = 1; cho phép ngắt toàn cục

  9. #19
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi kim jong
    TMR0L = 0xE7; // chứa giá trị timer0==========> tại sao lại là 0xE7 mah không là địa chỉ khác.cái này trong datasheet thuộc phần nào ?
    INTCONbits.TMR0IE = 1; // cho phép ngắt timer0 =========> sao hok có INTCONbits.TMR0IP ?????????
    INTCON2bits.TMR0IF= 1; // bật cờ ngắt timer0
    INTCONbits.GIE = 1; cho phép ngắt toàn cục
    - Nó là thanh ghi chứa giá trị timer0 ở chế độ 8 bit. Còn khi bạn xài chế độ 16 bit thì nó sẽ là byte thấp. Bạn đang khai báo 8 bit cho timer0 nên 0xE7 là giá trị chứ ko phải địa chỉ. Nó là giá trị timer0 bắt đầu đếm lên. MPLAB C18 có hổ trợ thư viện Timer.h. Nên bạn ko cần thiết phải nhớ những thanh ghi này. Chỉ việc dùng lệnh WriteTimer0() là xong. Cách viết của bạn là cách viết ko sử dụng thư viện timer.h
    - Cái này mình lộn. INTCON2 là thanh ghi điều khiển ngắt thứ 2 của timer0. IP là ưu tiên ngắt. IF mới là bật cờ ngắt. Thanh ghi này mình trc h mình ko sử dụng. Chỉ có INTCON là hiện nay ng ta sử dụng nhiều.
    Thân.

  10. #20
    Ngày tham gia
    Sep 2015
    Đang ở
    http://khothamtraisan.com/tham-gia-re-b2224766.html
    Bài viết
    0
    làm sao để tính đc 0xE7 dựa vào ji để ra giá trị đó.giá trị đó có thể thay đổi bằng giá trị khác không

 

 
Trang 2 của 5 Đầu tiênĐầu tiên 1234 ... CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Múi giờ GMT +7. Bây giờ là 11:47 AM. Diễn đàn sử dụng vBulletin® Phiên bản 4.2.5.
Bản quyền của 2018 vBulletin Solutions, Inc. Tất cả quyền được bảo lưu.
Ban quản trị không chịu trách nhiệm về nội dung do thành viên đăng.