昨晚构思今天开工又做了一个用单片机控制的 又废了好大劲焊接编程调试 终于可以正常使用了 调试过程中把18650侧面点漏了 吓得我赶紧把它扔了
新做的不需要按键启动 只要电焊笔两个触点连接到一起600毫秒或1300毫秒就会自动启动点焊 焊接时间可切换成 80毫秒 90毫秒 100毫秒 110毫秒 120毫秒 用手同时触摸两个焊笔触点也会启动点焊
第一次使用通电前按住P3.2不放 程序会自动把预置的数据写入单片机内部存储区
平时调整焊接的等待时间和焊接时间会自动存在单片机内部 下次通电自动调用
P3.3切换焊接时间 LED闪烁 焊接时间分5个等级1级(80毫秒)LED闪一下 5级(120毫秒)LED闪五下 LED焊接时亮焊接完灭
P3.2切换焊接前等待时间 蜂鸣器响一声600毫秒 响两声1300毫秒
P3.0通过NPN三极管检测焊笔是否短接 代替按键启动
P3.1输出高电位开启点焊
P3.4 LED指示
P3.5 接PNP三极管控制 蜂鸣器 焊接完蜂鸣器响
场管是电动车控制器里的
电路图很简单 看实物看程序就能推导出来 我就不画电路图了
; STC15F104E STC15F104W 频率默认11.0592; ;---------------------- ISP_DATA EQU 0C2H ;定义EEPROM相关寄存器 ISP_ADDRH EQU 0C3H ;此类寄存器地址需参考所用单片机的手册来设置 ISP_ADDRL EQU 0C4H ; ISP_CMD EQU 0C5H ISP_TRIG EQU 0C6H ISP_CONTR EQU 0C7H ;---------------------- EN BIT P3.0; 检测启动 OUT BIT P3.1; 控制输出 KEY1 BIT P3.3; 按键1 焊接时间切换 80MS 90MS 100MS 110MS 120MS KEY2 BIT P3.2; 按键2 启动焊接前等待时间切换 300MS+300MS 或 300MS+1000MS LED BIT P3.4; 接通指示 BZ BIT P3.5; 蜂鸣器 完成提示音 DAT1 EQU 00H; 启动延时存放 DAT2 EQU 01H; 焊接延时存放 MOV DAT1,#1; 预置启动延时 MOV DAT2,#1; 预置焊接延时 QD EQU 10H; 启动 HJ EQU 11H; 焊接 SETB LED; SETB BZ; SETB KEY1; SETB KEY2; CLR OUT; SETB EN; ;=============================================== JNB KEY2,EEPROMW_0 ; 首次使用通电前按住不放 把预置的数据写入内部存储 LJMP YZ1; ;写入预置数据 EEPROMW_0: LCALL ERASE MOV DPTR,#00H ;第1扇区 MOV A,DAT1; ACALL EEPROMW ;写一字节 MOV DPTR,#100H ;第2扇区 MOV A,DAT2; ACALL EEPROMW ;写一字节 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;读内部存储数据 YZ1: MOV DPTR,#00H ;第1扇区起始地址;存入新键值 LCALL EEPROMR ;读 MOV QD,A; MOV DPTR,#100H ;第1扇区起始地址;存入新键值 LCALL EEPROMR ; MOV HJ,A;
复制代码下图是以前做的和现在做的对比