1. Xin chào Khách ! Ban quản trị sẽ tiến hành nâng cấp diễn đàn từ ngày 11/8/2017 Mọi truy cập có thể bị dán đoạn, mong bạn thông cảm!
    Dismiss Notice

Lỗi Timer/counter 1

Thảo luận trong 'Họ AVR'

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

Moderators: mta_cdt
  1. Trung Thanh

    Trung Thanh Học sinh phổ thông

    Tham gia ngày:
    3/1/13
    Bài viết:
    19
    Đã được thích:
    5
    Điểm thành tích:
    3
    Giới tính:
    Nam
    Chào mọi người ! Mình dùng timer/counter 1 để thử thực hiện bài toán đếm người đi vào 1 căn phòng ! theo lí thuyết TCNT1 tăng từ 0 đến 1 giá trị của OCRA1A thì sẽ thực hiện một (compare match-ngắt so sánh) xảy ra Sau khi set bit và cài đặt cho các thanh ghi và tham khảo hàm ngắt của codevioson 1 cách đầy đủ thì mình mô phỏng lại bằng protues ! Nhưng khi nhấn công tắc 5 lần (nói với chân T1 - lấy xung ngoài ngắt sườn âm) thì led 7 thanh vẫn chưa nhảy lên 1 ! Hy vọng được các sư huynh chỉ giáo ! New Bitmap Image.

    đây là code của mình !
    Mã:
    #include <mega8.h>
     
    #include <delay.h>
     
    unsigned char val=0;
     
    interrupt [TIM1_COMPA] void timer1_compa_isr(void)
     
    { val++;
     
    if(val==10)val=0;//gioi han bien val tu 0 den 9
     
    TCNT1=0;
     
    PORTB=val; //xuat gia tri ra PORTB
     
    }
     
    void main (void)
     
    {
     
    DDRB=0xff;//PORTB la output portb
     
    PORTB=0x00;
     
    TCNT1=0;
     
    TCCR1B=(1<<WGM12)|(1<<CS12)|(1<<CS11);
     
    //xung nhip tu chan T1 canh xuong
     
    OCR1A=4; //gan gia tri can so sanh
     
    TIMSK=(1<OCIE1A);//cho phep ngat khi dem gia tri =4
     
    #asm ("sei") //set bit nay de ngat toan cuc
     
    while(1)
     
    {
     
    //do nothing
     
    }
     
    }
     
  2. chúng

    chúng Kỹ sư

    Tham gia ngày:
    7/9/12
    Bài viết:
    345
    Đã được thích:
    349
    Điểm thành tích:
    63
    Giới tính:
    Nam
    sai ở :
    TIMSK=(1<OCIE1A);
     
    Trung Thanh thích bài này.
  3. NgoHungCuong

    NgoHungCuong http://ngohungcuong.com

    Tham gia ngày:
    19/8/12
    Bài viết:
    4,003
    Đã được thích:
    9,104
    Điểm thành tích:
    69
    Giới tính:
    Nam
    Nghề nghiệp:
    Thất nghiệp
    Nơi ở:
    Lâm Thao - Phú Thọ
    Minh đang nghĩ là sao không dùng ngắt ngoài trong trường hợp này nhỉ?
     
    Trung Thanh thích bài này.
  4. Trung Thanh

    Trung Thanh Học sinh phổ thông

    Tham gia ngày:
    3/1/13
    Bài viết:
    19
    Đã được thích:
    5
    Điểm thành tích:
    3
    Giới tính:
    Nam
    Thanks anh ! em sửa lại và đã chạy ngon !
     
  5. Trung Thanh

    Trung Thanh Học sinh phổ thông

    Tham gia ngày:
    3/1/13
    Bài viết:
    19
    Đã được thích:
    5
    Điểm thành tích:
    3
    Giới tính:
    Nam
    Em đang đọc đến phần T/C1 thì có giới thiệu bài viết đếm sự kiện với T/C1(giả sử lắp với cảm biến cứ 5 người đi qua sẽ báo1 lần ) nên em lắp thay cảm biến bằng nút button ! ^^ ! Chủ yếu em muốn tìm hiểu kĩ về ngắt với Timer/counter ! Thanks anh
     
Moderators: mta_cdt

Chia sẻ trang này