原创 采用C51与插拔式FLASH闪存设计无纸记录仪

2009-8-13 18:32 1996 5 5 分类: MCU/ 嵌入式
ATMEL公司推出的带有看门狗功能的单片机AT89C55WD带有20K的程序存储器,是8051系列中一款较为先进的产品,其看门狗功能可以大大提高产品的稳定性,大容量的内部程序存储器可以容纳功能丰富的软件。电子园51单片机学习网8v9hnn oVfd

  以往的许多无纸记录仪均采用3.5英寸软盘作为数据存贮介质,但软盘存贮的可靠性差、存储容量有限、成本较高等诸多缺点实在难以克服。

,q g(X$y/f.Md44606电子园51单片机学习网K)^C'Fu7B.xR9A{6P

  作为一种高科技的非易失性存储设备,FLASH 闪存首先在数码相机、PDA、移动电话等数字产品当中得到了应用,随着工艺的进步和价格的下降,逐步向其他应用领域扩展,其容量大、功耗低、速度快、不易受损等优点正受到人们越来越多的青睐,而且最大的好处是,随着技术水平的进步,FLASH闪存的容量也在不断增加,目前已经达到128M,而接口方式并没有任何变化,这就避免了费时费力的重新设计。FLASH闪存分为插拔式和贴片式,目前国内大部分厂家都采用贴片式即直接把FLASH闪存焊接于电路板上,这种应用方式就使FLASH闪存一旦焊好就无法更改和移动,而插拔式可以根据需要任意扩充并且携带方便,非常适合容量不确定和需要移动的应用。基于这些原因,我们采用了插拔式FLASH闪存作为无纸记录仪的存储设备。

"u:_/A&WmhkT&p.XA44606电子园51单片机学习网6} ? d` L PoK%jr

  下面简要介绍以C51为开发工具,以AT89C55WD单片机为核心,以插拔式FLASH闪存为存储器的无纸记录仪的设计和实现。

MO9Q$|C4K44606电子园51单片机学习网J*nH/B9y o9b2qD { l\

 

^)u]$@'P]X#XPt44606电子园51单片机学习网nQx(M"Q'Z"y

一、无纸记录仪总体布局

;]'V*y"Y4a44606

Fi9I(]m+h N44606  无纸记录仪所要实现的功能是这样的:记录仪有4个通道,每秒采样1次,每个通道每次采样需记录两个字节,根据各个通道的转储速率(从1至255可设定),把采样的数据写入外部数据存储器62256,一旦数据满512字节,就把512字节一次性写入FLASH闪存中。

%N"bB'Fr$V)R?;[7z%v-z44606电子园51单片机学习网:g8|Y{!tJ7y

6136_200904071124261mcPx.jpg

Re|P(MV44606电子园51单片机学习网$u'NB? a {"j

图1:记录仪总体功能图电子园51单片机学习网2AP^;bJ*w^


TWb~$G"w/yL/Z44606总体功能图如图1所示。电子园51单片机学习网cP'MFK"Jp0^


uO oZ?is!S8\m&f44606二、系统电路构成电子园51单片机学习网V:V6e4mx3k4S*@,]| M

电子园51单片机学习网_%\"K:Xw/mmh_

  无纸记录仪电路由单片机AT89C55WD、液晶显示电路、A/D采集电路、FLASH闪存存储电路、时钟电路和看门狗电路组成,下面简要介绍各个组成部分。电子园51单片机学习网F7y0TOBz eD)L"g%v

电子园51单片机学习网sN*N&i+uf

1.单片机AT89C55WD及电路组成电子园51单片机学习网6l^5AOV#xF_]

电子园51单片机学习网n%IR/g ^,e9K2}5{

  AT89C55WD与MCS-51相兼容,可对内核进行1000次的电擦写,其电压、电流和功耗都比较小,带有20K的可重写快闪存储器和硬件看门狗定时器。

7^jNW5e a44606电子园51单片机学习网"D,E;g(T:{uc

  看门狗定时器是在系统软件崩溃后进行恢复的一种方法,WDT 由14位计数器和看门狗复位特殊功能寄存器(WDTRST SFR)组成,在缺省设置下,系统复位时即关闭。要使WDT有效,用户必须向0A6H单元的WDTRST SFR顺序写入01EH和0E1H。当WDT有效,计数器每经过一个机器周期后加1,除了硬件或WDT溢出复位,没有任何方法可使WDT无效。当计数器溢出,WDT就在RST引脚产生一个复位的高脉冲。

pR,SR gQv44606电子园51单片机学习网 oF*__"@,y

  要使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一次。

`Ve-r _y44606

Z3gt&S j;tem44606  单片机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写入数据来实现看门狗功能。电子园51单片机学习网o:K f r0Hw


sJ6RQJ^R3t&NGe446062.液晶显示电路电子园51单片机学习网ve-A l9I+?!P

电子园51单片机学习网*Do6zBz`9^I,|8\

  在记录仪中使用HG16501点阵式液晶显示器,其内置有T6963C控制芯片,与单片机接口较为简单。

)D z]%t7L"\/?^]C44606

3U0UkfLl'Fum446063. A/D采集电路

S:po(E&t Q.KCJ44606

4E{\rn3E!n44606  A/D采集电路主要由AD7715构成,该芯片是串行输入,三线接口,而4个通道的输入则选用了HCF4051。电子园51单片机学习网yA?o(P;I


%A6io#g3F44606该电路主要是5V与3.3V之间的电平转换电路,本设计采用三片TC4010BP来实现。

j/Zd3N$uf Oc/O7G44606

#`{E'[*jL f$P0v*}446065.时钟电路电子园51单片机学习网qQ!R\]'S!F

电子园51单片机学习网9W:^B[3y4L"P4L5AQ

  系统时钟采用串行时钟芯片DS1305,并使用Motorola SPI工作方式。DS1305的INT0与单片机INT0直接相连,DS1305每秒产生中断启动AD7715进行采样。

7n,w|gQ f{sJu44606

/c/NPg8TeX c446066.看门狗电路电子园51单片机学习网]:Ll]DYZw


8[J"E:TtY8IKA44606  系统防复位的看门狗电路由可编程的X25045来实现,该芯片具有看门狗定时器、电压监控和EEPROM三种功能,这种组合降低了系统的成本并节省了电路板空间。

4}d/M5V$L&|+N3mx0`44606

g8`7q\g(dz:W M lb K44606 

"Ww/J Jgx^44606电子园51单片机学习网m zD*I'm,}8ljs

三、系统软件部分

CwC ohZ44606

!{5] uF g{5k}44606  系统软件采用C51语言与A51汇编语言混合编程,其中中断采样部分采用A51汇编语言来编写。

+Mj8ruC44606

&va D(KP446061.编程语言                      

6j@+x%E7`T44606电子园51单片机学习网 r wk}6dx

  本系统采用Keil 公司V6.10的C51编译器。A51是一个有通用特性机用法的重定位宏汇编器,能很好地与INTEL公司的MASM51宏汇编兼容,支持模块化编程,可以方便地与高级语言接口,但与MASM51还是有很大区别,主要是A51对许多MASM51的寄存器都不支持,这一点需要注意。电子园51单片机学习网8J"|pi,i,}$Z|8V@

电子园51单片机学习网 L8C-UcN.rx

2.工作过程电子园51单片机学习网5WAEM%]B|v0HWg+OG

电子园51单片机学习网 s7x;L.Yb2M${"f7{

  系统上电,对时钟、液晶显示器HG16501、 AD7715芯片初始化后,主程序处于循环检测键盘的按键状态,并根据按键作相应处理,而采集部分是由CPU每秒产生中断来执行。四个通道采集后先向外部存储器62256写完512个字节后置写入允许,主程序一发现写入允许置位,就将这512字节的数据写入FLASH闪存,同时把写允许复位。因为软件是分级菜单结构,每进入下一级子菜单,都必须作同样的事,时钟读并显示,检查写FLASH闪存允许位是否置位,如置位,则把数据写入FLASH闪存,所以把它单独列为常规操作。

q9Wn Oy7Yy44606

x*t3Ip.]3Wj b1B'^+n44606主程序和常规操作的流程图比较简单,故略去。

Cfe'q%JoIcu44606

p}!r,v#bg446066136_2009040711242623434.jpg

|$M6A lW1{'R;qS44606电子园51单片机学习网}6@5cFAQ)`&{F


图2:中断采集流程图
电子园51单片机学习网jNBC%u3i-T电子园51单片机学习网(^$@+Y'x[

中断采集流程图如图2所示。电子园51单片机学习网&\ q1pE&~T:v`


O/c1P d$U2F[V U44606 四、C51及A51程序电子园51单片机学习网:T tB4bf^D

电子园51单片机学习网 L8O T8X h;h#}~c

整个系统软件C51部分的源程序约70KB,中断部分的A51源程序约7.1KB,两部分编译连接后产生的HEX文件将近16KB,仅用了20KB程序存储器的五分之四,剩下的4K可留给将来添加新功能。电子园51单片机学习网A7q1[b&R8HU


Q aN-jtap7_O6x44606 电子园51单片机学习网!n b'kCb0`Sh


k+u-x!M;j#I{e2J44606结束语电子园51单片机学习网2uq`c*^j


]w4r)F%S-E-s e44606  在研制无纸记录仪的过程中,我们采用C51与A51混合编程进行软件开发,以FLASH闪存作为存储器,不但软件的功能丰富多了,而且由于存储器稳定可靠、便于携带,也方便了进一步的数据处理工作。电子园51单片机学习网&R/I e4}5C1B m

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
5
×
广告
关闭 站长推荐上一条 /3 下一条