欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3050|回復: 11
收起左側

單片機程序由于進中斷過于頻繁導致主函數無法正常運行如何解決?

[復制鏈接]
ID:1043931 發表于 2022-12-6 21:34 | 顯示全部樓層 |閱讀模式
51單片機波形發生器程序
有沒有大佬幫忙看看這個問題怎么解決。河枚〞r中斷來產生波形,通過設置定時時間來設置波形頻率,但是當頻率到100hz后,程序由于進中斷函數頻率過高導致數碼管顯示異常,到1000hz后連按鍵掃描也失效了,這種由于進中斷過于頻繁導致主函數無法正常運行的問題怎么解決。
1.png
2.png
3.png
回復

使用道具 舉報

ID:57657 發表于 2022-12-7 08:29 | 顯示全部樓層
定時器0中斷程序處理時間,超過初值時間導致溢出。
溢出后TF0硬件置1,包含 intrins.h 頭文件后,中斷底部加一句判斷有無溢出: if(_testbit_(TF0)) { }  溢出后if條件會成立,更換1T單片機或使用更高頻率晶振。
回復

使用道具 舉報

ID:308903 發表于 2022-12-7 09:23 | 顯示全部樓層
100hz =100次/秒 ,T = 10ms  
51假如用12M晶振,12000000次/S,T =1/12, Tcy = 12* 1/12 = 1us

一個周期64個采樣點,就是要花10ms, 那每個采樣時間段156.25us,

似乎要加濾波電路吧

回復

使用道具 舉報

ID:94031 發表于 2022-12-7 09:45 | 顯示全部樓層
有直接輸出波形不要cpu
回復

使用道具 舉報

ID:94031 發表于 2022-12-7 09:51 | 顯示全部樓層
有直接輸出波形不要cpu參與的單片機,為什么會有越來越多高級單片機,就是老單片機功能不夠用。
回復

使用道具 舉報

ID:384109 發表于 2022-12-7 10:05 | 顯示全部樓層
程序結構問題,1khz頻率不算高,按鍵或許會反應遲鈍,但不會沒有反應,而且需要確定1khz和定時器中斷時間的對應關系
回復

使用道具 舉報

ID:1034262 發表于 2022-12-7 11:13 | 顯示全部樓層
你先測出來中斷耗時多少,然后保證中斷間隔大于這個時間。
回復

使用道具 舉報

ID:77589 發表于 2022-12-7 11:59 | 顯示全部樓層
中斷服務程序盡量短小!
回復

使用道具 舉報

ID:1043931 發表于 2022-12-7 13:28 | 顯示全部樓層
npn 發表于 2022-12-7 08:29
定時器0中斷程序處理時間,超過初值時間導致溢出。
溢出后TF0硬件置1,包含 intrins.h 頭文件后,中斷底部 ...

加了溢出檢測后確實溢出了
1.png
2.png
回復

使用道具 舉報

ID:1043931 發表于 2022-12-7 13:30 | 顯示全部樓層
xuyaqi 發表于 2022-12-7 09:51
有直接輸出波形不要cpu參與的單片機,為什么會有越來越多高級單片機,就是老單片機功能不夠用。

主要是要求用的51單片機
回復

使用道具 舉報

ID:201854 發表于 2022-12-7 14:09 | 顯示全部樓層
這種通過定時器產生高頻率波形輸出對于很多51單片機是搞不定的,很多51的單片機定時器中斷時間設置少于50us以下就開始沒法勝任,你自己可以算一下最多能輸出多高的方波,像你這種最好不要用定時器而是拉到有pwm功能輸出的腳上。
回復

使用道具 舉報

ID:123289 發表于 2022-12-7 14:27 | 顯示全部樓層
說明的時序設計不合理。
事件的處理不要放在中斷服務處理程序中,放中主程序中。
中斷服務程序要盡量短,做個事件的標記即可!
在主程序中,根據標記處理事件。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表