📄 步进电机.lst
字号:
C51 COMPILER V7.06 步进_缁_ 08/07/2009 08:04:53 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE 步进_缁_
OBJECT MODULE PLACED IN 步进电机.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE 步进电机.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /*-----------------------------------------------
2 名称:步进电机
3 公司:上海浩豚电子科技有限公司
4 网站:www.doflye.cn
5 编写:师访
6 日期:2009.5
7 修改:无
8 内容:1、本程序用于测试4相步进电机常规驱动
9 2、需要用跳帽或者杜邦线把信号输出端和对应的步进电机信号输入端连接起来
10 3、速度不可以调节的过快,不然就没有力矩转动了
11 4、按s4(设置成独立按键模式)可以控制正反转
12 ------------------------------------------------*/
13
14 #include <reg52.h>
15
16 unsigned char Flag;//定义正反转和停止标志位
17 sbit KEY = P3^3;
18
19
20 unsigned char code F_Rotation[4]={0xf1,0xf2,0xf4,0xf8}; //正转表格
21 unsigned char code B_Rotation[4]={0xf8,0xf4,0xf2,0xf1}; //反转表格
22 /******************************************************************/
23 /* 延时函数 */
24 /******************************************************************/
25 void Delay(unsigned int i)//延时
26 {
27 1 while(--i);
28 1 }
29 /******************************************************************/
30 /* 主函数 */
31 /******************************************************************/
32 main()
33 {
34 1
35 1 unsigned char i;
36 1
37 1
38 1 EX1=1; //外部中断0开
39 1 IT1=1; //边沿触发
40 1 EA=1; //全局中断开
41 1
42 1 while(Flag==0)
43 1 {
44 2 P0=0x71;//显示 F 标示正转
45 2 for(i=0;i<4;i++) //4相
46 2 {
47 3 P1=F_Rotation[i]; //输出对应的相 可以自行换成反转表格
48 3 Delay(500); //改变这个参数可以调整电机转速 ,数字越小,转速越大
49 3 }
50 2 }
51 1 while(Flag==1)
52 1 {
53 2 P0=0x7C;//显示 b 标示反转
54 2 for(i=0;i<4;i++) //4相
55 2 {
C51 COMPILER V7.06 步进_缁_ 08/07/2009 08:04:53 PAGE 2
56 3 P1=B_Rotation[i]; //输出对应的相
57 3 Delay(500); //改变这个参数可以调整电机转速 ,数字越小,转速越大
58 3 }
59 2 }
60 1 while(Flag==2) //停止
61 1 {
62 2 P0=0x6D;// 显示 S
63 2 P1=0;
64 2 }
65 1 }
66 /******************************************************************/
67 /* 中断入口函数 */
68 /******************************************************************/
69 void ISR_Key(void) interrupt 2 using 1
70 {
71 1 Delay(500);
72 1 if(!KEY)
73 1 {
74 2
75 2 Flag++; //s3按下触发一次
76 2 if(Flag==3)
77 2 Flag=0;
78 2 }
79 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 114 ----
CONSTANT SIZE = 8 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -