📄 two_phase_trigle.lst
字号:
C51 COMPILER V7.07 TWO_PHASE_TRIGLE 08/24/2007 13:57:52 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE TWO_PHASE_TRIGLE
OBJECT MODULE PLACED IN two_phase_trigle.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE two_phase_trigle.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <intrins.h>
2 //#include <stdio.h>
3 //#include <AT89X52.h>
4 #include "./STC_5412.h"
5
6 #define B_trigger P2_1
7 #define A_trigger P2_0
8 #define C_trigger P2_2
9 #define Stop P0_1
10 #define trigle_normal_light P2_6
11 #define trigle_falue_light P2_7
12 #define trigle_stop_light P2_5
13 #define F_sel P0_0
14
15 /*********************************************************/
16 //函数:Delay()
17 //功能:延时
18 //输入:延时时间设定值
19 //输出:?
20 //描述:
21 /*********************************************************/
22 void Delay(unsigned char Times)
23 {
24 1 unsigned char n;
25 1 n = 30;
26 1 for(;Times>0;Times--)
27 1 {
28 2 for(;n>0;n--)
29 2 ;
30 2 }
31 1 }
32 /*
33 void Delay_long(unsigned char ms)
34 {
35 unsigned int n;
36
37 for(;ms>0;ms--)
38 {
39 n = 235;
40 for(;n>0;n--)
41 ;
42 }
43 }
44 /*********************************************************/
45 //函数:pluse()
46 //功能:触发脉冲产生
47 /*********************************************************/
48 void pluse(char NUMB)
49 {
50 1 switch(NUMB)
51 1 {
52 2 case 0x01: {
53 3 A_trigger=0x00;
54 3 Delay(0x10);
55 3 A_trigger=0x01;
C51 COMPILER V7.07 TWO_PHASE_TRIGLE 08/24/2007 13:57:52 PAGE 2
56 3 Delay(0x40);
57 3 A_trigger=0x00;
58 3 Delay(0x10);
59 3 A_trigger=0x01;
60 3 Delay(0x40);
61 3 A_trigger=0x00;
62 3 Delay(0x10);
63 3 A_trigger=0x01;
64 3 Delay(0x40);
65 3 A_trigger=0x00;
66 3 Delay(0x10);
67 3 A_trigger=0x01;
68 3 break;
69 3 }
70 2 case 0x02: {
71 3 B_trigger=0x00;
72 3 Delay(0x10);
73 3 B_trigger=0x01;
74 3 Delay(0x40);
75 3 B_trigger=0x00;
76 3 Delay(0x10);
77 3 B_trigger=0x01;
78 3 Delay(0x40);
79 3 B_trigger=0x00;
80 3 Delay(0x10);
81 3 B_trigger=0x01;
82 3 Delay(0x40);
83 3 B_trigger=0x00;
84 3 Delay(0x10);
85 3 B_trigger=0x01;
86 3 break;
87 3 }
88 2 case 0x03: {
89 3 C_trigger=0x00;
90 3 Delay(0x10);
91 3 C_trigger=0x01;
92 3 Delay(0x40);
93 3 C_trigger=0x00;
94 3 Delay(0x10);
95 3 C_trigger=0x01;
96 3 Delay(0x40);
97 3 C_trigger=0x00;
98 3 Delay(0x10);
99 3 C_trigger=0x01;
100 3 Delay(0x40);
101 3 C_trigger=0x00;
102 3 Delay(0x10);
103 3 C_trigger=0x01;
104 3 break;
105 3 }
106 2 default:break;
107 2 }
108 1 }
109 /*********************************************************/
110 //函数:timer0()
111 //功能:定时器0中断
112 //输入:
113 //输出:
114 //描述:
115 /*********************************************************/
116 void timer0(void) interrupt 1 using 3
117 {
C51 COMPILER V7.07 TWO_PHASE_TRIGLE 08/24/2007 13:57:52 PAGE 3
118 1 TR0=0;
119 1 //TH0=0xb4; //装入初值,22.1184MHZ 的晶振
120 1 //TL0=0x66; //10.5
121 1 TH0=0xcd; //装入初值,22.1184MHZ 的晶振//7ms
122 1 TL0=0x99; //9.86
123 1
124 1 pluse(0x01);
125 1 TR1=1;
126 1 }
127 /*********************************************************/
128 //函数:timer1()
129 //功能:定时器1中断
130 //输入:
131 //输出:
132 //描述:
133 /*********************************************************/
134 void timer1(void) interrupt 3// using 1
135 {
136 1 TR1=0;
137 1 TH1=0xbb; //装入初值,22.1184MHZ 的晶振
138 1 TL1=0x99;
139 1 pluse(0x02);
140 1 //TR1=1;
141 1 }
142 /*********************************************************/
143 //函数:ex0()
144 //功能:外部中断0服务程序
145 //输入:
146 //输出:
147 //描述:
148 /*********************************************************/
149 void ex0() interrupt 0 using 2
150 {
151 1 //Delay_long(0x30);
152 1 trigle_stop_light=!trigle_stop_light;
153 1 TR0=1;
154 1 }
155 /*********************************************************/
156 //函数:main()
157 //功能:主函数
158 //输入:
159 //输出:
160 //描述:
161 /*********************************************************/
162 void main(void)
163 {
164 1
165 1 int i;
166 1 for(i=0;i<1000;i++)
167 1 Delay(10);
168 1 TMOD=0x11; // 定时器1 工作于方式2
169 1 //SCON=0x40; // 串口工作于方式1
170 1 TH1=0xf8; //装入初值,22.1184MHZ 的晶振
171 1 TL1=0xcc;
172 1
173 1 TH0 = 0xcd;
174 1 TL0 = 0x99;
175 1
176 1 //PCON=0x00; //波特率无倍增
177 1 //TR1=1; //开启定时器1 开始工作
178 1 //TR0=1; //开启定时器0 开始工作
179 1 ET0=1;//允许定时器0中断
C51 COMPILER V7.07 TWO_PHASE_TRIGLE 08/24/2007 13:57:52 PAGE 4
180 1 ET1=1;//
181 1 //WDT_CONTR = 0x3f; //开硬件狗
182 1 //ES=1;
183 1 //P2M0 = 0x95;
184 1 P2M1 = 0x01;
185 1 IT0 = 0; //低电平引起中断
186 1 // IT1 = 0; //低电平引起中断
187 1 EX0 = 1; //开外部0中断
188 1 // EX1 = 1; //开外部1中断
189 1 trigle_normal_light=0;
190 1 EA=1;
191 1 while(1)
192 1 {
193 2 ;
194 2
195 2 }
196 1
197 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 287 ----
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 + -