PDA

View Full Version : Hỏi về điều xung và chống rung?


JackSanji
10-04-2012, 10:45 AM
Chào các anh!
có chút thắc mắc muốn hỏi các anh là:

1. Em đang làm bài tập lớn, có các khối hiển thị thời gian thực lên LCD, hiển thị nhiệt độ lên LED 7 đoạn và điều khiển động cơ, khi em chưa cho code phần điều khiển động cơ vào thì 2 khối kia của em vẫn chạy ngon lành, nhưng khi em cho đoạn code này vào thì khối hiển thị thời gian thực( cái này dùng i2c phải không ạ) không hiển thị được nữa và động cơ của em cũng không quay:(

setup_ccp1(ccp_pwm);
enable_interrupts(int_timer2);
setup_timer_2(t2_div_by_16,155,1);
if(t>40) duty=312;
else if(t>=60) duty=624;
else duty=(t-40)*15.6+312;
set_pwm1_duty(300);
nếu em bỏ cái enable_interrupts(int_timer2) đi thì khối hiển thị thời gian lại hoạt động bt
hay là cái code dk động cơ của em có vấn đề j ạ

Em có khai báo 1 biến t để đọc nhiệt độ từ con lm35
int16 t;

2.trong hàm ngắt timer1 của em có cái đọc nhiệt đó từ lm35 như thế này ạ:

t=read_adc(); //update nhiet do
t=t*100/204;
em không hiểu tại sao lại nhân với 100 và chia cho 204, adc của em là 10 bit

3. trong hàm ngắt timer0 của em có phần chống rung cho nút bấm thế này ạ:

if(input(PIN_A5) && (count_button_mode>=15))
{
++set;
if(set==7) set=0;
count_button_mode=0;
}

có phải là khi nhấn nút mode ở chân ra5 thì nó chống rung bằng cách kiểm tra biến count_button_mode>=15 có nghĩa là xem nút có được nhấn 15 lần đúng không ạ?

xin gửi cả chương trình của em lên ạ!

Cám ơn các anh!

JackSanji
26-04-2012, 04:01 PM
Ai giúp e với, chỉ cần giúp e câu 1 thôi, thanks!