摘要:数据采集系统的硬件系统是由电源、滑动变阻器、模数转换模块ADC0832、单片机、晶振电路、复位电路、移位寄存器74LS164、数码管、电平转换芯片MAX232、九针串口、按键等组成的。信号由电源和滑动变阻器分压得到,因为单片机只能接受数字信号,所以要将电压模拟量通过ADC0832转换成数字量,再由单片机对采集过来的数字量进行标度变换等操作。用74LS164对采集过来的数据进行静态显示。用按键设置显示的不同界面以及调节报警上限值,当采集的数据高于上限值时,系统便发出报警铃声。
关键词:电子仪表;数据采集;硬件
1 89C52单片机使用电路
⑴ 89C52时钟电路
时钟电路是计算机的心脏,它控制着计算机的工作节奏,可以通过提高时钟频率来提高CPU的速度。目前51系列单片机都采用CMOS工艺,准许的最高频率随型号而变化。89C52等CMOS型单片机内部有一个可控的反向放大器,引脚XTAL1、XTAL2为反向放大器的输入端和输出端,在XTAL1、XTAL2外接晶振(或陶瓷谐振器)和电容便组成振荡器。
现在流行的串行时钟电路很多,如DS1302、DS1307等。这些电路的接口简单、价格低廉、使用方便,被广泛地采用。实时时钟电路DS1302是DALLAS公司的一种具有涓细电流充电能力的电路,主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。89C52的时钟电路如图3-5所示。
图1 89C52时钟电路
在图1中,电容C1、C2的典型值为30pF±10pF(晶振)或40pF±10pF(陶瓷谐振器)。振荡器频率主要取决于晶振(或陶瓷谐振器)的频率,但必须小于器件所准许的最高频率,在本次试验中单片机晶振采用的是12MHz。
⑵复位和复位电路
计算机在启动运行时都需要复位,使CPU和其他部件都置为一个确定的初始状态,并从这个状态开始工作。89C52等CMOS 51系列单片机的复位引脚RST是史密特触发输入脚。当晶振起振以后,在RST引脚上输入2个机器周期以上的高电平,器件便进入复位状态,此时,ALE、PSEN、P0、P1、P2、P3输出高电平,RST上输入返回低电平以后,便退出复位状态开始工作。当Vcc的上升时间为10ms,振荡器的频率为12MHz,则复位电路中C的典型值为10μF,R为3~10kΩ。89C52单片机复位电路如图2所示。
.png)
图2 89C52复位电路
2 ADC0832数据采集电路设计
ADC0832数据转换器的主要功能是将外部模拟电信号转换成8位的数字量,在模拟时要为ADC0832设计一个模拟量输入电路,在我的设计里用的是一个滑动变阻器连接电源,通过改变滑动变阻器的阻值,从而改变输入ADC0832模拟量的电压输入。同时在proteus仿真的时候为输入添加一个电压表,与设计电路的显示相比较,可以清楚看出采集显示的相对误差。ADC0832模拟信号输入端有两个,这个设计我采用的是CH0,即将滑动变阻器与CH0相连接。VCC与GED引脚分别接电源与地,为转换器供电。DO与DI端口连在一起与单片机相连,实现单片机与ADC0832之间的数字量交换。CLK是转换器脉冲输入端,CS是使能端口,这两个端口分别与单片机的相应端口相接,实现对ADC0832转换器的控制,一方面控制单片机将控制信号送到转换器,另一方面控制单片机从转换器取得转换的数字量,进而对数字量进行下一步运算。ADC0832数据采集电路如图3所示。
.png)
图3 ADC0832数据采集电路
3 74LS164驱动数码管电路设计
74LS164是串入并出移位寄存器,在我的设计里我一次要显示四个数字,又根据下发硬件的条件,这里需要4个移位寄存器和4个LED数码显示管。每个寄存器与数码管一一对应,寄存器的最低位Q0与LED数码的最低位相对应。在本次设计中数码管采用的是共阴极显示管,将4四个数码管的使能端共同接地。共阴极数码管的结构如图4所示。
.png)
图4 共阴极数码管
74LS164移位寄存器将接受的第一个数据传送到Q0端,当寄存器接受第二个寄存器时,依然将数据送给Q0端,与此同时之前Q0端口的数据被挤给下一个端口Q1,一次类推,送满8次数据后,第一个移位寄存器的8个输出端口就都得到数据了,这8个端口与LED数码管的数据口相接就可以显示所要的数据。这只是一位数码管的显示,我们要显示4位数据,首先将4个寄存器的脉冲输入端连在单片机的同一个端口,其次将第一个寄存器的Q7输出端口连接在下一个寄存器的数据输入端DSA,当有数据输入时,在同一个脉冲作用下,第一个寄存器Q7端口的数据就会被挤到下一个寄存器的Q0输出口。以此类推,单片机给74LS164送28次数据后,4个寄存器就都有了数据,从而4个数码管就显示了相应的数字。74LS164移位寄存器驱动4位数码管流程如图5所示。
.png)
图5 74LS164移位寄存器驱动4位数码管
结束语:通过对电子仪表数据采集系统的硬件设计,使数据采集更具有实际应用价值。通过数据监控,自动读取数据并加以分析,可以进一步远程控制或设备维护,减少人力资源、缩短维护时间,节省建设成本。
参考文献:
[1]张明辉.单片机语言C51程序设计[M].北京:原子能出版社,2018.
[2]李雪峰.单片微型机原理[M].上海:复旦大学出版社,2017.