PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > MPASM

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

MPASM Lập trình bằng hợp ngữ là một việc làm vô cùng vất vả, tuy nhiên, để hiểu và làm việc với vi điều khiển, hợp ngữ trở thành một công cụ khá đắc lực ...

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 23-10-2009, 01:58 AM   #1
phamngocthanh87
Đệ tử 2 túi
 
Tham gia ngày: Jan 2009
Bài gửi: 29
:
Post hỏi về cách sử dụng nhiều ngắt một lúc !!!

em viết bằng assem giờ đang gặp vấn đề đó là bây giờ em muốn sử dụng hai ngắt giả sử ngắt timer1 và ngắt truyền thông . Các bác cho em hỏi cách viết hai chương trình ngắt đó như thế nào ?mong nhận được sự giúp đỡ của các bác !!!!!!!!!
phamngocthanh87 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-10-2009, 09:20 AM   #2
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi phamngocthanh87 View Post
em viết bằng assem giờ đang gặp vấn đề đó là bây giờ em muốn sử dụng hai ngắt giả sử ngắt timer1 và ngắt truyền thông . Các bác cho em hỏi cách viết hai chương trình ngắt đó như thế nào ?mong nhận được sự giúp đỡ của các bác !!!!!!!!!
Bạn cho biết PIC cụ thể đang được dùng, vì có nhiều khác biệt về mức độ hỗ trợ ngắt ở các dòng PIC khác nhau (mid-range, high-performance, PIC24, PIC32).

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-10-2009, 09:52 AM   #3
phamngocthanh87
Đệ tử 2 túi
 
Tham gia ngày: Jan 2009
Bài gửi: 29
:
vâng em quên mất ! em dùng con pic6f877a. mong bác chỉ giúp !em chưa biết cách viết một chương trình có nhiều ngắt thì viết thế nào ?
phamngocthanh87 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-10-2009, 10:22 AM   #4
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi phamngocthanh87 View Post
vâng em quên mất ! em dùng con pic6f877a. mong bác chỉ giúp !em chưa biết cách viết một chương trình có nhiều ngắt thì viết thế nào ?
PIC16F877A chỉ có 1 vectơ ngắt, do đó mọi ngắt đều được xử lý trong chương trình phục vụ ngắt của vectơ này. Bạn sẽ quyết định ngắt nào được xem xét trước, và các ngắt sẽ được xử lý theo sự bố trí của bạn.

Giả sử bạn muốn dùng ngắt Timer 1 và ngắt của module UART, bạn có thể lần lượt xét cờ ngắt Timer 1 và xử lý nếu có ngắt Timer 1, và xét cờ ngắt UART và xử lý nếu có ngắt UART. Với cách làm này, hai ngắt không có ràng buộc với nhau, nhưng cần chú ý để việc xử lý ngắt Timer 1 không làm trì hoãn việc xem xét ngắt UART quá mức.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-10-2009, 11:20 PM   #5
phamngocthanh87
Đệ tử 2 túi
 
Tham gia ngày: Jan 2009
Bài gửi: 29
:
cảm ơn bác !em thử nói theo ý hiểu của em như thế này bác xem có đúng không nha ? Con pic 16f877a chỉ có 1 vector ngắt tức là mình sẽ chỉ viết 1 chương trình ngắt(ý em là viết sau đoạn org 0x0004 chẳng hạn ) trong đoạn đó sẽ có hai chương trình xử lý ngắt khác nhau ( giả sử ngắt timer1 và ngắt usart) do mình tự viết đoạn đầu của nó cần xét xem cờ ngắt ngắt nào được set thì sẽ nhảy vào đoạn chương trình tương ứng .như vậy là khi có bất kì ngắt nào nó sẽ nhảy về địa chỉ 0x0004 sau đó kiểm tra cờ ngắt(do mình tự viết) rồi nhảy vào đoạn chương trình ngắt tưng ứng .mong bác chỉ giúp !
phamngocthanh87 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 24-10-2009, 10:54 PM   #6
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi phamngocthanh87 View Post
cảm ơn bác !em thử nói theo ý hiểu của em như thế này bác xem có đúng không nha ? Con pic 16f877a chỉ có 1 vector ngắt tức là mình sẽ chỉ viết 1 chương trình ngắt(ý em là viết sau đoạn org 0x0004 chẳng hạn ) trong đoạn đó sẽ có hai chương trình xử lý ngắt khác nhau ( giả sử ngắt timer1 và ngắt usart) do mình tự viết đoạn đầu của nó cần xét xem cờ ngắt ngắt nào được set thì sẽ nhảy vào đoạn chương trình tương ứng .như vậy là khi có bất kì ngắt nào nó sẽ nhảy về địa chỉ 0x0004 sau đó kiểm tra cờ ngắt(do mình tự viết) rồi nhảy vào đoạn chương trình ngắt tưng ứng .mong bác chỉ giúp !
Bạn hiểu đúng rồi đó.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 20-01-2011, 08:05 PM   #7
opto
Nhập môn đệ tử
 
Tham gia ngày: Oct 2010
Bài gửi: 7
:
còn trong ccs mình viết thế nao nhỉ! minh viết vầy không biết đúng không:
#INT_EXT
EXT_ISR()
{


}
#time0_EXT
time0_ISR()
{


}
opto 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à 01:06 AM.


Đượ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