找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

可以用單片機做一個控制多路的開關嗎?

  [復制鏈接]
跳轉到指定樓層
樓主
ID:381535 發(fā)表于 2018-8-2 03:24 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
本人對電工和單片機知之甚少。
需要將函數發(fā)生器產生的100 kHz 的三角形波(2V到4V)按周期順序送入多條并行線路。初步想法是用單片機做一個可以高速切換的開關,按照三角形波的周期時間打開不同的通道(如下圖所示)。最近看了下C51教程,感覺有點像類似流水燈的東西。

問題1: 請問可以直接用單片機實現這個開關嗎?
問題2: 如果可以的話,是不是只需要將單片機的引腳和線路相連,然后再編一個類似流水燈的程序就行?
問題3: 本人手頭有C51 單片機 At89c2051, 請問是否可以實現這個功能?如果不行,需要什么樣的單片機?
問題4: 不知道單片機是不是最好的方法,請問還有其他方法嗎?





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

使用道具 舉報

沙發(fā)
ID:308437 發(fā)表于 2018-8-2 08:56 | 只看該作者
單片機可以做。使用外部中斷輸入就可以了。具體是捕獲上升沿和下降沿,
不過,你這個“100 kHz ”頻率有點高,要實現有點難。
你可以找一個款高速的單片機試一下

評分

參與人數 1黑幣 +30 收起 理由
admin + 30 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:7485 發(fā)表于 2018-8-2 09:11 | 只看該作者
100kHz?有點高了。用什么單片機?多少的晶振?

評分

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

查看全部評分

回復

使用道具 舉報

地板
ID:382025 發(fā)表于 2018-8-2 10:03 | 只看該作者
可以的 單片機具有強大的中斷功能  可以實現這個功能
回復

使用道具 舉報

5#
ID:97554 發(fā)表于 2018-8-2 10:12 | 只看該作者
樓主可以了解一下CD4017數字電路,但是也存在相同問題,CD4017的極限時鐘頻率好像只有5.5M,跟樓主要求的10M比起來差了很多

評分

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

查看全部評分

回復

使用道具 舉報

6#
ID:302217 發(fā)表于 2018-8-2 13:11 | 只看該作者
大多數單片機輸出10us脈沖式比較難的,即使有能做到的,波形畸變也會很嚴重。能輸出這個脈沖的單片機,工作頻率會很高,成本也會很高,所以應該采用觸發(fā)器分頻器等,如4017之類的芯片來做。對于4017,10us輸出是很容易的了,波形邊沿在百納秒級,對于10us脈沖來說,已經沒什么問題。而且輸出幾路也是可調的。

評分

參與人數 2黑幣 +40 收起 理由
yousunny + 10 很給力!
admin + 30 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

7#
ID:215304 發(fā)表于 2018-8-2 16:18 | 只看該作者
單片機可以做。使用外部中斷輸入就可以了。具體是捕獲上升沿和下降沿,
不過,你這個“100 kHz ”頻率有點高,要實現有點難。
你可以找一個款高速的單片機試一下
回復

使用道具 舉報

8#
ID:381535 發(fā)表于 2018-8-2 20:55 | 只看該作者
ahshmj 發(fā)表于 2018-8-2 09:11
100kHz?有點高了。用什么單片機?多少的晶振?

單片機的速度是不是由晶振決定的? 手頭的at89c2051晶振頻率是24Mhz.
回復

使用道具 舉報

9#
ID:381535 發(fā)表于 2018-8-2 20:57 | 只看該作者
230000 發(fā)表于 2018-8-2 13:11
大多數單片機輸出10us脈沖式比較難的,即使有能做到的,波形畸變也會很嚴重。能輸出這個脈沖的單片機,工作 ...

謝謝回復!

我不需要單片機輸出脈沖,只需要按function generator 的周期切換就行。這個跟脈沖有關系嗎?
回復

使用道具 舉報

10#
ID:381535 發(fā)表于 2018-8-2 20:58 | 只看該作者
astonzorro 發(fā)表于 2018-8-2 16:18
單片機可以做。使用外部中斷輸入就可以了。具體是捕獲上升沿和下降沿,
不過,你這個“100 kHz ”頻率有點 ...

什么東西可以作為外部中斷?function generator 可以嗎?
回復

使用道具 舉報

11#
ID:117207 發(fā)表于 2018-8-2 22:41 | 只看該作者
這個看著很簡單吧
回復

使用道具 舉報

12#
ID:370041 發(fā)表于 2018-8-3 10:11 | 只看該作者
說實話,,,最好用單片機控制多選一數據選擇器,,,應為單片機管腳輸出電壓是恒定的,51中斷也是可以實現的
回復

使用道具 舉報

13#
ID:7485 發(fā)表于 2018-8-3 10:36 | 只看該作者

這個不簡單或者說根本做不到。10us能執(zhí)行幾條指令?他還是4路輸出,而且每路之間下降沿和上升沿無縫銜接,一條指令都插不進去,怎么切換?
回復

使用道具 舉報

14#
ID:385318 發(fā)表于 2018-8-20 10:13 | 只看該作者
用中斷就可以了
回復

使用道具 舉報

15#
ID:388067 發(fā)表于 2018-8-20 11:32 | 只看該作者
你這個頻率有點高啊,用硬件電路好點!
回復

使用道具 舉報

16#
ID:388116 發(fā)表于 2018-8-20 14:06 | 只看該作者
gguo2 發(fā)表于 2018-8-2 20:57
謝謝回復!

我不需要單片機輸出脈沖,只需要按function generator 的周期切換就行。這個跟脈沖有關系 ...

單片機捕獲脈沖跟時鐘主頻也有關系,建議使用ST或新唐的高速MCU來做。
回復

使用道具 舉報

17#
ID:388191 發(fā)表于 2018-8-20 16:06 | 只看該作者
使用外部中斷輸入捕獲上升沿和下降沿
回復

使用道具 舉報

18#
ID:381535 發(fā)表于 2018-8-21 04:15 | 只看該作者
qinmiss 發(fā)表于 2018-8-3 10:11
說實話,,,最好用單片機控制多選一數據選擇器,,,應為單片機管腳輸出電壓是恒定的,51中斷也是可以實現 ...

謝謝, 你說的是對的,我用4051復用器實現了
回復

使用道具 舉報

19#
ID:388356 發(fā)表于 2018-8-21 08:49 | 只看該作者
使用外部中斷輸入
回復

使用道具 舉報

20#
ID:388356 發(fā)表于 2018-8-21 08:50 | 只看該作者
使用外部中斷輸入
回復

使用道具 舉報

21#
ID:388013 發(fā)表于 2018-8-21 11:55 | 只看該作者
可以試試利用延時給io口供高電平通過修改io定時器提供高電平的時間來實現。
回復

使用道具 舉報

22#
ID:382067 發(fā)表于 2018-8-24 13:19 來自手機 | 只看該作者
個人認為如果要求的晶振比較高,而且要生成很多不同的波形,建議轉用FPGA
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

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