PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   Delay = Timer1 16f877a? (http://www.picvietnam.com/forum/showthread.php?t=4147)

lungtung 20-05-2009 05:45 PM

Delay = Timer1 16f877a?
 
Tôi đang tự học Pic tại nhà (trước nay chỉ dùng 8051).
Đến đoạn TImer thì bị đứng lại.
Bác nào viết giúp dùm tôi một chương trình con delay = timer1 khoảng 0,5 giây (viết = asm)
Và tiện thể giải thích dùm chức năng các lệnh trong chương trình luôn nhé.
Cám ơn rất nhiều!

falleaf 20-05-2009 06:31 PM

http://www.picvietnam.com/forum/showthread.php?t=5

Xem bài này.

chúc vui.

lungtung 20-05-2009 06:50 PM

Đọc rồi mà không thấy đoạn nào nói đến timer1 hết.
Chỉ thấy delay bằng lệnh không hà rồi sau đó thì tới ngắt.
Mình không muốn dùng ngắt.
VD: ở 8051 khi cho phép timer 1 chạy thì setb tr1
Khi timer1 tràn thì chỉ cần xét tf1 là ok.
Còn Pic thì sao?

phandinh 20-05-2009 10:22 PM

Trích:

Nguyên văn bởi lungtung (Post 25886)
Đọc rồi mà không thấy đoạn nào nói đến timer1 hết.
Chỉ thấy delay bằng lệnh không hà rồi sau đó thì tới ngắt.
Mình không muốn dùng ngắt.
VD: ở 8051 khi cho phép timer 1 chạy thì setb tr1
Khi timer1 tràn thì chỉ cần xét tf1 là ok.
Còn Pic thì sao?

Timer1 :
. TMR1ON = 1 ( bit thu 0 trong t.ghi T1CON ) // cho phep timer 1 chay
. TMR1IF = 1 ( bit thu 0 trong t.ghi PIR1 ) // co bao tran timer1

lungtung 20-05-2009 10:59 PM

Tôi đã làm được rồi, nhưng còn chưa biết trong mplap có hỗ trợ việc biên dịch sau không:
mov th1,#high(-50000)
ở 8051 thì như vậy. Còn ở Pic phải tự đổi số chu kỳ sang bù 2 rồi nạp vào các thanh ghi hay sao? Có cách nào nhanh hơn không?

lungtung 20-05-2009 11:00 PM

Còn ở kỹ thuật tra bảng, nếu các phần tử trong bảng lớn hơn 255 thì dùng cách nào?

phandinh 21-05-2009 12:16 AM

Trích:

Nguyên văn bởi lungtung (Post 25895)
Còn ở kỹ thuật tra bảng, nếu các phần tử trong bảng lớn hơn 255 thì dùng cách nào?

ở PIC không có chức năng như 8051 (mov th1,#high(-50000) ).
Tôi không hiểu ý bạn : Vị trí phần tử > 255 hay giá trị phần tử > 255.

lungtung 21-05-2009 10:14 AM

Là vị trí phần tử đó bạn. Ví dụ tôi muốn làm mạch quang báo dịch dòng chữ dài thì tất nhiên có nhiều phần tử trong bảng rồi.
Cám ơn nhiêu!

lungtung 21-05-2009 10:19 AM

À! Các bác cho hỏi có con Pic nào có Ram nội lên đến vài Kbyte không?

namqn 21-05-2009 09:59 PM

Trích:

Nguyên văn bởi lungtung (Post 25914)
À! Các bác cho hỏi có con Pic nào có Ram nội lên đến vài Kbyte không?

Chỉ xét riêng PIC 8-bit, các PIC18F với dung lượng flash khoảng 24 kword sẽ có RAM khoảng hơn 3 kB.

Thân,

lungtung 22-05-2009 09:14 AM

Còn vấn đề tra bảng thì sao?

phandinh 22-05-2009 02:06 PM

Một bảng chi cho phép tối đa 255 phần tử.
Do đó bạn phải dùng 2 bảng hoặc hơn.


Múi giờ GMT. Hiện tại là 07:27 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam