找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2508|回复: 8
收起左侧

制作个有反充功能的点焊机 单片机仿真演示程序!

[复制链接]
ID:216120 发表于 2022-1-20 20:28 | 显示全部楼层 |阅读模式
本帖最后由 qq88046220 于 2022-2-6 22:55 编辑

现在不能出门,做个多功能的点焊机+升压反充+汽车启动点焊时间根据大家用的单片机自行调试,充电可以自行用ADC检测开关EN脚也可以根据法拉电容容量改一下时间!仿真演示只写了一个延时程序!代码虽然有点乱,学习过程中至少实现了所需要的功能!自己过年学习了51黑论坛的各种帖子纯手工码的!
S1升压充电键,EN升压模块开关。 点焊机 反充启动器.zip (50.15 KB, 下载次数: 13)

电路图

电路图
回复

使用道具 举报

ID:857072 发表于 2022-1-20 23:37 来自手机 | 显示全部楼层
看到大堆的Delay_ms(9000);Delay_ms(2000);这要是能跑才怪了。
回复

使用道具 举报

ID:23606 发表于 2022-1-21 06:20 | 显示全部楼层
死循环的现象指的是哪些?
回复

使用道具 举报

ID:844772 发表于 2022-1-21 08:35 | 显示全部楼层
unsigned int mosi=3;//计数变量 把3改成0.
回复

使用道具 举报

ID:213173 发表于 2022-1-21 09:25 | 显示全部楼层
楼主这代码实在是不......。既然选定用STC15W408AS,建议增加点元件,用数码管显示电池电压、设置脉冲宽度。以便监测电池电量,任意选择点焊时长。并把调节数据保存在EEPROM中。
回复

使用道具 举报

ID:161164 发表于 2022-1-21 13:19 | 显示全部楼层
if(mosi==3)          //点焊模式
/**********************************************************/
        if(MODE==0)
        {
                Delay_ms(10);
                if(MODE==0)
                {
                mosi++;
                if(mosi==4)//<<<<<<<<<<<<<<<<<<改为4
                mosi=0;
        }
回复

使用道具 举报

ID:216120 发表于 2022-2-7 20:03 | 显示全部楼层
glinfei 发表于 2022-1-21 08:35
unsigned int mosi=3;//计数变量 把3改成0.

这个操作是正确的!改后就OK了!
回复

使用道具 举报

ID:216120 发表于 2022-2-7 20:05 | 显示全部楼层
wulin 发表于 2022-1-21 09:25
楼主这代码实在是不......。既然选定用STC15W408AS,建议增加点元件,用数码管显示电池电压、设置脉冲宽度 ...

参考了你的方法,申明了一个变量,设置变量值就实现了,多谢!
回复

使用道具 举报

ID:216120 发表于 2022-2-18 22:20 | 显示全部楼层
这前是这样写的LED流水:
                        LED1=1;LED2=1;LED3=1;LED4=1;delay(200);
                        LED1=0;LED2=1;LED3=1;LED4=1;delay(200);
                        LED1=0;LED2=0;LED3=1;LED4=1;delay(200);
                        LED1=0;LED2=0;LED3=0;LED4=1;delay(200);
                        LED1=0;LED2=0;LED3=0;LED4=0;delay(50);
                        LED1=1;LED2=1;LED3=1;LED4=1;delay(200);
                        LED1=0;LED2=1;LED3=1;LED4=1;delay(200);
                        LED1=0;LED2=0;LED3=1;LED4=1;delay(200);
                        LED1=0;LED2=0;LED3=0;LED4=1;delay(200);
                        LED1=0;LED2=0;LED3=0;LED4=0;delay(50);
                        LED1=1;LED2=1;LED3=1;LED4=1;delay(200);
                        LED1=0;LED2=1;LED3=1;LED4=1;delay(200);
                        LED1=0;LED2=0;LED3=1;LED4=1;delay(200);
                        LED1=0;LED2=0;LED3=0;LED4=1;delay(200);
                        LED1=0;LED2=0;LED3=0;LED4=0;delay(50);
                        LED1=1;LED2=1;LED3=1;LED4=1;delay(200);
                        LED1=0;LED2=1;LED3=1;LED4=1;delay(200);
                        LED1=0;LED2=0;LED3=1;LED4=1;delay(200);
                        LED1=0;LED2=0;LED3=0;LED4=1;delay(200);
                        LED1=0;LED2=0;LED3=0;LED4=0;delay(50);

找了个方法可以这样写:

void CHG_LED()       //LED子程序
{
        char aa;     //变量aa
                for(aa = 0; aa <= 10; aa ++)   //运行10次
                        {
                        LED1=1;LED2=1;LED3=1;LED4=1;delay(200);
                        LED1=0;LED2=1;LED3=1;LED4=1;delay(200);
                        LED1=0;LED2=0;LED3=1;LED4=1;delay(200);
                        LED1=0;LED2=0;LED3=0;LED4=1;delay(200);
                        LED1=0;LED2=0;LED3=0;LED4=0;delay(50);       
                        }
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表