欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: [求助]用keil仿真是有些程序段編譯執(zhí)行! [打印本頁]

作者: tongxingma    時間: 2010-5-17 21:12
標題: [求助]用keil仿真是有些程序段編譯執(zhí)行!
 
最近做了一個小的項目,寫了一段程序,編譯沒有錯,但是在用keil進行仿真時,有的程序段直接跳過不執(zhí)行了,百思不得其解!望哪位高手指點指點! 
附:
#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;//計數(shù)器0的設(shè)置


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;

}

}

作者: hjfxljx    時間: 2010-5-22 18:57

你的意思是用定時器的計數(shù)值來控制引腳輸入輸出的時序嗎?

這種想法太天真了,你的定時器與你執(zhí)行一句代碼的時間是同一數(shù)量級,可與Delay()卻有很大的差別。你在語句中加入Delay()顯然會對TL0造成不可估計的影響啊,根本無法確定程序執(zhí)行到指定位置的TL0值,所以用這個來控制太不可能了。

有問題一起探討吧,QQ: 616743429






歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1