Thông báo

Collapse
No announcement yet.

Ngắt timer trong atmega32.

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Ngắt timer trong atmega32.

    chương trình ngắt ngoài cứ 10ms thì ngắt 1 lần.
    Code:
     interrupt [EXT_INT0] void ext_int0_isr(void)
    {
    // Place your code here
     dem=0;
     TCCR0=0x02;//cho timer0 chạy  
     OCR0=50;     // giá trị đặt trước.
    }
    interrupt [TIM0_COMP] void timer0_comp_isr(void)
    {
    // Place your code here
     if (dem>=90)
      {  
         dem=0; 
         TCCR0=0x00;  // cho timer dừng   
         PORTC=0x01;  // xuất ra led
    }
    ++dem;
    }
    dem là một biến kiểu interger.
    mình dùng thạch anh 8Mhz, timer0 hoạt động ở chế độ 2 là 1Mhz thì 1 lần tăng giá trị của timer0 là 1us, giá trị đặt trước là 50 thì 1 lần ngắt xảy ra sau 50us.như vậy cứ 90*50us thì led sẽ sáng lên.nhưng thực tế thì ko như vậy.ko có led nào sáng hết.giúp mình với.
    Last edited by VNarmy; 08-02-2009, 18:24.

  • #2
    - Bạn kiểm tra lại xem đúng 8M ko.
    - PORTC có đặt là out ko?
    - JTAG tắt đi chưa.
    AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
    Xem thêm tại Online Store ---> Click here
    Mob: 0982.083.106

    Comment


    • #3
      em đã đặt PortC là out rồi.nhưng
      tắt JTAG là tắt cái gì vậy anh.có thể giải thích cho em dc ko?

      Comment

      Về tác giả

      Collapse

      trch Tìm hiểu thêm về trch

      Bài viết mới nhất

      Collapse

      Đang tải...
      X