View Single Post
Old 15-08-2012, 02:40 PM   #20
dcn_dt
Đệ tử 1 túi
 
Tham gia ngày: Oct 2009
Bài gửi: 12
:
Timer1 PIC8F

Có ai giúp em cái này với. Em dùng ngắt timer1 để thử tạo 1 xung trên chân bất kì của PIC8F26K22 để kiểm tra độ chính xác nhưng ko rõ lỗi ở đâu nữa.
Thạch anh:16MHz
Code của em đây ah
Code:
#bit Pulse=getenv("SFR:PORTB").0

#INT_TIMER1
void Timer1_Isr(void)
{
set_timer1(65410);//Tràn sau 125 chu kỳ timer
Pulse ^=1;//Đảo trạng thái chân PORTB.0
}

void main(void)
{
setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);
set_timer1(65410);
enable_interrupts(INT_TIMER1);
enable_interrupts(global);

while(true);
}
Theo như tính toán của em thì nó phải ra cái xung 2KHz, nhưng mạch thật đo bằng đồng hồ đo tần số là:1.888KHz, mô phỏng ISIS là 1.901KHz
Có ai chỉ ra chỗ thiếu sót giúp em với. Thank
dcn_dt vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn