PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > PIC - Thiết kế và Ứng dụng

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

PIC - Thiết kế và Ứng dụng Ý tưởng cho các sản phẩm sử dụng PIC/dsPIC và các sản phẩm của Microchip

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 18-10-2009, 09:12 PM   #1
zonnamtao
Đệ tử 1 túi
 
Tham gia ngày: Aug 2009
Bài gửi: 16
:
Điều chỉnh độ sáng LED

Em đang làm đề tài điều chỉnh độ sáng đèn led bằng PWM thông qua cảm biến quang đưa tín hiệu vào kênh AN0. Mong các bác góp ý dùm.

[code]

#include <16F877a.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#device 16F877a*=16 ADC=8
#include <def_877A.h>
#use delay(clock=4000000)
#include <def_877a.h>
int8 mode=0,somode;
int8 value,aa;
int8 duty;
int8 const a[11] = {192,249,164, 176,153,146,130,248,128,144,136};

#INT_EXT //khai bao ngat ngoai
EXT_ISR()
{//KHAI BAO NGAT
mode++;
if (mode==11) mode = 0;
}
// End of INT
void pro1();



void main() {

set_tris_b(0x01);
set_tris_d(0x00);
set_tris_c(0x00);

setup_port_a(ALL_ANALOG);//Đọc giá trị ánh sáng môi trường từ //cảm biến quang trở
setup_adc(adc_clock_internal);

set_adc_channel( 0 );
setup_ccp1(CCP_PWM);
setup_timer_2(T2_DIV_BY_4, 249, 4);

enable_interrupts(int_EXT);//ngắt ngoài dùng để đặt mức sáng
ext_int_edge(L_TO_H); //
enable_interrupts(GLOBAL);
portd=192;set_pwm1_duty(0);
while(1)
{
switch(mode)
{
CASE 0: portd=a[mode];set_pwm1_duty(0);BREAK;
default: pro1() ; break;
}
}
}
void pro1()
{

portd=a[mode];
value=(float)read_adc();
delay_us(10);
somode=(mode*25.5);//22.5=0.5V*255/5V // 5V/0.5V=10 muc
if (value<somode)
{

duty=(somode-value);
set_pwm1_duty(duty);

}
else set_pwm1_duty(0);
}

thay đổi nội dung bởi: zonnamtao, 19-10-2009 lúc 02:08 AM.
zonnamtao 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à 05:23 AM.


Đượ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