梦中飞翔 2013-07-01 14:33 采纳率: 0%
浏览 1952

开启程序之后关不了.....求大神指导

#include
#define uchar unsigned char
#define uint unsigned int
#define port3 P3

//定义全局变量
uchar a=0; //东西显示时间的缓存变量
uchar b=0; //南北显示时间的缓存变量
uchar time=0; //记录循环单位的位置
uchar int_time=0;//记录中断的次数
uchar clock_a_red=25; //东西定时器初值
uchar clock_a_green=25;
uchar clock_a_yellow=2;
uchar clock_b_red=25; //南北计时器初值
uchar clock_b_green=25;
uchar clock_b_yellow=2;
sbit KN1=P3^0;
sbit KN2=P3^1;
sbit KN3=P3^2;
sbit KN4=P3^3;
sbit KN5=P3^4;

uchar code table[]={ //数码管显示编码
0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f};

//延时模块
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}

//主函数模块
void main()
{ uint s=0;

while(1)
{  P3=0xff;
if(P3==0Xee) //key_mode键
{

        s=0;
while(1)        
{TMOD=0X01;
TH1=(65535-50000)/256;
TH0=(65535-50000)%256;
EA=1;
ET0=1;
TR0=1;
P2=0xff;
P1=0x00;
P3=0xff;
  while(s==0)
 { 
  P2=0xfe;              
  P1=table[a/10];
  delayms(1);
  P2=0xfd;
  P1=table[a%10];
  delayms(1);
  P2=0xfb;
  P1=table[b/10];
  delayms(1);
  P2=0xf7;
  P1=table[b%10];
  delayms(1);
  } 
  }

} P3=0xff;
if(P3=0XF1)
{s=1;
EA=0;
ET0=0;
TR0=0;
}
}
}

//中断服务模块
void T0_tme() interrupt 1
{
TH1=(65535-50000)/256;
TH0=(65535-50000)%256;
if(30==int_time++)
{
time++;
if(time>=0&&time {
P0=0xde;
a=clock_a_red--;
b=clock_b_green--;
}
else if(time>=23&&time {
P0=0xee;
clock_b_green=25;
a=clock_a_red--;
b=clock_b_yellow--;
}
else if(time>=25&&time {
P0=0xf3;
clock_a_red=25;
clock_b_yellow=2;
a=clock_a_green--;
b=clock_b_red--;
}
else if(time>=48&&time<50)
{
P0=0xf5;
clock_a_green=25;
a=clock_a_yellow--;
b=clock_b_red--;
}
else
{
time=0;
clock_a_yellow=2;
clock_b_red=25;
}
int_time=0;
}

}

  • 写回答

1条回答

  • oyljerry 2015-01-03 03:15
    关注

    while循环中要及一个标志位来break

    评论

报告相同问题?

悬赏问题

  • ¥15 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配