📄 stru.lst
字号:
C51 COMPILER V6.02 STRU 08/02/2006 14:44:13 PAGE 1
C51 COMPILER V6.02, COMPILATION OF MODULE STRU
OBJECT MODULE PLACED IN D:\GB_ASC\STRU.OBJ
COMPILER INVOKED BY: e:\comp51\COMP51V6\C51.EXE D:\GB_ASC\STRU.C DB SB OE LARGE
stmt level source
1 #include <stru.h>
2 /*****************************************************************************************************/
3 // 初始化函数
4 /*****************************************************************************************************/
5 extern uchar xdata loop_now[32],loop_last[32];
6 void init(void)
7 {
8 1 uchar i;
9 1
10 1 D12887A=0x2f; /*对时钟中断进行设置 */
11 1 D12887B=0x4e;
12 1 XBYTE[0XC083]=0X8b; //CPU板内8255设置,绿灯电源为输出,遥控为输入
13 1 XBYTE[0XC080]=0X81; //输出绿灯电源
14 1 XBYTE[0Xc103]=0x80; //灯输出板设置,都设为输出
15 1 XBYTE[0Xc183]=0x80;
16 1 XBYTE[0XC203]=0X9b; //灯检测输入板设置,都设为输入
17 1 XBYTE[0XC283]=0X9b;
18 1 XBYTE[0XC303]=0X93; //车辆检测输入板设置
19 1 XBYTE[0XC383]=0X93;
20 1 XBYTE[0X6D28]=0; //强制标志为0
21 1 force_flag=0;
22 1 XBYTE[0X6D29]=0;
23 1 EA=0;
24 1 TMOD=0X21; /*定时器0工作在方式1,定时器1工作在方式2*/
25 1 TH0=-(18432/256); /*10毫秒定时 9216*/
26 1 TL0=-(18432%256);
27 1 TH1=0XFd;
28 1 TL1=0XFd;
29 1 PCON=0X00;
30 1 SCON=0X50; /*串行口初始化*/
31 1
32 1 IE=0X96; /*允许串口中断,外部事件1中断,定时器0中断*/
33 1 IP=0X10;
34 1 IT1=1; /*下降沿触发方式 */
35 1 TR0=1; /*允许T0计数*/
36 1 TR1=1;
37 1 ET0=1; /*T0中断开*/
38 1 EX1=1;
39 1 PX1=1;
40 1 PS=1;
41 1 ES=1;
42 1 IP=0X10;
43 1 user_count=0;
44 1 for(i=0;i<32;i++){
45 2 loop_now[i]=0;
46 2 loop_last[i]=0; }
47 1 for(i=0;i<41;i++){
48 2 period_sch[i]=0;
49 2 }
50 1 for(i=0;i<6;i++){
51 2 XBYTE[0XA030+i*5]=0x87; //发送寄存器
52 2 }
53 1 XBYTE[0XA021]=0X00;
54 1 XBYTE[0XA022]=0X80;
55 1 XBYTE[0XA023]=0;
C51 COMPILER V6.02 STRU 08/02/2006 14:44:13 PAGE 2
56 1 XBYTE[0XA024]=0;
57 1 for(i=0; i<32; i++)
58 1 {
59 2 loop_error[i] = 0;
60 2 forsense[i] = 0;
61 2 liul[i] = 0;
62 2 send_liul[i] = 0;
63 2 // send_occ[i]=0;
64 2 no_vehicle_step[i]=0;
65 2 }
66 1 start_counter = 0;
67 1 period_update = 0;
68 1 fuctioncounter=0;
69 1 remote_state=0;
70 1 hand_state=0;
71 1 force_state=0;
72 1
73 1 }
74
75 /*****************************************************************************************************/
76 // 主函数
77 /*****************************************************************************************************/
78 void main (void)
79 {
80 1 EA=0;
81 1 init();
82 1 EA=1;
83 1 IP=0X10;
84 1 while(1)
85 1 {
86 2 h_address=XBYTE[0X8000];
87 2 l_address=XBYTE[0X8001];
88 2
89 2 deal_fpgadram();
90 2 if(tran_count>=15){
91 3 bid_flag();
92 3 tran_count=0;
93 3 }
94 2
95 2 WatchDog = !WatchDog;
96 2 InternalLed = !InternalLed;
97 2 read_time();
98 2 if(start_counter>=3)
99 2 {
100 3 nowforce=XBYTE[0X6D29];
101 3 if(nowforce!=lastforce){
102 4 hand_counter=0;
103 4 }
104 3 lastforce=nowforce;
105 3 now_schemeid = search_scheme_yellow();
106 3 cljc(); //车辆检测
107 3 phase_loop(); //相位流量检测
108 3 jude_looperror();
109 3 if((last_schemeid!=now_schemeid)&&(last_schemeid==0x21))period_update=1; //黄闪时段进入正常时段
110 3 if(period_update) //周期结束时算一次
111 3 {
112 4 period_update = 0;
113 4 g_error1=g_load1; /*驱而不亮的绿灯组*/
114 4 y_error1=y_load1; /*驱而不亮的黄灯组*/
115 4 r_error1=r_load1; /*驱而不亮的红灯组*/
116 4 g_error2=g_load2; /*不驱而亮的绿灯组*/
117 4 y_error2=y_load2; /*不驱而亮的黄灯组*/
C51 COMPILER V6.02 STRU 08/02/2006 14:44:13 PAGE 3
118 4 r_error2=r_load2; /*不驱而亮的红灯组*/
119 4 g_load1=0;y_load1=0;r_load1=0;
120 4 g_load2=0;y_load2=0;r_load2=0;
121 4 if(now_day_planid==0)
122 4 now_day_planid=0;
123 4 search_sch();
124 4
125 4 // max_clear_time();
126 4
127 4 // trans_volum(); //周期更迭时传送流量信息
128 4 // tran_psh(); //周期更迭时传送方案信息
129 4 last_schemeid=now_schemeid;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -