早教吧作业答案频道 -->数学-->
52单片机12m晶振下为什么做超声波测距还需要×12的分频if(succeedflag==1){distancedata=outcomeH;//测量结果的高8位distancedata
题目详情
52单片机 12m晶振下 为什么做超声波测距还需要×12的分频
if(succeed_flag==1)
{
distance_data=outcomeH; //测量结果的高8位
distance_data
if(succeed_flag==1)
{
distance_data=outcomeH; //测量结果的高8位
distance_data
▼优质解答
答案和解析
if(succeed_flag)
{
time = timeH * 256 + timeL;
distance = time * 0.0172; //厘米
}
else
{
distance = 0;
}
//外中断0,用做判断回波电平
void exter() interrupt 0 // 外部中断0是0号
{
EX0=0; //关闭外部中断
timeH =TH1; //取出定时器的值
timeL =TL1; //取出定时器的值
succeed_flag=1;//至成功测量的标志
}
假设80S52使用12M晶振:
若用定时器方式计时,从理论上说distance_data*=12;是不对的,该句将计时的时间又转换为晶振的震动次数
若使用计数器的方式的话也是说不通的,12M晶振下,最高计数频率不超过1/2MHz,即计数脉冲的周期要不小于2us
以下都是在忽略改行注释的情况下:
从distance_data*=12;前后看更是不能理解了,若使用该语句后,所测距离至少要放大12倍,若将此处12改为10还有方法处理,假设乘以10,设乘10后的十进制数据变为4000,除以58取整后的结果为68,在显示或处理时将其当作6.8,即在后续处理或者显示时将十进制数据各位的权缩小10倍
还有种可能是为了处理探头等其他情况带来的误差并且处理或显示时是按上面的方式,如果是这样的话个人感觉此处乘12还是很大的
{
time = timeH * 256 + timeL;
distance = time * 0.0172; //厘米
}
else
{
distance = 0;
}
//外中断0,用做判断回波电平
void exter() interrupt 0 // 外部中断0是0号
{
EX0=0; //关闭外部中断
timeH =TH1; //取出定时器的值
timeL =TL1; //取出定时器的值
succeed_flag=1;//至成功测量的标志
}
假设80S52使用12M晶振:
若用定时器方式计时,从理论上说distance_data*=12;是不对的,该句将计时的时间又转换为晶振的震动次数
若使用计数器的方式的话也是说不通的,12M晶振下,最高计数频率不超过1/2MHz,即计数脉冲的周期要不小于2us
以下都是在忽略改行注释的情况下:
从distance_data*=12;前后看更是不能理解了,若使用该语句后,所测距离至少要放大12倍,若将此处12改为10还有方法处理,假设乘以10,设乘10后的十进制数据变为4000,除以58取整后的结果为68,在显示或处理时将其当作6.8,即在后续处理或者显示时将十进制数据各位的权缩小10倍
还有种可能是为了处理探头等其他情况带来的误差并且处理或显示时是按上面的方式,如果是这样的话个人感觉此处乘12还是很大的
看了 52单片机12m晶振下为什么...的网友还看了以下:
请高手编一个VB迭代程序,方程式为:lnP=A-B/T+C*lnT+D*P/T^2其中A、B、C、D 2020-03-31 …
2道方程数学题,广深高速公路全长1262千米,一辆汽车从广州出发,以每小时80千米的速度开往深圳. 2020-05-13 …
matlab求微分方程,常数项比如y=dsolve("Du=((a-u-b)*e-u*d)/(e* 2020-05-14 …
Must I return the book this week?No,you( ).You ca 2020-05-16 …
甲乙两地相距30千米,某人计划th到达,如果提前1h到达,那么此人应提速.A.0/t—1—30/t 2020-05-23 …
如果做心电图,其特异的改变为A.U波出现,P-R及Q-T间期延长B.ST段升高C.T波升高D.P-R 2020-06-04 …
设函数f(x)连续且恒大于零,F(t)=∫∫∫Ω(t)f(x2+y2+z2)dv∫∫D(t)f(x 2020-06-12 …
京沪高速公路全长1262千米,一辆汽车从北京出发,以每小时80千米的速度开往上海.1.开出t小时后 2020-07-17 …
黄石市2011年6月份某日一天的温差为11℃,最高气温为t℃,则最低气温可表示为()A.(11+t) 2020-11-12 …
(2211•福州)读某t等高线t形图(如图),回答问题.(1)写出图中字母代表的相应t形部位的名称: 2020-12-25 …