📄 step.lst
字号:
C51 COMPILER V7.50 STEP 05/06/2007 20:36:05 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE STEP
OBJECT MODULE PLACED IN step.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE step.c BROWSE DEBUG OBJECTEXTEND
line level source
1 //步进电机驱动程序
2 //编写:王志炎
3 //日期:2007年5月5日
4
5 #include<reg51.h>
6 sbit PUL=P0^5;//PUL脉冲控制信号,上升沿有效.
7 sbit DIR=P0^6;//DIR方向控制,高低电平.
8 sbit ENA=P0^7;//ENA使能信号,高电平使能.
9 sbit KEY=P1^7;//KEY启动开关,按住运行.
10 /*******************************************************************************
11 函数:Delay()
12 功能:延时0.01s~2.56s
13 参数:t>0 时,延时(t*0.01)s
14 t=0 时,延时2.56s
15 说明:定时10ms 的定时器初值=65536-0.01/(1/(f/12)),其中f 为晶振频率
16 *******************************************************************************/
17 void Delay(unsigned char t)
18 {
19 1 do
20 1 {
21 2 TH0 = 0xFF; //设置定时器初值(定时10ms)
22 2 TL0 = 0xF0;
23 2 TR0 = 1; //启动定时器
24 2 while ( !TF0 ); //等待定时器溢出
25 2 TR0 = 0; //停止定时器
26 2 TF0 = 0; //清除溢出标志
27 2 }
28 1 while ( --t != 0 ); //循环t 次
29 1 }
30
31 //主函数
32 void main()
33 {
34 1 //unsigned char i;
35 1 KEY=0;
36 1 DIR=1;
37 1 ENA=0;
38 1 while (KEY)
39 1 {
40 2 unsigned long i;
41 2 TMOD &= 0xF0; //T0 设置在方式1,即16 位定时器(不影响T1 的模式)
42 2 TMOD |= 0x01;
43 2 ENA=1;
44 2 for(i=4000;i>0;i--)
45 2 //while(KEY)
46 2 {
47 3 PUL=1;
48 3 Delay(10);
49 3 PUL=0;
50 3 Delay(10);
51 3 }
52 2 DIR=0;
53 2 }
54 1 }
C51 COMPILER V7.50 STEP 05/06/2007 20:36:05 PAGE 2
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 110 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 4
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 + -