3604|1

6892

帖子

0

TA的资源

五彩晶圆(高级)

楼主
 

用keil仿真是有些程序段编译执行! [复制链接]

写了一段程序,编译没有错,但是在用keil进行仿真时,有的程序段直接跳过不执行了,百思不得其解!

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit d_q=P1^1;
sbit d_h=P1^0;
sbit d_z=P1^3;
sbit d_y=P1^2;


sbit feng=P2^0;

uchar dot,flag;

void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}
void init ()
{
TMOD=0x05;// T0的方式1
TH0=0;
TL0=0;
TR0=1;//计数器0的设置


d_q=0;
d_h=0; 
}
main()
{
init ();
while(1)
{
  d_q=1;
    delay(5);
  d_q=0;
  delay(7);
  dot=TL0;
  if(dot>5)
  {
   TH0=0;
   TL0=0;
}
  dot=TL0;
if(dot==5)

		{       
 //主要是从这儿开始的
			   TL0=0;
			   d_q=0;
d_h=0;
d_z=0;
d_y=0;
feng=1;
delay(600);
feng=0;
delay(600);
feng=1;
delay(600);
feng=0;
delay(600);
feng=1;
delay(600);
// 后面在中断子程序里面的相同部分也是一样
feng=0;
delay(2000);
d_q=1;
TL0=0;
flag=0;
}
dot=TL0;
if(dot==3&flag==0)
{
flag=1;
feng=1;
delay(600);
feng=0;
delay(4400);
d_q=1;
TL0=0;
}

d_q=1;
delay(8);
d_q=0;

}

}
此帖出自单片机论坛

最新回复

你的这里 这里一但DOT大于5,就会被你重置成0, 那么另一个可能就是当时DOT(TL0)还是小于5,那就是0~5之间, 然后在运行 if(dot>5)   {    TH0=0;    TL0=0; } 这段程序后,TL0里有内容就会大于5了 你再来一个DOT=TL0,那么 IF(DOT==5)就会永远都不成立。 后面那个DOT=TL0是做什么用的??要监测TL0的实时变化吗?? 如果你想运行IF(DOT==5)里的程序,你可以试试把它前面的那个DOT=TL0去掉再试看看。  详情 回复 发表于 2010-7-14 12:10
点赞 关注
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/
欢迎光临网上店铺!
 

回复
举报

1583

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 
你的这里
if(dot>5)
  {
   TH0=0;
   TL0=0;
}
  dot=TL0;
if(dot==5)

这里一但DOT大于5,就会被你重置成0,
那么另一个可能就是当时DOT(TL0)还是小于5,那就是0~5之间,
然后在运行
if(dot>5)
  {
   TH0=0;
   TL0=0;
}

这段程序后,TL0里有内容就会大于5了
你再来一个DOT=TL0,那么
IF(DOT==5)就会永远都不成立。
后面那个DOT=TL0是做什么用的??要监测TL0的实时变化吗??
如果你想运行IF(DOT==5)里的程序,你可以试试把它前面的那个DOT=TL0去掉再试看看。
此帖出自单片机论坛
 
个人签名
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
【回帖赢京东卡】说说无线技术那些事儿
即日起—2月28日,参与回帖讨论都有机会赢取【30元京东卡】

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表