找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2493|回復(fù): 6
收起左側(cè)

STC15W104單片機(jī)時鐘校準(zhǔn)的設(shè)想

[復(fù)制鏈接]
ID:570252 發(fā)表于 2020-4-19 09:54 | 顯示全部樓層 |閱讀模式
請問各位高人:
8腳的STC15W104只能用內(nèi)部RC振蕩器,但定時精度有限。是否可以把內(nèi)部時鐘定為某值,如30MHz,同時在定時器0上輸入一外部有源晶振產(chǎn)生的時鐘信號,如30MHz,并對其計數(shù)。每隔一定時間,如0.1秒,將計數(shù)結(jié)果與3MHz相除,得到一修正系數(shù),并用此系數(shù)來調(diào)整?謝謝。

回復(fù)

使用道具 舉報

ID:213173 發(fā)表于 2020-4-19 10:28 | 顯示全部樓層
STC15W104沒有外部時鐘輸入端,只能用內(nèi)部時鐘。如果不是對時鐘精度要求特別高,可以通過修改定時器TL0重裝值修正。

char i=0;//+127~-128

void Timer0Init()                //1毫秒@30.000MHz
{
        AUXR |= 0x80;                //定時器時鐘1T模式
        TMOD &= 0xF0;                //設(shè)置定時器模式
        TH0 = 0x8A;                        //設(shè)置定時初值
        TL0 = 0xD0+i;                //設(shè)置定時初值
        TF0 = 0;                        //清除TF0標(biāo)志
        TR0 = 1;                        //定時器0開始計時
}
回復(fù)

使用道具 舉報

ID:584814 發(fā)表于 2020-4-19 10:37 | 顯示全部樓層
如果外部的準(zhǔn)就用外部的,如果兩個都不準(zhǔn)誰聽準(zhǔn)的 ?
回復(fù)

使用道具 舉報

ID:570252 發(fā)表于 2020-4-19 11:24 | 顯示全部樓層
我的設(shè)想如下:
假設(shè)輸入到T0的外部時鐘是正確的,16.5MHz,那0.1秒計數(shù)結(jié)果應(yīng)該是1.65MHz。如果得出的結(jié)果是0.825MHz,則說明慢了一半。至于是什么原因不重要。
同時T1在對真正的外部信號在計頻,比如8MHz。既然T0慢了一半,那T1也會慢一半,所以是0.4MHz。
最終結(jié)果是,需計數(shù)頻率 = 0.4MHz *10 *2 = 8MHz。
從某種意義上來說,我不是在做頻率計,而是頻率比較計。
不知我的設(shè)想是否正確,請指教。
回復(fù)

使用道具 舉報

ID:687694 發(fā)表于 2020-4-19 11:29 | 顯示全部樓層
能用外部準(zhǔn)確時鐘何必用內(nèi)部時鐘?
回復(fù)

使用道具 舉報

ID:570252 發(fā)表于 2020-4-19 13:09 | 顯示全部樓層
lovexulu 發(fā)表于 2020-4-19 11:29
能用外部準(zhǔn)確時鐘何必用內(nèi)部時鐘?

因為此芯片的機(jī)器時鐘只能使用機(jī)內(nèi)的RC振蕩器。
回復(fù)

使用道具 舉報

ID:220661 發(fā)表于 2020-4-19 16:11 | 顯示全部樓層
如果對比。30M的外部時鐘得降頻使用。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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