標題:
單片機步進電機控制程序-速度,轉(zhuǎn)角,方向,加了12864和按鍵的人機交互
[打印本頁]
作者:
sri13147
時間:
2016-11-29 19:53
標題:
單片機步進電機控制程序-速度,轉(zhuǎn)角,方向,加了12864和按鍵的人機交互
控制步進電機速度,轉(zhuǎn)角,方向,加了12864和按鍵的人機交互
0.png
(67.62 KB, 下載次數(shù): 54)
下載附件
2016-12-4 00:24 上傳
完整代碼下載:
步進電機控制.zip
(73.91 KB, 下載次數(shù): 60)
2016-11-29 19:52 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
部分代碼預(yù)覽:
#include <reg51.h>
#include <stdio.h>
#include "LCD_12864.h"
#include "Menu_Key_Scan.h"
#include "Init.h"
#include "Control.h"
extern unsigned char Start_Flag; //開始啟動標志
unsigned int Timer0_i=0;
unsigned char Flag_100ms=0; //100ms計時標志位
unsigned char Flag_s=0; //1s計時標志位
extern unsigned int angle_set;
extern unsigned int angle_measure;
void main()
{
Delay(100); //等待復(fù)位
LcmInit();
Init();
/***********************************初始化*******************************/
PutStr(1,0,"轉(zhuǎn)向: 順時針");
PutStr(1,0,"轉(zhuǎn)向: 順時針");
PutStr(2,0,"角度: 00°00'00'\0");
PutStr(2,0,"角度: 00°00'00'\0");
PutStr(0,0,"電機轉(zhuǎn)速:00r/min\0");
/***********************************初始化*******************************/
while(1)
{
while(!Start_Flag)
{
Key_Scan (); //鍵盤掃描,在未開始啟動電機的時候
}
EA=1; //開總中斷
TR0=1; //開定時器T0
TR1=1; //開計數(shù)器T1
Motor_Control(); //1ms執(zhí)行一次
if(Flag_100ms)
{
Code_Measure(); //編碼器100ms讀一次數(shù)
Flag_s++;
if(angle_set>=angle_measure)
{
Motor_Stop();
}
}
}
}
void Timer0(void) interrupt 1 using 3
{
Timer0_i++;
if(Timer0_i==100)
{
Flag_100ms=1;
Timer0_i=0;
}
}
復(fù)制代碼
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1