PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Các ngôn ngữ lập trình khác (CCS C, HT PIC,...)

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 06-10-2011, 10:20 PM   #1
rocket42
Đệ tử 4 túi
 
rocket42's Avatar
 
Tham gia ngày: Jun 2010
Nơi Cư Ngụ: Tọa Thiên
Bài gửi: 72
:
Send a message via Yahoo to rocket42
Thumbs up Lập trình ngắt INT bằng MPLAB C18

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
File Kèm Theo
File Type: zip INTERRUPT_INT.zip (99.6 KB, 748 lần tải)
rocket42 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-10-2011, 11:27 PM   #2
pucapuca123
Đệ tử 5 túi
 
Tham gia ngày: Aug 2010
Bài gửi: 116
:
Trích:
Nguyên văn bởi rocket42 View Post
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
mình vẫn chưa thực sự hiểu lém về cách ngắt trong PIC18.nó có ngắt ưu tiên mức cao và thấp là sao?
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!
pucapuca123 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-10-2011, 05:21 PM   #3
rocket42
Đệ tử 4 túi
 
rocket42's Avatar
 
Tham gia ngày: Jun 2010
Nơi Cư Ngụ: Tọa Thiên
Bài gửi: 72
:
Send a message via Yahoo to rocket42
Arrow

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!!!
Hình Kèm Theo
File Type: bmp ngat.bmp (193.3 KB, 63 lần tải)

thay đổi nội dung bởi: rocket42, 07-10-2011 lúc 05:32 PM.
rocket42 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-10-2011, 12:36 PM   #4
tannhatrang
Đệ 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é
tannhatrang vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-10-2011, 04:34 PM   #5
rocket42
Đệ tử 4 túi
 
rocket42's Avatar
 
Tham gia ngày: Jun 2010
Nơi Cư Ngụ: Tọa Thiên
Bài gửi: 72
:
Send a message via Yahoo to rocket42
Thanks!
R cũng ko khoái mấy thằng tàu lắm. R sẽ gắng hết khả năng
rocket42 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 13-10-2011, 05:02 PM   #6
delta21
Đệ tử 5 túi
 
delta21's Avatar
 
Tham gia ngày: Mar 2010
Bài gửi: 95
:
Send a message via Yahoo to delta21
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......
delta21 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-10-2011, 09:08 AM   #7
rocket42
Đệ tử 4 túi
 
rocket42's Avatar
 
Tham gia ngày: Jun 2010
Nơi Cư Ngụ: Tọa Thiên
Bài gửi: 72
:
Send a message via Yahoo to rocket42
Đợ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
rocket42 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-10-2012, 12:36 AM   #8
thuytv03
Nhập môn đệ tử
 
Tham gia ngày: Sep 2012
Bài gửi: 1
:
Trích:
Nguyên văn bởi rocket42 View Post
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
các anh chị. trong 1 chương trình em muốn dùng cả 3 ngắt ngoài, chưa xét tới mức ưu tiên ngắt. e sẽ khai báo chương trình ngắt như thế nào ạ? Trước em code bằng ngôn ngữ ASM cho 8051 thì vs mỗi 1 ngắt có 1 vector ngắt tương ứng vs ngắt đó, chỉ cần viết ctrinh ngắt ở vị trí đó là được.
Em cảm ơn.
thuytv03 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 09-11-2013, 05:16 PM   #9
hieufbivn
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 !
hieufbivn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 11:49 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam