编辑: 飞翔的荷兰人 | 2014-11-02 |
i < 10;
i 逐次转换 { while ( uiSum! = 0xaaaa) Clear WDog;
iTest[ i] = uiFlag[
0 ] | uiFlag[
1 ] | uiFlag[
2 ] | uiFlag[
3 ] | uiFlag[
4 ] | uiFlag[
5 ] | uiFlag[
6 ] | uiFlag[
7 ] | uiFlag 计算最终温度值 ;
if( ( iTest[
0 ] &0xf000) = = 0xf000) { iDataFlag + + ;
Item = ( iTest[
0 ] &0xff00) > > 8;
MSB = ( iTest[
0 ] &0x00ff) ;
LSB = ( iTest[
1 ] &0xff00) > > 8;
・
8 8 ・ 第23卷 攀枝花学院学报 第 6期 SUM = ( iTest[
1 ]&0x00ff) ;
CR = ( iTest[
2 ] &0xff00) > > 8;
asm ( "int off " ) ;
} if( Item = = 0x66&&CR = = 0x0d) { iLastFlag = 1;
temp1 = ( (MS B < < 8) |LSB) ;
temp1 = temp1 /16;
temp1 = temp1 - 273. 15;
as m ( "int fiq, irq /n" ) ;
} / /显示播报 ;
if( Item = = 0x4c&&CR = = 0x0d) { temp = ( (MSB < < 8) |LSB) ;
temp = temp /16;
temp = temp - 273. 15;
if( iLastFlag = = 1) { F_PlayS480 (11) ;
F_PlayS480 (16) ;
F_Tempplay( temp1) ;
/ /温度播报 ;
} F_PlayS480 (17) ;
F_Tempplay( temp1) ;
/ /温度显示 ;
as m ( "int fiq, irq /n" ) ;
} } }
6 功能总结 本系统以凌阳 16位单片机为控制核心 ,利用专用传感器检测技术并配合一套独特的软件算法实现了远程测温方法. 系统能在三秒钟内测出保留百分位的环境温度和目标温度 ,并做相应的语音播报和数字显示 ,测量距离能达到 10米以 上.在系统设计过程中 ,力求硬件线路简单 ,充分发挥软件编程方便 ,使用灵活 ,测试精度高的特点. 参考文献 [
1 ] 马文杰. 物理学 [M ]. 北京 : 高等教育出版社 , 2001. [
2 ]罗亚飞 . 16位单片机运用基础 [M ]. [
3 ]电子线路设计、 实验、 测试 [M ]. 武汉 :华中科技大学出版社 , 2001. [
4 ]康华光. 电子技术基础 [M ]. 武汉 :华中科技大学出版社 , 2001. [
5 ]凌阳单片机. C语言教程 [M ]. ・
9 8 ・ 第23卷 曹润强 :红外测温计的设计 第 6期