![]() |
發布時間: 2019-2-18 11:19
正文摘要:STC15F104W是一種8引腳的單片機,只需要兩個引腳用于電源輸入,其余均可做IO口使用,我們可以無限地利用有限的資源,在此贊一下設計者!但在使用過程中,總覺得利用內置的時鐘,采用定時器作定時時,好像比正常的時 ... |
首先確定一下,你的時鐘模式。在一個是不是定時器的初始設置太小了。 |
任何廠家芯片內的RC振蕩精度都不高,包括TI大廠的。這由它的本質決定,所以有了晶振這東西,要想精度高只有用晶振。如要求更高,還得用溫補晶振。 STC11F04E(20腳)內部RC標稱5Mhz,實測4.6~4.8Mhz。 |
內置時鐘的穩定性很不好 像這種建議做精度不太高的執行控制器,不建議用作高精度運算部件 |
那個寶上有有LCD1602的IIC模塊 |
tigerzq 發表于 2019-2-19 22:59 這種構思已使用過,用外部的時鐘電路也難免會有些小誤差,我就是用這種方法來進行自動校正的。 |
設計一個帶自動校時的功能,每天自動校時 |
新新科技 發表于 2019-2-19 11:06 因為是使用了內部的時鐘了,誤差大是正常的,如果你用的是C來寫,誤差可能還會再大一點 片上的時鐘能有5%的精度就不錯了,而你做時鐘的話,它是累加的,所以,想做時候,最好還是用有源時鐘IC好一點 |
要求精度高可以外加個4060產生1Hz秒信號呀。這樣不就解決了精度問題。104雖然沒有ad腳。但是外部電路可以加個ad轉換吧。8腳IC。!4個腳用于1602SPI顯示。剩下二個腳用于電壓電流數據輸入。不知道用TM7711怎么樣。我看他20-40MV精度好像是3%。可惜我不會編程。淘寶TM711電子秤ad轉換IC。雙路的0.7元一個。用在電壓電流顯示上不知道行不行 |
內部時鐘會有誤差,如果想要準確計時,用外部時鐘比較好。 |
新新科技 發表于 2019-2-19 11:11 可以利用用外部RC充放電積分電路用軟件模擬AD,當然精度比較差些,聊勝于無…… |
STC單片機的內部RC震蕩頻率誤差是相當大的,而且隨著運行還要受溫度影響,估計跟它們的生產工藝和檢測機制有關,我曾碰到有好幾片甚至因為波特率誤差太大而導致無法進行正常的串口通訊,有精確定時和時鐘需求的還是建議采用外部晶振作時鐘源 |
精度取決于使用條件,實在需要加溫度補償吧。 |
劉鐵民 發表于 2019-2-18 21:19 加一片轉換板可以實現LCD1602的IIC通信,我還沒有遇到SPI接口的1602。104可以做成電壓電流表?它有AD腳? |
Y_G_G 發表于 2019-2-18 22:25 如果幾天下來快慢一分鐘,那可以接受。而這104按廠家燒錄工具提供的定時器設置例程編寫的程序,感覺一小時下來還要出現很大的時間差,如果用于日常時鐘根本不能用,如果用于相對嚴格的定時器也不行。 |
本帖最后由 wulin 于 2019-2-19 10:28 編輯 采用STC15F104W單片機做時鐘因其只能使用內部RC振蕩精度有限,積累誤差很大。當然不是沒有解決方案。 1.設置較高的振蕩頻率(24M) 2.設置定時器1T16位自動重載模式 3.根據±誤差加減重載值 4.再根據±誤差加減中斷計數值 5.再根據±誤差在23:59'59"加減最后1秒的中斷計數值 6.修正值變量可以保存在EEPROM中,可以隨時調用和修改以解決季節溫度補償 7.端口不夠用可以采用端口復用技術解決 通過上述措施使走時精度輕松控制在日誤差1秒內。 |
內部時鐘會有誤差的,要準確計時需要補償,但也是不能解決根本問題。 要準確計時,用外部時鐘吧。做好是恒溫的晶振,,,,,, |
用單片機的定時器來檢測或者波形輸出可以很準確,但做時間卻不怎么好,要么快,要么慢,而且這個是慢慢累加起來的,所以,幾天慢個一分鐘也算是正常的,你稍微的調一下,它又快了. |