找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4940|回復: 4
收起左側(cè)

求指教,自己編的小程序有一點小問題,單片機測速及數(shù)碼管顯示速度

[復制鏈接]
ID:187352 發(fā)表于 2017-4-8 11:21 | 顯示全部樓層 |閱讀模式
程序說明:
每圈產(chǎn)生200個脈沖,輪徑125mm,每秒顯示速度;
程序里面每一行都有說明。
我遇到的問題:50Hz時應該顯示3,但是數(shù)碼是000和014循環(huán)顯示;
300Hz時應該顯示21,但是數(shù)碼是014和028循環(huán)顯示;
700Hz時應該顯示49,但是數(shù)碼是056和042循環(huán)顯示;
1000Hz時應該顯示70,這個是正確顯示的;
1500Hz時應該顯示105,但是數(shù)碼是098和113循環(huán)顯示。
我的發(fā)現(xiàn):
數(shù)碼管顯示不準確的,應該顯示的正好是循環(huán)顯示的那兩個數(shù)的平均數(shù),是我自己瞎猜的,不知道是什么問題;
我后來用其他頻率仿真,發(fā)現(xiàn)只有200Hz的倍數(shù)才會顯示正確,小于200Hz都是000和014循環(huán)顯示,是因為計數(shù)滿200才會執(zhí)行數(shù)據(jù)處理的程序;
然后我修改了代碼,如圖;
修改之后還不如原來,希望有好心的大神幫我分析分析,謝謝了。


修改代碼01

修改代碼01

修改代碼02

修改代碼02

修改后仿真應該顯示70卻只顯示14

修改后仿真應該顯示70卻只顯示14

00.rar

193.93 KB, 下載次數(shù): 38

修改前后的程序

回復

使用道具 舉報

ID:123289 發(fā)表于 2017-4-8 15:46 | 顯示全部樓層
定時器中time是干什么的?計算式中未看到time。

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:187352 發(fā)表于 2017-4-8 16:32 | 顯示全部樓層
yzwzfyz 發(fā)表于 2017-4-8 15:46
定時器中time是干什么的?計算式中未看到time。

time是定時器T0計時使用的,定時為50ms,記滿20次即為1s
回復

使用道具 舉報

ID:123289 發(fā)表于 2017-4-8 21:31 | 顯示全部樓層
記滿1S后干什么?有什么用?用在何處了?與計算的何處理相關?

評分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

ID:111634 發(fā)表于 2017-4-9 07:53 | 顯示全部樓層
本帖最后由 zl2168 于 2017-4-9 15:20 編輯

給你幾個案例參考
實例73 測量脈沖頻率
Proteus仿真一下,確認有效
實例73 測量脈沖頻率.rar (52.74 KB, 下載次數(shù): 26)
測量脈沖頻率.jpg
以上摘自張志良編著《單片機實驗實訓100例》 ISBN 978-7-5124-1603-1,北航社出版
書中電路和程序設計有詳細說明,程序語句條條有注解。






回復

使用道具 舉報

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

本版積分規(guī)則

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

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

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