📄 stru.bak
字号:
#include <stru.h>
/*****************************************************************************************************/
// 初始化函数
/*****************************************************************************************************/
void init(void)
{
uchar i;
EA=0;
TMOD=0X21; /*定时器0工作在方式1,定时器1工作在方式2*/
TH0=-(9216/256); /*10毫秒定时 9216*/
TL0=-(9216%256);
TH1=0XFd;
TL1=0XFd;
PCON=0X00;
SCON=0X50; /*串行口初始化*/
IE=0X96; /*允许串口中断,外部事件1中断,定时器0中断*/
IP=0X10;
IT1=1; /*下降沿触发方式 */
TR0=1; /*允许T0计数*/
TR1=1;
ET0=1; /*T0中断开*/
EX1=1;
PX1=1;
PS=1;
D12887A=0x2f; /*对时钟中断进行设置 */
D12887B=0x4e;
XBYTE[0XC083]=0X8b; //CPU板内8255设置,绿灯电源为输出,遥控为输入
XBYTE[0XC080]=0X81; //输出绿灯电源
XBYTE[0Xc103]=0x80; //灯输出板设置,都设为输出
XBYTE[0Xc183]=0x80;
XBYTE[0XC203]=0X9b; //灯检测输入板设置,都设为输入
XBYTE[0XC283]=0X9b;
XBYTE[0XC303]=0X93; //车辆检测输入板设置
XBYTE[0XC383]=0X93;
for(i=0;i<6;i++){
XBYTE[0XA030+i*5]=0x87;
}
for(i=0; i<32; i++)
{
loop_error[i] = 0;
forsense[i] = 0;
liul[i] = 0;
send_liul[i] = 0;
}
start_counter = 0;
period_update = 0;
fuctioncounter=0;
}
/*****************************************************************************************************/
// 主函数
/*****************************************************************************************************/
void main (void)
{
init();
EA=1;
while(1)
{
WatchDog = !WatchDog;
InternalLed = !InternalLed;
read_time();
if(start_counter>=3)
{
cljc();
phase_loop();
if(period_update)
{
period_update = 0;
g_error1=g_load1; /*驱而不亮的绿灯组*/
y_error1=y_load1; /*驱而不亮的黄灯组*/
r_error1=r_load1; /*驱而不亮的红灯组*/
g_error2=g_load2; /*不驱而亮的绿灯组*/
y_error2=y_load2; /*不驱而亮的黄灯组*/
r_error2=r_load2; /*不驱而亮的红灯组*/
g_load1=0;y_load1=0;r_load1=0;
g_load2=0;y_load2=0;r_load2=0;
search_sch();
trans_volum();
}
deal_fpgadram();
crc_main();
deal_lcddram();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -