View Single Post
Old 17-03-2011, 10:42 PM   #1
stupid11
Đệ tử 6 túi
 
stupid11's Avatar
 
Tham gia ngày: Dec 2009
Nơi Cư Ngụ: TP.Hồ Chí Minh
Bài gửi: 133
:
Send a message via Yahoo to stupid11
Trích:
Nguyên văn bởi thienngoc View Post
em đang làm đề tài cảm biến nhiệt độ dùng pic 16f877a hiển thị lên 3 led 7 đoạn dùng ngôn ngữ C,jờ e muốn khi đến nhiệt độ 80*C thì chuông sẽ reo,nếu như vậy mình có cần sử dụng ngắt ko mấy anh và chương trình như thế nào?xin mấy anh giúp dùm,em cám ơn
cái này không cần sử dụng ngắt ADC làm gì cho nó phức tạp....nếu mưốn chuông reO thỉ dung PWM ý tưởng là như thế này:
.....
.
.
x=read_ADC();
x=x*2.049 //nếu ADC ở chế độ 10bit và sử dụng LM35 ,,nếu dùng loại khác thì tính toán lại//


if(x>=80)
{
y=120 ; //giá trị này để cài dặt tần số để chuông reo..thường thì vài kHz
xuatxung(); //đưa giá trị y=120 vào duty của PWM =>XUẤT XUNG
}
else
{
y=0;
xuatxung(); //đưa 0 vào duty =>tắt xung
}
.
.
.
.
void xuatxung()
{
setup_ccp1(CCP_PWM);
set_pwm1_duty(y); //đưa giá trị duty vào đây
set_timer_2(t2_div_by_4,255,1)
}

chắc bạn đã hiểu ý mình rối chứ.chúc bạn thành công.
stupid11 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn