这个是学习单片机以后根据网上资料自己实践过了。可以完成简单的电源。附件含有程序和仿真图。
硬件:
1.单片机:AT89S52(12M,8K)
2.AD芯片:PCF8591(8位4路AD、1路DA)
3.时钟芯片:1302
以上直接用的mini80E升级版学习板的资源。
4.显示:无字库12864(带片选,就是那个5块的无负压的屏)
5.LM324 1路运放实现软件电压到实际电压的转换。
功能3种:
时间界面:
1.1302时钟(带电压表):显示时间、年月日、温度(板载热敏电阻),时间修正(每隔几个小时加减几秒)。
2.外接测试电压时,屏幕显示电压值。充电时,显示电池充电状态(电池动态图标)。
3.NEC红外解码,按下遥控器,显示数据码1秒左右后消失。
数控电源:
1.电压:0V~8V 分辨率0.1V
2.电流3档自动转换,1档:0~100mA,分辨率1mA。2档:100mA~1000mA,分辨率10mA。3档:1000mA~10000mA,分辨率100mA(实际因为采样电阻功率闲置,3A内,电流超出相应档位时,电源关闭)
3.限流模式:0~3A,分辨率1mA。
4.可在输出负和地之间可当电流表。
充电界面:
1.充电模式为限压恒流模式,小于截止电压,以恒流模式充电,到达截止电压停止充电(因为8位AD精度问题,没有做恒压阶段)
2.电压:0V~8V 分辨率0.1V
3.充电电流:0~3A,分辨率1mA (充电电压、电流在程序里和数控电源共用)
4.显示充入容量:0~9999mAh
5.显示充电时间:0~~99小时:59分钟
6.因为只有1路DA,在电池充电时,只能在时间界面和充电界面转换。
操作说明:
1.key1加键/界面切换键,key2减键,key3设置键,key4组合键。
2.在数控电源和充电界面设定时,单按+-键,每次+-1,按住key4,再按+1键,每次+-10.
3.在任何界面,且不设置时,按住key4,再按-键,打开或者关闭12864背光
4.在充电界面,按-键对充电时间、充入容量等数据清零。
5.上电默认时间界面,因为没有设计输出键,为了安全,电源界面和充电界面的所有设定值默认为0。
12864数控电源.rar
(36.5 KB)
|