PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 01-12-2014, 11:13 AM   #1
nhanh0112
Đệ tử 4 túi
 
Tham gia ngày: May 2007
Bài gửi: 81
:
Thắc mắc về xung clock ngoài của TIMER1

Trong hầu hết các PIC, timer1 đều có 2 mode chọn nguồn xung clock (bit 1). Trong đó mode chọn xung nội (internal) thì cũng như các timer khác rồi. Còn mode chọn nguồn xung ngoài (external) thì có 2 chế độ nhỏ:
0 = Synchronize external clock input
1 = Do not synchronize external clock input
Qua đọc và hiểu nôm na là đồng bộ/ bất đồng bộ với nguồn xung clock ngoài. Nhưng đồng bộ/ bất đồng bộ với cái gì và như thế nào thì... không hiểu.

Bác nào đã nghiên cứu hay làm và rõ về tính năng này có thể giải thích giúp rõ hơn được không. Cảm ơn các bác trước!
nhanh0112 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-12-2014, 10:50 PM   #2
berom
Nhập môn đệ tử
 
Tham gia ngày: Nov 2014
Bài gửi: 1
:
timer cũng đang rối đây có ai giúp đỡ không

co ai cứu vớik hông?
đang cần băm xung như thến nayf mà chưa làm ra
ai có cao kiếng giúp với
đang định dùng 2 bộ timer mà chưa thành công
timer0 ngắt sau 500ms
vào ngắt sẽ set timer1 băm xung nhỏ ra
khi timer0 ngắt tiếp sẽ set timer1=0 ai có cao kiến gì giúp với đang gấp
Hình Kèm Theo
File Type: png bam xung.png (24.7 KB, 2 lần tải)
berom vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-12-2014, 10:23 AM   #3
nhanh0112
Đệ tử 4 túi
 
Tham gia ngày: May 2007
Bài gửi: 81
:
Đầu bài của bạn ko rõ ràng, nếu như bạn nói thì 2 timer sử dụng clock nội rồi. Cấu hình timer0 với chu kỳ ngắt 500ms. Cấu hình timer1 với chu kỳ ngắt nhỏ hơn. viết đại loại sẽ là (CCS):
Code:
#INT_TIMER0
void isr0()
{
static int1 togle;
if(toggle)
  {
  toggle=0;
  disable_interrupt(INT_TIMER1)
  //read timer1
  }
else
  {
  togle=1;
  enasable_interrupt(INT_TIMER1)
  set_timer1(0);
  }
}
#INT_TIMER1
void isr1()
{
output_toggle(PIN_X);
}
Trường hợp bạn muốn dùng clock ngoài cho timer 1 thì cấu hình lại cho timer1 là đc.
nhanh0112 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 14-12-2014, 05:28 PM   #4
minhsmile
Nhập môn đệ tử
 
Tham gia ngày: Mar 2011
Bài gửi: 2
:
Các bác cho em hỏi chút. Em dùng timer0 của pic 16f676 tạo xung 125khz tại chân C0 mà chưa được. không biết em tính toán có sai gì không. Mong các bác giúp em với. Đây là code của em:

#include <16F676.h>
#device adc=8
#FUSES NOWDT //No Watch Dog Timer
#FUSES HS //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOBROWNOUT //No brownout reset
#FUSES MCLR //Master Clear pin enabled
#FUSES NOCPD //No EE protection
#FUSES PUT //Power Up Timer
#FUSES BANDGAP_HIGH
#FUSES RESERVED //Used to set the reserved FUSE bits
#use delay(clock=20000000)

#int_TIMER0
void TIMER0_isr(void)
{
output_toggle(PIN_C0);
setup_timer_0(236);

}

void main()
{
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
enable_interrupts(INT_TIMER0);
enable_interrupts(GLOBAL);
setup_timer_0(236);
set_tris_c(0x00);

while(true){

}

}
minhsmile vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-12-2014, 05:18 PM   #5
nhanh0112
Đệ tử 4 túi
 
Tham gia ngày: May 2007
Bài gửi: 81
:
Trích:
Nguyên văn bởi minhsmile View Post
Các bác cho em hỏi chút. Em dùng timer0 của pic 16f676 tạo xung 125khz tại chân C0 mà chưa được. không biết em tính toán có sai gì không. Mong các bác giúp em với.
Bạn không thể dùng ngắt của timer để tạo xung tần số cao được, mà phải dùng pwm cứng của chip để tạo. Bạn tham khảo luồng sau.
http://www.picvietnam.com/forum/showthread.php?t=4015
nhanh0112 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


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


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam