找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 3071|回復(fù): 12
收起左側(cè)

單片機應(yīng)該不能只通過延時函數(shù)讓兩個輸出口輸出不同頻率的波形吧?

[復(fù)制鏈接]
ID:803014 發(fā)表于 2021-1-20 11:47 | 顯示全部樓層 |閱讀模式
如題,有大佬過來解答一下嗎?
回復(fù)

使用道具 舉報

ID:235200 發(fā)表于 2021-1-20 12:13 | 顯示全部樓層
可以用定時計數(shù)器確定波形周期,比用延時函數(shù)好
回復(fù)

使用道具 舉報

ID:332444 發(fā)表于 2021-1-20 12:36 | 顯示全部樓層
定時也是延時的一種形式而已
回復(fù)

使用道具 舉報

ID:390416 發(fā)表于 2021-1-20 13:04 | 顯示全部樓層
當(dāng)然是可以的,下面這個是最小公倍數(shù)的算法。簡簡單單的三個IO口輸出波形
51hei截圖20210120130326.png
回復(fù)

使用道具 舉報

ID:803014 發(fā)表于 2021-1-20 14:02 | 顯示全部樓層
csmyldl 發(fā)表于 2021-1-20 12:13
可以用定時計數(shù)器確定波形周期,比用延時函數(shù)好

嗯……為了精準(zhǔn)延時我延時函數(shù)就是用定時器中斷寫的,基本能輸出我想要的波形,但是如果我想同時輸出兩個不同的波形應(yīng)該怎么辦?
回復(fù)

使用道具 舉報

ID:803014 發(fā)表于 2021-1-20 14:03 | 顯示全部樓層
xianfajushi 發(fā)表于 2021-1-20 12:36
定時也是延時的一種形式而已

確實如此
回復(fù)

使用道具 舉報

ID:752974 發(fā)表于 2021-1-20 14:34 | 顯示全部樓層
用一個定時精度高一點的定時器,如定時1uS,在中斷里計數(shù),根據(jù)你  要的頻率,處理計數(shù)值及標(biāo)識,在主循環(huán)中判斷不同的標(biāo)識控制IO口。
回復(fù)

使用道具 舉報

ID:775776 發(fā)表于 2021-1-20 14:44 | 顯示全部樓層
stm32 有專門pwm接口
回復(fù)

使用道具 舉報

ID:330938 發(fā)表于 2021-1-20 16:39 | 顯示全部樓層
看芯片帶不帶硬件PWM,沒有的話只能軟件pwm
回復(fù)

使用道具 舉報

ID:803014 發(fā)表于 2021-1-20 16:51 | 顯示全部樓層
munuc_w 發(fā)表于 2021-1-20 14:34
用一個定時精度高一點的定時器,如定時1uS,在中斷里計數(shù),根據(jù)你  要的頻率,處理計數(shù)值及標(biāo)識,在主循環(huán) ...

你這么一說我感覺有點不知道怎么定時了,我現(xiàn)在用的51單片機自帶24.5M的晶振,定時1us算不出來
回復(fù)

使用道具 舉報

ID:803014 發(fā)表于 2021-1-20 16:58 | 顯示全部樓層
人人學(xué)會單片機 發(fā)表于 2021-1-20 13:04
當(dāng)然是可以的,下面這個是最小公倍數(shù)的算法。簡簡單單的三個IO口輸出波形

這個牛逼,弄一個單獨的計數(shù)器,根據(jù)當(dāng)前數(shù)值來判斷燈(輸出)是否應(yīng)該改變狀態(tài),我覺得可以套用(把這個寫進定時器中斷應(yīng)該能達到很好的效果)
回復(fù)

使用道具 舉報

ID:803014 發(fā)表于 2021-1-20 17:00 | 顯示全部樓層

還在學(xué)51呢,現(xiàn)在手上有塊C8051F410,還在鉆研
回復(fù)

使用道具 舉報

ID:803014 發(fā)表于 2021-1-20 17:02 | 顯示全部樓層
龍千校 發(fā)表于 2021-1-20 16:39
看芯片帶不帶硬件PWM,沒有的話只能軟件pwm

嗯,我找一找
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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