Trích:
Nguyên văn bởi namqn
Bạn dùng các cấu trúc so sánh lồng nhau. Ví dụ, có 3 ngưỡng cần phát hiện là T1 < T2 < T3, bạn có thể viết như sau:
Code:
if (tin_hieu < T1) do_sth1; //0 <= tin_hieu < T1
else-if (tin_hieu < T2) do_sth2; //T1 <= tin_hieu < T2
else-if (tin_hieu < T3) do_sth3; //T2 <= tin_hieu < T3
else do_sth4; //T3 <= tin_hieu
do_sth1, do_sth2, do_sth3, và do_sth4 là các công việc tương ứng ở mỗi trường hợp.
Thân,
|
Ah`, trước hết xin cảm ơn bạn namqn...
Cho hỏi thêm các biến T1, T2, T3 ở trên của bạn, khai báo ???
Dùng từ 0 - 255 hay thế nào??? Và trong TH này liệu có ok không????
Hình như bạn không hiểu ý mình lắm. Ý mình là:
[Thu được tín hiệu tương tự ... đọc và xử lý tín hiệu... và xuất ra là tín hiệu số (Cuối cùng).]
- Trong TH này liệu có sử dụng ADC?? và phải sử dụng nó thé nào???
VD: Thu tín hiệu đầu vào là tín hiệu tương tự, và xuất tín hiệu ra vào port B
...
....
#device 18f4431*=16 adc=8
#use delay (clock = 20000000)
int8 adc;
//======================
main()
{
setup_adc (adc_clock_internal);
setup_adc_ports(an0);
set_adc_chanel(0);
delay_ms(10);
while(1)
{
adc=read_adc();
output_d(adc);
}
}
//============================================
- Vậy câu hỏi đặt ra là thằng ADC nó xuất tín hiệu đầu ra là thẳng PORT B là từ 0-255 trong TH sử dụng 8 bít này ??
- Tín hiệu thu vào và ADC xử lý là dải từ 0 - 255 ???
Cám ơn!