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)
-   -   Lại hỏi về bộ dao động nội trong PIC (http://www.picvietnam.com/forum/showthread.php?t=4136)

phandinh 18-05-2009 02:22 AM

Lại hỏi về bộ dao động nội trong PIC
 
Thưa các bác, Em tự học PIC vài tháng nay, đã đạt được 1 số kết quả để khích lệ bản thân.
Do khả năng Anh Văn còn hạn chế nên việc đọc datasheet khá khó khăn.
Em có thắc mắc này từ lâu, đã tìm hiểu, nhưng chưa được sự thuyết phục rõ rệt.

Đó là Bộ Dao Động Nội ( internal oscillator ) trong PIC.
Các bác, các bạn xin chỉ bảo giúp em:

1. Bộ Dao Động Nội ( internal oscillator ) trong Data sheet 16F87X ở trang nào.

2. Các thanh ghi nào liên quan trực tiếp đến việc thiết lập Bộ Dao Động Nội ( internal oscillator ).

3. internal A/D module RC oscillator mục 11.2 trang 115 Data sheet 16F87X
và internal oscillator khác nhau như thế nào.

Nói tóm lại em đang mù mờ về vụ này, mong mọi người
chỉ bảo cho za nhẽ.
Thanks !

namqn 18-05-2009 09:07 AM

Trích:

Nguyên văn bởi phandinh (Post 25819)
Thưa các bác, Em tự học PIC vài tháng nay, đã đạt được 1 số kết quả để khích lệ bản thân.
Do khả năng Anh Văn còn hạn chế nên việc đọc datasheet khá khó khăn.
Em có thắc mắc này từ lâu, đã tìm hiểu, nhưng chưa được sự thuyết phục rõ rệt.

Đó là Bộ Dao Động Nội ( internal oscillator ) trong PIC.
Các bác, các bạn xin chỉ bảo giúp em:

1. Bộ Dao Động Nội ( internal oscillator ) trong Data sheet 16F87X ở trang nào.

2. Các thanh ghi nào liên quan trực tiếp đến việc thiết lập Bộ Dao Động Nội ( internal oscillator ).

3. internal A/D module RC oscillator mục 11.2 trang 115 Data sheet 16F87X
và internal oscillator khác nhau như thế nào.

Nói tóm lại em đang mù mờ về vụ này, mong mọi người
chỉ bảo cho za nhẽ.
Thanks !

1. Bộ dao động nội không có trong PIC16F87x, do đó bạn sẽ không tìm thấy phần mô tả về nó trong datasheet của chip.

2. Thông thường, bạn thiết lập sử dụng bộ dao động nội thông qua việc cấu hình chip, và điều chỉnh hoạt động của bộ dao động nội thông qua thanh ghi OSCCON.

3. Internal A/D module RC oscillator là một mạch dao động RC chỉ dùng để cấp xung clock cho module A/D, còn internal oscillator cũng là một mạch dao động RC dùng để cấp xung clock cho hệ thống (lõi xử lý của PIC cũng như đa số các module ngoại vi). Ngoài ra, WDT (nếu có) cũng sẽ sử dụng một mạch dao động RC khác, độc lập hoàn toàn với các mạch đã nêu trên.

Thân,

the_duyet 18-05-2009 10:04 AM

1 Attachment(s)
Tiện đây anh namqn cho e hỏi. E mới học Pic được 2 tuần và tự học nên không có nhiều kinh nghiệm. E lắp mạch dao cho PIC như hình vẽ mà đèn LED cứ chạy loạn hết cả lên.Đổ chương trình nào vào cũng thế(Trước e có chạy chương trình test thì đôi lúc lại được). E ko nghĩ là do lỗi code.Chạy trong Proteus rất đẹp.Có khả năng ở dao động thạch anh ko? e dùng winpic800 và PG2C để nạp. verify ok.
đây là đoạn code của e.

#include <16F877A.h>
#fuses NOWDT,PUT,HS,NOPROTECT
#use delay(clock=20000000)
#use fast_io(b)
#use fast_io(d)
#byte portb=0x06
#byte portd=0x08
int16 b;
#INT_EXT
void ngat_rb0()
{
b++;
}
int16 a;
int8 nghin, tram, chuc, dvi;

void hex_bcd()
{
nghin=a/1000;
a=a%1000;
tram=a/100;
a=a%100;
chuc=a/10;
dvi=a%10;
}
void hienthi()
{

output_d(dvi|0xE0);
delay_ms(2);
output_d(chuc|0xD0);
delay_ms(2);
output_d(tram|0xB0);
delay_ms(2);
output_d(nghin|0x70);
delay_ms(2);
}

void main()
{
set_tris_b(0b0000001);
set_tris_d(0x00);
enable_interrupts(global);
enable_interrupts(int_ext);
ext_int_edge(H_to_L);

while(1)
{

a=b;
if(a==10000)
{
a=0;
}
hex_bcd();
hienthi();
}

}

E chưa biết làm code ở trong khung.a hướng dẫn e được ko.

phandinh 18-05-2009 01:33 PM

Như vậy là 16F877A khi mình sử dụng 16F877A thì phải dùng dao động ngoài phải không bác ?
Nhân tiện nhờ bác Bác liệt kê số loại PIC thông dụng có / không có bộ dao động nội.
Thanks


Múi giờ GMT. Hiện tại là 06:33 PM.

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