|
控制步進(jìn)電機(jī)速度,轉(zhuǎn)角,方向,加了12864和按鍵的人機(jī)交互
0.png (67.62 KB, 下載次數(shù): 54)
下載附件
2016-12-4 00:24 上傳
完整代碼下載:
步進(jìn)電機(jī)控制.zip
(73.91 KB, 下載次數(shù): 60)
2016-11-29 19:52 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -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; //開始啟動(dòng)標(biāo)志
- unsigned int Timer0_i=0;
- unsigned char Flag_100ms=0; //100ms計(jì)時(shí)標(biāo)志位
- unsigned char Flag_s=0; //1s計(jì)時(shí)標(biāo)志位
- extern unsigned int angle_set;
- extern unsigned int angle_measure;
- void main()
- {
- Delay(100); //等待復(fù)位
- LcmInit();
- Init();
- /***********************************初始化*******************************/
- PutStr(1,0,"轉(zhuǎn)向: 順時(shí)針");
- PutStr(1,0,"轉(zhuǎn)向: 順時(shí)針");
- PutStr(2,0,"角度: 00°00'00'\0");
- PutStr(2,0,"角度: 00°00'00'\0");
- PutStr(0,0,"電機(jī)轉(zhuǎn)速:00r/min\0");
- /***********************************初始化*******************************/
- while(1)
- {
-
-
- while(!Start_Flag)
- {
- Key_Scan (); //鍵盤掃描,在未開始啟動(dòng)電機(jī)的時(shí)候
- }
- EA=1; //開總中斷
- TR0=1; //開定時(shí)器T0
- TR1=1; //開計(jì)數(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ù)制代碼
|
評(píng)分
-
查看全部評(píng)分
|