基于89c2051設(shè)計(jì)一個(gè)簡(jiǎn)單的激光雕刻機(jī)(帶C語(yǔ)言程序)
有人用廢舊光驅(qū)制作的激光雕刻機(jī),他們的驅(qū)動(dòng)板我不懂,我只知道51單片機(jī)的一些東西,于是就手頭的材料開(kāi)始了,先上驅(qū)動(dòng)板的原理圖
本文引用地址:http://butianyuan.cn/article/201710/365473.htm驅(qū)動(dòng)板中標(biāo)注的1,3腳接電腦并口的2,3腳為步進(jìn)驅(qū)動(dòng)信號(hào)。
驅(qū)動(dòng)板中標(biāo)注的2,4腳接電腦并口的6,7腳為步進(jìn)方向信號(hào)。
驅(qū)動(dòng)板中標(biāo)注的5,6,7,8腳接電機(jī)驅(qū)動(dòng)板控制一個(gè)軸的步進(jìn)電機(jī),9,10,11,12腳接電機(jī)驅(qū)動(dòng)板控制另一個(gè)軸的步進(jìn)電機(jī)。
電機(jī)驅(qū)動(dòng)板是從淘寶上給買(mǎi)的L9110 電機(jī)驅(qū)動(dòng)模塊
我用的雕刻軟件是Mach3,控制軟件用C51編寫(xiě)的。
傳一下控制軟件,很簡(jiǎn)單。
#include “at89x52.h”
void main(void)
{
unsigned int X[8] = {160,32,96,64,80,16,144,128 };//“定義步進(jìn)電機(jī)數(shù)組”
unsigned char a=0 ; //“定義數(shù)組下標(biāo)變量,變量必須是字符型變量! ”
unsigned int b; //“定義變量并賦值”
P3_1=1;
P3_0=1; //“確定P3.1 P3.0 為接受信號(hào)模式,P要大寫(xiě)??!”
while (1)
{
do
{
;
} while (P3_0==0); //“確認(rèn)是否有高電平信號(hào)”
for( [s:9]3_0==1; ); //“判斷是否是步進(jìn)脈沖信號(hào) ”
if (P3_1==1) //“確定正轉(zhuǎn)信號(hào),執(zhí)行正轉(zhuǎn)”
{ P1=X[a];
if(a《7) a++ ;
else a=0;
}
else if (P3_1==0) //“確認(rèn)反轉(zhuǎn)信號(hào),執(zhí)行反轉(zhuǎn) ”
{ if(a》0) a-- ;
else a=7;
P1=X[a];
}
for (b=0; b《750; b++);//“延時(shí)”
P1=0;
}
}
評(píng)論