Chào mừng đến với Câu Lạc Bộ Sáng Tạo
Chia sẻ kinh nghiệm
Kết nối đam mê
Đang cập nhật thời gian...
BÀI VIẾT NỔI BẬT
Xin chào! Tôi là Ếch Sáng Tạo :-)
Chia sẻ trang




Chuyên mục
Bài mới
Xem nhiều
Thống kê
    Đang tải..
Bài viết
BÀI 11 : TIMER 1 PIC16F877A XC8 - SangTaoClub.Net
BÀI 11 : TIMER 1 PIC16F877A XC8
Đăng bởi: lam3ngon - Thời gian: 19-02-2016, 20:47
Chuyên mục: MCU 8051, AVR, PIC - Lượt xem: 4.787

Chào các bạn trong bài đăng trước mình đã hướng dẫn các bạn về timer0 và trong bài đăng này mình sẽ tiếp tục hướng dẫn các ban về timer1 của PIC16F877A. Timer 1 và 0 là 2 loại timer mà chúng ta rất hay sử dụng vì vậy các bạn phải nắm chất về 2 bộ timer này nha. Ok bây giờ mình sẽ đi vào vấn đề chính ngay.

1.Đặc điểm của timer 1.

- Là timer/counter 16bit gồm 2 thanh ghi TMR1H và TMR1L  có thể đọc và ghi.

- Timer 1 có thể hoạt động ở chế độ định thời hay đếm được lựa chọn bởi bit TMR1CS.

- Trong chế độ định thời T1 tăng giá trị ở mỗi chu kỳ lệnh, chế độ đếm bộ đếm tăng mỗi khi có cạch clock ngõ vào prescale bên ngoài.

- Có bộ prescale chia tần.

- Xảy ra hiện tượng ngắt khi tràn từ FFFFh -> 0000h.

2. Sơ đồ khối timer 1.

- Đây là ảnh mô phỏng protues.

- Đây là code chương trình.

#include

#include

#include

#define _XTAL_FREQ 4000000

// CONFIG

#pragma config FOSC = XT        // Oscillator Selection bits (XT oscillator)

#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled)

#pragma config PWRTE = OFF      // Power-up Timer Enable bit (PWRT disabled)

#pragma config BOREN = OFF      // Brown-out Reset Enable bit (BOR disabled)

#pragma config LVP = OFF        // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming)

#pragma config CPD = OFF        // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off)

#pragma config WRT = OFF        // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control)

#pragma config CP = OFF         // Flash Program Memory Code Protection bit (Code protection off)

unsigned int Count = 0;

void main(void) {

    TRISCbits.TRISC0 = 0;

    TMR1 = 15535;

    T1CONbits.TMR1CS = 0;

    T1CONbits.T1CKPS1 = 1;

    T1CONbits.T1CKPS0 = 0;

    T1CONbits.T1SYNC = 1;

    T1CONbits.TMR1ON = 1;

    while (1)

    {

        if(PIR1bits.TMR1IF == 1)

        {

            PIR1bits.TMR1IF = 0;

            TMR1 = 15535;

            Count++;

            if(Count==5)

            {

                Count =0;

                PORTCbits.RC0 ^= 1;   //toggle the LED

            }

          }

        }

    }

- Link download project Click here

Xem thêm project Programming PIc


Nguồn: Programming PIC


  • Bạn chưa đăng nhập, không thể viết bình luận!
    Bấm vào đây để Đăng nhập hoặc Đăng ký!

  • Bài viết cùng chuyên mục
    Cần giúp nút ấn với hiệu ứng 8051 Cần giúp nút ấn với hiệu ứng 8051
    Đăng bởi: phan_anh_17371 - Thời gian: 06-09-2018, 10:53
    Chuyên mục: MCU 8051, AVR, PIC - Lượt xem: 2.507
    [SHARE] Thư viện chơi nhạc bằng module DFPLayer Mini Library [SHARE] Thư viện chơi nhạc bằng module DFPLayer Mini Library
    Đăng bởi: Vũ Văn Thái - Thời gian: 05-04-2018, 15:15
    Chuyên mục: MCU 8051, AVR, PIC - Lượt xem: 5.676
    có bạn nào tìm hiểu về stm8 ko có bạn nào tìm hiểu về stm8 ko
    Đăng bởi: ngocsi - Thời gian: 13-03-2017, 12:16
    Chuyên mục: MCU 8051, AVR, PIC - Lượt xem: 3.296
    Mạch đo tốc độ và quãng đường xe đạp sử dụng cảm biến hall hiển thị lcd Mạch đo tốc độ và quãng đường xe đạp sử dụng cảm biến hall hiển thị lcd
    Đăng bởi: leacebach - Thời gian: 04-03-2017, 20:57
    Chuyên mục: MCU 8051, AVR, PIC - Lượt xem: 3.524
    ỨNG DỤNG LM35 PIC16F877A CODE CCS ỨNG DỤNG LM35 PIC16F877A CODE CCS
    Đăng bởi: lam3ngon - Thời gian: 05-06-2016, 21:35
    Chuyên mục: MCU 8051, AVR, PIC - Lượt xem: 5.902
    BÀI 13 : EEPROM PIC16F877A XC8 BÀI 13 : EEPROM PIC16F877A XC8
    Đăng bởi: lam3ngon - Thời gian: 17-05-2016, 10:56
    Chuyên mục: MCU 8051, AVR, PIC - Lượt xem: 5.033
    giao tiếp eeprom với pc qua 89s52 giao tiếp eeprom với pc qua 89s52
    Đăng bởi: quangmanhvk - Thời gian: 04-05-2016, 10:04
    Chuyên mục: MCU 8051, AVR, PIC - Lượt xem: 3.276
    Tạo delay dùng timer 8051 Tạo delay dùng timer 8051
    Đăng bởi: andipanda - Thời gian: 18-04-2016, 11:09
    Chuyên mục: MCU 8051, AVR, PIC - Lượt xem: 4.015
    Mạch Đếm lùi sử dụng ic AT89C52 hoậc AT89C51 Mạch Đếm lùi sử dụng ic AT89C52 hoậc AT89C51
    Đăng bởi: vanthang - Thời gian: 14-04-2016, 00:52
    Chuyên mục: MCU 8051, AVR, PIC - Lượt xem: 3.470
    Chia sẽ code đèn giao thông ngã tư PIC16F877A CCS ! Chia sẽ code đèn giao thông ngã tư PIC16F877A CCS !
    Đăng bởi: lam3ngon - Thời gian: 11-03-2016, 23:25
    Chuyên mục: MCU 8051, AVR, PIC - Lượt xem: 9.512
    Chào mừng canbaoke14 đã tham gia câu lạc bộ sáng tạo!
    Vũ Văn Thái - vuthai
    Hôm nay là sinh nhật của vinhubitower, giusetung712, giusetung71, vuviet85, Trinhxuantu, computersp, simbec, ngayhanhphucbg94, hoangxuantrung, truongtoan, vt19951123, nstung2311, hoangmau, dt_hoangtrung, Totiton, 01657598455, ngvinh96, netluan2, khang69, qaz159357, sanh1995, ← Gửi tin nhắn chúc mừng
    Múi giờ: UTC+07:00 - Asia/Ho Chi Minh ***** IP của bạn: 3.149.254.25 ***** Thời gian xử lý trang: 0.072 giây - Cache: Sẵn sàng!