![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#1 |
Nhập môn đệ tử
Tham gia ngày: Jun 2006
Bài gửi: 5
: |
![]() Các bác thân mến ! em mới tìm hiểu về PIC học viết bằng HT PIC có nhiều cái muốn hỏi lắm tuy nhiên trong mục PIC16F877A thì lại viết bằng ASEM em ko hiểu
em muốn hỏi về ngắt trong PIC như sau : Nếu như trong ứng dụng của mình muốn sủ dụng nhiều ngắt bằng timer trong khi con PIC trên chỉ có 3 timer 0,1,2 làm thế nào để sử dụng cho đáp ứng đủ cho ứng dụng của mình????????? Thuật toán bằng C nó thế nào mong các bác chỉ giúp! |
![]() |
![]() |
![]() |
#2 |
Nhập môn đệ tử
Tham gia ngày: Jun 2006
Bài gửi: 5
: |
thêm một vài câu hỏi nữa :
1_ muốn tính chính xác số chu ki lệnh của PIC thực hiện thì làm như nào mấy bác nhỉ?? để xác định đúng khoảng thời gian này thì mình mới có ngắt hoặc delay chẳng hạn 2_và nữa là việc sử dụng Watchdog khi nào ,đặc biệt là trong ngắt ??? em chưa rõ lắm cái vấn đề này |
![]() |
![]() |
![]() |
#3 |
Đệ tử 2 túi
Tham gia ngày: Sep 2005
Bài gửi: 32
: |
bạn đang muốn sử dụng multi tasking đây mà . Vào site : www.microchipc.com ( có thêm chữ c ) , tham khảo các viết multi tasking. Nghĩa là :chỉ dùng 1 timer , mỗi khi có ngắt , biến a tăng thêm 1 , nếu = max cho trước thì thực hiện tác vụ aa . Cũng tăng biến b .khi b=b+max thì thực hiện tác vụ bb . VD : mỗi 1 ms thực hiện aa, mỗi 10 ms thực hiện bb , cứ thế với các tác vụ cc , dd, . . .
|
![]() |
![]() |
![]() |
#4 |
Đệ tử 2 túi
Tham gia ngày: Jun 2006
Bài gửi: 28
: |
Cho em hoi nếu viết theo cách đó thì ngắt timer liên tục xảy ra tùy theo giá trị mình định , như vậy thì có ảnh hưởng mạnh đến chương trình chính của minh ko?có ảnh hương j đến thanh ghi pc hay stack nhiều ko và nếu goi quá nhiều chương trình con thì sẽ tràn stack vậy gọi khoảng bao nhiêu thì tốt nhất và có cách giải quyết nào khác ko!
Cám ơn!!! |
![]() |
![]() |
![]() |
#5 |
Trưởng lão PIC bang
|
Bạn có thể tự tính toán, hay nhờ vào phần mềm mô phỏng để xác định thời gian còn lại dành cho chương trình chính (sau khi đã xử lý ngắt) giữa những lần ngắt, có ảnh hưởng hay không thì tùy vào bạn viết chương trình có đủ tốt hay không.
Các dòng PIC khác nhau có các mức hỗ trợ ngăn xếp khác nhau, PIC10 không hỗ trợ ngắt, PIC16 hỗ trợ 8 mức ngăn xếp bằng phần cứng (trừ một số PIC16 có nhân 12-bit), PIC18 hỗ trợ 31 mức ngăn xếp bằng phần cứng, PIC24 và dsPIC hỗ trợ ngăn xếp bằng phần mềm (về nguyên tắc chỉ bị giới hạn bởi dung lượng RAM khả dụng của chip). Hy vọng đã trả lời các câu hỏi của bạn. 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 |
![]() |
![]() |
![]() |
#6 |
Đệ tử 2 túi
Tham gia ngày: Jun 2006
Bài gửi: 28
: |
Như anh nói dòng 16F thì phần cứng hỗ trợ khoảng 8 mức ngăn xếp có nghĩa là ta có thể goi chương trinh con lồng nhau cũng khoảng 8 cấp phải không anh???
|
![]() |
![]() |
![]() |
#7 | |
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 |
|
![]() |
![]() |
![]() |
#8 |
Đệ tử 2 túi
Tham gia ngày: Jun 2006
Bài gửi: 28
: |
Như vậy thì khi có ngắt thì các stack của mình cũng tăng lên giống như khi minh goi 1 chương trinh con vậy phải ko anh???Khi tràn stack thi pic sẽ bị reset sao???
thay đổi nội dung bởi: leduy173, 29-08-2006 lúc 12:40 AM. |
![]() |
![]() |
![]() |
#9 | |
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 |
|
![]() |
![]() |
![]() |
#10 |
Đệ tử 2 túi
Tham gia ngày: Jun 2006
Bài gửi: 28
: |
h thì em đã hiểu hơn rùi thanks anh namqn nhiều!!!
|
![]() |
![]() |
![]() |
#11 |
Đệ tử 2 túi
Tham gia ngày: Sep 2005
Bài gửi: 32
: |
Nếu dùng trình biên dịch CCS thì nó sẽ nhảy đến các hàm chủ yếu bằng lệnh GOTO , và do đó không tốn stack , trừ phi dùng những hàm như delay , . . thì có tốn . Nói chung nó có đưa ra dự báo mức stack tối đa , nên không phải lo có tràn hay không.Thông thường các hàm built in mà có thể dùng nhiều lần như hàm delay , nhân 32 , float, thì sẽ có tốn stack .
|
![]() |
![]() |
![]() |
#12 |
Nhập môn đệ tử
Tham gia ngày: Sep 2009
Bài gửi: 2
: |
trong hoc lap trinh ban k the hoi vay duoc ,phai chiu kho ma ngi.mot van de trong lap trinh thi k biet bao nhieu cach giai quyet,moi nguoi thi co y do khac nhau k ai giong ai. neu ban da nam chac cac lenh thi lam duoc hay k la do ban,ban bien doi ,sap xep cac cau lenh nhu the nao la do ban vi ban da hieu cac cau lenh roi ma.plc cung vay ban phai ngi roi xe ra thoi,dung nen hoi,chi khi nao k ro phan cung ngoai suc cua ban thi ban co the trao doi voi moi nguoi...ok.chuc ban thanh cong,ban nen viet assembler moi nang cao tu duy duoc,chi co he thong lon moi viet c thoi ok
|
![]() |
![]() |
![]() |
|
|
![]() |
||||
Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
Nhiễu Vi điều khiển khi ứng dụng vào thực tế | electronicltv | Cơ bản về vi điều khiển và PIC | 12 | 24-02-2012 09:50 PM |
Cảm biến nhiệt hay cảm biến lực | Quygia | Cảm biến | 6 | 29-10-2007 09:27 PM |
LCD nhiều số trong Proteus? | chipchipvn | Chương trình dịch & các công cụ mô phỏng | 16 | 07-12-2006 11:05 AM |
Đo nhiệt độ với MCP9700 | falleaf | PIC - Thiết kế và Ứng dụng | 2 | 22-09-2005 12:23 PM |