999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STC89C52單片機的蜂鳴器的設計與實現

2022-11-11 10:58:48
無線互聯科技 2022年16期
關鍵詞:單片機

徐 敏

(江蘇聯合職業技術學院 無錫旅游商貿分院 信息工程系,江蘇 無錫 214000)

0 引言

單片機是智能制造和智能服務的基礎技術,具有集成度高、可控力強、適應度高、功耗低、擴展靈活等優勢。蜂鳴器是傳感器的一種,它是一種一體化結構的電子訊響器,采用直流電壓供電,在生活的方方面面都有應用,例如在計算機、打印機、復印機、報警器、電子玩具、汽車電子設備、電話機、定時器等電子產品中作發聲器件。

1 STC89C52單片機

本次設計中單片機選用STC89C52 型號,它是STC公司生產的一種低功耗、高性能CMOS八位微控制器,使用經典的MCS-51內核,同時也做了很多的改進,使得芯片具有傳統的51單片機不具備的功能,為嵌入式控制應用系統提供高靈活有效的解決方案[1]。STC89C52單片機的最小系統有復位、時鐘、電源3部分電路組成:復位電路的作用是初始化,再次使用時可以重新開始;時鐘電路使單片機具有自我把控時間的功能,進而準確地進行數據處理;電源電路主要起到為整體電路供電作用[2]。

1.1 STC89C52的功能及參數

STC89C52的時鐘機器周期有兩種,分別為:6時鐘/機器周期和12時鐘/機器周期;工作電壓為5.5 V~3.3 V或3.8 V~2.0 V;工作頻率范圍為0~40 MHz;用戶應用程序空間為8 k字節Flash,512字節的RAM,32 位I/O口線;內置4KB EEPROM,MAX810復位電路,3個16位定時器/計數器,4個外部中斷,下降沿中斷或低電平觸發電路,Power Down模式可由外部中斷低電平觸發中斷方式喚醒一個7向量4級中斷結構,兼容傳統51單片機的5向量2級中斷結構,全雙工串行口,可用定時器軟件實現多個UART。另外,STC89C52可降至0 Hz 靜態邏輯操作,支持可選擇節電模式。工作溫度范圍分為工業級和商業級,工業級為-40~85 ℃,商業級為0~75 ℃。最高運作頻率為35 MHz,6T/12T可選。系統可編程ISP與應用可編程IAP可通過串口(RxD/P3.0,TxD/P3.1)直接下載用戶程序,數秒即可完成,無需專用編程器或專用仿真器。封裝形式可采用LQFP-44,PDIP-40,PLCC-44,PQFP-44。

1.2 STC89C52單片機的工作模式

STC89C52RC單片機的工作模式有正常工作模式、掉電模式和空閑模式三種。其中正常工作模式下,單片機處于正常執行程序的狀態,典型功耗為4 mA~7 mA;掉電模式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止,中斷返回后,繼續執行源程序,掉電模式的典型功耗遠遠小于0.1 μA;空閑模式下,CPU停止工作,允許RAM、定時器/計數器、串口、中斷繼續工作,典型功耗為2 mA[3]。

1.3 STC89C52串口結構

STC89C52串口有兩個物理上獨立的接收、發送緩沖器SBUF,它們占用同一地址99H;接收器是雙緩沖結構;發送緩沖器,因為發送時CPU是主動的,不會產生重疊錯誤。STC89C52串口結構,如圖1所示。

圖1 STC89C52串口結構

2 開發環境

2.1 KEIL集成開發環境

Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發系統。與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。Keil提供了包括C編譯器、宏匯編、鏈接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境μVision將這些部分組合在一起。Keil軟件可在WIN98,NT,WIN2000,WINXP等操作系統下運行。

2.2 STC-ISP 燒錄軟件

STC-ISP燒錄軟件用于單片機下載編程燒錄程序,是針對STC系列單片機而設計的,可下載STC89系列、12C2052系列和12C5410等系列的STC單片機。

STC-ISP燒錄軟件有串口助手、Keil仿真設置、定時器計算器、波特率計算器等功能模塊。本項目中,主要運用串口助手對程序進行燒錄。通過選擇單片機型號、串口號及波特率將編譯程序下載,根據485通信協議,發送并接收指令及數據。

3 蜂鳴器設計

3.1 蜂鳴器原理

本設計由電磁式有源蜂鳴器,由振蕩器、電磁線圈、磁鐵、振動膜片及外殼等組成。接通電源后,振蕩器產生的音頻信號電流通過電磁線圈,使電磁線圈產生磁場。振動膜片在電磁線圈和磁鐵的相互作用下,周期性地振動發聲。

蜂鳴器連接到了STC89C52的P05口,I/O口為低電平時打開,高電平時關閉。通過對 I/O 口取 0/1 電平來引發蜂鳴器電壓的通斷,就可讓蜂鳴器產生振動頻率。

3.2 實驗環境

本設計硬件采用STC89C52開發板、Micro數據線、485串口模塊、杜邦線和PC機。軟件包括Windows7及以上系統、KEIL C51開發環境、STC-ISP燒寫助手。

3.3 實驗步驟

3.3.1 延時處理

傳感器在數據采集時,由于要和485串口服務器進行通信,所以需要一定的配置來滿足485串口采集器的實時采集功能。(1)定義延時處理函數,設置280 ms,40 ms,50 ms,100 ms的延時。(2)設置配置系統標志位為全局變量 glb_sts.system_flag = FALSE,它是主函數中是否進行數據處理的核心變量。(3)設置定時器文件,用來準確計算時間,定時的時間達到了以后,glb_sts.system_flag = TRUE,相當于告訴單片機可以去執行要執行的程序。

3.3.2 數據包接收與校驗方法

串口服務器通信的數據包接收與校驗方法中,定義最大包長為20,設置串口波特率為9 600,配置485 控制引腳為P43。定義串口初始化、串口發送字節、485發送字符串以及控制485芯片位發送模式4個函數。進行串口初始化:配置串口為模式1,清零T1的控制位,配置T1為模式2,計算T1重載值,當初值等于重載值時,禁止T1中斷并使串口中斷,啟動T1。在串口發送字節函數中,置發送中斷標志為1,然后發送數據并且等待數據發送完畢。485發送字符串函數,檢查發送的數據是否正確,并發送數據包的數據。控制485芯片位發送模式包括485芯片發送和讀寫模式。

串口中斷服務函數的程序設計,如圖2所示。(1)首先清除接收中斷;(2)當數據已接收并未處理的情況下,則不再接收數據;(3)當讀取的數據超過數據包大小,接收數據計數清零,將讀取的數據儲存在數據包里;(4)校驗數據包頭是否正確,不正確則重新接收數據;(5)將讀取的485數據存在數據包內;(6)清除發送中斷,清除串口發送標志。

圖2 串口中斷服務函數流程

3.3.3 控制蜂鳴器的打開與關閉

首先進行外設初始化,包括定時器初始化、串口初始化、全局函數初始化,并將485總線設置為讀模式。當系統標志復位成功,表示10 ms的周期到了,清除標志位。判斷串口數據是否讀取成功,清除串口讀取完成標志位。數據包校驗,如果失敗則清除接收到的數據;讀取addr位是不是蜂鳴器的標志,如果讀取的字符為0,表示關閉蜂鳴器;如果讀取的字符為1,表示打開蜂鳴器;如果讀取的字符為0XFF,表示讀取當前蜂鳴器的狀態。設置包尾為0XBB,發送485數據包。相關代碼如下:

……

if(uart_sts.recv_buf[1] ==ADDR)//485addr

{

P44 = !P44;

TX_BUF[0] =PACK_HEAD;

TX_BUF[1] =ADDR;

TX_BUF[2] = 0x00;

TX_BUF[3] = 1;

if(uart_sts.recv_buf[4] == 0)

{

P05 = CLOSE; //關閉蜂鳴器

TX_BUF[4]= 0; //將蜂鳴器狀態設置為0

}

elseif(uart_sts.recv_buf[4]== 1)

{

P05 = OPEN; //打開蜂鳴器

TX_BUF[4] = 1; //將蜂鳴器狀態設置為1

}

elseif(uart_sts.recv_buf[4] == 0xff)

{

if(P05 == 1 )

{

TX_BUF [4] = 0; //返回狀態-->關閉

}

else

{

TX_BUF [4] = 1; //返回狀態-->打開

}

}

}

……

3.3.4 按鍵控制

機械觸點式按鍵開關,其主要功能是把機械上的通斷轉換為電氣上的邏輯關系。當機械觸點斷開、閉合時,由于機械觸點的彈性作用,一個按鍵開關在閉合時不會馬上穩定地接通,在斷開時也不會一下子斷開。因而在閉合及斷開的瞬間均伴隨有一連串的抖動。為了不產生這種現象而做的措施就是按鍵消抖。按鍵消抖是指按鍵按下時刻抖動的波形,讀取這一時刻之后20 ms左右的按鍵信息,此時波形已平穩,這樣可以防止一次按鍵被誤讀多次。

根據上面的原理描述,即可對按鍵的輸入管腳進行邊沿檢測,當檢測到輸入信號變化后,計數清零并開始計數,計數到20 ms時進行采樣;再對每次采樣的值進行下降沿檢測,檢測的結果作為按鍵消抖的脈沖輸出,每次檢測到下降沿時讓狀態翻轉并輸出。

理想波形與實際波形之間是有區別的,實際波形在按下和釋放的瞬間都有抖動的現象,抖動時間的長短和按鍵的機械特性有關,一般為5~10 ms,如圖3所示。通常采用手動按鍵然后釋放,這個動作中穩定閉合的時間超過了20 ms。因此,單片機在檢測按鍵是否按下時都要加上去抖動操作,有專用的去抖動電路,也有專門的去抖動芯片,但通常采用軟件延時的方法解決抖動問題。

圖3 按鍵消抖

3.4 實驗結果

利用KEIL開發環境打開實驗例程,單擊option按鈕,勾選生成hex文件;打開stc-isp燒錄軟件選擇單片機型號STC89C/LE52RC。將MICRO-USB線插入電腦的USB口,查看并識別串口號。單擊打開程序文件按鈕,選擇剛剛生成的hex文件。插入485-USB串口給STC89C52供電,然后單擊下載/編程按鈕,再按下單片機的電源供電按鈕,等待單片機程序下載成功。

3.4.1 485通信協議

485通信協議是傳感器進行通信的一種合約,傳感器模塊在接收到485通信指令的時候進行數據的采集并返回結果。每次數據通信的數據包都由包頭+包體+包尾組成,如圖4所示。其中,包頭包括起始字節、地址編碼、指令值和包體長度;起始字節固定為0xaa,地址編碼為485地址編碼,不同的傳感器接入在固定的地址上。蜂鳴器被定義為0x44,指令值為0時,表示獲取傳感器狀態;為1時表示設置狀態/開關,長度是指數據包體的字節數。包尾固定為一個字節,值為0xbb。

圖4 485通信協議指令與數據傳輸過程

打開串口調試助手,選擇16進制發送,分別輸入對應的指令,觀察能否控制蜂鳴器的打開與關閉。根據485的協議包,控制并測試蜂鳴器打開、關閉以及查看蜂鳴器的當前狀態,實驗結果如表1所示。

表1 實驗結果

3.4.2 按鍵控制

置P40為開關鍵,當P40為低電平時,蜂鳴器開;當P40為高電平時,蜂鳴器關。

4 結語

本設計采用的有源蜂鳴器只能發出一個調,為了呈現的發音效果更豐富,可以采用無源蜂鳴器,只需要給其加上脈沖信號就會發出相應的音調。蜂鳴器在日常生活的方方面面都有所應用,例如:主板蜂鳴器、機箱蜂鳴器、打印機控制板蜂鳴器、警報蜂鳴器、電子玩具音樂蜂鳴器、汽車電子設備中的車載蜂鳴器、倒車蜂鳴器等,還可應用于醫療設備、環境監控等行業。

本設計中,蜂鳴器是一種執行器,它屬于控制類型模塊,是根據指令來執行控制命令的;除此之外,風扇控制器、繼電器控制器、RGB燈控制器的設計也是運用相同的原理來實現的。

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統的仿真設計
主站蜘蛛池模板: 亚洲日韩图片专区第1页| 在线观看精品自拍视频| 欧美一区福利| 国产无码制服丝袜| 2021最新国产精品网站| 日韩资源站| av手机版在线播放| 久久精品中文字幕少妇| 欧洲熟妇精品视频| 国产视频只有无码精品| 首页亚洲国产丝袜长腿综合| 亚洲三级网站| 超清无码一区二区三区| 国产乱人视频免费观看| 免费A级毛片无码免费视频| 99热这里只有精品5| 日韩在线影院| 亚洲黄色成人| 日韩 欧美 国产 精品 综合| 国产主播一区二区三区| 午夜福利视频一区| 亚洲免费毛片| 亚洲午夜综合网| 秋霞国产在线| 国产精品蜜芽在线观看| 欧美97色| 99ri国产在线| 亚洲人成网站观看在线观看| 综合久久五月天| 中文字幕日韩丝袜一区| 国产视频欧美| 成人精品午夜福利在线播放| 国产成人AV综合久久| 久久特级毛片| 伊人激情久久综合中文字幕| 在线看片免费人成视久网下载| 国产午夜无码片在线观看网站 | 日韩一级毛一欧美一国产 | 国产精品夜夜嗨视频免费视频| 亚洲天堂伊人| 久久这里只有精品2| 国国产a国产片免费麻豆| 青青草原国产免费av观看| 永久成人无码激情视频免费| 国产成人1024精品| 久热re国产手机在线观看| 久久大香伊蕉在人线观看热2| 成人午夜福利视频| 亚洲精品制服丝袜二区| 亚洲第一网站男人都懂| 白浆视频在线观看| 国产剧情国内精品原创| 亚洲国产日韩视频观看| 久久成人免费| 青青青国产视频| 91色在线观看| 国产毛片不卡| 成人在线观看一区| 欧美专区日韩专区| 18禁黄无遮挡网站| 日韩在线成年视频人网站观看| 欧美色99| 国产另类视频| 乱人伦99久久| 中文字幕免费在线视频| 四虎永久在线| 老司机精品99在线播放| 欧美国产精品不卡在线观看| 国产精品无码AV中文| 国产成人综合亚洲网址| 久久无码高潮喷水| 日韩毛片免费观看| 一级毛片免费播放视频| 成人无码区免费视频网站蜜臀| 欧美亚洲一区二区三区导航| 成年人福利视频| 免费全部高H视频无码无遮掩| 欧美激情伊人| 99伊人精品| 天天综合亚洲| 黄色网页在线播放| 999精品免费视频|