1. THÔNG BÁO TUYỂN ADMIN DIỄN ĐÀN 2013
    Tìm kiếm nhà trọ - Ở ghép
    THÔNG BÁO BÁN ÁO SPKT.NET CHO THÀNH VIÊN DIỄN ĐÀN


    HÃY TÌM KIẾM Ở ĐÂY TRƯỚC KHI ĐẶT CÂU HỎI
    {xen:phrase loading}

Bài tập ngắt.

Thảo luận trong 'Lập trình C cho vi điều khiển AVR cơ bản' bắt đầu bởi whitebank, 23 Tháng mười 2009.

  1. whitebank Member

    Số bài viết: 71
    Đã được thích: 3
    Điểm thành tích: 8
    Chào tất cả.
    Mình vừa làm xong bài tập ngắt, post lên cho các bạn tham khảo, hy vọng có cách làm hay hơn
    Đề bài : cho phần cứng gồm 8 leds và 8 buttons, bình thường thì 8 leds nhấp nháy, nhấn button nào thì led tương ứng đó sẽ ngừng chớp. Các con led khác vẫn chớp bình thường.

    Cách làm của mình là, khi nhấn 1 trong 8 led thì sẽ xảy ra ngắt, và chương trình ngắt có nhiệm vụ quét để kiểm tra xem button nào được nhấn để led tương ứng bị tắt.

    Đây là toàn bộ code (viết bằng CodeVisionAVR) và mô phỏng bằng proteus. http://www.mediafire.com/download.php?ommgzk0ywgo

    Các bạn có thể xem đoạn phim mô phỏng youtube tại đây qZ3tiURB-Pc
  2. huyen New Member

    Số bài viết: 148
    Đã được thích: 0
    Điểm thành tích: 0
    Mình xem code của bạn rùi,rất ok.Có điều là trong code bạn sử dụng ngắt 0 (mode cạnh lên)ma trong khai báo lại là low level?
    keke.
    Anyway thanks alot
  3. whitebank Member

    Số bài viết: 71
    Đã được thích: 3
    Điểm thành tích: 8
    oh thanks. Mình có lẽ bị nhầm ở lúc làm code, nhưng thực sự thì vẫn là cạnh lên (rising edge), chỉ là phần chú thích bị sai thôi. Bị nhầm một tí, thành thật xin lỗi.

    Mình kiểm tra lại rồi.

    // External Interrupt(s) initialization
    // INT0: On
    // INT0 Mode: Rising Edge (ở đoạn code trên của mình ghi là "low level", bị nhầm chỗ này.)
    // INT1: Off
    // INT2: Off
    GICR|=0x40;
    MCUCR=0x03;
    MCUCSR=0x00;
    GIFR=0x40;
  4. fmdsaudoi New Member

    Số bài viết: 2
    Đã được thích: 0
    Điểm thành tích: 0
  5. dragonck4 Member

    Số bài viết: 31
    Đã được thích: 0
    Điểm thành tích: 6
  6. herohuty New Member

    Số bài viết: 2
    Đã được thích: 0
    Điểm thành tích: 0
    bạn Whitebank ơi
    mình không download dc CodeVisionAVR của bạn trên mediafile
    không hiểu tại sao
    bại có cách nào giúp mình được không
    mình đang rất cần xem bài của bạn bây giờ
  7. whitebank Member

    Số bài viết: 71
    Đã được thích: 3
    Điểm thành tích: 8
  8. cugiai27 New Member

    Số bài viết: 5
    Đã được thích: 0
    Điểm thành tích: 0
  9. cugiai27 New Member

    Số bài viết: 5
    Đã được thích: 0
    Điểm thành tích: 0
    Hix sao link download MF bài tập ngắt của bạn bị del rồi,bạn up lại được không ?
  10. thanghe New Member

    Số bài viết: 10
    Đã được thích: 0
    Điểm thành tích: 1

Chia sẻ trang này