主页 > 6140管家婆彩图126期 >
C51软件延时与定时器延时为什么不一样?差了10倍
发布日期:2019-09-25 11:59   来源:未知   阅读:

  我用while 循环 延时 循环了100,000 次 延时了1秒(稍微快点)

  2楼在说什么,照你那么说 中断应该不准才对,可中断比软件延时准呢!展开我来答

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部因为你用while循环延时时,循环了100,000次。已知CPU晶振为12M赫兹,则1个机器周期为1us。而100,000次等于100,000us等于100ms等于0.1s。

  定时器中断时高8位TH0≈c3(十六进制)低8位TL0≈c3(十六进制),十六进制c3c3等于十进制50015,也就是你说的50,000。而使用定时中断时,CPU也是采用的12M赫兹的晶振,则计数频率位1M赫兹,即每微秒(us)计数器加1。

  解决方法是用循环时要循环1000,000次。用定时器时50,000*20个周期就可以了:D