![]() |
![]() |
#1 |
Đệ tử 4 túi
|
![]() Bài viết cơ sở về lập trình ngắt INT trong PIC18
Cách viết chương trình điều khiển ngắt bằng C18 Có completed file đi kèm chương trình viết bằng C18 và mô phỏng trên Proteus chúc vui! my email: hung.rocket42@gmail.com |
![]() |
![]() |
![]() |
#2 | |
Đệ tử 5 túi
Tham gia ngày: Aug 2010
Bài gửi: 116
: |
Trích:
khi nào thì ưu tiên mức cao và khi nào thì ưu tiên mức thấp(với ngắt timer thì là mức cao hay thấp) vì mình mới dùng PIC 16 nên ko có phân cấp ngắt,tất cả ngắt bình đẳng và đều về địa chỉ 0x04.nên khi chuyển sang PIC18 có đôi chút bỡ ngỡ,mong bạn chỉ giáo dùm. cám ơn! |
|
![]() |
![]() |
![]() |
#3 |
Đệ tử 4 túi
|
![]() Ngắt ưu tiên thấp trong Pic18 là chương trình ngắt được lưu bắt đầu ở địa chỉ 0x18.
Ngắt ưu tiên cao trong thì chương trình ngắt được lưu bắt đầu ở địa chỉ 0x08. Tức là khi xảy ra ngắt thì con trỏ chương trình sẽ nhảy tới địa chỉ này và thực hiện lệnh. ngắt ưu tiên cao khác so với ngắt ưu tiên thấp là khi đang thực hiện chương trình ngắt ưu tiên thấp mà xảy ra ngắt ưu tiên cao thì nó sẽ nhảy tới thực hiện chương trình ngắt ưu tiên cao. Sau khi thực hiện xong ngắt ưu tiên thấp nó sẽ trở lại hoàn thành chương trình ngắt ưu tiên thấp đang thực hiện dở. Nhưng điều ngược lại ko được thực hiện khi đang có chương trình ngắt ưu tiên cao đang thực hiện thì nó sẽ ko bị ngắt bởi bất cứ loại ngắt nào khác. Trừ RESET (nhưng đây ko phải là ngắt) Trong Pic18 thì mức ưu tiên ngắt có thể cài đặt cho từng loại ngắt cụ thể bằng set các bit trong thanh ghi điều khiển ngắt tương ứng. bạn có thể xem chi tiết các thanh ghi trong datasheet của loại Pic mà bạn dùng Bạn có thể xem hình minh họa tôi gửi kèm để hiểu rõ về nó Để xem cách lập trình ngắt trong Pic18 bằng C18 như thế nào bạn có thể xem tài liệu tiếng việt tôi đã viết xong và gửi lên diễn đàn: http://www.picvietnam.com/forum/showthread.php?t=11338 chúc vui!!! thay đổi nội dung bởi: rocket42, 07-10-2011 lúc 05:32 PM. |
![]() |
![]() |
![]() |
#4 |
Đệ tử 1 túi
Tham gia ngày: Dec 2008
Bài gửi: 11
: |
Anh Rocket41 nhớ chế tạo tên lửa để bắn mấy thằng Kựa nhé
|
![]() |
![]() |
![]() |
#5 |
Đệ tử 4 túi
|
Thanks!
R cũng ko khoái mấy thằng tàu lắm. R sẽ gắng hết khả năng |
![]() |
![]() |
![]() |
#6 |
Đệ tử 5 túi
|
anh rocket42 có chương trình mẫu ADC nào ko??.Em mới chuyển qua viết PIC 18 bằng mplab C18 nên hơi hụt (tại lúc trước em viết bằng HT pic)
__________________
Chỉ sợ thiếu tiền...... |
![]() |
![]() |
![]() |
#7 |
Đệ tử 4 túi
|
Đợi vài hôm nữa bạn nhé
R đang có cái đồ án sắp phải báo cáo nên chưa ngồi viết module này. bạn gửi email cho mình khi nào có mình sẽ mail trực tiếp cho OK! chúc vui |
![]() |
![]() |
![]() |
#8 | |
Nhập môn đệ tử
Tham gia ngày: Sep 2012
Bài gửi: 1
: |
Trích:
Em cảm ơn. |
|
![]() |
![]() |
![]() |
#9 |
Nhập môn đệ tử
Tham gia ngày: Aug 2011
Bài gửi: 1
: |
Chào bạn ! Hiện tôi đang tìm hiểu PIC8F2550 thì thấy rằng chân INT0 ưu tiên mức cao, còn tiếp theo là INT1, INT2, tuy nhiên bạn có thể làm khác tùy vào ứng dụng mà bạn chọn bit cho phép nào ưu tiên ! Thông tin chi tiết thì bạn nên xem hướng dẫn của Datasheet vì tùy vào loại PIC nữa !
|
![]() |
![]() |
![]() |
|
|