📄 acqact.lst
字号:
C51 COMPILER V8.02 ACQACT 10/01/2007 00:33:27 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE ACQACT
OBJECT MODULE PLACED IN .\obj\acqact.obj
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE acqact.c BROWSE DEBUG OBJECTEXTEND PRINT(.\lst\acqact.lst) OBJECT(.\obj\acq
-act.obj)
line level source
1 //acq.c
2 //
3
4
5 #include "AppDefine.h"
6
7
8 unsigned int Val_Mytime, Val_Uptime, Val_ad, Val_Actdata, Val_Actdir;
9 unsigned char Val_Mystatus;
10
11 unsigned char COMMFlag; //
12 unsigned char RUNflag; //
13
14 unsigned char my,ch;
15
16 /****************************************************************************************/
17 /*一个nop在12MHZ下是1US,即1000表示1ms,实际上还有循环时间,所以不太精确.*/
18 void delay(unsigned int l_time)
19 {
20 1 unsigned int data lp;
21 1 for( lp=0;lp<l_time;lp++)
22 1 _nop_();
23 1 }
24
25 //wait function
26 void wait (void)
27 {
28 1 unsigned int ii;
29 1
30 1 for (ii = 0; ii < 30000; ii++) {
31 2 _nop_();
32 2 }
33 1 }
34
35 void INT_ON (void)
36 {
37 1 EA = 1;
38 1 }
39 void INT_OFF (void)
40 {
41 1 EA = 0;
42 1 }
43
44 void Pragm_Do(void)
45 {
46 1 switch(RUNflag)
47 1 {
48 2 case RUN_NO_FLAG: //LED_FLG
49 2 my++;
50 2 if(my % 100 ==0)
51 2 LED_FLG = 1;
52 2 else
53 2 LED_FLG = 0;
54 2 break;
C51 COMPILER V8.02 ACQACT 10/01/2007 00:33:27 PAGE 2
55 2 case RUN_RESET_FLAG://
56 2 //Val_Mytime = 0;
57 2 RUNflag = RUN_WAIT_FLAG;
58 2 break;
59 2 case RUN_WAIT_FLAG: //
60 2 LED_RUN = 1;
61 2 break;
62 2 case RUN_ACQ_FLAG: //采集程序
63 2 Val_ad = AD_result();
64 2 if(Val_ad)
65 2 Val_Mystatus=0;
66 2
67 2 LED_ERR = 0;
68 2 my++;
69 2 if(my % 200 ==0)
70 2 LED_RUN = 1;
71 2 else
72 2 LED_RUN = 0;
73 2 break;
74 2 case RUN_ACT_FLAG: //执行程序(电机)
75 2 Val_Mystatus=PWM_status();
76 2 //Uart_SendChar(Val_Mystatus);
77 2
78 2 LED_ERR = 0;
79 2 my++;
80 2 if(my % 200 ==0)
81 2 LED_RUN = 1;
82 2 else
83 2 LED_RUN = 0;
84 2 break;
85 2 }
86 1 }
87 void main (void)
88 {
89 1
90 1 //给一点花时间进行复位串行口编程
91 1 P0 = 0x00; wait(); P0 = 0xff; wait();
92 1 P0 = 0x00; wait(); P0 = 0xff; wait();
93 1 P0 = 0x00; wait(); P0 = 0xff; wait();
94 1 P0 = 0x00;
95 1
96 1 //initial variable
97 1 COMMFlag = CMD_NO_FLAG;
98 1 RUNflag = RUN_NO_FLAG;
99 1
100 1 //读24C01的配置参数
101 1 ch = xbRead24(0x1A);//本机地址
102 1 ch = xbRead24(0x1B);//波特率代码
103 1 ch = xbRead24(0x1E);//层数,地址最大
104 1
105 1 Uart_Init(BAUD_SMOD0, BAUD_9600);
106 1 Mytime2_init();
107 1 PWM_init();
108 1
109 1 INT_ON();
110 1
111 1 delay(1);
112 1 Uart_SendChar('o');
113 1 Uart_SendChar('k');
114 1 my=0;
115 1 while(1)
116 1 {
C51 COMPILER V8.02 ACQACT 10/01/2007 00:33:27 PAGE 3
117 2 delay(200);
118 2 Uart_Do();
119 2 Pragm_Do();
120 2 }
121 1
122 1
123 1
124 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 247 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 15 ----
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 + -