论文部分内容阅读
【摘 要】在实际应用中用户有时不仅需要了解当前水位读数,而且还希望能了解整个过程中水位的变化情况。为此设计了一种以AT89C51单片机为核心控制器的水位记录仪。首先进行了记录仪整体方案的设计,然后根据记录仪所要实现的功能选择了性价比较高的芯片并进行了硬件电路设计,之后进行了记录仪的软件设计。该记录仪具有稳定可靠、适应性好、成本低、体积小、便于携带的优点,能够自动监视水位变化,自动跟踪并记录每一个水位变化值及水位变化值的时间,无需人工看守,特别适用于野外水位长时间监测。
【关键词】AT89C51单片机;水位记录仪;AT24C512;CP200
1、引言
在地质勘探、环境监测、工农业供排水、地震监测、水文气象等领用中,一项重要任务就是掌握地表水、地下水和降水的动态变化,研究它们的变化规律。采用原始的手工测量方式来测量水位数据,大大增加了工作人员的劳动强度,同时由于水动态需长期监测和记录,每日处理数据量大,给分析数据带来很大的麻烦。
而基于AT89C51单片机的水位记录仪体积小、成本低、方便携带,能对水位变化自动监视、自动测量、对数据自动采集,用智能存储卡自动存储水位数据,定期将存储卡取回并与计算机连接就可使用计算机处理水位数据,大大降低了工作人员的劳动量,提高了工作效率。
2、水位记录仪整体方案设计
水位记录仪整体结构图如图1所示。各部分功能如下:
3、水位记录仪硬件电路设计
再进行水位记录仪硬件电路设计时,首先要根据各个部分所要实现的功能选择合适的芯片,这里重点考虑了所选芯片的性价比。
3.1 水位记录仪的主要芯片
记录仪整体电路组成部分包括:ADC0809与AT89C51单片机接口部分、MC146818与AT89C51接口部分、键盘/显示部分、看门狗电路、AT24C512与AT89C51的通讯接口部分。下面分别进行了介绍。
3.2 ADC0809与AT89C51单片机接口电路
单片机中断控制ADC0809,即在启动信号送到ADC0809之后,单片机执行别的程序,当ADC0809变换结束并向单片机发出中断请求信号时,单片机响应此中断请求,进入中断服务程序,读入转换数据,并进行必要的数据处理,然后返回到原程序。由于ADC0809具有输出三态锁存器,其8位数据输出引脚可直接与数据总线相连。地址译码引脚A、B、C接地,固定选通IN0通道。由于ALE和START连在一起,因此ADC0809在锁存通道地址的同时,启动并进行转换。
3.3 MC146818与AT89C51单片机接口电路
MC146818的AD0—AD7、AS、DS、、、SWQ端直接与AT89C51单片机相接,其中AD0—AD7与单片机的P0.0—P0.7口直接相连,作用是与单片机进行数据传递并作为地址复用线;AS与单片机的ALE端相连,用于地址的锁存;与单片机的端相连,其主要作用为定时向单片机发中断申请;SQW与单片机的INT0端直接相接,其作用为输出一定频率的方波脉冲,控制采集时间。
3.4 键盘/显示电路
应用AT89C51的串行口工作方式0的输入、输出方式,在串行口外接移位寄存器74LS164,构成键盘/显示接口。其中AT89C51的P1.4、P1.5口作为键盘输入线。P1.6作为LED显示的同步脉冲输出控制线,用于启动和关闭LED的显示,注意为了减少交叉线数量使线路图更清晰,将两个DPY7-SEGDP位置颠倒放置,即DPY7-SEGDP(1)显示时间数据低位,DPY7-SEGDP(2)显示时间数据高位。利用这种串行方式的电路使LED静态显示亮度大,CPU不必频繁的为扫描显示服务,而软件设计将变得简单些。
3.5 看门狗电路
看门狗电路的具体作用是:在程序正常运行时,单片机不断地由P2.5口向74LS123(2)的B端发送信号,使得B端不断有上升沿出现,因此其输出端Q保持高电平,同时使得74LS123(1)的A端输入为高电平,则74LS123(1)的B端无论在什么状态下,其输出端Q保持低电平,保证了AT89C51的RESET脚低电平的需要;当程序跑飞时,74LS123(2)的B端电位不在变化(一般为低电平),则其输出端Q变为低电平,使得74LS123(1)的A端输入为低电平,而其B端直接接电源为高电平,所以Q端输出一正脉冲,促使AT89C51复位。
3.6 AT24C512与AT89C51接口电路
AT24C512存储卡与AT89C51单片机通讯接口中SW与单片机P2.2口连接,用来检测AT24C512卡是否插入;AT24C512卡的上、下电控制则由单片机P2.1口完成;与单片机P2.0口连接的发光二极管是AT24C512卡的工作指示灯。AT24C512卡是漏极开路,所以采用了两个1.5KΩ电阻作为上拉电阻。
4、水位记录仪软件设计
根据记录仪硬件电路和要现实的的功能进行软件设计,整个软件控制程序包括主程序和若干子程序。
首先采用查询的方式判断AT24C512卡是否已经插入卡座中。若卡没插入,反复查询直到卡插入为止;若卡已插入,则读出存放于卡中单元的控制命令和参数,并转存于单片机的内部RAM中。然后判断是否要进行校时,若不需要校时,转入下一步开中断并进入低功耗待机;若需要校时,则通过键盘输入的时间对时钟芯片进行初始化设置,最后开中断,并进入低功耗待机。主程序按照一定的采集时间间隔,对单片机提出中断申请,然后调用中断子程序进行数据的测量和转存。主程序主要调用的子程序有:读AT24C512卡子程序、键盘/显示子程序、时钟芯片校时子程序、中断子程序。
5、结语
该记录仪以单片机为核心,通过水位变送器来进行水位的自动测量;通过键盘和LED显示来完成初始化时钟芯片操作;利用存储卡保存测量结果以供数据分析。键盘显示电路设计时侧重考虑单片机硬件资源的利用,优化了系统设计。IC存储卡在可组成自动测量系统的智能仪器中应用,降低了系统复杂性、功耗和成本,减小了仪器体积,提高了系统得可靠性、灵活性和性价比。
【关键词】AT89C51单片机;水位记录仪;AT24C512;CP200
1、引言
在地质勘探、环境监测、工农业供排水、地震监测、水文气象等领用中,一项重要任务就是掌握地表水、地下水和降水的动态变化,研究它们的变化规律。采用原始的手工测量方式来测量水位数据,大大增加了工作人员的劳动强度,同时由于水动态需长期监测和记录,每日处理数据量大,给分析数据带来很大的麻烦。
而基于AT89C51单片机的水位记录仪体积小、成本低、方便携带,能对水位变化自动监视、自动测量、对数据自动采集,用智能存储卡自动存储水位数据,定期将存储卡取回并与计算机连接就可使用计算机处理水位数据,大大降低了工作人员的劳动量,提高了工作效率。
2、水位记录仪整体方案设计
水位记录仪整体结构图如图1所示。各部分功能如下:
3、水位记录仪硬件电路设计
再进行水位记录仪硬件电路设计时,首先要根据各个部分所要实现的功能选择合适的芯片,这里重点考虑了所选芯片的性价比。
3.1 水位记录仪的主要芯片
记录仪整体电路组成部分包括:ADC0809与AT89C51单片机接口部分、MC146818与AT89C51接口部分、键盘/显示部分、看门狗电路、AT24C512与AT89C51的通讯接口部分。下面分别进行了介绍。
3.2 ADC0809与AT89C51单片机接口电路
单片机中断控制ADC0809,即在启动信号送到ADC0809之后,单片机执行别的程序,当ADC0809变换结束并向单片机发出中断请求信号时,单片机响应此中断请求,进入中断服务程序,读入转换数据,并进行必要的数据处理,然后返回到原程序。由于ADC0809具有输出三态锁存器,其8位数据输出引脚可直接与数据总线相连。地址译码引脚A、B、C接地,固定选通IN0通道。由于ALE和START连在一起,因此ADC0809在锁存通道地址的同时,启动并进行转换。
3.3 MC146818与AT89C51单片机接口电路
MC146818的AD0—AD7、AS、DS、、、SWQ端直接与AT89C51单片机相接,其中AD0—AD7与单片机的P0.0—P0.7口直接相连,作用是与单片机进行数据传递并作为地址复用线;AS与单片机的ALE端相连,用于地址的锁存;与单片机的端相连,其主要作用为定时向单片机发中断申请;SQW与单片机的INT0端直接相接,其作用为输出一定频率的方波脉冲,控制采集时间。
3.4 键盘/显示电路
应用AT89C51的串行口工作方式0的输入、输出方式,在串行口外接移位寄存器74LS164,构成键盘/显示接口。其中AT89C51的P1.4、P1.5口作为键盘输入线。P1.6作为LED显示的同步脉冲输出控制线,用于启动和关闭LED的显示,注意为了减少交叉线数量使线路图更清晰,将两个DPY7-SEGDP位置颠倒放置,即DPY7-SEGDP(1)显示时间数据低位,DPY7-SEGDP(2)显示时间数据高位。利用这种串行方式的电路使LED静态显示亮度大,CPU不必频繁的为扫描显示服务,而软件设计将变得简单些。
3.5 看门狗电路
看门狗电路的具体作用是:在程序正常运行时,单片机不断地由P2.5口向74LS123(2)的B端发送信号,使得B端不断有上升沿出现,因此其输出端Q保持高电平,同时使得74LS123(1)的A端输入为高电平,则74LS123(1)的B端无论在什么状态下,其输出端Q保持低电平,保证了AT89C51的RESET脚低电平的需要;当程序跑飞时,74LS123(2)的B端电位不在变化(一般为低电平),则其输出端Q变为低电平,使得74LS123(1)的A端输入为低电平,而其B端直接接电源为高电平,所以Q端输出一正脉冲,促使AT89C51复位。
3.6 AT24C512与AT89C51接口电路
AT24C512存储卡与AT89C51单片机通讯接口中SW与单片机P2.2口连接,用来检测AT24C512卡是否插入;AT24C512卡的上、下电控制则由单片机P2.1口完成;与单片机P2.0口连接的发光二极管是AT24C512卡的工作指示灯。AT24C512卡是漏极开路,所以采用了两个1.5KΩ电阻作为上拉电阻。
4、水位记录仪软件设计
根据记录仪硬件电路和要现实的的功能进行软件设计,整个软件控制程序包括主程序和若干子程序。
首先采用查询的方式判断AT24C512卡是否已经插入卡座中。若卡没插入,反复查询直到卡插入为止;若卡已插入,则读出存放于卡中单元的控制命令和参数,并转存于单片机的内部RAM中。然后判断是否要进行校时,若不需要校时,转入下一步开中断并进入低功耗待机;若需要校时,则通过键盘输入的时间对时钟芯片进行初始化设置,最后开中断,并进入低功耗待机。主程序按照一定的采集时间间隔,对单片机提出中断申请,然后调用中断子程序进行数据的测量和转存。主程序主要调用的子程序有:读AT24C512卡子程序、键盘/显示子程序、时钟芯片校时子程序、中断子程序。
5、结语
该记录仪以单片机为核心,通过水位变送器来进行水位的自动测量;通过键盘和LED显示来完成初始化时钟芯片操作;利用存储卡保存测量结果以供数据分析。键盘显示电路设计时侧重考虑单片机硬件资源的利用,优化了系统设计。IC存储卡在可组成自动测量系统的智能仪器中应用,降低了系统复杂性、功耗和成本,减小了仪器体积,提高了系统得可靠性、灵活性和性价比。