atmel公司推出的带有看门狗功能的单片机at89c55wd带有20k的程序存储器,是8051系列中一款较为先进的产品,其看门狗功能可以大大提高产品的稳定性,大容量的内部程序存储器可以容纳功能丰富的软件。
以往的许多无纸记录仪均采用3.5英寸软盘作为数据存贮介质,但软盘存贮的可靠性差、存储容量有限、成本较高等诸多缺点实在难以克服。
作为一种高科技的非易失性存储设备,flash闪存首先在数码相机、pda、移动电话等数字产品当中得到了应用,随着工艺的进步和价格的下降,逐步向其他应用领域扩展,其容量大、功耗低、速度快、不易受损等优点正受到人们越来越多的青睐,而且最大的好处是,随着技术水平的进步,flash闪存的容量也在不断增加,目前已经达到128m,而接口方式并没有任何变化,这就避免了费时费力的重新设计。flash闪存分为插拔式和贴片式,目前国内大部分厂家都采用贴片式即直接把flash闪存焊接于电路板上,这种应用方式就使flash闪存一旦焊好就无法更改和移动,而插拔式可以根据需要任意扩充并且携带方便,非常适合容量不确定和需要移动的应用。基于这些原因,我们采用了插拔式flash闪存作为无纸记录仪的存储设备。
下面简要介绍以c51为开发工具,以at89c55wd单片机为核心,以插拔式flash闪存为存储器的无纸记录仪的设计和实现。
一、无纸记录仪总体布局
无纸记录仪所要实现的功能是这样的:记录仪有4个通道,每秒采样1次,每个通道每次采样需记录两个字节,根据各个通道的转储速率(从1至255可设定),把采样的数据写入外部数据存储器62256,一旦数据满512字节,就把512字节一次性写入flash闪存中。
图1:记录仪总体功能图
总体功能图如图1所示。
二、系统电路构成
无纸记录仪电路由单片机at89c55wd、液晶显示电路、a/d采集电路、flash闪存存储电路、时钟电路和看门狗电路组成,下面简要介绍各个组成部分。
1.单片机at89c55wd及电路组成
at89c55wd与mcs-51相兼容,可对内核进行1000次的电擦写,其电压、电流和功耗都比较小,带有20k的可重写快闪存储器和硬件看门狗定时器。
看门狗定时器是在系统软件崩溃后进行恢复的一种方法,wdt由14位计数器和看门狗复位特殊功能寄存器(wdtrstsfr)组成,在缺省设置下,系统复位时即关闭。要使wdt有效,用户必须向0a6h单元的wdtrstsfr顺序写入01eh和0e1h。当wdt有效,计数器每经过一个机器周期后加1,除了硬件或wdt溢出复位,没有任何方法可使wdt无效。当计数器溢出,wdt就在rst引脚产生一个复位的高脉冲。
要使wdt持续有效,就必须每隔一定时间往wdtrst写入01eh和0e1h来避免wdt溢出。当wdt的14位计数器计数至16383(3fffh)时,计数器便溢出,引起设备的复位。这就意味着用户必须至少每16383个机器周期复位wdt一次。使wdt复位,必须向只写寄存器wdtrst写入01eh和0e1h。当wdt溢出时在rst引脚产生一个复位的高电平脉冲,持续时间为:98×tosc,tosc=1/fosc。为了充分利用wdt,在要求防止wdt溢出复位时,应每隔一定周期写wdtrst一次。
单片机at89c55wd通过p0口驱动液晶显示器;通过t1输出作为ad7715的采样脉冲同时用p2.6引脚读入ad7715的采样数据;因为flash的8根数据线与地址线是复用的,用单片机的p0口通过一片74als244及tc4010bp将电平转化后与flash相连;用单片机的p2.4经过74als32作为时钟ds1305的脉冲输入,int0与时钟的引脚6即int0相连,这样ds1305每秒产生中断信号作为ad7715采样的开始;通过把对时钟ds1305的脉冲输入作为看门狗x25045的输入,通过p2.6向x25045写入数据来实现看门狗功能。
2.液晶显示电路
在记录仪中使用hg16501点阵式液晶显示器,其内置有t6963c控制芯片,与单片机接口较为简单。
3.a/d采集电路
a/d采集电路主要由ad7715构成,该芯片是串行输入,三线接口,而4个通道的输入则选用了hcf4051。
4.电平转换电路
该电路主要是5v与3.3v之间的电平转换电路,本设计采用三片tc4010bp来实现。
5.时钟电路
系统时钟采用串行时钟芯片ds1305,并使用motorolaspi工作方式。ds1305的int0与单片机int0直接相连,ds1305每秒产生中断启动ad7715进行采样。
6.看门狗电路
系统防复位的看门狗电路由可编程的x25045来实现,该芯片具有看门狗定时器、电压监控和eeprom三种功能,这种组合降低了系统的成本并节省了电路板空间。
三、系统软件部分
系统软件采用c51语言与a51汇编语言混合编











