30-01-2013, 05:49 PM | #1 |
Đệ tử 3 túi
Tham gia ngày: Sep 2010
Bài gửi: 55
: |
Ai rành timer giải đáp giùm mình vấn đề này?
Code:
#include <16f88.h> #fuses intrc,nomclr,nowdt #use delay(clock=4000000) #bit dout = 5.0 int a,i=0; #int_timer0 void pwm() { set_timer0(245); if(i<a) {R=0;} else R=1; i++; if(i==100) i=0; } void main() { set_tris_a(0); enable_interrupts(global); enable_interrupts(int_timer0); setup_timer_0(RTCC_INTERNAL | RTCC_DIV_2); set_timer0(245); while(1) { a=10; delay_ms(2000); a=100; delay_ms(2000); }
__________________
heart.touching.2010@gmail.com! |
30-01-2013, 07:03 PM | #2 |
Đệ tử 7 túi
Tham gia ngày: Jul 2010
Nơi Cư Ngụ: TP HCM
Bài gửi: 190
: |
Cái code của bạn hình như có vấn đề...
Bạn nên dùng các "sọt" PWM trên diễn đàn!. Đối với dao động nội, dễ bị sai số, không đúng,.. Trong CCS thêm lệnh: setup_oscillator(OSC_4MHZ); Đối với PWM PIC6F88 thì dùng Timer 2, dùng pin CCP1. Dùng chân khác và timer0...chạy không đúng là "có lý"!.. |
30-01-2013, 08:46 PM | #3 | |
Đệ tử 3 túi
Tham gia ngày: Apr 2010
Bài gửi: 58
: |
Trích:
__________________
Mừng năm mới, khuyến mãi đặc biệt giảm giá 20% tất cả các kit từ ngày 01/01/2013 đến ngày 30/03/2013 -> số lượng có hạn nhé. DT: 0983.548.514. www.picdevelopmenttool.webs.com www.smart-house.webs.com www.robot3t.com |
|
31-01-2013, 10:32 AM | #4 | |
Đệ tử 3 túi
Tham gia ngày: Sep 2010
Bài gửi: 55
: |
Trích:
__________________
heart.touching.2010@gmail.com! |
|
31-01-2013, 02:44 PM | #5 | |
Đệ tử 3 túi
Tham gia ngày: Sep 2010
Bài gửi: 55
: |
Trích:
__________________
heart.touching.2010@gmail.com! |
|
|
|