数控可调电压源系统
51单片机最小系统电路 数码管 TLC5615 稳压模块 LM358 TIP122 由变压器设计而成。
1.使用数字管显示当前电压值 2.通过放大器线性输出电压,通过变压器、整流桥、数模转换、稳压芯片进行单片机处理。
3、
4.按钮可以随意设置所需的输出电压,步进0.1V。
/************************************************ **********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)); ///刷新电流小数点后第一位 LCDCursor(); //LCD光标显示在1602上,此时,光标显示在小数点后的第二位 } if(key_count == 2) //如果按钮状态为2 { LCDDispChar(7,2,'.'); //在LCD小数点显示在1602上 LCDCursor(); //LCD1602上显示光标,此时,光标显示在小数点后的第一位 } if(key_count == 3) //如果按钮状态为3 { LCDDispChar(5,2,' '); //在LCD1602上显示空格 LCDCursor(); //LCD光标显示在1602上,此时,光标显示在小数点前 } else if(key_count == 4) ///如果按钮状态为4,则设置完毕 { key_count = 0; // LCDDispString(3,1,"Set Current"); ///设置电流显示在屏幕上 LCDDispNum(6,2,(int)(outPut)); //在LCD显示1602上设置的电流 LCDDispChar(7,2,'.'); LCDDispNum(8,2,(int)(outPut*10)); LCDDispNum(9,2,(int)(outPut*100)); temp=outPut*1023/1.3087603256; ///将设定的电流转换后存储temp变量中 tlc5615(temp); ///输入上一句得到的数据TLC5615中输出 LCDNotCursor(); ///取消光标显示 } }