找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 5029|回復(fù): 15
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)定時(shí)時(shí)間不對(duì),什么原因?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:86913 發(fā)表于 2019-2-26 20:36 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
用定時(shí)器試了一下小燈的亮滅,結(jié)果時(shí)間好象不對(duì),(程序應(yīng)該是亮1秒、滅1秒,而實(shí)際亮滅各1.7秒左右),請(qǐng)教是什么原因?
#include<reg52.h>
sbit led=P1^0;
void main()
{
unsigned char cnt=0;
TMOD=0x01;
TH0=0xb8;   //定時(shí)20毫秒
TL0=0x00;
TR0=1;
while(1)
{
if (TF0==1)
{
TF0=0;
TH0=0xb8;
TL0=0x00;
cnt++;
if(cnt>=50)  //定時(shí)器溢出50次,
{
cnt=0;
led=~led;}   //亮滅各0.02*50=1秒鐘
}
}
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:86913 發(fā)表于 2019-2-26 20:38 | 只看該作者
不好意思,視頻沒有傳好
回復(fù)

使用道具 舉報(bào)

板凳
ID:86913 發(fā)表于 2019-2-26 20:47 | 只看該作者
回復(fù)

使用道具 舉報(bào)

地板
ID:164602 發(fā)表于 2019-2-27 08:37 | 只看該作者
你的定時(shí)器是定的1s,但中斷后,你不是還執(zhí)行了其它語句嘛,它們也是要占用時(shí)間的,一次很少,次數(shù)多了,誤差就會(huì)很大的。
回復(fù)

使用道具 舉報(bào)

5#
ID:388151 發(fā)表于 2019-2-27 13:35 | 只看該作者
多大的晶振?
回復(fù)

使用道具 舉報(bào)

6#
ID:388151 發(fā)表于 2019-2-27 13:39 | 只看該作者
應(yīng)該是定時(shí)器初值搞錯(cuò)了
回復(fù)

使用道具 舉報(bào)

7#
ID:213173 發(fā)表于 2019-2-27 14:46 | 只看該作者
你這定時(shí)器設(shè)置是按晶振頻率11.0592MHz,程序本身沒有問題。時(shí)間不對(duì)可能是你用的晶振頻率不是11.0592MHz。
回復(fù)

使用道具 舉報(bào)

8#
ID:481565 發(fā)表于 2019-2-27 15:13 | 只看該作者
定時(shí)器是定的1s中斷后,你還執(zhí)行了其它語句,它們也是要占用時(shí)間的,一次很少,次數(shù)多了,誤差就會(huì)很大的。
回復(fù)

使用道具 舉報(bào)

9#
ID:432823 發(fā)表于 2019-2-27 15:16 | 只看該作者
一般這幾條程序不會(huì)用多長時(shí)間,不會(huì)有這樣多大的誤差,可能是定時(shí)初值不對(duì)。
回復(fù)

使用道具 舉報(bào)

10#
ID:86913 發(fā)表于 2019-2-27 19:36 | 只看該作者

11.0592M
回復(fù)

使用道具 舉報(bào)

11#
ID:86913 發(fā)表于 2019-2-27 19:47 | 只看該作者
yaoji123 發(fā)表于 2019-2-27 15:16
一般這幾條程序不會(huì)用多長時(shí)間,不會(huì)有這樣多大的誤差,可能是定時(shí)初值不對(duì)。

初值(十進(jìn)制)=65536-0.02*12/11059200=47104,轉(zhuǎn)為十六進(jìn)制是為B800,不會(huì)錯(cuò)的
回復(fù)

使用道具 舉報(bào)

12#
ID:86913 發(fā)表于 2019-2-27 19:50 | 只看該作者
wulin 發(fā)表于 2019-2-27 14:46
你這定時(shí)器設(shè)置是按晶振頻率11.0592MHz,程序本身沒有問題。時(shí)間不對(duì)可能是你用的晶振頻率不是11.0592MHz。

晶振頻率是對(duì)的,我在別的地方用過了,沒有錯(cuò)
回復(fù)

使用道具 舉報(bào)

13#
ID:86913 發(fā)表于 2019-2-27 19:52 | 只看該作者
HC6800-ES-V2.0 發(fā)表于 2019-2-27 08:37
你的定時(shí)器是定的1s,但中斷后,你不是還執(zhí)行了其它語句嘛,它們也是要占用時(shí)間的,一次很少,次數(shù)多了,誤 ...

執(zhí)行了50次,但誤差不應(yīng)該這么大呀
回復(fù)

使用道具 舉報(bào)

14#
ID:86913 發(fā)表于 2019-2-27 20:31 | 只看該作者
62黑 發(fā)表于 2019-2-27 15:13
定時(shí)器是定的1s中斷后,你還執(zhí)行了其它語句,它們也是要占用時(shí)間的,一次很少,次數(shù)多了,誤差就會(huì)很大的。

如用延時(shí)函數(shù)的話,執(zhí)行次數(shù)再多也看不出誤差,估計(jì)程序有錯(cuò),但我自己看不出來
回復(fù)

使用道具 舉報(bào)

15#
ID:213173 發(fā)表于 2019-2-28 07:34 | 只看該作者
tmxk0574 發(fā)表于 2019-2-27 19:50
晶振頻率是對(duì)的,我在別的地方用過了,沒有錯(cuò)

這個(gè)程序經(jīng)仿真驗(yàn)證沒有問題,時(shí)間不對(duì)只能是你的硬件問題,重點(diǎn)懷疑晶振和振蕩電容的品質(zhì)和焊接質(zhì)量。


回復(fù)

使用道具 舉報(bào)

16#
ID:164602 發(fā)表于 2019-2-28 08:20 | 只看該作者
62黑 發(fā)表于 2019-2-27 15:13
定時(shí)器是定的1s中斷后,你還執(zhí)行了其它語句,它們也是要占用時(shí)間的,一次很少,次數(shù)多了,誤差就會(huì)很大的。

抄襲?!。。。!呵呵呵呵
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表