大家来帮忙,太奇怪了

[复制链接]
 楼主| colinluan 发表于 2008-9-6 12:42 | 显示全部楼层 |阅读模式
#include&nbsp;&ltAT89x52.h&gt<br />//#include&nbsp;&ltreg52.h&gt<br />#define&nbsp;uchar&nbsp;unsigned&nbsp;char<br /><br />#define&nbsp;uint&nbsp;&nbsp;unsigned&nbsp;int<br />uchar&nbsp;data&nbsp;one_sec;<br />uint&nbsp;&nbsp;data&nbsp;time;<br />//sfr&nbsp;T2MOD=0XC9;<br />void&nbsp;delay(uint&nbsp;t)<br />{<br />IE=0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//禁止所有中断<br />&nbsp;&nbsp;T2MOD=0X00;<br />&nbsp;&nbsp;&nbsp;&nbsp;TCON=0;&nbsp;&nbsp;&nbsp;//所有中断标志清0<br />&nbsp;&nbsp;T2CON=0x00;<br />&nbsp;&nbsp;&nbsp;ET2=1;&nbsp;&nbsp;&nbsp;//允许T2中断<br />&nbsp;&nbsp;&nbsp;TH2=-46080/256;<br />&nbsp;&nbsp;&nbsp;TL2=-46080%256;<br />&nbsp;&nbsp;&nbsp;RCAP2H=TH2;<br />&nbsp;&nbsp;&nbsp;RCAP2L=TL2;<br />&nbsp;&nbsp;&nbsp;one_sec=20;<br />&nbsp;&nbsp;&nbsp;time=t;<br />&nbsp;&nbsp;&nbsp;TR2=1;&nbsp;&nbsp;&nbsp;//启动T2定时<br />&nbsp;&nbsp;&nbsp;EA=1;&nbsp;&nbsp;&nbsp;&nbsp;//CPU开中断<br />&nbsp;&nbsp;&nbsp;while(time!=0);<br />&nbsp;&nbsp;&nbsp;TR2=0;<br />&nbsp;&nbsp;&nbsp;EA=0;<br />}<br /><br />void&nbsp;timer2(void)&nbsp;interrupt&nbsp;5<br />&nbsp;{&nbsp;TF2=0;<br />&nbsp;&nbsp;&nbsp;one_sec--;<br />&nbsp;&nbsp;&nbsp;if(one_sec==0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;one_sec=20;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;time--;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;}<br /><br />&nbsp;void&nbsp;main()<br />&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delay(1000);<br />&nbsp;&nbsp;&nbsp;&nbsp;while(1);<br />&nbsp;}<br /><br /><br />为什么退出来的时候time=0x00ff.太想不通了。
linqing171 发表于 2008-9-6 16:28 | 显示全部楼层

退出来以后那个变量就没有用了,所以系统其他地方又使用

贴下反汇编看看。<br />不知道为什么。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

43

主题

83

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部