找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2072|回復(fù): 9
打印 上一主題 下一主題
收起左側(cè)

求助!51單片機(jī)如何能用一個固定的頻率去測量脈寬,并在LCD顯示出來

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:981636 發(fā)表于 2021-12-6 21:48 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
提醒:由于本論壇禁止直接求程序,禁止伸手黨,所以向大家請教一下大致的實現(xiàn)方法與思路,理清頭緒后我自己來寫程序去實現(xiàn),謝謝大家

還是正在學(xué)51,想用89C51+LCD1602最小系統(tǒng),試想測量一個脈寬,但要用一個外接的頻率作為計數(shù)。最大顯示為9999(或初步1999),超過最大值時,LCD顯示OL過。還有三個小數(shù)點可以選擇顯示,可以用一個指定的P口控制,如999.9,99.99,9.999,也就是小數(shù)點和脈寬的數(shù)字無關(guān)。有大師幫看下嗎?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:425825 發(fā)表于 2021-12-7 14:23 | 只看該作者
沒看明白你是要做什么
回復(fù)

使用道具 舉報

板凳
ID:624769 發(fā)表于 2021-12-7 16:31 | 只看該作者
你的描述不是很理解,或者說,完全看不懂你想干什么。

你用的89C51 有T2定時器的吧? 你看一下T2里面 CAP的用法,專門是用來抓脈寬的,應(yīng)該能滿足大部分需要抓脈寬的需求。如果因為某些特別的原因,不能滿足你的需要的話……,你要不重新組織一下語言,描述一下,你想干什么?
回復(fù)

使用道具 舉報

地板
ID:981636 發(fā)表于 2021-12-7 22:13 | 只看該作者
大師還在嗎?我只是想用一個在一定范圍的頻率如100K左右(先定為T1寬度),這個頻率每一次都不一樣,可能是87K,可能是105K,或可能是其它值,去計量一個可變脈寬T,并且顯示出的來。現(xiàn)在想來兩個關(guān) 系應(yīng)是,T=nT1  就是多個T1等于T,應(yīng)是要顯示數(shù)值為n。附帶也要幾個小數(shù)點,個位,十位,百位,千位。如果顯示數(shù)值大于9999時,為過載顯示OL提示。如做不到9999這么大的數(shù)值也可以為大于1999時顯示OL。
      我看認(rèn)真看一下T2定時器的用法。應(yīng)有很大幫助吧
回復(fù)

使用道具 舉報

5#
ID:624769 發(fā)表于 2021-12-7 22:35 | 只看該作者
small2 發(fā)表于 2021-12-7 22:13
大師還在嗎?我只是想用一個在一定范圍的頻率如100K左右(先定為T1寬度),這個頻率每一次都不一樣,可能是8 ...

?????
啥意思??

我整理一下, 你是打算,用脈沖測量脈沖? 然后判斷出,被測量的脈沖的麥寬相當(dāng)于多少個你發(fā)出的脈沖的麥寬?
回復(fù)

使用道具 舉報

6#
ID:981636 發(fā)表于 2021-12-7 22:43 | 只看該作者
“我整理一下, 你是打算,用脈沖測量脈沖? 然后判斷出,被測量的脈沖的麥寬相當(dāng)于多少個你發(fā)出的脈沖的麥寬?”
     可以是這樣說的,我的表達(dá)能力有一點問題。用脈沖(相當(dāng)于同步信號)測量脈沖。或是說被測量的脈寬用同步信號來計數(shù)。看看在這個脈寬中有占有多少個同步信號。
回復(fù)

使用道具 舉報

7#
ID:624769 發(fā)表于 2021-12-7 23:26 | 只看該作者
small2 發(fā)表于 2021-12-7 22:43
“我整理一下, 你是打算,用脈沖測量脈沖? 然后判斷出,被測量的脈沖的麥寬相當(dāng)于多少個你發(fā)出的脈沖的麥 ...

那么,我這樣跟你解釋:
假定你假定的同步信號是10us一次,
你可以假裝,你有發(fā)出同步信號,實際上你并沒有發(fā)出任何同步信號,然后你通過定時器每10us讀取一次脈沖接受IO的端口電平,記錄,多少次后完成一個脈沖周期,假定是100次,那么就是1ms,也就是說檢測到了,目標(biāo)脈沖為1Khz。相對于你假定的同步脈沖是100倍, 也許這個就是你要顯示的內(nèi)容??

而上述的操作可以更加簡化:
你假裝,你有發(fā)出10us一次的同步信號,但是實際上,你連定時器都沒有開,你直接用了T2的CAP(捕獲)功能,直接捕捉到了被測目標(biāo)是1ms的脈寬,然后,你直接除以你假裝發(fā)出的同步信號(10us),然后得到100次,然后顯示。
回復(fù)

使用道具 舉報

8#
ID:311846 發(fā)表于 2021-12-8 09:47 | 只看該作者
188610329 發(fā)表于 2021-12-7 23:26
那么,我這樣跟你解釋:
假定你假定的同步信號是10us一次,
你可以假裝,你有發(fā)出同步信號,實際上你并 ...

你為什么要用一個固定的脈沖去計算呢?你直接捕獲不知道的頻率來計算不行么?
回復(fù)

使用道具 舉報

9#
ID:981636 發(fā)表于 2021-12-8 21:19 | 只看該作者
有一點體會。可能要從MCU中分一個很準(zhǔn)的信號,如100k,這個100K給另外的片子用,給作同步,也這樣就CAP功能了。謝了
回復(fù)

使用道具 舉報

10#
ID:981636 發(fā)表于 2021-12-8 21:45 | 只看該作者
權(quán)威人物 發(fā)表于 2021-12-8 09:47
你為什么要用一個固定的脈沖去計算呢?你直接捕獲不知道的頻率來計算不行么?

主要是固定的脈沖和被測的脈沖有關(guān)聯(lián)。從你的分析中。應(yīng)反過來,從MCU給一個固定的如100K的信號給前面的芯片用,就能用假裝了。謝了
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表