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

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 11-01-2007, 02:16 AM   #3
riquelme
Đệ tử 1 túi
 
Tham gia ngày: Jan 2007
Bài gửi: 23
:
Trích:
Nguyên văn bởi ngohaibac View Post
Hàm này không phải là dùng ngắt. Timer0 luôn tự chạy khi bắt đầu cho IC chạy. Trong mỗi vòng lặp, đặt lại giá trị đầu cho Timer0, rùi xoá cờ ngắt, chờ khi nào có cờ ngắt xảy ra (tức là khi Timer0 tràn , TMR0 đến từ 0xFF xuống 0x00 -> giống 8051).
Em hiểu ý bác là hàm ngắt chính là hàm xử lý ngắt(có từ khoá interrupt), ý của em lúc trước chỉ là nếu thanh ghi timer tràn (bit cờ được tự động set) thì gọi là ngắt thôi.
Trích:
Nguyên văn bởi ngohaibac View Post
Timer1, Timer2 được coi như thiết bị ngoại vi (modul ngoài) nên nếu muốn cho chạy thì phải set bit cho nó chạy. (xem trong datasheet).
Timer0 luôn tự chạy.
Đúng thật, lúc đọc em không kỹ, tuy nhiên, bác xem lại cho em cái, trong quyển reference manual(trang 177) thì nó vẫn phải set các bit enable cho Timer0 (T0IE) và GIE đấy thôi. Còn điều bác nói là nó không phải là môđun thì đúng thật, khổ cái, đến giờ em đọc datasheet mà vẫn không thấy, chỉ xem ví dụ mẫu thấy nó có set bit PEIE còn Timer0 thì không thấy(không hiểu bác suy luận hay là trong sách có nói), như vậy nói Timer0 luôn tự chạy không biết có đúng không?
Trích:
Nguyên văn bởi ngohaibac View Post
Sao bạn lại nghĩ là phải viết thế? Bạn hiểu gì về Delay ? Delay chính là khoảng thời gian lãng phí mà CPU chẳng làm gì cả, chỉ làm các việc linh tinh như chờ cờ ngắt set lên, chờ để tăng các biến như bạn.
Tại sao bạn biết hàm Delay của bạn trễ được bao nhiêu thời gian??
Em đọc ASM, thấy vẫn dùng hàm delay kiểu vậy mà, nó cứ đặt giá trị vào thanh ghi, giảm, rồi kiểm tra mấy cái cờ linh tinh, thì cũng giống như em giảm biến đây vậy thôi. Em hiểu đơn giản thì delay nghĩa là gây trễ, mà gây trễ thì trễ kiểu gì chẳng được. Như cách em làm ở trên cũng là 1 cách gây trễ, vậy nó là delay. Còn bác nói delay là khoảng thời gian lãng phí thì đúng, nhưng nếu viết trừ trừ linh tinh như em viết ở trên thì chắc chắn ALU (thuộc CPU) phải làm việc rồi. Đây là hàm em không viết cho tham số vào, chứ nếu cho tham số vào thì em nghĩ cố gắng tính toán ra thời gian gây trễ vẫn có thể tính được. Tất nhiên không chính xác, kiểu suy luận xem từng lệnh này thì tương đương mấy lệnh trong ASM, đại loại thế. Rồi từ đó ra 1 công thức 3 lăng nhăng nào đó. Nhưng em đang là newbie, với lại ứng dụng của em không cần tính thời gian chính xác làm gì (ứng dụng quái gì, chỉ là test chức năng)
Trích:
Nguyên văn bởi ngohaibac View Post
Bạn biết gì về ngắt? Mời bạn qua box "Cơ bản về vi điều khiển và ngắt" để xem về ngắt.
Dùng hay không dùng ngắt có liên quan gì đến việc can thiệp vào cờ ngắt? Trong main tự nhiên cho TOIF = 1; thì sao? Nó cũng là hàm ngắt à ?
Bác à, như đã nói ở trên, em không nói đây là hàm ngắt(hàm ngắt là hàm xử lý khi xảy ra ngắt-chả biết có đúng không nữa ), mà là hàm này có dung đến ngắt của Timer, nghĩa là mình đã phải dùng timer đó để tạo trễ. Em chỉ nghĩ mình phân biệt hàm ngắt dùng delay thông thường và delay dung ngắt Timer là ở chỗ không phải dùng timer và có phải dùng Timer không thôi
Trích:
Nguyên văn bởi ngohaibac View Post
Khi dùng hàm ngắt cho Timer0 thì không cần set bit PEIE vì Timer0 không được coi là ngoại vi. Chỉ cần set các cờ : GIE, TOIE.
Quên mất, cái này em nói ở trên rồi. Nhưng trong chương trình của bác em không thấy bác set các bit này.
riquelme vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


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

Similar Threads
Ðề tài Người gửi Chuyên mục Trả lời Bài mới
HTPIC - các chương trình cho PIC6F877A ngohaibac Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) 65 05-04-2014 01:10 AM
Giúp đỡ về HTPIC riquelme Cơ bản về vi điều khiển và PIC 0 11-01-2007 11:56 PM


Múi giờ GMT. Hiện tại là 05:14 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