單片機程序設(shè)計實踐教程_第12章_光電傳感器和蜂鳴器控制.pptx_第1頁
單片機程序設(shè)計實踐教程_第12章_光電傳感器和蜂鳴器控制.pptx_第2頁
單片機程序設(shè)計實踐教程_第12章_光電傳感器和蜂鳴器控制.pptx_第3頁
單片機程序設(shè)計實踐教程_第12章_光電傳感器和蜂鳴器控制.pptx_第4頁
單片機程序設(shè)計實踐教程_第12章_光電傳感器和蜂鳴器控制.pptx_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1 第十二講光電傳感器和蜂鳴器控制 單片機程序設(shè)計實踐教程 2 12 0項目演示效果 圖XP 12 01步驟1 打開開發(fā)板電源 3 圖XP 12 02步驟2 遮擋傳感器1 4 圖XP 12 03步驟3 遮擋傳感器3 5 圖XP 12 04步驟4 同時遮擋傳感器1和2 6 圖XP 12 05步驟5 同時遮擋全部傳感器 7 12 1項目目標設(shè)計 了解光電傳感器的基本工作原理 了解蜂鳴器的基本工作原理 掌握對多個光電傳感器輸入信號進行識別的軟件處理方法 掌握對蜂鳴器的控制方法 繼續(xù)加深理解ZLG7290鍵盤與顯示控制芯片相關(guān)函數(shù)的控制和使用方法 理解給出的光電傳感器和蜂鳴器C語言源程序的結(jié)構(gòu)和各語句所起作用 在達到上述六點目標之后 根據(jù)本章 項目擴展任務(wù) 中提出的問題 以組或個人為單位 在規(guī)定時間里完成擴展項目任務(wù) 8 12 2項目任務(wù) 光電傳感器和蜂鳴器控制項目的電路原理圖如圖12 1所示 PMY單片機開發(fā)板包括4個光電傳感器TCST1030 L 22 器件編號分別為U20 U23 傳感器的引出腳為Sensor1 Sensor4 分別與STC89C52RC單片機的P12 P15口用連接插線 見圖4 8 相連 由電路原理圖可知 在任意一個光電傳感器凹形槽間無遮擋物進行遮擋時 Sensor1 Sensor4輸出信號都為高電平 反之則為低電平 本次項目借助第9章項目的結(jié)果 通過編寫相應(yīng)程序 實現(xiàn)當(dāng)任意光電傳感器被遮擋而產(chǎn)生觸發(fā)時 都會引起蜂鳴器的鳴響 同時點亮相應(yīng)的七段數(shù)碼管及LED發(fā)光二極管 顯示被遮擋傳感器的編號 9 圖12 1光電傳感器和蜂鳴器控制項目的電路原理圖 10 12 3系統(tǒng)板上硬件連線 光電傳感器和蜂鳴器控制項目的連接插線設(shè)置如圖12 2所示 此處應(yīng)使用4根連接插線將STC89C52RC單片機P12 P15 J9 J6 J8和J10 分別與傳感器輸入端Sensor01 Sensor04 在芯片82C55的PC口接線排子4 5 6 7的下方 相連 圖12 2光電傳感器和蜂鳴器控制項目的連接插線設(shè)置 11 12 4程序流程圖 圖12 3光電傳感器和蜂鳴器控制項目的C語言程序流程圖 12 12 5C語言源程序 略 12 6系統(tǒng)構(gòu)成和程序分析 12 6 1光電傳感器的介紹 光電傳感器 光電開關(guān) 是光電接近開關(guān)的簡稱 是能夠?qū)⒖梢姽廪D(zhuǎn)換成某種電量的傳感器 23 光敏二極管是最常見的光傳感器 光敏二極管的外型與一般二極管一樣 只是它的管殼上開有一個嵌著玻璃的窗口 以便于光線射入 為增加受光面積 PN結(jié)的面積做得較大 光敏二極管工作在反向偏置的工作狀態(tài)下 并與負載電阻相串聯(lián) 當(dāng)無光照時 它與普通二極管一樣 反向電流很小 A 稱為光敏二極管的暗電流 當(dāng)有光照時 載流子被激發(fā) 產(chǎn)生電子 空穴對 稱為光電載流子 在外電場的作用下 光電載流子參與導(dǎo)電 形成比暗電流大得多的反向電流 該反向電流稱為光電流 光電流的大小與光照強度成正比 于是在負載電阻上就能得到隨光照強度變化而變化的電信號 13 光敏三極管除了具有光敏二極管能將光信號轉(zhuǎn)換成電信號的功能外 還有對電信號放大的功能 光敏三級管的外型與一般三極管相差不大 一般光敏三極管只引出兩個極 發(fā)射極 E 和集電極 C 如圖12 4所示 基極 B 不引出 管殼同樣開窗口 以便光線射入 為增大光照 基區(qū)面積做得很大 發(fā)射區(qū)較小 入射光主要被基區(qū)吸收 工作時集電結(jié) C 反偏 發(fā)射結(jié) E 正偏 在無光照時 管子流過的電流為暗電流Iceo 1 Icbo 很小 比一般三極管的穿透電流還小 當(dāng)有光照時 激發(fā)大量的電子 空穴對 使得基極產(chǎn)生的電流Ib增大 此刻流過管子的電流稱為光電流 集電極電流Ic 1 Ib 可見 光電三極管要比光電二極管具有更高的靈敏度 14 圖12 4是光電傳感器的工作原理圖 圖中由振蕩回路產(chǎn)生的調(diào)制信號由發(fā)射管GL 光敏二極管 輻射出光脈沖 24 光脈沖進入光敏三極管DU 并在接收電路中將光脈沖解調(diào)為電脈沖信號 再經(jīng)放大器放大和同步選通整形 解調(diào) 觸發(fā)驅(qū)動器輸出光電開關(guān)控制信號 當(dāng)有檢測物對光束進行遮擋時 無光脈沖進入光敏三極管DU 光敏三極管隨即斷開 接收電路中無電脈沖信號流過負載 因此 光電傳感器是將輸入電流在發(fā)射器上轉(zhuǎn)換為光信號射出 接收器再根據(jù)接收到的光線強弱或有無對目標物體進行探測 多數(shù)光電開關(guān)選用的是波長接近可見光的紅外線光波型 15 圖12 4光電傳感器內(nèi)部工作原理圖 16 圖12 5是美國Vishay公司生產(chǎn)的TCST1030 L 光電傳感器外型和引腳圖 該器件結(jié)構(gòu)緊湊 發(fā)射光源和接收檢測器被正對置于同一光軸上 發(fā)射光波長是950nm 接收檢測器由光敏三極管構(gòu)成 TCST1030 L 主要用于軸狀編碼器的位置感應(yīng)器和機械運動限制開關(guān)等 可實現(xiàn)對不透明物質(zhì) 如卡片 紙等 的檢測 17 圖12 5TCST1030 L 光電傳感器外型和引腳圖 18 12 6 2蜂鳴器簡介 蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器 廣泛應(yīng)用于計算機 打印機 復(fù)印機 報警器 電子玩具 汽車電子設(shè)備 電話機 定時器等電子產(chǎn)品中作發(fā)聲器件 蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型 本開發(fā)板采用的是有源式電磁蜂鳴器 這種蜂鳴器是由振蕩器 電磁線圈 磁鐵 振動膜片及外殼等組成 接通電源后 振蕩器產(chǎn)生的音頻信號電流通過電磁線圈 使電磁線圈產(chǎn)生磁場 振動膜片在電磁線圈和磁鐵的相互作用下 周期性地振動發(fā)聲 具體的介紹可參閱參考文獻 25 19 由圖12 1所示的電路原理圖可知 蜂鳴器的正極接到VCC 5V 電源 蜂鳴器的負極接到三極管Q2的集電極C 三極管的發(fā)射極E接地 基級B經(jīng)過限流電阻R6后由82C55的PC1引腳控制 當(dāng)PC1輸出高電平時 三極管Q2導(dǎo)通 蜂鳴器電流形成回路 發(fā)出聲音 當(dāng)PC1輸出低電平時 三極管Q2截止 沒有電流流過線圈 蜂鳴器不發(fā)聲 因此 可以通過程序控制82C55的PC1腳電平實現(xiàn)對蜂鳴器的發(fā)聲控制 20 12 6 3項目程序分析 圖12 6光電傳感器和蜂鳴器控制的系統(tǒng)功能圖 21 根據(jù)12 2小節(jié)所述項目任務(wù) 參照圖12 1并將其化簡為圖12 6的光電傳感器和蜂鳴器控制的系統(tǒng)功能圖 開發(fā)板中4個光電傳感器U20 U23的引出腳為Sensor1 Sensor4 分別與STC89C52RC單片機的P15 P12用連接插線相連 程序在主函數(shù)前就應(yīng)用sbit語句設(shè)定這4個端口的引腳 sbitSensor01 P1 2 傳感器1的輸入端口sbitSensor02 P1 3 傳感器2的輸入端口sbitSensor03 P1 4 傳感器3的輸入端口sbitSensor04 P1 5 傳感器4的輸入端口 22 源程序中含有將引腳Sensor1 Sensor4位信息轉(zhuǎn)換為uchar變量的過程 如下 Sflag1 uchar Sensor01 將傳感器1的輸入端口狀態(tài)儲存在指定變量中Sflag2 uchar Sensor02 將傳感器2的輸入端口狀態(tài)儲存在指定變量中Sflag3 uchar Sensor03 將傳感器3的輸入端口狀態(tài)儲存在指定變量中Sflag4 uchar Sensor04 將傳感器4的輸入端口狀態(tài)儲存在指定變量中執(zhí)行上述語句后 各個光電傳感器的輸入狀態(tài)被強制轉(zhuǎn)換為uchar數(shù)據(jù)類型 并存儲在變量Sflag1 Sflag4中 以便于后面的switch語句調(diào)用 C語言中的switch語句不能直接對端口的引腳狀態(tài)進行判斷 所以這里需要處理一下 23 對蜂鳴器的控制由以下代碼體現(xiàn) if Sflag1 禁止蜂鳴器發(fā)聲由12 2小節(jié)項目任務(wù)可知 當(dāng)Sflag1 Sflag2 Sflag3 Sflag4相與后結(jié)果為高電平 說明在任意一個光電傳感器凹形槽間無遮擋物遮擋 所有Sensor輸出信號都為高電平 反之 當(dāng)有遮擋物在其中一個光電傳感器凹形槽間進行遮擋時 Sflag1 Sflag2 Sflag3 Sflag4相與后的結(jié)果將為0 這時控制蜂鳴器發(fā)聲 指示有傳感器信號被觸發(fā) 24 程序中又是如何辨別哪個傳感器的信號被觸發(fā)了呢 前面提到的主程序中4個switch語句實現(xiàn)了上述功能 以第一個傳感器信號的處理過程為例來分析 列寫源程序如下 switch Sflag1 判斷傳感器1的輸入狀態(tài) case0 PA8255 25 Sflag1為1 光電信號無遮擋 用PA8255 0 xc0控制單獨熄滅D17和D16燈 保持其它PA口信號的狀態(tài) 接下來的熄滅數(shù)碼管功能引用了第9章介紹的ZLG7290 Download函數(shù)來實現(xiàn) 函數(shù)中各個參數(shù)的含義及選取 請參閱第9章所提及的參考文獻 Sflag1為0 光電信號被遮擋 用PA8255 0 x3f控制點亮D17和D16燈 保持其它PA口信號的狀態(tài) 還是引用第9章介紹的DispValue函數(shù)實現(xiàn)數(shù)碼管1 2位顯示11的功能 26 程序是如何通過設(shè)置PA7 PA6腳為低電平而不影響82C55的PA口其它控制信號狀態(tài)呢 如圖12 7所示 用PA82C55端口與0 x3f按位相與即可實現(xiàn) 圖12 7中 y為PA82C55端口將要改變的值 與0相與 則該位被清0 x為PA82C55端口不需改變的值 與1相與 則該位被保留 這種方法既能夠?qū)A7 PA6腳設(shè)置為低電平也會保持PA端口的其它控制信號狀態(tài) 同理 用PA82C55端口與0 xC0按位相或可以實現(xiàn)既能夠?qū)A7 PA6腳設(shè)置為高電平 也會保持PA端口的其它控制信號狀態(tài) 27 圖12 7程序中82C55的PA7 PA6腳高低電平設(shè)置原理圖 28 12 7項目擴展任務(wù) 理解本章 第9章七段數(shù)碼管和4 4鍵盤控制和第10章繼電器和直流小電機正反轉(zhuǎn)控制的原理 以組或個人為單位 通過編寫相應(yīng)程序 實現(xiàn)以下控制流程 傳感器U20 U22分別作為繼電器和

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論