|
自己制作了一个点焊机,程序虽然是入门级别的,但是动手亲自制作就是不一样了。感觉跟学习的不一样,具体制作起来有很多问题。又没有人问一步一步的摸索着过河。很有成就感,点焊机制作时没照片,后面有时间就补上。先发个代码,有需要的可以下载,后期学习一下仿真,看自己会不会做。
免费共享了
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序:
- #include "reg51.h" //此文件中定义了单片机的一些特殊功能寄存器
- typedef unsigned int u16; //对数据类型进行声明定义
- typedef unsigned char u8; //对数据类型进行声明定义
- sbit led1=P3^2; //将单片机的P3.2端口定义为数码管1公共阴极
- sbit led2=P3^3; //将单片机的P3.3端口定义为数码管2公共阴极
- sbit led3=P3^4; //将单片机的P3.4端口定义为数码管3公共阴极
- sbit led4=P3^5; //将单片机的P3.5端口定义为数码管4公共阴极
- sbit k1=P3^0; //档位功能键
- sbit k2=P3^1; //手控功能键
- sbit out=P3^7; //输出
- u8 code LED_CODE[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
- 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//显示0~F的值
- void delay(u16 x)
- {
- u16 i,j;
- for(i = x; i > 0; i --)
- for(j = 110; j > 0; j --);
- }
- void main()
- {
- u8 i = 1;
- out=1;
- led4=0;
- while(1)
- {
- P1 = LED_CODE[i];
- if(k1==0)
- {
- delay(5);
- if(k1==0)
- {
- while(!k1) //档位功能0-9
- delay(5);
- P1 = LED_CODE[i];
- i = (i + 1) % 10;
- delay(10);
- }
- }
- if(k2==0)
- {
- delay(5);
- if(k2==0)
- {
- while(!k2)
- delay(5);
- out=0;
- delay(i*300);//手控输出延时
- out=1;
- }
- }
- /* if(k3==0)
- {
- delay(5);
- if(k3==0)
- {
- while(!k3)
- delay(5);
- out=0;
- delay(i*500);//脚蹋输出延时
- out=1;
- }
- }*/
- }
- }
复制代码
完善后的程序及仿真,没有太多复杂的功能,满足自己DIY足够用了变压器用的微波炉800e。跟大神的作品没法比,适合初学喜欢折腾的,焊接八宝粥筒没问题。
|
评分
-
查看全部评分
|