📄 serial_initial.lst
字号:
C51 COMPILER V7.50 SERIAL_INITIAL 01/03/2009 19:40:12 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE SERIAL_INITIAL
OBJECT MODULE PLACED IN serial_initial.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE SRC\serial_initial.c OPTIMIZE(0,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\se
-rial_initial.lst) OBJECT(serial_initial.obj)
line level source
1 #include "p89v51rx2.h"
2 #define SPEET_ 60
3 void serial_initial(void)
4 {
5 1 SCON = 0X52;
6 1 TMOD = 0X20;
7 1 TH1 = 0XF3;
8 1 TR1 = 1; //PRINTE函数必须
9 1 }
10 // for(n=0;n<60;n++);
11 void tim0_initial(void)
12 {
13 1 serial_initial();
14 1 TMOD |= 0X02;
15 1 TL0=TH0=255-SPEET_;//初始化时间常数 大约每x us中断一次
16 1 EA = 1; //总中断容许
17 1 ET0= 1; //定时器/计数器0容许中断
18 1 TR0=0; //启动定时器/计数器0工作
19 1 }
20
21 sbit LS = P2^1; //限位控制
22 #define _LS_ 0x0200
23 sbit Pluse = P2^4; //电机脉冲
24 sbit Direction = P2^5; //电机方向
25 //extern unsigned char _D;
26 extern unsigned long old_Step, _Step;
27
28 void tim0_int (void) interrupt 1
29 {
30 1
31 1 if(_Step>old_Step)
32 1 {
33 2 if(!Pluse ) old_Step++;
34 2 Pluse = !Pluse;//电机脉冲
35 2 }
36 1 else if(_Step<old_Step)
37 1 {
38 2
39 2 if(LS)//接近开关到位,不可正转。
40 2 {
41 3 _Step=0;
42 3 old_Step=0;
43 3 }
44 2 else
45 2 {
46 3 if(!Pluse )old_Step--;
47 3 Pluse = !Pluse;//电机脉冲
48 3 }
49 2 }
50 1 else TR0=0; //启动定时器/计数器0不工作
51 1 }
52
C51 COMPILER V7.50 SERIAL_INITIAL 01/03/2009 19:40:12 PAGE 2
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 240 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -