![]() |
|
Tài trợ cho PIC Vietnam |
||||||||
| 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 |
![]() |
|
|
Ðiều Chỉnh | Xếp Bài |
|
|
|
|
#1 |
|
Đệ tử 2 túi
Tham gia ngày: Nov 2010
Bài gửi: 38
: |
Led sáng dần
Mình viết hiệu ứng led sáng dần dùng chức năng PWM kết hợp timer0 và timer2 post lên cho mấy bạn tham khảo
Code:
#include <16F887.h>
#FUSES HS,NOWDT,NOPROTECT
#use delay(clock=4000000)
int16 value;
#INT_TIMER0
void ngattimer0()
{
int16 dem;
clear_interrupt(INT_TIMER0);
disable_interrupts(GLOBAL);
dem=dem+1;
if(dem==500)
{value=value+100;
if(value==1000)
{value=0;
}
dem=0;
}
set_timer0(0);
enable_interrupts(GLOBAL);
}
void main()
{
value=0;
output_high(PIN_C0);
output_low(PIN_C1); // Set CCP2 output low
output_low(PIN_C2); // Set CCP1 output low
setup_ccp1(CCP_PWM); // Configure CCP1 as a PWM
setup_ccp2(CCP_PWM); // Configure CCP2 as a PWM
setup_timer_2(T2_DIV_BY_4,255, 1); // 1kHz
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4);
set_timer0(0);
enable_interrupts(INT_TIMER0);
enable_interrupts(GLOBAL);
while(1)
{
set_pwm1_duty(value);
set_pwm2_duty(value);
}
}
Ai có ý kiến gì hay thì bổ sung giúp nhé
__________________
Email:nguyennhan612@gmail.com |
|
|
|
|
|
#2 | |
|
Đệ tử 5 túi
Tham gia ngày: Dec 2010
Bài gửi: 101
: |
Trích:
|
|
|
|
|
![]() |
|
|