📄 text1.lst
字号:
C51 COMPILER V7.06 TEXT1 08/04/2007 10:21:51 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND
stmt level source
*** WARNING C500 IN LINE 1 OF TEXT1.C: MISSING DEVICE (SECURITY KEY NOT FOUND)
1 #include <reg51.h>
2 #define uchar unsigned char
3 sbit P1_0=P1^0;sbit P1_1=P1^1;sbit P1_2=P1^2;sbit P1_3=P1^3;
4 sbit P1_4=P1^4;sbit P1_5=P1^5;sbit P1_6=P1^6;sbit P1_7=P1^7;
5 uchar RRR,flg,KKK; //RRR用于调速控制;flg=0正转;flg=1反转; flg=2不转;KKK为P1的状态寄存
6 uchar loop[2][4]={{0x0c,0x06,0x03,0x09},{0x09,0x03,0x06,0x0c}};
7 void loop1(void);
8 void loop2(void);
9 void step(void);
10
11 main()
12 {
13 1 uchar i,j;
14 1 TMOD=0x10;
15 1 TL1=0xe0;
16 1 TH1=0xb1;
17 1 IE=0;
18 1 while(1)
19 1 {
20 2 if(KKK!=P1) //当P1的值发生变化,触发采集信号
21 2 loop1();
22 2 if(flg!=2)
23 2 {
24 3 for(i=0;i<=3;i++)
25 3 {
26 4 P0=loop[flg][i];
27 4 for(j=0;j<=RRR;j++)
28 4 {step();}
29 4 }
30 3 }
31 2 }
32 1 }
33
34 void step(void) //产生20MS的单位步时间
35 {
36 1 TF1=0;
37 1 TR1=1;
38 1 while(TF1==0);
39 1 TR1=0;
40 1 TL1=0xe0;
41 1 TH1=0xb1;
42 1 }
43
44 void loop1(void) //采集顺时针或逆时针信号,P1.6=1,顺时针,P1.7=1,逆时针
45 {
46 1 KKK=P1; //暂存P1的状态
47 1 if(P1_6==1)
48 1 {flg=0;loop2();}
49 1 else if(P1_7==1)
50 1 {flg=1;loop2();}
51 1 else
52 1 flg=2;
53 1 }
54 void loop2(void)
C51 COMPILER V7.06 TEXT1 08/04/2007 10:21:51 PAGE 2
55 {
56 1 if(P1_0==1)
57 1 RRR=5;
58 1
59 1 else if(P1_1==1)
60 1 RRR=8;
61 1
62 1 else if(P1_2==1)
63 1 RRR=11;
64 1
65 1 else if(P1_3==1)
66 1 RRR=14;
67 1
68 1 else if(P1_4==1)
69 1 RRR=17;
70 1
71 1 else if(P1_5==1)
72 1 RRR=20;
73 1 }
74
75
76
77
78
79
80
81
82
83
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 154 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 11 2
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -