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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

求教M0單片機匯編后幾個指令周期的指點

[復制鏈接]
跳轉到指定樓層
樓主
我想用單片機的定時器來測頻率,參考的是國民技術的M0的031和其中的例程,我自己是這么想的,因為水平有限手冊也領會不夠,想象中和實際有不對的地方也請指出,先多謝了。
我想就用48M的時鐘做定時器時鐘去測外部15K的頻率,那么一個外部信號周期應該是計時為3200個時鐘,為了獲得這個定時值在官方例程中使用了
IC2Value = TIM_GetCap2(TIM3)來獲取定時器的值來計算外部信號頻率,我個人認為這條指令會帶來額外的計時誤差,會造成測頻誤差變的更大,因此就想在得到這個值后減掉這條指令帶來的時鐘數,這個c語言我看得都還是磕磕巴巴不完全理解更不敢妄談匯編語句了,把匯編后截圖出來,請教下這條指令匯編后究竟需要減去那幾個匯編語句?分別占用了多少時鐘周期?再就是哪里有這個ARM匯編指令周期的講解書可以參考下?


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

使用道具 舉報

沙發
ID:883242 發表于 2024-4-29 21:20 | 只看該作者
有流水線的體系結構都不談每條指令的執行時間。比如你代碼里面的BEQ如果成功了,流水線就會被清空重新加載,誰知道時間是多少?
回復

使用道具 舉報

板凳
ID:401564 發表于 2024-4-30 00:10 | 只看該作者
不要用8051的思路去學32
測量有定時器
精確延時有滴答時鐘
回復

使用道具 舉報

地板
ID:879348 發表于 2024-4-30 08:32 | 只看該作者
你認為而已,實際設置在低電平停止計數,所以這個數值取決于信號而不是你的程序,你的程序只需要保證在低電平內讀數清零就可以,這個時間是很久的
回復

使用道具 舉報

5#
ID:1066092 發表于 2024-4-30 20:46 | 只看該作者
Y_G_G 發表于 2024-4-30 00:10
不要用8051的思路去學32
測量有定時器
精確延時有滴答時鐘

先謝了。
我想用計時法去測頻率。每一個測量周期都要得出當前的頻率是多少。
如果定時器時鐘是48M去測外部一個15K的信號的真實頻率,應該每個周期計時是48000000/15000=3200個,如果計時誤差為1那么測得的頻率誤差是不是就差了1/3200×15000≈4.7hz?如果按例程中進入定時器中斷后再獲取定時器的值,再根據定時器的值來計算頻率,定時器中的實際值應該會比實際值更大頻率誤差也就更大。如果能知道從定時器進入中斷到獲取定時器值經過了多少周期,將獲得的定時器值減去這段時間的周期值,那是不是可以得到更接近真實3200的值?從而得到誤差更小?單片機的晶振是48M,定時器的時鐘也同樣是這個48M就可以不用考慮晶振漂移的問題,假設的條件是外部信號幅度保持穩定不變。
不用計頻法來測頻率是因為需要用足夠長的時間和足夠準確的定時周期才能得到準確的外部頻率測量,沒有那么長的時間去累加外部信號個數,我想要每1ms也就是最多計15個外部信號就要得出準確的外部信號頻率是多少,不管是計頻還是計時法算出來的頻率如果和真實頻率差個幾十上百hz就沒有意義了。
上面只是我的想法,對定時器不熟不知道這樣理解是否正確,還望指教。
回復

使用道具 舉報

6#
ID:401564 發表于 2024-5-2 12:49 | 只看該作者
hisun 發表于 2024-4-30 20:46
先謝了。
我想用計時法去測頻率。每一個測量周期都要得出當前的頻率是多少。
如果定時器時鐘是48M去測 ...

如果你是一個范圍很寬的頻率,比如是從0.1HZ到20KHZ都有,那么單一的定時器肯定就不行了
你可以使用端口中斷加定時器來計算
當出現一個下降沿的時候,就開啟定時器,定時器不用分頻,開啟中斷,每次溢出都把時間累加,直到出現下降沿,再停止定時器,這樣不就得到一個高電平的總時間了嗎?
你也可以用上升沿和下降沿來區分高電平和低電平,并把時間累加,這樣,你就會得到一個高電平時間和低時間
再把時間進行一下平均值濾波,這就得到一個頻率了,誤差不會太大的
回復

使用道具 舉報

7#
ID:1066092 發表于 2024-5-2 16:17 | 只看該作者
Y_G_G 發表于 2024-5-2 12:49
如果你是一個范圍很寬的頻率,比如是從0.1HZ到20KHZ都有,那么單一的定時器肯定就不行了
你可以使用端口中 ...

非常感謝答復指點。
我是想這么用的,傳感器在傳送帶上,傳送帶每秒速度最大可以達到2米/秒,按最小檢測異物來說,每毫秒傳送帶走2毫米在傳感器上反映相位移動了10度這樣子,我在搜索見到的計頻法或者計時法測頻率想要準確的話都需要一定時間累積才可以獲得比較準確的頻率,但是我這樣用累積時間過長可能最小異物已近沖過傳感器,信號太弱無法分辨出是干擾還是確有異物過去,檢測失敗。
為了檢測最小異物,我就想最好是每個信號周期都能得出它的時間寬度,當有異物在傳感器下通過時,它的時間寬度會有個跳變。而之所以這么說,是因為我用示波器看波形,當有異物貼近時波形會有1.1us的移動,但在X軸上用光標看信號的寬度時間,和沒有異物貼近時的寬度時間基本沒有變化,或者說在時間上調動光標到兩者相同位置感覺不到有什么變化基本都是15K信號時的寬度66.6us寬度,示波器上顯示出的頻率波動也是看不出有什么特別變化,所以用頻率來識別異物的方法是行不通的,同時信號的電壓幅度也看不出來有什么變化,所以用檢測電壓幅的方法來識別異物也是行不通的。移除異物后信號又會回到原始位置,所以我認為是異物造成信號相位發生了變化--至于這個理解,有壇友質疑我所認為的相位有變化是錯誤的,給我的感覺是壇友認為同一個信號在示波器上是不能夠確認相位發生了變化,是我不會使用示波器造成的錯誤理解。而我認為是會發生相位變化的,因為這個信號相位的變化是發生在有異物和無異物的不同時間內進行比較的,完全可能有相位變化進行比較,多說這兩句,如果我理解有錯誤還請能指點,我確實不會理論,示波器也是才買來學習不怎么會用。我丟把菜刀進去,信號相位和原始的變化了約30度,但是信號的周期寬度,頻率,電壓幅度還是看不出來有什么變化。
昨晚又搜到個等精度頻率測量方法,這個似乎比計頻法和計時法的精度都高很多,但是這個原理還是沒理解出來,沒搞懂,也還要多用一個定時器。
回復

使用道具 舉報

8#
ID:401564 發表于 2024-5-3 09:06 | 只看該作者
hisun 發表于 2024-5-2 16:17
非常感謝答復指點。
我是想這么用的,傳感器在傳送帶上,傳送帶每秒速度最大可以達到2米/秒,按最小檢測 ...

好深奧,這個已經超出了我的知識范圍了.....
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲网站在线观看 | 日韩在线免费播放 | 天天干,夜夜操 | 国产成人在线一区二区 | 日韩午夜电影在线观看 | 九九亚洲| 亚洲协和影视 | 久久成人国产精品 | a免费在线 | 999久久久久久久久6666 | 色一情一乱一伦一区二区三区 | 一级毛片免费看 | 欧美一级免费看 | 久久精品中文字幕 | 欧美黄色免费网站 | 国产欧美日韩综合精品一区二区 | 91精品国产综合久久婷婷香蕉 | 91精品国产综合久久久久 | 国产亚洲成av人片在线观看桃 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 国外成人在线视频 | 日韩在线播放av | 亚洲欧美日韩中文字幕一区二区三区 | 99久久久国产精品 | 激情综合五月 | 99精品欧美一区二区蜜桃免费 | 日韩在线不卡 | 中文字幕第49页 | 男女性毛片 | 国产女人精品视频 | 成年视频在线观看福利资源 | 久久99精品久久久久久噜噜 | 黄色片视频| 国产成人综合一区二区三区 | 久久国产精品视频 | www.亚洲视频.com | 欧美成人精品激情在线观看 | 五月婷六月丁香 | 草比av| 黄网站涩免费蜜桃网站 | 久久精品日产第一区二区三区 |