色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>可編程邏輯>單片機有源蜂鳴器驅動之效率編程資料下載

單片機有源蜂鳴器驅動之效率編程資料下載

2021-04-14 | pdf | 140.83KB | 次下載 | 免費

資料介紹

在項目中原理圖如下:如果不能保證I/O的輸出性能可以根據情況增加上拉或者下拉電阻。切入正題:在程序里面這個蜂鳴器的驅動就是個高低電平驅動。高電平三極管導通、蜂鳴器發聲,低電平三極管關斷、蜂鳴器不發聲。這的確很簡單,程序上最開始我是這樣寫的:當然,如果單片機沒有很好的I/O跳變函數也可以這樣修改:這里稍作解釋:1)函數功能:蜂鳴器發聲驅動傳入參數:蜂鳴器發聲的次數2)傳入的次數cnt需要再函數內翻倍。這是因為傳入的參數是想讓蜂鳴器連續的發cnt聲。但是蜂鳴器除了發聲還有不發聲的時候。也就是說蜂鳴器每響一次都需要關閉一次,如果沒有關閉操作肯定就不會出現響幾聲而是連續的響一聲,這個也很容易推理。3)在while循環完之后需要加一個蜂鳴器關閉操作。這里假如傳進的參數是2,目的是讓蜂鳴器響兩聲。根據程序的執行步驟:cnt2變成4。第1次while(4) 蜂鳴器開 cnt自減到3第2次while(3) 蜂鳴器關 cnt自減到2第3次while(2) 蜂鳴器開 cnt自減到1第4次while(1) 蜂鳴器關 cnt自減到0第5次while(0) 跳出while可以看出其實在while之后蜂鳴器狀態已經是關閉的了,但是保險起見,確保函數調用完之后蜂鳴器是關閉的狀態。比如第一個函數I/O跳變的就更需要保障了,因為代碼上只能看出跳變,看不到跳變之后的狀態。至此,一個簡單的蜂鳴器電路和驅動程序就都溫習完了,接下來上干貨:在寫程序的時候很多時候講究程序的效率,比如這個蜂鳴器驅動,驅動過程中會降低效率,厲害的人很快能看出來,就是這個Delay延時的問題。但是上面也說了,不延時也是不行的。所以趨于效率我嘗試著換了一種方法驅動蜂鳴器。代碼如下:實現起來也很簡單,簡單說下原理:1)首先是提供蜂鳴器驅動的I/O配置,2)其次是定時器的配置3)最后是定時器中斷函數實現我選用的定時器是項目單片機中最簡單的一個定時器,配制成1ms中斷,能夠提供溢出中斷。其實這個定時器我常用做計系統運行時間Systick_ms。但是該項目對這個系統時間沒有用到,那就用這個定時器做文章把。實現方法:1、同樣函數在調用蜂鳴器驅動的時候接口是一樣的,傳入的參數還是蜂鳴器的響聲次數。2、函數體變了,這里改成了兩個變量的賦值,第一個BELL_CNT同普通方法中的cnt2,這里不再贅述。第二個是FLAG_BELL是用來保存蜂鳴器是否需要驅動的狀態變量。所以既然是調用驅動函數,那肯定這個變量要為真。3、定時器中斷函數里面加上了一個靜態變量NOW,他的作用就是和Systic_ms產生一個50ms的時間片,干嘛用?肯定是給蜂鳴器開關之間的延時用咯。模擬軟件延時嘛。然后再來分析下這段代碼:1)首先這個NOW和Systic_ms是無條件需要賦值保證50ms時間片的。對應的代碼為NOW=Systick_ms+50;2)判斷蜂鳴器驅動狀態變量是不是真,如果不為真就關閉蜂鳴器,這個也是無條件的。3)如果狀態變量為真:蜂鳴器先跳變Bell_Tog();當然如果沒有這個跳變函數也可以用上述的判斷cnt的方法,就不多寫了都是一樣的。同時次數自減BELL_CNT--;同時判斷是不是減到0了,減到0了說明響完了啊,那就把狀態變量賦值為假。再次進來不管蜂鳴器是開著的還是關著的都會執行關閉操作,這個跟上面說的保險一樣。4)最后,這兩個變量用的是全局變量,這里是以結構體的形式呈現的,因為很多情況這兩個函數不在一個C里面。如果硬要寫在一個C可以忽略本條。(mbbeetchina)
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費下載
  2. 0.00 MB  |  1491次下載  |  免費
  3. 2單片機典型實例介紹
  4. 18.19 MB  |  95次下載  |  1 積分
  5. 3S7-200PLC編程實例詳細資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識別和講解說明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開關電源原理及各功能電路詳解
  10. 0.38 MB  |  11次下載  |  免費
  11. 6100W短波放大電路圖
  12. 0.05 MB  |  4次下載  |  3 積分
  13. 7基于單片機和 SG3525的程控開關電源設計
  14. 0.23 MB  |  4次下載  |  免費
  15. 8基于AT89C2051/4051單片機編程器的實驗
  16. 0.11 MB  |  4次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費
  7. 4LabView 8.0 專業版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費
  9. 5555集成電路應用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費
  11. 6接口電路圖大全
  12. 未知  |  30320次下載  |  免費
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費
  15. 8開關電源設計實例指南
  16. 未知  |  21539次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537793次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191183次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183277次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138039次下載  |  免費
主站蜘蛛池模板: 日本理论片午午伦夜理片2021 | 国产一区二区内射最近更新 | 亚洲高清在线天堂精品 | 樱桃视频影院在线播放 | 欧美不卡一区二区三区 | 97人妻AV天天澡夜夜爽 | 91区国产福利在线观看午夜 | adc年龄确认大驾光临入口 | 免费一级片网站 | 久久国语精品 | 99热这里只有精品6 99热这里只有精品 99热这里只有的精品 | 黄页网站18以下勿看免费 | 99久久精品免费看国产一区二区 | 百度影音第四色 | 欧美日韩黄色 | 美女被免费喷白浆视频 | 羞羞漫画免费漫画页面在线看漫画秋蝉 | 欧美在线激情 | 国产精品7777人妻精品冫 | 国产精品一区二区制服丝袜 | 佐山爱巨大肥臀在线 | 国产欧美一区二区三区久久 | 综合精品欧美日韩国产在线 | 国产精品久久久久久免费字体 | 亚洲视频一 | 日本妈妈在线观看中文字幕 | 乱叫抽搐流白浆免费视频 | 午夜AV国产欧美亚洲高清在线 | 免费韩伦影院在线观看 | 野花日本韩国视频免费高清观看 | 国产亚洲精品久久久999无毒 | 亚洲蜜芽在线观看精品一区 | 伊人色综合久久天天网 | 绿巨人www在线观看 绿巨人www | 曰本xxⅹ孕妇性xxx | 99精品福利视频 | www.伊人 | 国产线精品视频在线观看 | 波多野结衣网站www 波多野结衣教师系列6 | 西西人体大胆牲交PP6777 | 免费看美女的网站 |