
图一

图二
对于我的试验来说,此设备并不能满足我的试验要求,由图一可以看到,在上部分别有按钮一和按钮二,分别控制着两组程序。打开开关后,按钮一上方的小灯亮起,在上部数码管分别显示程序一运行的时间和转速。按按钮二,则数码管显示程序一运行完成后接着运行的程序二的参数。也就是说,现在的这台设备只能设定两个工况的转速,而我做的试验需要三个工况,即第一个阶段,一个时间段,一个转速;第二个阶段,另一个时间段,另一个转速;第三个阶段,再一个时间段,再一个转速。因此,此设备不能完成我的试验要求。我在网上大概寻了一个价,能符合我试验要求的设备都需要2~3w,有点小贵。后来跟老板合计了一下,拆开电路板一看,居然用的STC的单片机,顿时偶的DIY心情大增,就决定自己DIY一把,来把设备改成符合要求的东东。
开始DIY的进程,先把机器拆开来观察结构。电路板如图三所示。

图中1是一块STC12C5A60S2单片机,具体的一些参数大家可以自行度娘。2是两块74HC573,分别控制数码管的段选和位选。3是一个驱动57步进电机的驱动板,下部和母版除了VCC和GND连接之外,就是通过单片机引脚控制转动方向和转速的。DIY的第一步就是搞清楚电气连接,刚开始跟厂家联系,希望他们能给提供一个原理图,结果他们以商业机密为由拒绝了,简直是醉了。没有办法,那就只能拿着马克笔和放大镜一根一根找了,花了两天的时间,终于把单片机的所有电器连接搞清楚了。DIY的第二步就是编写程序了,分析板子的硬件构成,总共有一个步进电机,七块数码管,以及九个按钮组成(ps.刚刚在图上忘了标注了,紧挨着单片机其实还有一块IIC的EEPROM,型号为AT24C16A,用来保存运行参数)。程序思路是各个突破,再总体组装。
(1)IIC的EEPROM部分代码

用来读取存储数据
(2)数码管显示的部分代码

用来控制数码管的显示,并且开机默认显示第一条数据
(3)单独按键的部分代码

按键这里做了主要的修改。将停止键改变成了重置功能,这里主要考虑到几个按键配合修改程序参数及数据储存的复杂性。当程序组数变化较大时,直接按重置键则将所有分、秒、转速数据清空,重新设置。将1键改成了上一组,将2键改成了下一组,这样就可以摆脱原来两组程序的限定。
将程序编写完成烧写入芯片后,运行效果如图四,图五,图六所示。

阶段一

阶段二

阶段三
这样,混凝试验设备的DIY就圆满完成啦!!