首页- 芯片解密常见问题- 正文

SPCE061A型单片机在土木工程测温仪中的应用与设计

来源:芯片解密-龙芯世纪   时间:2008-05-06   阅读:2665

     摘要:介绍一种基于SPCE061A型单片机、DSl8B20型单线数字温度传感器、1602型液晶显示器和SPR1024型存储器的测温系统在土木工程智能测温仪中的应用。给出了其硬件及软件设计,实现了混凝土温度的测量、显示、存储与PC的数据传输。 

    关键词:单片机;SPCE061A;DSl8B20;混凝土温度测量      

    1 引言 
    在土木工程中,许多大型的桥梁和大坝都是采用现场浇注的钢筋混凝土结构。在此类工程中混凝土浇注以后,由于水泥的水化热作用,混凝土内温度将逐渐上升,混凝土厚度的差异导致不同的温升,形成温度梯度并产生温度应力。与外力作用于结构时引起的应力不同,混凝土的温度应力是由变形引起的;混凝土的导热性能较差,浇注初期其强度和弹性模量都较低,温度变化引起的变形不明显。随着龄期的增长,混凝土的强度和弹性模量提高,对混凝土变形的约束越来越大,以致产生很大的拉应力,当混凝土的抗拉强度不足以抵抗这种拉应力时,开始出现温度裂纹。这将严重影响土木工程的质量,所以很有必要对混凝土浇注后的一段时期内的温度参数进行监测,可为其合理的浇注和养护提供可靠的数据。采用凌阳科技公司的高性能SPCE061A型单片机、美国DALLAS公司的DSl8B20型传感器、SPRl024型大容量存储器、1602型液晶显示构成一种适用于土木工程温度的智能化监测装置。     

    2 SPCE061A的特性 
    2.1 SPCE061A简介 
    SPCE061A是凌阳科技公司生产的一款性价比很高的16位单片机,该单片机具有8路10位ADC,2路10位DAC,只需外接功率放大器(SPY0030A)即可完成语音的播放。另外,凌阳16位单片机易学易用,具有一套高效率的指令系统和集成开发环境。在此环境中,支持标准C语言,可以实现C语言与凌阳汇编语言的互相调用,为软件开发提供了方便的条件。 
    SPCE061A内部还集成了1个ICE(在线仿真电路)接口,对其进行编程、仿真非常方便,而且ICE接口不占用芯片上的硬件资源,结合凌阳科技公司提供的集成开发环境(μ’nSPIDE),可以利用它对SPCE06lA进行真实的仿真;而程序的下载(烧写)也是通过该接口进行的。图1示出SPCE061A型单片机的内部结构框图。 

     

    2.2 SPCE061A的特性 

    ●16位μ’nSP微处理器; 
    ●工作电压:内核工作电压VDD为3.0V~3.6V(CPU),I/O口的工作电压VDDH为VDD~5.5V(I/0); 
    ●CPU时钟:0.32MHz~49.152MHz; 
    ●内置2K字SRAM; 
    ●内置32K闪存ROM; 
    ●可编程音频处理; 
    ●晶体振荡器; 
    ●系统处于备用状态下(时钟处于停止状态),耗电量小于2μA@3.6V; 
    ●2个16位可缩程定时器/计数器(可自动预置初始计数值); 
    ●2个lO位DAC(数/模转换)输出通道; 
    ●32位通用可编程输入/输出端口; 
    ●14个中断源可来自定时器A/B,时基,2个外部时钟源输入,键唤醒; 
    ●具备触键唤醒的功能; 
    ●使用凌阳公司的音频编码SACMl_S240方式(2.4kbit/s),能容纳210s的语音数据; 
    ●锁相环PLL振荡器提供系统时钟信号; 
    ●32768Hz实时时钟; 
    ●7通道10位电压模数转换器(ADC)和单通道声音模数转换器; 
    ●声音模数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能; 
    ●具备串行设备接口; 
    ●低电压复位(LVR)和低电压监测(LVD)功能; 
    ●内置在线仿真(ICE,In-CircuitEmulator)接口。     



    3 系统硬件设计  

    该系统是由一个SPCE061A精简开发板(61板)、DSl8B20型l-Wire数字温度传感器、SPRl024型128Kx8bitFlash、1602型液晶显示器和外扩UART串口电平转换电路组成,可以实现温度的测量、显示、存储与PC通信等功能。此系统以SPCE061A为核心,其硬件结构框图如图2所示,SPCE06lA与其他器件的连接如图3所示。     

    4 系统软件的设计 

    4.1 主程序的设计 
    主程序流程如图4所示。主函数比较简单,在程序开始后将系统时钟调到24.576MHz,程序中控制1602型液晶显示器与DSl8B20需要严格的读写控制时序,其中软件延时就是按照这个时钟计算的。然后初始化I/O端口,打开2Hz中断,为定时lOmin做准备。调用开机显示界面,在液晶1602上显示所需字样,持续一段时间,重新初始化1602,初始化SIO和UART,为使用SIO和UART做准备。然后进入循环,调用测温函数测温,调用显示函数显示,调用发送数据函数发送数据,判断是否为设定的时间(10min),如果是,调用存储函数存储数据;如果不是,直接执行下一步清看门狗操作,然后继续循环。     



    4.2 子程序的设计 
    4.2.1 温子程序 
    测温时首先设置DSl8B20的DQ为高电平,然后初始化DSl8B20,DSl8B20接收单片机的命令,为了简单起见,这里跳过ROM命令设置匹配过程,然后再次初始化DSl8B20,启动测温,然后保存温度并返回。DSl8B20的驱动程序可以参考DSl8B20的读写时序图进行编程。测温子程序如图5所示。     



    4.2.2 显示子程序 
    测得温度后,将温度数据转换为十进制数的温度表示,再通过查表(在C语言中是一个数组,参考Display函数中的Data[101]数组)调用1602显示在液晶上,数据处理类似于由二进制转换为十进制,再由十进制转换为ASCⅡ码,读者可以参考相关的说明。 
    4.2.3 存储子程序 
    调用SPR1024的用户函数,完成存储功能,存储的数据没有经过转换,只是将温度数据分为高低字节分两次存储。 
    4.2.4 UART通信子程序 
    通信子程序采用查询的方法,数据格式为先发数据oxAA,然后是温度数据的高字节和温度数据的低字节,最后是0x55结束。 
    4.2.5 中断的处理 
    在程序中打开2Hz的中断作为计时使用,设置全局变量g_Minl0为计数器,每进入中断1次计数器加1。在主函数中判断是否到达预定值(10min),如果达到,计数器清0,重新开始计数。     

    5 结束语 

    该智能化温度监测仪将单片机和大规模集成电路技术应用于土木工程测试中。在混凝土水化热温度监测、钢结构表面温度监测、大型机械设备温度监测以及粮食、仓储系统的温度监测中取得成功的应用。它的成本低,布线简单,使用维护方便,可以覆盖几乎所有的中低温测量场合。