protues仿真51单片机定时器产生1us定时

没事干玩玩protues,突然发现protues仿真时有点小问题。当定时器初值设置为(65536-1)/256、(65536-1)%256时,1000*1000构成一个1... 没事干玩玩protues,突然发现protues仿真时有点小问题。
当定时器初值设置为(65536 - 1)/256、(65536- 1)%256时,1000*1000构成一个1秒定时时,单片机就死了,求大神告知什么原因,本人猜测是protues软件的问题。
展开
 我来答
轻音乐排行榜
2019-08-22
知道答主
回答量:1
采纳率:0%
帮助的人:698
展开全部

1us的单片机定时Proteus仿真,可以弄的,问题比如定时器0,16位自动重装的,TH0,TL0设置好后,注意TMOD,问题一般出在这里

void Timer0Init(void)		//1微秒@24.000MHz   这种设置会导致仿真显示1s,
{
AUXR |= 0x80; //定时器时钟1T模式   
TMOD &= 0xF0; //设置定时器模式
TL0 = 0xE8; //设置定时初值
TH0 = 0xFF; //设置定时初值
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
}
void init_timer0() //1微秒@24.000MHz     这种的就没问题
{
  TMOD &= 0xF0; //设置定时器模式
TMOD |= 0x02; //设置定时器模式
TL0 = 0xFE; //设置定时初值
TH0 = 0xFF; //设置定时初值
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
EA = 1;         //开总中断
ET0 = 1;        //开定时器0中断
}

1us的单片机定时Proteus仿真,可以弄的,问题比如定时器0,16位自动重装的,TH0,TL0设置好后,注意TMOD,问题一般出在这里

百度网友2ebe1e4f3
2017-05-13 · TA获得超过1.3万个赞
知道大有可为答主
回答量:9245
采纳率:52%
帮助的人:3247万
展开全部
1000*1000是一百万,这个数你用什么类型的变量存储?要用长整型,最好是无符号长整型
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式