欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 51單片機激光雕刻機制作 含易語言上位機源碼等資料 [打印本頁]

作者: onyloveonlyu    時間: 2018-1-20 22:51
標題: 51單片機激光雕刻機制作 含易語言上位機源碼等資料
剛剛注冊的論壇,純純的萌新。
習慣性的瀏覽論壇版塊中的精華帖子,看看到很多前輩大佬的作品。其中自己也做過一些差不多的項目,后悔當初沒來論壇學習下,走過不少彎路啊。
剛剛瀏覽到本版塊的時候看到
基于STM32的簡易激光雕刻機這個帖子。就像順路我也發一個吧
首先這個激光雕刻機是沒有實物了的,這是我大一的時候參加校內競賽做的。當然這種東西的水平是拿不到什么獎的啦。后來同學拿去玩把激光頭給燒了就直接把他分尸了。
幸虧我有保存些資料的習慣,不然真的尸骨無存了。
忘記當初為什么要做這個東西了,可能是為了后來的CNC雕刻機做的初代版本練手,具體原因我記不清了。
一共貌似用了一周左右的時間,使用的是STC89C52RC單片機,也是當時我唯一會的啦。XY軸電機使用拆機光驅,光驅來自實驗室古董臺式機,當時還拆了軟驅的很多人都沒見過軟驅了現在。
激光頭是后來才郵過來的,12V 500mW應該,反正很小。前面幾天測試使用的油筆芯畫圖的。
機架用的是文具店的A4板夾就是這個樣子的

我們記得是買了好幾個,用壁紙刀劃開,用膠槍拼成的機架
由于當時單片機水平垃圾,所以下位機沒有處理過多的程序。大部分的處理是通過上位機進行的。
上位機用的是易語言,話說這個也是第一次,當時找破jie就找了一天多。
還好是中文編程上手快。
上位機支持拖拽,可以轉換灰度圖。其他記不清了。
因為使用易語言寫的因此很可能或者說肯定360等安全軟件會報毒,但是放心吧各位,當初我那個水平是沒有能力的。源碼也會上傳大家自己修改編譯就好
當初也百度搜索下載了很多大神的文件上位機等,也一并上傳了。
等下。。。我看看還有啥
啊哈哈 這個后來去參加過博創杯,但是呢~并沒有完成參賽手續,學校的某些領導公務過于繁忙而忘記了給組委會交付一些文件
但是當初為博創杯準備的視頻還有。不過上傳視頻還得等待審核,只好等等啦
http://v.youku.com/v_show/id_XMzMzNjQ0MjczMg==.html

剛剛去重溫了下我佳哥的視頻,濃郁的非主流風格哈哈哈
由于時間倉促,后來沒有參加上比賽有些心灰意冷,這期間同學就給拆了。所以就沒有了后續版本。運動軌跡優化啥的都沒有做,現在是單純一行行的打點。諸位誰有空可以接著做
開發手冊
一、系統運行環境
       上位機軟件支持x86x64構架的Windows操作系統(98以上)
       上位機軟件屬于小型軟件不要求系統配置,windows運行環境即可運行。
       下位機自帶220v變壓電源,支持210~240v交流電源
二、系統配置
       將激光雕刻機通電、放置于水平穩定的平臺上,環境要求通風。
       打開上位機軟件,將激光雕刻機自帶的USB線連接,點擊上位機刷新按鈕,軟件會自動檢測使用的串口。(串口通訊需要計算機安裝CH340USB轉串口驅動,具體方法自行尋找)
       選擇打開的串口,點擊打開按鍵。點擊激光控制按鍵檢測連接是否正常。
       將需要打印的材料放置于激光頭下部,可以通過軟件設置中控制按鍵微調激光頭位置、激光軸移動速度等。
       選擇文字模式或圖片模式,也可以通過快捷鍵ctrl+M快速切換。
       圖片模式支持BMP等大多數圖片格式,用戶可以通過常規文件打開方式或快捷拖動到編輯區來添加圖片。
       文字模式下、用戶可以在編輯區中編輯、排版需要打印的內容。
三、說明
       更多功能說明請查看上位機軟件說明部分。
/*z地址定義
50 x+前進
51 x-
52 y+
53 y-
54/55 字寬
56 前進步
57 激光開關
58/59 激光強度
60 x軸速度
61 y軸速度
62 開始打印0,57
63 暫停
64 停止標志
65 bmp灰度圖標志位
100開始時灰度圖數據
*/

單片機下位機源程序如下:
  1. #include <reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. #define N z[60]           //X速度
  5. #define M z[61]           //Y速度
  6. //#define zil 54]*256+z[55]
  7. unsigned char code Z1[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}; // 正轉
  8. //unsigned char code F1[8]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01}; //反轉
  9. sbit jg=P2^0;
  10. sbit EN1=P2^7;
  11. sbit EN2=P2^6;
  12. sbit EN3=P2^5;
  13. sbit EN4=P2^4;
  14. sbit led=P2^1;//指示燈
  15. uchar xdata z[500]={0};//緩存
  16. uchar buff[3];//串口緩存
  17. uchar x1,x0,y1,y0,cont2=0;
  18. uchar xfb=4,yfb=4;//走步標志位
  19. uchar x,y,k,temp,t;//變量定義,有些沒有用
  20. char i,j;
  21. uint h=0,jiguang;
  22. void delayms(uint xms)                                
  23. {   
  24.         uint i,j;
  25.         for(i=xms;i>0;i--)                      //i=xms即延時約xms毫秒
  26.                 for(j=110;j>0;j--);
  27. }


  28. /**********************************************************************
  29. *                                                                                                                                          *
  30. *              步進電機驅動                                  *
  31. *                                                                                                                                          *
  32. ***********************************************************************/

  33. /********x方向正轉***********/
  34. void  motor_fxw(uint flag)                 
  35. {
  36.          while(1)
  37.          {
  38.     P0=Z1[i];
  39.                 delayms(N);
  40.                 flag--;
  41.           i++;
  42.           if(i>7)
  43.                         i=0;
  44.                 if(flag==0)
  45.                         break;
  46.          }
  47. }

  48. /********x方向逆轉***********/
  49. void  motor_fxz(uint flag)                 
  50. {
  51.     while(1)
  52.          {
  53.     P0=Z1[i];
  54.                 delayms(N);
  55.                 flag--;
  56.           i--;
  57.           if(i<0)
  58.                         i=7;
  59.                 if(flag==0)
  60.                         break;
  61.          }
  62. }

  63. /********y方向正轉***********/
  64. void  motor_fyw(uint flag)                 
  65. {
  66.     while(1)
  67.          {
  68.     P1=Z1[j];
  69.           delayms(M);
  70.                 flag--;
  71.           j++;
  72.           if(j>7)
  73.                         j=0;
  74.                 if(flag==0)
  75.                         break;
  76.          }
  77. }

  78. /********y方向逆轉***********/
  79. void  motor_fyz(uint flag)                 
  80. {
  81.      while(1)
  82.          {
  83.     P1=Z1[j];
  84.                 delayms(M);
  85.                 flag--;
  86.           j--;
  87.           if(j<0)
  88.                         j=7;
  89.                 if(flag==0)
  90.                         break;
  91.          }
  92. }
  93. /*****************打點完畢激光移至原點****************************/
  94. void huanyuan(uint zix,uint ziy)
  95. {
  96.           while(1)
  97.                   motor_fxz(zix);
  98.           while(1)
  99.                   motor_fyz(ziy);        
  100. }


  101. void dazi(uint zik,uchar bu)//打印函數                  
  102. {
  103.    uint x;
  104.         uint s;
  105.                 jg=1;

  106.                         for(x=0;x<zik;x++)     //執行zik個循環,x軸右移zik步
  107.                         {
  108.                           while(z[63]);//暫停等待
  109.                                 if(z[64]==1) break;//停止標志 跳出循環
  110.                                 s=z[99+x]*(z[58]*256+z[59])/100;        
  111.                           jg=0;//開激光
  112.                                 delayms(s);
  113.                             jg=1;                //關閉激光
  114. //                 if(y%2==0)
  115.                       motor_fxw(1);                         //x軸前進一步
  116. //                        else
  117. //                                         motor_fxz(1);                         //x軸后退一步
  118.                         }
  119.                      if(z[64]==1)    z[64]=0; //停止標志 跳出循環
  120.                      else                        //y軸進一行
  121.                                  {
  122.                                         y++;
  123.                                  motor_fxz(zik);
  124.                            motor_fyw(1);               
  125.                                          }
  126. //                if(y==zil)
  127. //                {               
  128. //                        huanyuan(zik,ziy);
  129. //                }                        
  130. }


  131. /* 串口配置函數,baud-通信波特率 */
  132. void ConfigUART(unsigned int baud)
  133. {
  134.     SCON  = 0x50;  //配置串口為模式1
  135.     TMOD &= 0x0F;  //清零T1的控制位
  136.     TMOD |= 0x20;  //配置T1為模式2
  137.     TH1 = 256 - (11059200/12/32)/baud;  //計算T1重載值
  138.     TL1 = TH1;     //初值等于重載值
  139.     ET1 = 0;       //禁止T1中斷
  140.     ES  = 1;       //使能串口中斷
  141.     TR1 = 1;       //啟動T1
  142. }


  143. void chuanlo() interrupt 4
  144. {
  145.   if(RI)
  146.   {
  147.    
  148.      buff[cont2]=SBUF;//每次3字節,地址高,地址低,數據,,
  149.            cont2++;
  150.      if(cont2==3)//每收3個字節,把數據寫入地址中
  151.            {
  152.             z[(buff[0]*256)+buff[1]]=buff[2];
  153.                   cont2=0;
  154.            }
  155.          RI=0;
  156.   }
  157. }

  158. main()
  159. {  
  160.    EA=1;
  161.    P0=0xff;
  162.   ConfigUART(9600)        ;
  163.         z[60]=15;//默認的參數
  164.         z[61]=50;
  165.         z[56]=1;
  166.         z[62]=0;
  167.         jg=1;
  168.         cont2=0;
  169.           EN1=1;
  170.           EN2=1;
  171.           EN3=1;
  172.           EN4=1;
  173.           y=0;
  174.           i=0;
  175.           j=0;
  176.           t=1;
  177. //        z[54]=0;
  178. //        z[55]=44;
  179. //        z[60]=50;
  180. //        z[61]=50;

  181.    while(1)
  182.    {
  183.     if(z[57]==100){jg=0;}//上位機指令處理,開關激光               
  184.         if(z[57]==0) {jg=1;}
  185. ////         //if(z[57]==100){jg=~jg;z[57]=0;}
  186. ////          if(cont2!=0) led=1;  else led=0;//指示通信是否可用  
  187. ////         // if(cont2!=0) led=0;  else led=1;
  188.     if(z[50]>0){motor_fxw(t);z[50]=0;}   //x軸前進一步
  189.           if(z[51]>0){motor_fxz(t);z[51]=0;}
  190.           if(z[52]>0){motor_fyz(t);z[52]=0;}
  191.           if(z[53]>0){motor_fyw(t);z[53]=0;}


  192.      if(z[62])//開始打印標志
  193.           {
  194.             dazi(z[54]*256+z[55],z[56]);
  195.                 z[62]=0;//一行打印完成
  196.                 SBUF=1;//發送信息,表示打印完成
  197.           while(!TI);
  198.                 TI=0;
  199.           }
  200.    
  201.   }


  202. }
復制代碼


所有資料51hei提供下載:
各版本上位機.zip (3.93 MB, 下載次數: 881)



作者: onyloveonlyu    時間: 2018-1-21 00:39
剛要睡覺就被通知審核通過了,趕快用手機查了一下。然后發現登陸的賬號并沒有帖子。好奇怪啊。趕快起來開電腦看一眼。我的天應該有兩個賬號了,名字差了一個字母。上次注冊之后沒有怎么登陸,賬號密碼記憶有點混淆了,今天逛論壇以為自己沒有賬號就注冊了,然后一直沒有發覺自己用戶名打錯了啊啊啊
真是不開心的一天。
樓上說要把全部相關資料共享的,之前百度云上傳需要一些時間就直接發表。剛剛百度云上傳好了。
鏈接:pan點baidu點com/s/1brffs67 (注意點替換一下.)密碼:saht
網絡上面下載的,看過但是沒有驗證過可靠性。既然是網絡搜集的,相信原作者不會反對我發出來的。
好啦,郁悶ing睡覺取
作者: sam0528    時間: 2018-2-1 20:50
不錯,謝謝分享!!!
作者: ftfsvtt3    時間: 2018-2-7 19:05
好好學習
作者: qjzyx    時間: 2018-2-7 22:49
謝謝分享
作者: lvlv99    時間: 2018-3-2 16:07
DIY樂趣,
作者: creator    時間: 2018-3-3 23:25
謝謝分享
作者: 愛喝奶的小孩子    時間: 2018-3-8 21:17
這個是,,上位機把圖形轉換成G代碼,然后傳給下位機,下位機再解析G代碼控制步進電機嗎
作者: 大角哥    時間: 2018-3-9 19:57
有原理圖沒有啊?

作者: pmsjzj    時間: 2018-3-30 15:53
共享資料的黑幣獎勵!
作者: vvv64    時間: 2018-4-4 14:20
,謝謝分享!!!
作者: l630034911    時間: 2018-5-4 11:08
很好很不錯,樓主威武
作者: TSY666    時間: 2018-5-15 15:30
樓主無私,感謝!
作者: 塵莫央    時間: 2018-5-16 14:40

樓主無私,感謝!
作者: zangchao    時間: 2018-5-25 22:00
學習學習,真好
作者: yaoyl2010    時間: 2018-5-28 22:13
謝謝樓主,試著和單片機連接了一下,通信正常,剩下就買備件了
作者: dragonman    時間: 2018-6-18 14:41
學習中,謝謝分享
作者: 九頭鳥    時間: 2018-7-14 17:09
謝謝樓主的分享
作者: hefeng898961    時間: 2018-8-2 16:05
感謝分享
作者: qxdqx    時間: 2018-8-25 07:42
太好啦!謝謝!
作者: mohoxo    時間: 2018-8-25 11:36
你好。我想請教一下,有沒辦法用Arduino開發出二氧化碳激光管的雕刻機,
作者: a1377361899    時間: 2018-9-8 23:46
很好的i東西哦 收下了 謝了
作者: rs7cai    時間: 2018-9-9 09:28
謝謝樓主的分享
作者: szzxl10    時間: 2018-9-11 13:58
謝謝分享!!!
作者: gonglizhiming    時間: 2018-9-24 09:23
謝謝分享
作者: lbewan    時間: 2018-10-3 17:06
109行的bu參數是干什么的?
作者: Drise    時間: 2018-10-4 20:34
謝謝分享
作者: govox    時間: 2018-11-11 16:17
是不是還要有電路圖呀
作者: aking991    時間: 2018-11-14 13:29
謝謝分享,學習一下
作者: wan0215    時間: 2018-11-15 08:36
學習下
作者: 名叫兔子的喵    時間: 2018-11-15 11:14
找資料 慢慢學
作者: 調皮貓    時間: 2018-11-28 14:28
很想自己做個玩玩,先學習一下。
作者: dmmcu    時間: 2018-12-2 10:53

不錯,謝謝分享!!!
作者: zxcvbnm12345    時間: 2018-12-21 21:34
感謝分享
作者: boyihu    時間: 2019-1-22 19:53
請問樓主,我想用易語言編寫個馬林3d打印機的上位機,發什么代碼過去馬林固件都重啟,不知道應該用什么格式的數據發送.郁悶中.
作者: supper戰    時間: 2019-2-9 22:47
厲害厲害,很不錯
作者: df812244658    時間: 2019-2-22 16:36
剛來不知道怎么下載
作者: zwk34    時間: 2019-4-1 22:21
謝謝分享。
作者: laoying45    時間: 2019-4-2 22:29

謝謝分享。
作者: zhao9988    時間: 2019-4-10 08:14
請問樓主,上位機用的什么軟件呀?謝謝
作者: 梁業業    時間: 2019-4-30 01:16
源碼怎么打不開啊
作者: 15890783142    時間: 2019-5-10 20:16
為什么我的上位機連不上單片機
作者: xfriend360    時間: 2019-5-15 12:18
剛注冊來學習的.
作者: 為什么11    時間: 2019-5-17 09:49
這個好像蠻好的
作者: berlin235    時間: 2019-5-17 10:22
謝謝分享
作者: qinbaba    時間: 2019-10-16 12:54
謝謝樓主分享,十分感謝!
作者: impkq    時間: 2019-10-20 09:00
謝謝樓主分享,十分感謝!
作者: q131300    時間: 2019-12-4 17:23
好專業呀
作者: tieq1952    時間: 2019-12-7 07:16
謝謝分享!!!
作者: xmch    時間: 2020-2-10 19:17
不管怎樣,先感謝。
作者: 啊哈哈哈啊哈    時間: 2020-2-12 16:19
一直在學習,正在實驗中。
作者: zhwcok    時間: 2020-3-19 23:47
來的比較晚希望東西還在
作者: qxuem    時間: 2020-4-4 11:55
樓主。還有在這個論壇嗎
作者: lsptzx01    時間: 2020-4-15 20:53
謝謝 下載研究研究啊
作者: 我愛逗腐乳    時間: 2020-5-21 17:35
感謝分享,學習一下
作者: chen3220    時間: 2020-7-25 09:38
感謝分享,正在學習上位機編程,很有幫助
作者: x109698142    時間: 2020-7-26 10:45

感謝分享,正在學習上位機編程,很有幫助
作者: shftest    時間: 2020-9-23 19:43
好牛 ,終于找到我想要的東西了,感謝!
作者: wosiboos    時間: 2020-10-6 23:00
您很聰明.知道有易語言來編程,中國人的軟件易學易會.祝你在成功的路上越走越遠.
作者: jjww748    時間: 2020-11-10 23:40
易語言強了!~
作者: qzyhlf    時間: 2021-12-10 16:36
好資料,51黑有你更精彩!!!
作者: wangmengxu    時間: 2022-11-21 09:55
onyloveonlyu 發表于 2018-1-21 00:39
剛要睡覺就被通知審核通過了,趕快用手機查了一下。然后發現登陸的賬號并沒有帖子。好奇怪啊。趕快起來開電 ...

已經被取消了,咋回事

作者: xucy    時間: 2023-7-26 11:27
好資料,51黑有你更精彩!!!




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1