久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2910|回復: 12
打印 上一主題 下一主題
收起左側

關于單片機定時器定時不準確的問題

[復制鏈接]
跳轉到指定樓層
樓主
請教一下大家,最近在用STC8G1K08A單片機做一個小東西,使用到了定時器0和定時器1,參照官方設定的1毫秒,然后中斷里重復1000次,作為1秒的精確延時,但是實際發現誤差很大,不知道是我設置的問題還是?之前用STC15W104和STC15F104都沒有問題,延時很精確(相比較而言)

這是中斷里面的程序:

                if(timer_1_ms < 1000)timer_1_ms++;
                        else
                        {
                                 timer_1_ms = 0;
                                if(timer_s > 0)timer_s--;
                                        else
                                        {
                                                timer_s = 0;
                                                status = 0;//若時間到,那就在LED熄滅的時候進入到休眠模式
                                        }
                        }



這是官方的設置



軟件的版本是V6.94E,目前最新的版本。






分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:491577 發表于 2024-5-15 00:19 | 只看該作者
誤差很大,具體是多大?STC單片機主頻誤差0.5%,所以誤差0.5%以內是正常的,1小時誤差0.5%=18S,24小時誤差=18*24=432秒。只要在這個范圍內是正常的。
回復

使用道具 舉報

板凳
ID:517951 發表于 2024-5-15 07:28 | 只看該作者
單片機的晶振是相對精確而已, 要提高精度就要用realtime IC: DS12C887 等 ; 要求更高就用天線接GPS的授時信號.
回復

使用道具 舉報

地板
ID:1109793 發表于 2024-5-15 08:00 | 只看該作者
而且每次刷機設置的都不太一樣,要精確定時還是得外部晶振
回復

使用道具 舉報

5#
ID:403593 發表于 2024-5-15 08:50 | 只看該作者
hhh402 發表于 2024-5-15 00:19
誤差很大,具體是多大?STC單片機主頻誤差0.5%,所以誤差0.5%以內是正常的,1小時誤差0.5%=18S,24小時誤差 ...

可不止,十秒的誤差都有兩三秒了,你說的那些誤差都在可接受范圍內,我這里的誤差根本沒法用啊。。。
回復

使用道具 舉報

6#
ID:403593 發表于 2024-5-15 10:38 | 只看該作者
rayin 發表于 2024-5-15 07:28
單片機的晶振是相對精確而已, 要提高精度就要用realtime IC: DS12C887 等 ; 要求更高就用天線接GPS的授時信 ...

我不需要特別高的精度,電路很簡單,我只需要延時十分鐘,可接受誤差在一分鐘以內就好。
回復

使用道具 舉報

7#
ID:213173 發表于 2024-5-15 10:49 | 只看該作者
這一生只為你 發表于 2024-5-15 08:50
可不止,十秒的誤差都有兩三秒了,你說的那些誤差都在可接受范圍內,我這里的誤差根本沒法用啊。。。

單靠程序片段看不出毛病在哪
回復

使用道具 舉報

8#
ID:23640 發表于 2024-5-15 11:44 | 只看該作者
這一生只為你 發表于 2024-5-15 08:50
可不止,十秒的誤差都有兩三秒了,你說的那些誤差都在可接受范圍內,我這里的誤差根本沒法用啊。。。

這么大的誤差會不會是初始化配置就有問題?可以用示波器看下定時1MS實際測試是多少?
回復

使用道具 舉報

9#
ID:57657 發表于 2024-5-15 12:15 | 只看該作者
自動重載初值,不要用手動重載,溢出了會自己裝進去,中斷里不要賦值TH0,TL0寄存器。
加誤差補償處理且使用外部晶振,1個月誤差不到1分鐘的都有。
回復

使用道具 舉報

10#
ID:1110945 發表于 2024-5-15 19:43 | 只看該作者
void Timer0_Isr(void) interrupt 1
{
}

void Timer0_Init(void)                //50毫秒@11.0592MHz
{
        AUXR &= 0x7F;                        //定時器時鐘12T模式
        TMOD &= 0xF0;                        //設置定時器模式
        TL0 = 0x00;                                //設置定時初始值
        TH0 = 0x4C;                                //設置定時初始值
        TF0 = 0;                                //清除TF0標志
        TR0 = 1;                                //定時器0開始計時
        ET0 = 1;                                //使能定時器0中斷
}

建議用12T模式,50毫秒@11.0592MHz,每秒只進中斷20次,頻率要設置成11.0592MHz
回復

使用道具 舉報

11#
ID:621776 發表于 2024-5-15 22:17 | 只看該作者
直接做軟件定時器吧,用邏輯分析儀抓一抓時間,或者改改值.
回復

使用道具 舉報

12#
ID:57657 發表于 2024-5-15 22:44 | 只看該作者
T0m 發表于 2024-5-15 22:17
直接做軟件定時器吧,用邏輯分析儀抓一抓時間,或者改改值.

邏輯分析儀里面通常有個晶振,準確度與該晶振有關。
回復

使用道具 舉報

13#
ID:491577 發表于 2024-5-17 20:40 | 只看該作者
如果誤差超過0.5%就是你的程序有問題,把你的程序貼出來,包括定時器設置函數,定時器中斷函數,單片機主頻。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美一区不卡 | 午夜激情在线视频 | 99精品99| 男人av在线| 亚洲视频一区在线 | 在线成人av | 国产精品五月天 | 一级黄色毛片免费 | 国产成人高清成人av片在线看 | 一级毛片在线播放 | 亚洲一区二区三区免费观看 | 中文字幕日韩一区 | 中文字幕一区二区三区四区五区 | 国产欧美日韩综合精品一区二区 | 男人天堂社区 | 超碰在线国产 | 精品一区二区三区在线观看国产 | 婷婷综合网 | 亚洲黄色高清视频 | 日韩最新网址 | 日日干夜夜草 | a在线观看免费 | 九九免费| 中文字幕亚洲欧美日韩在线不卡 | 国产乱码精品一区二区三区av | 久久精品99 | a看片 | 国产在线观看一区二区三区 | 能看的av| 久久久精彩视频 | 日韩高清国产一区在线 | 久久久久国产精品人 | 国产精品久久久久久久久久免费看 | 欧美一级免费观看 | 一区二区三区亚洲 | 中文字幕一区二区三区四区五区 | 成人免费网站www网站高清 | 久久久不卡网国产精品一区 | 性色综合| 91久操视频 | 成人午夜在线 |