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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

STC 硬件仿真如何看運行時間?

[復制鏈接]
跳轉到指定樓層
樓主
在做的項目里有倒計時的功能,用STC 8G1K08設置芯片仿真,自動設定的頻率總是有誤差,并且每次的設定頻率誤差還不一樣。比如:


  . 用戶設定頻率: 11.059MHz
  . 調節后的頻率: 11.040MHz (主時鐘分頻系數 = 2)
  . 頻率調節誤差: -0.174%

因為頻率有誤差,所以感覺每次倒計時的時間總是不準。想問下在硬件仿真時能看到具體的運行時間嗎?好像STC芯片仿真時看不了時間?

另外,要想得到比較精確的時間,需要并聯外部晶振和電容么?還是用它“用戶自定義內部IRC頻率”的范例程序代碼設置?


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

使用道具 舉報

沙發
ID:624769 發表于 2022-12-18 12:49 來自觸屏版 | 只看該作者
直接看不了,只能間接看,比如利用某變量記錄兩個時間點之間的機器周期,又比如某個IO在兩個不同時間點輸出高低電平,第三方采集等。
回復

使用道具 舉報

板凳
ID:624769 發表于 2022-12-18 12:53 來自觸屏版 | 只看該作者
要想得到較準的頻率,應當讀取出廠的22.1184校驗值,用這個,再根據你的實際需要分頻,ISP下載設置的頻率是不準的,受限你的電腦,至少我用電腦設能誤差3%以上。
回復

使用道具 舉報

地板
ID:1044091 發表于 2022-12-18 13:51 | 只看該作者
188610329 發表于 2022-12-18 12:49
直接看不了,只能間接看,比如利用某變量記錄兩個時間點之間的機器周期,又比如某個IO在兩個不同時間點輸出 ...

我加了一個斷點,按F5數碼管就可以按數字倒計時了。但問題是左下角的時間一直是0啊,不顯示時間。我再試試用IO輸出個方波的方法。



回復

使用道具 舉報

5#
ID:1044091 發表于 2022-12-18 14:08 | 只看該作者
188610329 發表于 2022-12-18 12:53
要想得到較準的頻率,應當讀取出廠的22.1184校驗值,用這個,再根據你的實際需要分頻,ISP下載設置的頻率是 ...

您說的是不是這樣,下載時需要選擇22.1184Mhz嗎,還是根本就不用管這項了,直接在代碼里手動設置IRC頻率為22.1184Mhz然后2分頻?按您的經驗,手動設置IRC頻率準嗎?官方給出了3種代碼,有點簡單有的復雜,我應該用哪個呢?

回復

使用道具 舉報

6#
ID:213173 發表于 2022-12-18 14:40 | 只看該作者
實際運用中,一小時內這點誤差可以忽略不計。如果對時間精度有特別需求就要另外添置高精度時鐘芯片。
回復

使用道具 舉報

7#
ID:401564 發表于 2022-12-18 16:50 | 只看該作者
一兩個小時的倒計時是不會有問題的,只要IRC時鐘選擇對了,再用定時器做延時,保證沒有問題
STC8G1K08A,我用來定時六個小時,在分上跟時鐘IC是沒有區別的,但有時會誤差三五分鐘
做項目是不可能讓你每個單片機去調節時鐘的,每個單片機的RC時鐘誤差都是差不多的
如果你要是想知道怎么測量,最好是下載后用IO進行測量,示波器或者邏輯分析儀都可以
回復

使用道具 舉報

8#
ID:624769 發表于 2022-12-18 18:33 來自觸屏版 | 只看該作者
ningsy 發表于 2022-12-18 14:08
您說的是不是這樣,下載時需要選擇22.1184Mhz嗎,還是根本就不用管這項了,直接在代碼里手動設置IRC頻率 ...

下載時可以不需要設置22.1184, 但是,由于頻段的關系,要選同一頻段的,為了避免麻煩,你還是選22.1184吧,8g1k沒有chipID,所以,你只能ROM讀取,記得下載時勾選“末尾添加重要參數”選項,才能讀取成功。最后,這個數值,是出廠是stc測試時最接近22.1184頻率的值,如果這個頻率最終依然無法滿足你的需要,你只能考慮其他時鐘源了。就我的使用結果來看,比電腦自動調的要準太多了。
回復

使用道具 舉報

9#
ID:624769 發表于 2022-12-18 18:36 來自觸屏版 | 只看該作者
ningsy 發表于 2022-12-18 13:51
我加了一個斷點,按F5數碼管就可以按數字倒計時了。但問題是左下角的時間一直是0啊,不顯示時間。我再試 ...

左下角是一直0的,所以我說沒有辦法直接得到,只能要么用變量記錄時鐘周期,比如開個定時器,每50000個周期,變量+1,然后結合定時器和變量,算出過了多少周期,要么某個IO輸出高低電平,讓第三方芯片來計算。
回復

使用道具 舉報

10#
ID:1044091 發表于 2022-12-18 19:28 | 只看該作者
網上查了一下,有人讓單片機產生1S(或100ms)的波形,配合邏輯分析儀,調整IRTRIM寄存器的值,即可調整STC單片機的頻率。但這個調整是一次性的,不同的單片機,就可能有所不同,不同的環境(特指溫度,也可能不同)。 這就很麻煩了。我還是先接受它自動調整的精度,實在不行了,就接個晶振上去爽快些。
回復

使用道具 舉報

11#
ID:1034262 發表于 2022-12-18 23:21 | 只看該作者
用一個IO來指示時間。
回復

使用道具 舉報

12#
ID:1044091 發表于 2022-12-19 09:15 來自觸屏版 | 只看該作者
多謝以上各位指導!我會試試看,或許就能用到。
回復

使用道具 舉報

13#
無效樓層,該帖已經被刪除
14#
ID:401564 發表于 2023-2-5 19:35 | 只看該作者
ningsy 發表于 2022-12-19 09:15
多謝以上各位指導!我會試試看,或許就能用到。

對于精確的長時間,STC單片機都是用定時器的
不會用while這種代碼的
至于調節片上的時鐘,感覺沒必要
回復

使用道具 舉報

15#
ID:1061331 發表于 2023-2-6 00:42 | 只看該作者
用DEBUG斷點調試
回復

使用道具 舉報

16#
ID:1149881 發表于 2025-5-8 14:27 | 只看該作者
搞一個定時器中斷,舉個例子,里面不是有TL0和TH0,,查手冊找到它們的地址,然后用keil的debug,找里面的memory,然后你去搜你要找的l0和h0的地址,然后打斷點運行,看時間變化量就可以了。注意觀察是否重新開始加載值了
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中日韩欧美一级片 | 欧美日韩不卡合集视频 | 久久久精品在线 | 国产精品3区| 99re视频在线 | 国产一区二区欧美 | 国产一二三区免费视频 | 欧美一页 | 欧美成人精品 | 国产精品毛片一区二区在线看 | 国产在线视频一区 | 粉嫩一区二区三区国产精品 | 一区二区三区精品在线视频 | 成人av免费网站 | 久久久久久99 | 午夜码电影 | 亚洲欧美日韩精品久久亚洲区 | 羞羞的视频在线观看 | 国产美女黄色 | 亚洲日韩中文字幕一区 | 亚洲激情在线观看 | 美女黄18岁以下禁止观看 | 欧美久久视频 | 99视频在线免费观看 | 国产成人艳妇aa视频在线 | 一区二区三区小视频 | 性一交一乱一透一a级 | 99久久国产免费 | 精品日韩欧美一区二区 | 欧美国产激情二区三区 | 精品1区2区 | 亚洲一区中文 | 日韩久久久久久久 | 成人a网| 久国产视频 | 欧美在线成人影院 | 四虎影院在线观看av | 欧美日高清视频 | 日韩av在线中文字幕 | 久草视频观看 | 黄色网页在线观看 |