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

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 12-01-2012, 01:45 AM   #1
ngdnhanbk
Đệ 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); 
}
}
Mình chưa viết phần tắt dần, nhờ mấy bạn viết giúp
Ai có ý kiến gì hay thì bổ sung giúp nhé
__________________
Email:nguyennhan612@gmail.com
ngdnhanbk vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


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à 10:05 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