系统利用STC12C5A32S2用其自带的8路AD、2路PWM 来实现数控电源的控制部分和信息的采集部分, P0到P4个IO4实现数据的显示部分,既可以作为数控稳压电源使用又可以做数字钟和闹钟,既可以用数码管显示又可以1602液晶显示。其实充分利用 STC12C5A32S2自带的8路AD、2路PWM完全可以实现全自动充电的多功能数字钟,单片机既可以来显示数字钟,又可以对电池进行充电,电池给单片机供电,当电池没电时,系统自动充电,可是最后由于硬件的原因没有完成,但是当时进行数字钟改进时的一个思想。
单片机部分主要是用来控制系统的运行,采集电压和通过PWM给充电器提供一个基准电压,利用内置AD对电源输出的电压,电流进行检测,单片机控制1602液晶进行显示,控制数码管进行数码管显示,控制按键对各个界面进行切换,蜂鸣器用来实现报警,闹钟时间到了就进行蜂鸣器报警。显示部分分为两种,1602液晶显示和数码管显示,数码管可以显示电压值和电流值,时间,闹钟。按键用来切换数码管显示不同的界面。
系统的硬件部分:
一、电源(模拟)部分
图2 电源仿真图
通过此电路,将电源电压稳定在5V,此时取的基准点位3.6V,当输出电压高于7.2V时,这时,U1:A的反向端电压会高于3.6V,这时输出会减小,从而使输出电压减小,反之,当输出电压偏小时,使输出电压增大。通过调节基准电压,可以实现电源电压可变,本系统就是利用这一原理对电池进行充电。对于电流取样,就好比B3位电池,R4是一个比较小的电阻,对电路的影响不大,当对电阻两端的电压进行采样之后,在除以电阻就可以算出其流过电池的电流,对于电池两端的电压取样,利用的是R7和R8,采集R7两端的电压U7,则u=U7/R7*(R7+R8),对于电流的采集,利用的是同向比例放大器,取样电阻选择的是0.2欧姆,当电压放大五倍时正好采集到的电压值等于电流的值,不过仿真和实际的电路会有区别。