找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6192|回復(fù): 22
收起左側(cè)

單片機(jī)蜂鳴器C語言程序“~”是啥作用吶

  [復(fù)制鏈接]
ID:973287 發(fā)表于 2021-10-21 13:15 | 顯示全部樓層 |閱讀模式
51hei截圖_20211021131412.png 51hei截圖_20211021131319.png
和 sound=0有啥區(qū)別嗎?
回復(fù)

使用道具 舉報

ID:94031 發(fā)表于 2021-10-21 14:03 | 顯示全部樓層
sound=~sound  在sound原有狀態(tài)上取反,sound=0 直接 置零。
回復(fù)

使用道具 舉報

ID:624769 發(fā)表于 2021-10-21 15:08 | 顯示全部樓層
取反,等同于:  Sound = !Sound;
回復(fù)

使用道具 舉報

ID:973802 發(fā)表于 2021-10-21 16:00 來自觸屏版 | 顯示全部樓層
取反的意思
回復(fù)

使用道具 舉報

ID:856329 發(fā)表于 2021-10-21 17:47 | 顯示全部樓層
樓主的仿真圖錯了吧。以下是我的仿真圖:

1.png

樓主用的應(yīng)該是無源蜂鳴器,內(nèi)部不包含振蕩電路,所以需要一個外部的時鐘信號才能將其驅(qū)動起來,不同的頻率信號可以使無緣蜂鳴器發(fā)出不同的響聲。io口輸出低電平時,三極管導(dǎo)通,輸出高電平時,三極管截止。程序中通過給io口取反,可以輸出時鐘信號,在循環(huán)中加入延時,可以改變信號頻率。


回復(fù)

使用道具 舉報

ID:304725 發(fā)表于 2021-10-21 18:07 | 顯示全部樓層
產(chǎn)生高低變化的方波,讓蜂鳴器發(fā)出聲音,無源蜂鳴器不是變化的電平不會發(fā)聲
回復(fù)

使用道具 舉報

ID:491875 發(fā)表于 2021-10-21 18:21 | 顯示全部樓層
你的三極管CE極搞反了
回復(fù)

使用道具 舉報

ID:624769 發(fā)表于 2021-10-21 19:29 | 顯示全部樓層
說起來,也許沒人信,在這個電路里,仿真會怎么樣我不知道,實(shí)際電路的話,PNP管的話,正反接蜂鳴器居然都能響。
回復(fù)

使用道具 舉報

ID:57657 發(fā)表于 2021-10-21 19:36 | 顯示全部樓層
表示 C語言 按位取反 運(yùn)算符。
回復(fù)

使用道具 舉報

ID:342822 發(fā)表于 2021-10-21 19:49 | 顯示全部樓層
188610329 發(fā)表于 2021-10-21 19:29
說起來,也許沒人信,在這個電路里,仿真會怎么樣我不知道,實(shí)際電路的話,PNP管的話,正反接蜂鳴器居然都 ...

不信!~~~~!。。。
回復(fù)

使用道具 舉報

ID:964308 發(fā)表于 2021-10-21 20:05 來自觸屏版 | 顯示全部樓層
反操作,原來是1,取反就是0
回復(fù)

使用道具 舉報

ID:936483 發(fā)表于 2021-10-21 22:25 | 顯示全部樓層
直接取反的
回復(fù)

使用道具 舉報

ID:960157 發(fā)表于 2021-10-22 06:55 | 顯示全部樓層
沒加延時,恐怕不行。。
回復(fù)

使用道具 舉報

ID:971289 發(fā)表于 2021-10-22 21:45 | 顯示全部樓層
while是循環(huán)。=0是一直為0,=~是不斷取反,兩次取反的中間需要加延時,否則沒有意義。
回復(fù)

使用道具 舉報

ID:280000 發(fā)表于 2021-11-19 14:15 | 顯示全部樓層
取反的意思,端口電平取反,C語言基本知識
回復(fù)

使用道具 舉報

ID:982531 發(fā)表于 2021-11-19 14:27 | 顯示全部樓層
這個是取反,高低電平切換
回復(fù)

使用道具 舉報

ID:624769 發(fā)表于 2021-11-19 14:41 | 顯示全部樓層
taotie 發(fā)表于 2021-10-21 19:49
不信!~~~~。。。!

不信的話,可以試驗(yàn)一下,實(shí)踐出真知,怕麻煩的話,也不用搭電路,有可以測三極管的萬用表的話,找個PNP管,就8550好了,B極在中間,比較方便,CE反插看看能不能導(dǎo)通。放大倍率會比正接小一點(diǎn),但是讓蜂鳴器響還是夠的。
回復(fù)

使用道具 舉報

ID:964308 發(fā)表于 2021-11-22 15:06 來自觸屏版 | 顯示全部樓層
取反,高電平變低電平,低電平變高電平
回復(fù)

使用道具 舉報

ID:871397 發(fā)表于 2021-11-22 15:53 | 顯示全部樓層
如果里面寫sound=0,就算while(1)多次執(zhí)行,后續(xù)sound也一直是0。~是取反的意思(~1=0;~0=1)。這樣寫的好處是,如果上次while
回復(fù)

使用道具 舉報

ID:871397 發(fā)表于 2021-11-22 15:56 | 顯示全部樓層
~是取反。~1=0;~0=1。這樣寫的意思是:如果上一個狀態(tài)while(1)內(nèi)部執(zhí)行結(jié)果是0,那么這次while(1)內(nèi)部執(zhí)行結(jié)果是~0=1。再下一次,執(zhí)行結(jié)果是~1=0。多次循環(huán)代表這里發(fā)出了50%占空比的方波。
回復(fù)

使用道具 舉報

ID:974277 發(fā)表于 2021-11-22 16:15 來自觸屏版 | 顯示全部樓層
按位取反,使蜂鳴器端口電平來回變換,從而產(chǎn)生聲音
回復(fù)

使用道具 舉報

ID:983890 發(fā)表于 2021-11-23 18:36 來自觸屏版 | 顯示全部樓層
取反,Sound=!Sound;
回復(fù)

使用道具 舉報

ID:983972 發(fā)表于 2021-11-23 20:05 | 顯示全部樓層
~是取反的意思。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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