红绿灯-开启程序之后关不了.....求大神指导

问题描述

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

#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;
}

}

解决方案

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

时间: 2024-08-21 13:54:56

红绿灯-开启程序之后关不了.....求大神指导的相关文章

窗体-C#中如何添加FormClose事件 按了关闭,程序没有停止调试,求大神指导

问题描述 C#中如何添加FormClose事件 按了关闭,程序没有停止调试,求大神指导 刚开始学习C#窗体 做登录界面 在登录按钮设置了 连接一个成功提示,但是进去了按关闭的时候,窗体并没有停止运行,一直在调试,求该如何解决,希望大神们帮帮忙 private void button1_Click(object sender, EventArgs e) { if(textBox1.Text=="admin"&&textBox2.Text=="123")

字典表相关问题,求大神指导

问题描述 字典表相关问题,求大神指导 我遇到的问题是,有个收粮软件项目,其中有个含水率的计算,领导让我用字典表做,设置个基准值,字典表里设置文字,存储数值,我会用,因为这种一般都用select,下拉菜单选.但是,字典表存个数值,然后再用这个数值,我不知道,怎么取,怎么用啊,求大神指导 解决方案 一般字典表一般都包含两列一列是名称 一列是值,一般是像Map那样的键值对,名称有重复的也有唯一的,主要看怎么用,提取的时候直接通过这名称来取对应的值 解决方案二: 就相当于那个值可以随时修改的,你直接用呗

windows-一个简单Windows程序无法链接,求大神指导,感谢

问题描述 一个简单Windows程序无法链接,求大神指导,感谢 // HelloWin.C 在客户区显示"你好 Windows 7" (c) Charles Petzold 1998 #include #pragma comment(libwinmm.lib"") LRESULT CALLBACK WinProc(HWND UINT WPARAM LPARAM); int WINAPI WinMain(HINSTANCE hInstance HINSTANCE hP

c语言基础-真的很着急,大一学生党,求大神指导写一个c语言拨号程序

问题描述 真的很着急,大一学生党,求大神指导写一个c语言拨号程序 能显示出通讯录中所有人姓名,当选中某个姓名时,屏幕上模拟打字机效果依次显示出此人的电话号码中的各个数字,并伴随相应的拨号声 解决方案 http://zhidao.baidu.com/link?url=svF4fjRTNuBmCJyCiRipzB_21UO5zvNc0hCye7qj8nxOY1lC78667ycDqYnJ7xHiGT00M4NuYqGIak2R5cEU961mjRl1ADLf-Eh1nDKpiBi

c++ mfc visual-visual studio6.0 mfc程序和控制台程序的简单问题,求大神解答

问题描述 visual studio6.0 mfc程序和控制台程序的简单问题,求大神解答 visual c++6.0中控制台程序的main函数应该放在mfc程序的哪个文件中,成员函数放在mfc的哪个文件中.

java代码-java程序 求大神指导

问题描述 java程序 求大神指导 1.编写程序删除"C:Documents and SettingsAdministratorLocal SettingsTemporary Internet Files" 和"C:WINDOWSDownloaded Program Files"下所有的TMP文件和JS文件:

数据-在C#里使用SharpPCap对程序进行抓包,求大神解答

问题描述 在C#里使用SharpPCap对程序进行抓包,求大神解答 可以监测指定程序.指定端口上所有的信息流量.最后以十六进制形式来显示数据内容,并保存数据信息的.话说这个可以通关sharpcap实现么,求大神指导.QAQ 解决方案 参考http://www.cnblogs.com/therock/articles/3572119.htmlhttp://www.360doc.com/content/11/0519/14/6889381_117894489.shtml 解决方案二: 最好是有程序的

visual studio 2010-关于VS2010打包安装程序,安装时,选择安装文件夹界面中的磁盘开销的问题,求大神指导

问题描述 关于VS2010打包安装程序,安装时,选择安装文件夹界面中的磁盘开销的问题,求大神指导 用VS2010打包的安装程序,安装时的选择安装文件夹界面 我想把磁盘开销去掉,或者换成下图这样的"所需空间"和"可用空间",不知道打包的时候,在哪设置 求指导 解决方案 最简单的是用第三方的打包工具,比如installshield,它支持对话框自定义.想怎么做就怎么做. 解决方案二: 安装程序的安装界面为乱码的问题

python文件语句解析-Python的这段程序怎么读啊?求大神,我刚学,一头雾水

问题描述 Python的这段程序怎么读啊?求大神,我刚学,一头雾水 max = 10 sum = 0 extra = 0 for num in range(1,max) if num % 2 and not num %3: sum +=num else: extra +=1 print sum. #sum会是多少,输出的extra是多少? 特别是这句if num % 2 and not num %3:,是可以理解成不能同时被2和3整除的数吗? 虽然问题很low,原谅一个菜鸟吧 解决方案 if n