資源簡介
步進電機大打包,介紹步進電機的原理,調試方法。。。。。

代碼片段和文件信息
#include?
#define?uint?unsigned?int;
#define?uchar?unsigned?char
//以下定義LED片選信號
sbit?LED_1?=?P3^0;?
sbit?LED_2?=?P3^1;
sbit?LED_3?=?P1^6;
sbit?LED_4?=?P1^7;
//以下定義M1驅動信號
sbit?M1_1??=?P2^0;
sbit?M1_2??=?P2^1;
sbit?M1_3??=?P2^2;
sbit?M1_4??=?P2^3;
//以下定義M2驅動信號
sbit?M2_1??=?P2^4;
sbit?M2_2??=?P2^5;
sbit?M2_3??=?P2^6;
sbit?M2_4??=?P2^7;
//以下定義M3驅動信號
sbit?M3_1??=?P3^4;
sbit?M3_2??=?P3^5;
sbit?M3_3??=?P3^6;
sbit?M3_4??=?P3^7;
//定義輸入按鍵的序號
sbit?K_1?=?P1^0;
sbit?K_2?=?P1^1;
sbit?K_3?=?P1^2;
sbit?K_4?=?P1^3;
sbit?K_5?=?P1^4;
sbit?K_6?=?P1^5;
//以下定義共陰極LED的顯示代碼,0~9
uchar?code?tab[10]?=?
{ 0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f };
//以下定義電機正轉代碼
uchar?code?zheng[9]?=
{ 0x000x030x020x060x040x0c0x080x090x01??};
//以下定義電機反轉代碼
uchar?code?fan[9]???=
{ 0x010x090x080x0c0x040x060x020x030x00??};
//下面定義全局變量
uchar?m1_zheng? =?0;//主軸正轉,用1表示停止用0表示
uchar?m1_zheng_val??? =?0;//正轉的步進
uchar?m1_fan??? =?0;//主軸反轉用2表示,停止用0表示
uchar?m1_fan_val??? =?0;//反轉步進
uchar?m2_mode?? =?0;//m2狀態?X軸增加時用0,遞減時用1
uchar?m2_zheng_val????? =?0;//m2?X軸遞增時的位置?
uchar?m2_fan_val????????=?0;//m2?X軸遞減時的位置?
uchar?m2_pre_mode???????=?0;//存儲m2前一次的狀態,遞增為0,遞減為1
uchar?m3_mode?? =?0;//m3狀態?Y軸增加時用0,遞減時用1
uchar?m3_zheng_val????? =?0;//m3?Y軸遞增時的位置
uchar?m3_fan_val =?0;//m3?Y軸遞減時的位置?
uchar?m3_pre_mode =?0;//存儲m3前一次的狀態,遞增為0,遞減為1
uchar?inc_dec?? =?0;//遞增為0,遞減為1
uchar?choose_motor? =?0;//電機驅動選擇,1為驅動M1,2為驅動M2,3為驅動M3
//下面是?函數聲明
extern?void?delay(uchar?time);//延時程序
void?init_cpu(void);//初始化51單片機
void?led_show(void);//LED顯示程序
void?int0_isr();//中斷處理程序
void?motor_driver();//電機控制程序
void?key_1();//KEY_1處理程序,既主軸正轉程序
void?key_2();//主軸反轉程序
void?key_3();//M2處理程序,既X軸電機
void?key_4();//M3處理程序,既Y軸電機
void?key_5();//設置X軸或Y軸位置遞增或遞減程序
void?key_6();//未定義,留待功能擴展
//主函數開始
void?main()
{
init_cpu();//初始化單片機
while(1)
{
led_show();?//顯示當前電機狀態
}
}
void?init_cpu()
{
EA??=?0;//關所有中斷
IT0?=?0;//下降沿觸發
EX0?=?1;//允許INT0中斷
EA??=?1;//開所有中斷
}
void?led_show()
{
uchar?i;
LED_1?=?0;//顯示第一個LED,既M1的狀態
if(m1_zheng?==?1)?//如果是正傳,i?=?1
i?=?1;
else?if?(m1_fan?==?2)//如果是反轉,i?=?2
i?=?2;
?? ?else
? i?=?0;???????//如果是停止i?=?0
P0????=?tab[i];
delay(20);//延時20ms
LED_1?=?1;
LED_2?=?0;//顯示第二個LED,既M2的狀態
i?????=?m2_mode;
P0 ??=?tab[i];
delay(20);//延時20ms
LED_2?=?1;
LED_3?=?0;//顯示第三個LED,既M3的狀態
i?????=?m3_mode;
P0????=?tab[i];
delay(20);
LED_3?=?1;
}
void?int0_isr()?interrupt?0?using?0
{ EX0?=?0;
K_1?=?1;//讀數前先置1
if?(K_1?==?0)?key_1();//key_1按下,則調用key_1()
K_2?=?1;//讀數前先置1
if?(K_2?==?0)?key_2();//key_2按下,則調用key_2()
K_3?=?1;//讀數前先置1
if?(K_3?==?0)?key_3();//key_3按下,則調用key_3()
K_4?=?1;//讀數前先置1
if?(K_4?==?0)?key_4();//key_4按下,則調用key_4()
K_1?=?1;//讀數前先置1
if?(K_5?==?0)?key_5();//key_5按下,則調用key_5()
K_6?=?1;//讀數前先置1
if?(K_6?==?0)?key_6();//key_6按下,則調用key_6()
EX0?=?1;
}
void?key_1()
{
m1_zheng?=?1;//表示主軸正轉
m1_fan???=?0;//清除反轉標志
while(?K
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????65769??2008-10-08?22:59??步進電機\19227_1_0802013116.gif
?????文件??????92234??2008-10-08?22:39??步進電機\2008-10-08_223909.jpg
?????文件?????270336??2008-11-10?14:42??步進電機\51單片機控制四相步進電機(詳細).doc
?????文件??????87040??2008-08-30?12:57??步進電機\51單片機驅動步進電機電路及程序.doc
?????文件??????10726??2008-10-08?22:55??步進電機\armok01149983.GIF
?????文件??????12439??2008-10-08?22:59??步進電機\image009.jpg
?????文件??????12917??2008-10-08?22:59??步進電機\image013.jpg
?????文件???????2363??2008-10-08?22:59??步進電機\image015.gif
?????文件?????131969??2008-04-03?23:52??步進電機\一種步進電機驅動控制方案的實現.pdf
?????文件??????71168??2008-07-07?20:46??步進電機\典型驅動原理圖.doc
?????文件?????146753??2008-04-03?23:50??步進電機\單片機在步進電機驅動控制中的應用.pdf
?????文件?????130395??2008-06-13?14:49??步進電機\單片機控制步進電機.pdf
?????文件?????143872??2008-08-23?15:47??步進電機\單片機控制步進電機驅動器工作原理.doc
?????文件??????39936??2008-10-01?23:07??步進電機\四相?.doc
?????文件?????108433??2008-04-03?23:50??步進電機\基于功率放大器的步進電機驅動控制.pdf
?????文件?????131072??2008-07-07?23:32??步進電機\基于單片機的步進電機開環控制系統設計.doc
?????文件?????232193??2008-08-20?15:58??步進電機\基于的兩相步進電機驅動器.pdf
?????文件?????284870??2008-07-07?20:45??步進電機\步進電動機高精度細分方法及其控制系統.PDF
?????文件??????29184??2008-07-07?23:04??步進電機\步進電機參考程序框架.doc
?????文件????6027846??2008-08-25?11:24??步進電機\步進電機及其驅動控制系統.pdf
?????文件??????91648??2008-07-07?20:45??步進電機\步進電機基本原理.doc
?????文件???????6631??2008-08-30?12:51??步進電機\步進電機常見問題.txt
?????文件??????23040??2008-07-08?12:33??步進電機\步進電機的選用計算方法.doc
?????文件?????257921??2008-07-10?16:10??步進電機\步進電機程序控制.pdf
?????文件?????109614??2008-04-03?23:50??步進電機\步進電機驅動器的設計與實現.pdf
?????文件?????187588??2009-09-23?23:02??步進電機\儀表步進馬達驅動芯片VID66-08.pdf
?????文件?????898426??2009-08-21?10:20??步進電機\TA8435H1.pdf
?????文件?????576342??2009-08-21?10:21??步進電機\TA8435H+Datasheet.pdf
?????文件?????136611??2009-08-21?10:20??步進電機\TA8435H+Testing+Board.SCHDOC
?????文件?????927700??2009-07-14?10:28??步進電機\電機\ta8435h中文資料.pdf
............此處省略46個文件信息
評論
共有 條評論