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)
-   -   Pic16f877a TỪ DỄ TỚi KhÓ (http://www.picvietnam.com/forum/showthread.php?t=238)

david 05-08-2007 12:17 AM

Không cần đâu bác Nam ah,em làm cách này với 1 Port chạy vẫn đúng.Nhưng mà thôi,em ngán thằng Proteus lắm rồi,lần này quyết làm xong cái mạch nạp rồi viết gì thì viết
Cảm ơn bác đã quan tâm.Mà sao dạo này chỉ thầy mình bác reply vậy?Picvietnam nhiều cao thủ lắm mà.

Jerry 25-08-2007 10:03 AM

Trích:

Nguyên văn bởi hieulongan039 (Post 8483)
cho minh hỏi tí, khi mình sử dụng các lệnh CALL hoặc GOTO mà nó vượt quá bank thanh ghi mình đang làm việc thì mình xử lí thế nào. còn nữa cho mình hòi thêm trong thanh ghi status co bit IRP và 2 bit RP1: RP2 để chon bank thank ghi, bit IRP = 1, chọn bank 2,3; =0 chọn bank 0,1, vậy nếu mình chi sử dụng IRP ko để chọn 1 lượt 2 bank thì co phải tiện hơn ko, lúc đó đỡ mất công chọn mỗi lần 1 bank khi sử dụng RP1, RP0 (ko bit đúng ko?). Mình đã đọc ở diển đàn rùi về call và goto và đọc trong datasheet nữa nhung chưa hiểu mình nhờ các cao thủ PIC chỉ giúp.
thanks

Bạn phải hỏi là "Khi sử dụng các lệnh CALL và GOTO mà nó vượt quá page mà mình đang làm việc thì phải xử lý thế nào" mới đúng.

Mình trả lời luôn: Bạn dùng lệnh LCALL và LGOTO. Tuy nhiên sau khi gọi như vậy, đến khi return thì nó sẽ quay về không đúng vị trí đã gọi nó. Vì vậy sẽ phải làm như sau:

[code
lcall {Label1} ; gọi đến nhãn Label 1 đặt ở page khác (page nào cũng được)
pagesel $ ; trở về đúng page đang làm việc

lgoto {label2} ; vì là goto nên không cần pagesel nữa

Jerry 25-08-2007 10:03 AM

Trích:

Nguyên văn bởi hieulongan039 (Post 8483)
cho minh hỏi tí, khi mình sử dụng các lệnh CALL hoặc GOTO mà nó vượt quá bank thanh ghi mình đang làm việc thì mình xử lí thế nào. còn nữa cho mình hòi thêm trong thanh ghi status co bit IRP và 2 bit RP1: RP2 để chon bank thank ghi, bit IRP = 1, chọn bank 2,3; =0 chọn bank 0,1, vậy nếu mình chi sử dụng IRP ko để chọn 1 lượt 2 bank thì co phải tiện hơn ko, lúc đó đỡ mất công chọn mỗi lần 1 bank khi sử dụng RP1, RP0 (ko bit đúng ko?). Mình đã đọc ở diển đàn rùi về call và goto và đọc trong datasheet nữa nhung chưa hiểu mình nhờ các cao thủ PIC chỉ giúp.
thanks

Bạn phải hỏi là "Khi sử dụng các lệnh CALL và GOTO mà nó vượt quá page mà mình đang làm việc thì phải xử lý thế nào" mới đúng.

Mình trả lời luôn: Bạn dùng lệnh LCALL và LGOTO. Tuy nhiên sau khi gọi như vậy, đến khi return thì nó sẽ quay về không đúng vị trí đã gọi nó. Vì vậy sẽ phải làm như sau:

Code:

lcall {Label1}          ; gọi đến nhãn Label 1 đặt ở page khác (page nào cũng được)
pagesel $              ; trở về đúng page đang làm việc

lgoto    {label2}      ; vì là goto nên không cần pagesel nữa

Ý thứ 2 bạn hỏi về bit IRP, mình xin trả lời: bit IRP sử dụng để chọn bank 0,1 hoặc bank 2,3. Tuy nhiên chỉ khi sử dụng nó trong chế độ địa chỉ gián tiếp (thao tác với thanh ghi FSR và INDF) thì mới truy xuất được hết các byte RAM trong cả 2 bank. Còn nếu sử dụng chế độ địa chỉ trực tiếp thì vẫn phải dùng 2 bit RP0,, RP1 để truy xuất các byte RAM trong từng bank.

vinhteo 02-09-2007 09:14 PM

cam on bac NTC vi su phat trien dien tu cua nuoc nha

nguyenvo 26-09-2007 09:51 PM

chao cac ban!
cho minh xin hoi minh dung pic16f877a nay de lam mot vi mach tuong tu nhu pld(programnable logic devices) duoc khong co ban nao dang nghien cuu ve nay cho minh xin chi giao.thank

wicamb 03-10-2007 07:07 PM

PWM đâu rùi?
 
chào mọi người ,có ai thấy bài viết hay có bài viết nào về PIC để điều chế độ rộng xung trong luồng này không nhỉ ?chỉ cho tớ với. Sao lâu rùi không thấy bác Chính post bài mới gì cả?

vandungevn 04-10-2007 12:40 PM

Xin hỏi ai có tài liệu MPLAB mcc18 send cho tui với, thank you. Đang cần, học chay hơi khó.... hiccccc

namqn 04-10-2007 05:32 PM

Trích:

Nguyên văn bởi vandungevn (Post 11795)
Xin hỏi ai có tài liệu MPLAB mcc18 send cho tui với, thank you. Đang cần, học chay hơi khó.... hiccccc

Các tài liệu của MCC18 nằm trong thư mục con 'docs' của thư mục cài đặt MCC18.

Thân,

vandungevn 05-10-2007 08:55 AM

Ngoài tài liệu đó bác còn có tài liệu khác nữa không vậy, bằng Tiếng Việt càng tốt, có cả các ví dụ minh họa nữa, càng nhiều càng tốt, thanks you bác.

namqn 05-10-2007 04:55 PM

Trích:

Nguyên văn bởi vandungevn (Post 11813)
Ngoài tài liệu đó bác còn có tài liệu khác nữa không vậy, bằng Tiếng Việt càng tốt, có cả các ví dụ minh họa nữa, càng nhiều càng tốt, thanks you bác.

Tôi chỉ dùng các tài liệu đó, và tham khảo từ diễn đàn của Microchip, từ piclist, hoặc từ mạng nói chung. Tôi không biết có tài liệu tiếng Việt nào cho C18.

Thân,

uydanh 12-10-2007 01:06 AM

Em mới học về pic, đang cần lĩnh hội nhanh để thực hiện đồ án điều khiển động cơ nên nhờ các anh trên diễn đàn hổ trợ.
Cho em hỏi, trong bộ timer của PIC, em thấy có bộ tiền định prescaler và bộ hậu định postscaler, em không hiểu nó là gì và chức năng là gì. Mong các anh chỉ dẫn.
Gửi anh nct : các tutorial mà anh post lên rất hay và dễ hiểu. Rất mong anh viết tiếp phần Timer và PWM .Xin cảm ơn anh.
Mọi người trên diễn đàn ,ai có tài liệu hay về Timer và PWM của 16F877A cho mình xin được không?

vandungevn 12-10-2007 05:34 PM

Bác có thể nói rõ một số điạ chỉ cụ thể về ví dụ MCC18, để em download về học = English cũng được> cảm ơn bác namqn nhiều.

vandungevn 12-10-2007 06:02 PM

Vào đây xem Prescale và Postscale nhé http://www.picvietnam.com/forum/show...?t=357&page=23

namqn 12-10-2007 06:18 PM

Trích:

Nguyên văn bởi vandungevn (Post 12039)
Bác có thể nói rõ một số điạ chỉ cụ thể về ví dụ MCC18, để em download về học = English cũng được> cảm ơn bác namqn nhiều.

Các tài liệu tôi đã nói ở trên. Forum cho C18 của Microchip ở link sau:

http://forum.microchip.com/tt.aspx?forumid=3

Thư mục con 'examples' của thư mục cài đặt C18 có một số ví dụ cơ bản. Thư mục con 'src' của thư mục cài đặt C18 có các tập tin nguồn cho tất cả các hàm thư viện của C18 (nếu bạn tìm không có thì có lẽ lúc cài đặt C18 bạn đã không chọn cài đặt bộ source này), từ chúng bạn có thể học được cách sử dụng các module ngoại vi (tôi học theo cách này).

Link sau dẫn đến thư viện các hàm C của piclist (source code viết cho HT-PIC hay PICC-Lite, nhưng có thể được thay đổi để biên dịch với C18):

http://www.piclist.com/techref/micro...ge/c/index.htm

Google với các từ khóa 'C18' và 'examples' cho thấy có vài liên kết đến các trang có các source code dành cho C18.

Thân,

KA52 19-10-2007 04:36 PM

a nam cho e hoi sao khi biên dịch cho 16F887 nó lại báo lổi "argument out of memory" chổ dòng __config của em:
Code:

__CONFIG          _CP_OFF        & _PWRTE_ON & _WDT_OFF &_XT_OSC &_BODEN_OFF
RE: a sửa lại giùm em


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