![]() |
|
Tài trợ cho PIC Vietnam |
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 ... |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#1 |
Đệ tử 2 túi
Tham gia ngày: Jan 2009
Bài gửi: 29
: |
![]() 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 !!!!!!!!!
|
![]() |
![]() |
![]() |
#2 | |
Trưởng lão PIC bang
|
Trích:
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 |
|
![]() |
![]() |
![]() |
#3 |
Đệ 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 ?
|
![]() |
![]() |
![]() |
#4 | |
Trưởng lão PIC bang
|
Trích:
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 |
|
![]() |
![]() |
![]() |
#5 |
Đệ 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 !
|
![]() |
![]() |
![]() |
#6 | |
Trưởng lão PIC bang
|
Trích:
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 |
|
![]() |
![]() |
![]() |
#7 |
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() { } |
![]() |
![]() |
![]() |
|
|