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)

namqn 19-10-2007 08:25 PM

Trích:

Nguyên văn bởi KA52 (Post 12231)
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

PIC16F887 có 2 từ cấu hình, do đó directive trên phải sửa lại tương tự như sau:
Code:

        __CONFIG  _CONFIG1, _FCMEN_OFF & _XT_OSC & _CP_OFF & _WDT_OFF & _BOR_ON & _PWRTE_ON & _LVP_OFF & _DEBUG_OFF
Bạn cũng nên thiết lập từ cấu hình thứ hai, theo mẫu:
Code:

        __CONFIG  _CONFIG2, _WRT_OFF & _BOR21V
Thân,

nttnew 30-10-2007 01:11 PM

Hỏi đoạn delay
 
Tôi đã down cái tutorial của NTC và thấy khó hiểu ở đoạn delay sau:
movlw 20
movwf delay-reg
loop decfsz delay-reg,1
goto loop
...
Tại sao tổng số chu kỳ lệnh để thực hiện đoạn delay trên là: (20+1)3ti?
theo tôi tính thì chỉ có [(20-1)3+2+2 ]ti.
Tác giả còn nói là nếu nạp vào reg_delay già trị là N thì Tdelay=(N+1)3ti?
Tôi mới học pic nên còn non lắm.Mong các bác giúp thêm
thanks!

tiendungkct 07-11-2007 09:00 PM

em đang học pic hỗ trợ USB ,ai có thể khuyên em nên học con nào khộng ạ
cho em biết thông tin về mạch mạp luôn càng tốt
thanks

hmo 08-11-2007 09:05 AM

Tui là lính mới, vừa down tất cả các bài Tut của bác NTC, thank bác nhiều nhé ....

anchovy 21-11-2007 08:41 PM

Code:

;***********************************************
tram
movwf tam
clrf tg
tram_loop
movlw .100
incf tg,f
subwf tam,f
btfsc STATUS,C
goto tram_loop
decf tg,w
return
;*************************************************
chuc
movwf tam
clrf tg
chuc_loop
movlw .10
incf tg,f
subwf tam,f
btfsc STATUS,C
goto chuc_loop
decf tg,w
goto chuc1

chuc1
movwf tg
movlw .10
chuc1_loop
subwf tg,f
btfsc STATUS,C
goto chuc1_loop
addwf tg,w
return
;*************************************************
DONVID

MOVWF tg
DV
MOVLW .10
SUBWF tg,F
BTFSC STATUS,C
GOTO DV
MOVLW .10
ADDWF tg,W
RETURN
;************************************************* **

các kết quả nằm trong W
Mình mới hoc pic và đang làm đề tài đo nhiệt độ và đang bí chổ chuyển mã nhị phân 16bit sang mã bcd em có tham khảo cách chuyển đổi của bạn hanspkt nhưng không hiểu lệnh movlw .100 mong bạn giải thích giúp
Cảm ơn.

Jerry 22-11-2007 12:45 PM

movlw .100 = nạp giá trị 100 decimal vào thanh ghi w

mrknow 03-12-2007 10:06 AM

Trích:

Nguyên văn bởi ntc (Post 1156)
Bài tui viết xong rồi, nhưng dang chờ mấy tiền bối xét duyệt và điều chỉnh. Trong khi chờ đợi, tui sẽ đưa ra cái mục lục của các bài sắp được post lên. Trong quá trình viết bài có thể sẽ có vài điều chỉnh nhỏ, nhưng định hướng các bài viết sẽ là như vậy. Bài nào có điều chỉnh khác với mục lục tui sẽ đề cập cụ thể:

Bài 1 Điều khiển các port I/O
Bài 2 Chương trình delay
Bài 3 Một số ứng dụng xuất/nhập qua các port của vi điều khiển (bài này
khá dài nên có khả năng sẽ được chia ra thành nhiều bài nhỏ).
Bài 4 Điều khiển IC ghi dịch 74HC595
Bài 5 PIC16F877A và LED 7 đoạn (bài này cũng khó khả năng được chia ra)
Bài 6 Ngắt và cấu trúc của một chương trình ngắt dành cho vi điều khiển
PIC16F877A
Bài 7 Các Timer của vi điều khiển PIC16F877A
Bài 8 Timer và hoạt động định thời








Bài 9 Ứng dụng tổng hợp (coi như là một bài tập để ôn lại tất cả các bài
trước, tui cho rằng bài này sẽ khá thú vị, hehe)
Bài 10 Điều khiển LCD

Tạm thời là như vậy cái đã. Các bạn thấy cái mục lục như vậy đã đủ hấp dẫn chưa?? Hay phải thêm bớt cái gì nữa??

Chào bạn!
Tôi cũng đang rất quan tâm về Pic bạn có thể gởi cho mình xin tài liệu này được ko? Cảm ơn nhiều!
mail. buithanhluan@gmail.com

byte 04-12-2007 10:28 AM

anh ơi bài 4 đâu anh. E cũng đã mất bao nhiêu ngày với cái con 595 rồi. Cuối cùng vẫn chẳng biết sử dụng nó. Anh post lên cho anh em nhé. Thanhks

ntc 04-12-2007 11:18 AM

http://www.picvietnam.com/forum//sho...?t=238&page=10

Bài số #146

Mình hướng dẫn làm cái digital clock củ chuối, kaka.

Chúc vui.

background 29-02-2008 09:54 PM

Thanks! nhiều nha, tui đang rất cần ^^!

tinhgiac_vp 01-03-2008 10:26 AM

các tiền bối chỉ dùm với. Làm sao để cho MPLAB chạy từng lệnh và kết quả của lệnh đó. Em mò mãi mà không được.

nhong 06-03-2008 01:16 AM

Em làm bài tập pic đầu tiên với 16F877A bật tắt đèn led.

đầu tiên em cho nháy 1s một thì thấy nó nháy loạn cả lên rồi kết thúc bằng sáng trơ ra hoặc tắt ngóm(sau khoảng 4-5s) mà có lúc cả chân RB6 chân nó cũng sáng nữa(em chỉ cho nó nháy chân RB7 thôi) là sao?

sau đó em sửa cho nháy 2s một, nhưng khi nạp vào con pic rồi chạy thì thấy thằng led nó cứ sáng trơ ra chứ chẳng bật tắt gì cả là sao các bác.

với cả khi nạp cho pic mà cắm nhầm chiều vào mạch nạp thì có nguy hiểm không, rồi em cho verify trong winpic800 thì luôn bị lỗi(lúc program xong verify thì không sao cả), lại phải erase đi rồi program lại , như thế có hại ko. lỗi thế này
Error: verifying address0x000000 verified:0x3FFF Read:0x3000

cuối cùng: khi nạp mới 1 con thì phải erase hết đi rồi mới program lại hả các bác

em xin cám ơn.

code viết trong ccs như này(code trong luồng ccs for pic thôi, chỉ thay nháy 1s một thành nháy 2s một và chỉnh clock từ 10 thành 4mhz thôi)

Code:

#include<16F877A.h>
#fuses NOWDT,PUT,HS,NOPROTECT
#use delay(clock=4000000)
main()
{
while(true)
        {
        output_high(PIN_B7);
        delay_ms(2000);
        output_low(PIN_B7);
        delay_ms(2000);
        }
}

PS/ nút reset làm việc tốt ạ :D vì khi ấn reset thì nó trở về trạng thái đầu, tất nhiên là vẫn lỗi như trên^^

namqn 06-03-2008 05:11 AM

Trích:

Nguyên văn bởi tinhgiac_vp (Post 14582)
các tiền bối chỉ dùm với. Làm sao để cho MPLAB chạy từng lệnh và kết quả của lệnh đó. Em mò mãi mà không được.

Sau khi đã biên dịch thành công project, bạn vào mênu Debugger, chọn Select Tool, rồi chọn MPLAB SIM. Khi đó, phía bên phải của thanh công cụ của MPLAB IDE sẽ có các nút cho phép bạn thực hiện việc mô phỏng. Nếu bạn đã từng dùng chức năng debug trong một phần mềm mô phỏng nào đó thì có lẽ sẽ nhận ra ngay tác dụng của từng nút. Khi chạy từng lệnh (stepping) bạn có thể đi vào chương trình (Step Into), hay chỉ chạy chương trình con như 1 lệnh (Step Over).

Để xem kết quả của các lệnh đã chạy, bạn có thể đến mênu View, chọn lệnh Watch. Cửa sổ Watch với nhiều frame khác nhau cho phép bạn xem các thanh ghi SFR hay các symbol đã được định nghĩa trong chương trình đang được debug. Bạn chỉ cần chọn SFR hay symbol trong danh sách thả xuống và nhấn vào nút tương ứng (Add SFR hay Add Symbol).

Thân,

dinhthem 11-05-2008 07:03 PM

Trùi ui !! các bác up bài này mấy chục năm rồi mà bây giờ em bắt đầu đọc, lạc hậu quá
 
mong các bác chỉ bảo thêm nhe, mới đọc tiêu đề đã thấy hay rồi, cái mình cần học đây rùi, cám ơn bác nhe, trong quá trình học hỏi có điều chi thắc mắc mong các bác trả lời giúp, em có hỏi những câu ngớ ngẩn cũng đừng chê nhe, beginner mà. Thanks.
em đọc hết chương 3, đọc cũng hiểu và có thể viết cho nó chạy đc, mà vẫn chưa biết nãy giờ các anh viết bằng cái gì? ( ngôn ngữ gì, chương trình gì?) cho em xin luôn đc không?

chutieu_719 11-05-2008 08:20 PM

em cung dang tim hieu ve pic16f877.em rat can nhieu tai lieu ve pic hon xin mong cac tien boi giup gui cho it de hoc hoi vi moi hoc ma.cam on


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