A/D转换器转换数据经过单片机的预设值比较时,这个预设值怎么定?

单片机系统中,由传感器采集数据,经A/D转换器转换,当采集的速度信号大于一定的值时,会发出相应的控制,单片机程序中预设的这个一定值是怎么设定的,比如要设定大于5m/s时单片机控制,这个5m/s在单片机的预设值里是怎么表示的?急!!

不清楚你的系统架构.可以说明详细的吗?
一般都是设置单片机的定时器.定时器的触发由传感器给到单片机,让单片机的定时器启动.在采集之后终止定时器.以定时器内的值来判断是否采集速度过大..
至于要预设多长时间,得看你用的晶振是多大的,以及你的定时器工作模式而定.

定时器初值的计算
在定时器模式下,计数器由单片机主脉冲fosc经12分频后计数。因此,定时器定时初值计算公式:
X=M-(要求的定时值)/(12/fosc)
式中,M为定时器模值(根据不同工作方式,M可以是2的13次方、2的16次方或2的8次方)

设晶振频率fOSC=6MHz,使用定时器1以方式1产生周期为500μs的方波脉冲,并由P1.0 输出。
要产生500μs 的方波脉冲,只需在P1.0端以250μs为间隔,交替输出高低电平即可实现。为此,定时间应为250μs 。使用6MHz晶振,则一个机器周期为2μs,设待求定时器初值为X,则:
(2的16次方–X)×2×10 -6 =250×10 -6
即2的16次方–X=125
X=2的16次方-125=10000H-7DH
=0FF83H
所以,初值为:
TH1=0FFH,TL1=83H
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-20
如果只比较一个5m/s的信号,就不用AD了呀,直接比较器一比较不就可以输出高、低电平了。
如果一定要AD和单片机,那你要确定5.m/s的信号AD出来的数据是多少,这个数据就是设定在单片机里的阙值。
第2个回答  2010-06-26
这个其实我以前做过,挺简单的,你如果用C语言写,先接收一个信号值进行转换后,与其作比较就O了做一个FOr循环
..............
int scor;
for(scor=5){

........................................
}//不要着急!
第3个回答  2010-06-28
就把5这个值存储到一个存储单元就行了啊,比较的时候调这个单元的地址用就可以了
相似回答