设计硬件组成:
数控可调电压源系统
51单片机最小系统电路+数码管+TLC5615+稳压模块+LM358+TIP122+变压器设计而成。 ?
设计功能介绍:
1、采用数码管显示当前电压数值 2、通过变压器,经过整流桥,数模转换,稳压芯片给单片机处理,通过放大器线性输出电压。
3、输出电压稳定准确,范围为0V-10V,精度在0.05V左右。
? ? ? 输出电压稳定准确,范围为0V-15V,精度在0.05V左右。
? ? ? ?输出电压稳定准确,范围为0V-18V,精度在0.05V左右。
4、按键随意设置想要的输出电压,步进为0.1V。
配套资料提供:源代码+原理图+材料清单+仿真+开题报告+中期检查+万字word论文?
有想法可以私聊 硬件实物设计? 代码第一行有联系方式QQ,加我备注好来意
代码段:
/************************************************
**********QQ 2696472421***************************
*********时间 2022年4月6日 01:59:49*************/
void key_scan(void) //按键扫描函数。
{
unsigned int temp; //定义局部变量用于这个函数内
if(key_1 == 0) //如果第一个按键按下
{
delayms(10); //延时消抖
if(key_1 == 0) //如果第一个按键确实按下
{
key_count++; //按键状态变量加1
if(key_count == 1) //如果按键状态为1
{
LCDDispNum(8,2,(int)(outPut*10)%10); //刷新电流小数点后第一位
LCDCursor(); //LCD1602上显示光标,此时光标显示在小数点后第二位
}
if(key_count == 2) //如果按键状态为2
{
LCDDispChar(7,2,'.'); //在LCD1602上显示小数点
LCDCursor(); //LCD1602上显示光标,此时光标显示在小数点后第一位
}
if(key_count == 3) //如果按键状态为3
{
LCDDispChar(5,2,' '); //在LCD1602上显示空格
LCDCursor(); //LCD1602上显示光标,此时光标显示在小数点前一位
}
else if(key_count == 4) //如果按键状态为4,则设定完毕
{
key_count = 0; //清除按键状态标志位
LCDDispString(3,1,"Set Current"); //屏幕上显示设置电流
LCDDispNum(6,2,(int)(outPut)%10); //在LCD1602上将设置的电流显示出来
LCDDispChar(7,2,'.');
LCDDispNum(8,2,(int)(outPut*10)%10);
LCDDispNum(9,2,(int)(outPut*100)%10);
temp=outPut*1023/1.3087603256; //将设置好的电流转换后存储到temp变量中
tlc5615(temp); //将上一句得到的数据输入到TLC5615中输出
LCDNotCursor(); //取消光标显示
}
}
|