View Single Post
Old 05-11-2008, 02:48 PM   #3
vmt.dttt
Đệ tử 1 túi
 
Tham gia ngày: Nov 2007
Bài gửi: 11
:
Trích:
Nguyên văn bởi namqn View Post
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!
vmt.dttt vẫn chưa có mặt trong diễn đàn