|
自己制作了一個點焊機,程序雖然是入門級別的,但是動手親自制作就是不一樣了。感覺跟學習的不一樣,具體制作起來有很多問題。又沒有人問一步一步的摸索著過河。很有成就感,點焊機制作時沒照片,后面有時間就補上。先發個代碼,有需要的可以下載,后期學習一下仿真,看自己會不會做。
免費共享了
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.jpg (79.47 KB, 下載次數: 147)
下載附件
2018-9-25 00:06 上傳
單片機源程序:
- #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。跟大神的作品沒法比,適合初學喜歡折騰的,焊接八寶粥筒沒問題。
|
-
-
點焊機程序仿真.zip
2018-9-24 22:12 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
160.34 KB, 下載次數: 99, 下載積分: 黑幣 -5
評分
-
查看全部評分
|