基于51單片機(jī)的智能臺(tái)燈的設(shè)計(jì)與應(yīng)用-學(xué)位論文_第1頁
基于51單片機(jī)的智能臺(tái)燈的設(shè)計(jì)與應(yīng)用-學(xué)位論文_第2頁
基于51單片機(jī)的智能臺(tái)燈的設(shè)計(jì)與應(yīng)用-學(xué)位論文_第3頁
基于51單片機(jī)的智能臺(tái)燈的設(shè)計(jì)與應(yīng)用-學(xué)位論文_第4頁
基于51單片機(jī)的智能臺(tái)燈的設(shè)計(jì)與應(yīng)用-學(xué)位論文_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

編號(hào)本科生畢業(yè)設(shè)計(jì)(論文)題目:基于51單片機(jī)的智能臺(tái)燈的設(shè)計(jì)與應(yīng)用物聯(lián)網(wǎng)工程學(xué)院微電子學(xué)專業(yè)二〇一四年六月第1章緒論1.1研究課題的意義隨著科技的發(fā)展,人們的生活水平不斷提高,高科技產(chǎn)品越來越普及,如何研發(fā)能夠大大提高人們生活質(zhì)量并且使用便捷的家用電器成為家電產(chǎn)業(yè)的重要研究領(lǐng)域.臺(tái)燈是人們?cè)谌粘I钪斜夭豢缮俚募矣秒娖?相對(duì)于普通的日光燈,其功耗更小,亮度更集中,是人們?cè)谝雇磉M(jìn)行閱讀和工作的得力助手,但是由于人們?cè)陔x開時(shí)經(jīng)常忘記關(guān)掉臺(tái)燈,會(huì)造成很大的電力能源浪費(fèi).如果臺(tái)燈離門較遠(yuǎn),每當(dāng)夜晚來臨時(shí),人們又要摸黑去開燈,非常不方便,也有一定的安全隱患.雖然現(xiàn)在出現(xiàn)運(yùn)用傳感器和微控制器自動(dòng)控制燈開啟與關(guān)閉的技術(shù),并廣泛運(yùn)用于建筑走廊等處所,但是在家居生活方面,自動(dòng)控制燈具開關(guān)的系統(tǒng)卻十分少見,而且功能不夠完善,不夠“智能”,比如樓道中的照明燈通常都是采用聲音控制.采用聲控的方法可以有效的檢測(cè)聲音信號(hào),再通過中央處理單元控制燈的亮滅,但卻無法做到精確識(shí)別和屏蔽干擾,當(dāng)環(huán)境中有較多噪聲時(shí),如當(dāng)有車經(jīng)過或是有寵物的聲響時(shí),照明燈將不可避免的被噪聲影響而產(chǎn)生不必要的點(diǎn)亮,這將造成很大的能源浪費(fèi).因此在這里通過研究以檢測(cè)人體紅外輻射為基礎(chǔ)的傳感控制電路,來解決目前自動(dòng)控制電路的不足.目前已有專門用來感應(yīng)人體紅外輻射波長(約為9.5um)的紅外傳感器,這便為自動(dòng)控制照明燈系統(tǒng)提供性能優(yōu)良的信號(hào)采集模塊.本課題設(shè)計(jì)了以51單片機(jī)為基礎(chǔ),通過紅外傳感器檢測(cè)人體紅外輻射信號(hào)來控制臺(tái)燈開啟關(guān)閉的電路系統(tǒng).當(dāng)有人出現(xiàn)在紅外線傳感器的探測(cè)范圍內(nèi),并且滿足一定其它設(shè)定條件(如光照強(qiáng)度較暗)時(shí),信號(hào)采集模塊可以提供一個(gè)有效的激勵(lì)信號(hào),經(jīng)過運(yùn)算放大電路和濾波電路放大濾波后的信號(hào)進(jìn)入中央處理單元,通過相應(yīng)指令控制燈的開啟與關(guān)閉.51系列單片機(jī)作為一種通用型單片機(jī),可以通過外接模塊如傳感器、存儲(chǔ)器等來實(shí)現(xiàn)許多功能,本課題運(yùn)用51單片機(jī)的內(nèi)部計(jì)時(shí)模塊來實(shí)現(xiàn)其他的功能,例如在一定時(shí)間人未離開桌面,則發(fā)出警告并自動(dòng)熄滅,當(dāng)人離開時(shí)紅外傳感器產(chǎn)生的信號(hào)將通過51單片機(jī)控制燈自動(dòng)關(guān)燈,以達(dá)到節(jié)約能源的目的.1.2智能家電的歷史和發(fā)展概況在介紹智能家電的歷史和發(fā)展之前,需要引入一個(gè)新的概念——智能家居.智能家居是以住宅為平臺(tái),通過設(shè)計(jì)將電子線路技術(shù)、網(wǎng)絡(luò)通信技術(shù)、自動(dòng)控制技術(shù)以及其他相關(guān)技術(shù)融入到與生活密切相關(guān)設(shè)施中的一種技術(shù),它能夠幫助提升家居的便捷性和舒適性,同時(shí)又能達(dá)到環(huán)保節(jié)能的目的.智能家電是智能家居中很重要的一部分,它主導(dǎo)著智能家居的發(fā)展方向,也承載著智能家居的主要技術(shù).由于人們還沒有完全認(rèn)識(shí)到智能家電為我們的生活帶來的巨大改善,以及市場消費(fèi)觀念還未完全形成,智能家電的發(fā)展還是較為緩慢.但隨著智能家電市場推廣措施的進(jìn)一步落實(shí),消費(fèi)者對(duì)智能家電認(rèn)識(shí)的深入,智能家電市場的消費(fèi)潛力必然是巨大的,產(chǎn)業(yè)前景光明.智能家電在中國的發(fā)展歷程約有20余載,從人們最初的夢(mèng)想,到如今真真切切走入我們的生活,經(jīng)歷了一個(gè)漫長而又艱難的發(fā)展過程.智能家電在中國的發(fā)展可以概況為四個(gè)階段,分別是萌芽期、開創(chuàng)期、徘徊期和融合演變期[1].萌芽期(1994年到1999年)又稱智能小區(qū)期,這是智能家電在中國的第一個(gè)發(fā)展階段,這時(shí)整個(gè)行業(yè)還處在一個(gè)認(rèn)知的階段,國內(nèi)還沒有出現(xiàn)專門生產(chǎn)智能家電的廠商,僅有幾家從事智能家電代理銷售的公司,產(chǎn)品也大多不是銷售給中國用戶.隨著國內(nèi)企業(yè)對(duì)國外技術(shù)的學(xué)習(xí)和自主創(chuàng)新,我國的智能家居行業(yè)步入了開創(chuàng)期(2000年到2005年),國內(nèi)先后注冊(cè)了五十多家智能家電生產(chǎn)企業(yè),當(dāng)時(shí)主要集中在北京、上海、深圳、廈門等地.智能家電的市場營銷、技術(shù)培訓(xùn)體系逐步完善起來,在此階段,國外智能家電產(chǎn)品基本沒有進(jìn)入國內(nèi)市場.但是國內(nèi)市場發(fā)展過快,一些問題也隨之而來,自2005年以后,由于智能家電企業(yè)的野蠻成長和惡性競爭,給智能家電行業(yè)帶來了很大的負(fù)面影響,智能家電行業(yè)進(jìn)入徘徊期(2006到2010年),許多廠商過度“包裝”智能家電,夸大智能家電的功能,而實(shí)際產(chǎn)品卻達(dá)不到宣傳的效果,產(chǎn)品的不穩(wěn)定導(dǎo)致較差的用戶體驗(yàn).同時(shí)廠商們只顧著快速擴(kuò)張代理商的覆蓋范圍來提高自己的市場占有率,卻忽略了對(duì)代理商最基本的培訓(xùn)和服務(wù)保障,導(dǎo)致了代理商經(jīng)營困難,售后服務(wù)難以保證.用戶和媒體開始質(zhì)疑智能家電的實(shí)用性和可靠性,在消費(fèi)上也變得更加謹(jǐn)慎,市場的增長開始減緩,甚至部分地區(qū)出現(xiàn)銷售額下降的現(xiàn)象.在2006和2007這兩年,大約有20多家智能家電生產(chǎn)企業(yè)因經(jīng)營不善退出市場,各地代理商結(jié)業(yè)轉(zhuǎn)行的也不在少數(shù).許多堅(jiān)持下來的智能家電企業(yè),在這兩年也經(jīng)歷了縮減規(guī)模的痛苦.就在這一時(shí)期,國外的智能家電品牌卻暗度陳倉,悄然進(jìn)入中國市場,目前活躍在市場上的國外智能家電品牌都是這一時(shí)期進(jìn)入中國市場的,如LEGRAND、Honeywell、SchneiderElectric等.國內(nèi)部分存活下來的企業(yè)也逐漸找到自己的發(fā)展方向,成為工業(yè)智能控制的廠家.雖然國內(nèi)廠商把方向瞄準(zhǔn)了工業(yè)控制,但從未放棄過智能家居的夢(mèng)想.進(jìn)入2011年以來,市場有了明顯增長的勢(shì)頭,智能家電市場的增長說明智能家電行業(yè)進(jìn)入了一個(gè)新的拐點(diǎn),由徘徊期進(jìn)入一個(gè)很重要的時(shí)期——融合演變期(2011年到如今).在該階段,智能家電進(jìn)入一個(gè)相對(duì)快速的發(fā)展階段,同時(shí)吸取了過去的教訓(xùn),國內(nèi)廠商們將協(xié)議與技術(shù)標(biāo)準(zhǔn)主動(dòng)互通和融合,形成一個(gè)新的行業(yè)標(biāo)準(zhǔn),這大大縮短了研發(fā)周期,也規(guī)范了產(chǎn)品的標(biāo)準(zhǔn),減小了研發(fā)的困難.預(yù)計(jì)在接下來的五到十年,將是智能家電行業(yè)快速發(fā)展的時(shí)期,也是最不可琢磨的時(shí)期,智能家電行業(yè)作為提高生活質(zhì)量,拓展消費(fèi)市場的制高點(diǎn),是國內(nèi)各企業(yè)競相爭奪的戰(zhàn)略高地,如果有誰能夠掌握智能家居的技術(shù),那么他將掌握人們未來的生活方式!正因?yàn)槿绱耍瑖鴥?nèi)優(yōu)秀的家居企業(yè)越來越重視智能家電的開發(fā),特別是對(duì)適應(yīng)客戶需求的智能家電的研究,一大批國內(nèi)優(yōu)秀的智能家電品牌正迅速崛起,逐漸成為智能家居產(chǎn)業(yè)中的翹楚!1.3本課題的研究內(nèi)容、研究方法和實(shí)施方案本課題運(yùn)用紅外傳感器作為“智能控制”的基礎(chǔ),目前已知紅外傳感器可對(duì)人體紅外信號(hào)做出響應(yīng),但是其響應(yīng)的幅度和工作頻率等參數(shù)將直接影響到信號(hào)采集放大電路模塊的正常工作,因此合理選擇紅外傳感器對(duì)電路的設(shè)計(jì)是十分重要的.要實(shí)現(xiàn)自動(dòng)控制的功能,不僅需要掌握單片機(jī)的工作原理,還需要熟悉常用單片機(jī)的編程語言,完成該設(shè)計(jì)系統(tǒng)的單片機(jī)控制模塊的程序編輯,尤其是對(duì)單片機(jī)的中斷結(jié)構(gòu)和計(jì)時(shí)功能必須進(jìn)行更加深入的了解.信號(hào)采集放大模塊的具體要求:設(shè)計(jì)出對(duì)人體信號(hào)采集放大的電路結(jié)構(gòu),并且要考慮到外部噪聲的干擾,設(shè)計(jì)合理的濾波電路抑制干擾,在廣泛借鑒各種設(shè)計(jì)的優(yōu)點(diǎn)的同時(shí),充分考慮設(shè)計(jì)中的各個(gè)環(huán)節(jié),并運(yùn)用仿真軟件對(duì)電路進(jìn)行仿真測(cè)試,最后制作實(shí)物對(duì)本課題的正確性進(jìn)行驗(yàn)證.自動(dòng)控制模塊的具體要求:以51單片機(jī)為核心,蜂鳴器、八段數(shù)碼管、發(fā)光二極管等元件構(gòu)成外圍電路,運(yùn)用C語言或者匯編語言編寫程序并在51單片機(jī)開發(fā)板上調(diào)試,模擬人來人走的情景,測(cè)試自動(dòng)控制模塊的響應(yīng)能力和正確性,最后與信號(hào)采集放大電路相結(jié)合,實(shí)現(xiàn)具體的功能.采用的研究方法:通過閱讀書籍掌握紅外線傳感器工作原理;選擇合適的電氣元件,繪制電路原理圖;設(shè)計(jì)單片機(jī)控制臺(tái)燈的點(diǎn)亮與熄滅的程序,并利用相關(guān)工具進(jìn)行功能調(diào)試;將程序燒入進(jìn)單片機(jī)中.實(shí)施方案:在課題的前期,大量閱讀參考文獻(xiàn),了解當(dāng)前熱釋電紅外傳感器的應(yīng)用情況,對(duì)設(shè)計(jì)所需要的知識(shí),包括紅外傳感器,51單片機(jī)等進(jìn)行詳細(xì)的了解;在課題的中期,通過對(duì)電路的分析,設(shè)計(jì)應(yīng)用電路,重點(diǎn)在于信號(hào)的收集和電路的控制;在課題的后期,對(duì)設(shè)計(jì)的過程進(jìn)行全面的整理,分析仿真的結(jié)果,對(duì)于設(shè)計(jì)過程中出現(xiàn)的問題進(jìn)行分析總結(jié),最后完成實(shí)物的制作以及論文的書寫.江南大學(xué)學(xué)士學(xué)位論文基于51單片機(jī)的智能臺(tái)燈的設(shè)計(jì)與應(yīng)用第2章硬件電路系統(tǒng)設(shè)計(jì)2.1硬件系統(tǒng)的架構(gòu)本設(shè)計(jì)的硬件系統(tǒng)主要分為兩部分,一部分為信號(hào)采集放大模塊,另一部分為自動(dòng)控制模塊.信號(hào)采集放大模塊以紅外傳感器和光敏電阻為基礎(chǔ),以運(yùn)算放大器構(gòu)成的濾波放大電路為核心,通過外加電容和調(diào)節(jié)電阻大小來實(shí)現(xiàn)穩(wěn)定的濾波放大功能,要求當(dāng)有人進(jìn)入檢測(cè)范圍時(shí)能夠輸出一個(gè)穩(wěn)定的高電平.自動(dòng)控制模塊以STC89C52RC單片機(jī)為核心,通過外接發(fā)光二極管、蜂鳴器報(bào)警電路和八段數(shù)碼管搭建完整的臺(tái)燈控制電路,該模塊可以在有信號(hào)輸入的時(shí)候開始計(jì)時(shí),并在八段數(shù)碼管上顯示計(jì)時(shí)的時(shí)間,在達(dá)到設(shè)定的時(shí)間(如一個(gè)小時(shí))后,產(chǎn)生一個(gè)激勵(lì)信號(hào)開啟蜂鳴器并關(guān)閉臺(tái)燈.系統(tǒng)架構(gòu)如圖2-1所示.其中光敏電阻感應(yīng)光信號(hào),在光線較暗的情況下產(chǎn)生一個(gè)激勵(lì)信號(hào)以開啟紅外傳感器感應(yīng)電路,紅外傳感器檢測(cè)其監(jiān)測(cè)范圍內(nèi)是否有人出現(xiàn),通過放大濾波后產(chǎn)生一個(gè)有效的激勵(lì)信號(hào)傳送至單片機(jī),此后通過單片機(jī)內(nèi)部程序處理一系列的外圍I/O信號(hào).圖2-1系統(tǒng)總體設(shè)計(jì)圖2.2中央控制模塊中央控制模塊俗稱單片機(jī),最初源于“SingleChipMicrocomputer(SCM)”,在單片機(jī)誕生時(shí),因?yàn)樗慕M成與原理是基于計(jì)算機(jī)的,所以SCM是一個(gè)準(zhǔn)確的、流行的稱謂.隨著SCM在技術(shù)上、體系結(jié)構(gòu)上的進(jìn)步,其主要作用已經(jīng)是控制而不是計(jì)算了.國際上逐漸采用微控制器(MicroControllerUnit,MCU)來代替SCM,形成了單片機(jī)領(lǐng)域公認(rèn)的、最終統(tǒng)一的名詞.在國內(nèi)因?yàn)閱纹瑱C(jī)一詞已約定俗成,故繼續(xù)沿用.單片機(jī)就相當(dāng)于將組成微型計(jì)算機(jī)的各功能部件:中央處理器CPU、隨機(jī)存取存儲(chǔ)器(RandomAccessMemory,RAM)、只讀存儲(chǔ)器(ReadOnlyMemory,ROM)、可編程存儲(chǔ)器(ErasableProgrammableReadOnlyMemory,EPROM)、并行及串行輸入輸出I/O接口電路、定時(shí)/計(jì)數(shù)器、中斷控制器等部件集成在一塊半導(dǎo)體芯片上,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)[2].單片機(jī)內(nèi)部具體結(jié)構(gòu)如圖2-2所示.隨著大規(guī)模集成電路技術(shù)的發(fā)展,單片機(jī)內(nèi)還可包含A/D、D/A轉(zhuǎn)換器、高速輸入/輸出部件、DMA通道、浮點(diǎn)運(yùn)算等新的特殊功能部件.圖2-2中央控制單元的內(nèi)部架構(gòu)圖2.2.1STC89C52RC型單片機(jī)目前世界上單片機(jī)生產(chǎn)廠商很多,如:Intel、Motorola、Philips、Atmel、SST、Winbond、Zilog等公司,本課題中使用的STC系列單片機(jī)是深圳宏晶公司的產(chǎn)品,其引腳如圖2-3所示,它支持在線編程,燒錄程序的時(shí)候不用再反復(fù)插拔單片機(jī),使用方便,壽命較長.STC89C52RC型單片機(jī)在傳承經(jīng)典MCS-51內(nèi)核設(shè)計(jì)理念的基礎(chǔ)上,做了較多的技術(shù)改進(jìn)與完善,使STC89C52RC芯片不僅具有傳統(tǒng)51單片機(jī)具備的基礎(chǔ)功能,還使單個(gè)芯片上擁有靈巧的8位CPU,功能上支持ISP(在系統(tǒng)可編程)與IAP(在應(yīng)用可編程)等功能.STC89C52RC型單片機(jī)可為多種嵌入式控制應(yīng)用系統(tǒng)提供更靈活、高效的應(yīng)用系統(tǒng)解決方案.該單片機(jī)具有6時(shí)鐘/機(jī)器周期和12時(shí)鐘/機(jī)器周期的兩種工作模式,其指令代碼完全兼容傳統(tǒng)8051;3.3V~5.5V的寬范圍工作電壓;0~40MHz的可調(diào)工作頻率,且實(shí)際工作頻率可達(dá)48MHz;采用PDIP封裝8K字節(jié)程序存儲(chǔ)空間,片上集成有512字節(jié)數(shù)據(jù)存儲(chǔ)器;擁有32個(gè)通用I/O口:P0、P1、P2、P3,均為準(zhǔn)雙向口(弱上拉);無需專用編程器和仿真器,可通過串口RXD(P3.0)和TXD(P3.1)直接下載用戶程序,數(shù)秒即可完成較大程序的下載;內(nèi)帶2K字節(jié)EEPROM存儲(chǔ)空間;具有3個(gè)16位定時(shí)器/計(jì)數(shù)器.即定時(shí)器T0、T1、T2;具有4個(gè)外部中斷,觸發(fā)方式可設(shè)置為下降沿中斷或低電平觸發(fā),掉電模式可由外部中斷低電平觸發(fā)中斷方式喚醒;通用異步串行口(UART),還可用定時(shí)/計(jì)數(shù)器編程實(shí)現(xiàn)多個(gè)UART;工作溫度范圍從0℃到75℃[3].此外,STC89C52RC型單片機(jī)支持兩種節(jié)電模式,一種為空閑模式,另一種為掉電保護(hù)模式.當(dāng)STC89C52RC在空閑模式下工作時(shí),中央處理器停止工作,允許隨機(jī)存取存儲(chǔ)器、串行I/O口、定時(shí)/計(jì)數(shù)器、中斷控制器維持工作;當(dāng)STC89C52RC在掉電保護(hù)模式下工作時(shí),隨機(jī)存取存儲(chǔ)器的內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)的一切工作停止,直到下一次中斷或硬件復(fù)位才開始正常工作.圖2-3STC89C52RC型單片機(jī)引腳圖STC89C52RC的相關(guān)引腳定義如下:VCC/GND:兩者為主電源引腳,GND為電源負(fù)端,一般視為接地;VCC為電源正端,STC89C52RC的VCC允許范圍為3.3V~5.5V.XTAL1/XTAL2:這兩個(gè)引腳為時(shí)鐘電路的I/O端.XTAL1接外部晶體的一端,它是片內(nèi)振蕩器反向放大器的輸入端.在采用外部時(shí)鐘時(shí),外部時(shí)鐘振蕩信號(hào)直接送入此引腳作為驅(qū)動(dòng)端,其頻率范圍為0~40MHz;XTAL2接外部晶體的另一端,它是片內(nèi)振蕩器反向放大器的輸出端,振蕩電路的頻率是晶體振蕩頻率.若采用外部時(shí)鐘電路時(shí),此引腳應(yīng)懸空不用[4].RST:復(fù)位輸入端.在該引腳輸入兩個(gè)機(jī)器周期以上的高電平將使單片機(jī)復(fù)位.ALE/PROG:該引腳具有兩種功能,即地址鎖存允許輸出/編程脈沖輸入端.在訪問片外存儲(chǔ)器時(shí),ALE作為鎖存擴(kuò)展地址低位字節(jié)的輸出控制信號(hào)(稱允許鎖存地址),在一個(gè)指令周期中將丟失一個(gè)脈沖.在不訪問片外存儲(chǔ)器時(shí),該端也以1/6的時(shí)鐘振蕩頻率固定輸出正脈沖,可供定時(shí)或其他需要使用,還可檢測(cè)CPU是否已經(jīng)工作.ALE端的負(fù)載驅(qū)動(dòng)能力為8個(gè)LSTTL(低功耗高速TTL).在固化片內(nèi)存儲(chǔ)器的程序(也稱為燒錄程序)時(shí),此引腳用于輸入編程負(fù)脈沖.PSEN:片外程序存儲(chǔ)器選通控制信號(hào)端.在訪問片外程序存儲(chǔ)器時(shí),此端輸出負(fù)脈沖作為程序存儲(chǔ)器讀選通信號(hào).CPU在向片外程序存儲(chǔ)器取指令期間,PSEN信號(hào)在12個(gè)時(shí)鐘周期中兩次生效.由于現(xiàn)在基本不再使用片外程序存儲(chǔ)器,所以這個(gè)引腳也就沒有用了.EA/VPP:該引腳有兩種功能,即內(nèi)、外程序存儲(chǔ)器選擇/編程電源輸入端.當(dāng)EA端接高電平時(shí),CPU從片內(nèi)程序存儲(chǔ)器0000H單元開始執(zhí)行程序,當(dāng)?shù)刂烦^4KB時(shí),將自動(dòng)執(zhí)行片外程序存儲(chǔ)器的程序.當(dāng)EA端接低電平時(shí),CPU僅訪問片外程序存儲(chǔ)器.即CPU直接從片外程序存儲(chǔ)器0000H單元開始執(zhí)行程序.在對(duì)片外程序存儲(chǔ)器編程時(shí),此引腳用于施加編程電壓VPP.P0口:P0口是一個(gè)標(biāo)準(zhǔn)的雙向8位并行接口,既可以作為通用I/O接口使用,也可以作為地址/數(shù)據(jù)線使用.由特殊功能寄存器P0管理P0口各位的工作狀態(tài),其地址為80H,各位地址為80H~87H.在訪問片外存儲(chǔ)器時(shí),它分時(shí)提供低8位地址和8位數(shù)據(jù),故這些I/O線有地址/數(shù)據(jù)總線之稱,簡寫為AD0~AD7.在不做總線時(shí),也可作為普通I/O接口使用.本課題采用P0口作為八段數(shù)碼管字代碼的輸出口,由于P0口是漏極開路輸出,在連接八段數(shù)碼管時(shí),需分別加上一個(gè)上拉電阻,同時(shí)可以防止LED數(shù)碼管直接與高電位相連造成瞬間的大電流燒壞數(shù)碼管.P1口:P1口是一個(gè)準(zhǔn)雙向的8位并行I/O口,主要作為通用I/O口使用,由特殊功能寄存器P1管理P1口各位的工作狀態(tài),其地址為90H,各位地址為90H~97H.STC89C52RC單片機(jī)的P1口除了可以作為一般的I/O接口,其中5位還有第二功能,見表2-1.由表可見P1.0、P1.1用于定時(shí)/計(jì)數(shù)器2,P1.5、P1.6、P1.7用于ISP功能,它的作用是把在PC上編號(hào)的程序通過所定義的這三根ISP接口線進(jìn)行在線下載,即直接傳輸并固化到STC89C52RC單片機(jī)中的閃存中.固化時(shí)RST引腳要接到Vcc端,編程前首先要擦除該芯片,接入SCK引腳的時(shí)鐘頻率不能大于單片機(jī)頻率的1/16.這種方法比使用一般的編程器廉價(jià)、方便.表2-1P1口的第二功能引腳號(hào)第二功能P1.0T2(定時(shí)/計(jì)數(shù)器2的外部計(jì)數(shù)輸入/時(shí)鐘輸出)P1.1T2EX(定時(shí)/計(jì)數(shù)器2的捕獲觸發(fā)和雙向控制)P1.5MOSI(主機(jī)輸出線,用于在系統(tǒng)編程)P1.6MISO(主機(jī)輸入線,用于在系統(tǒng)編程)P1.7SCK(串行時(shí)鐘線,用于在系統(tǒng)編程)P2口:P2口是一個(gè)準(zhǔn)雙向的8位并行I/O口,既可以作為通用I/O接口使用,也可以作為高8位地址線使用.由特殊功能寄存器P2管理P2口各位的工作狀態(tài),其地址為A0H,各位地址為A0H~A7H.在訪問片外存儲(chǔ)器時(shí),它輸出高8位地址,即A8~A15.在不做總線時(shí),也可以作為普通I/O接口使用.本課題中使用了P2.0~P2.3口通過電阻與PNP管的基極相連,PNP管的發(fā)射極與集電極分別接入電源和八段數(shù)碼管的位選端相連,當(dāng)P2.0~P2.3中有一位為低電平時(shí),三極管導(dǎo)通,相應(yīng)位選端被置高電平,對(duì)應(yīng)位數(shù)碼管顯示數(shù)字.P3口:P3口是一個(gè)多功能的準(zhǔn)雙向8位并行I/O口,它的每一位既可以作為通用I/O接口使用,又具有第二功能,見表2-2.由特殊功能寄存器P3管理P3口各位的工作狀態(tài),其地址為B0H~B7H.本課題中使用了P3.0作為控制LED燈亮滅的輸出端;P3.2口和P3.3口用做外部中斷,P3.2和P3.3接入同一個(gè)信號(hào)接收端,分別用于控制燈的開啟與熄滅;P3.4口與蜂鳴器回路連接,通過控制P3.4口的狀態(tài)可以發(fā)出蜂鳴器警告.表2-2P3口的第二功能P3.0口的各位第二功能的名稱及作用P3.0RXD(串行口的輸入端)P3.1TXD(串行口的輸出端)P3.2INT0(外部中斷0輸入端,兩種觸發(fā)方式:低電平觸發(fā)和下降沿觸發(fā))P3.3INT1(外部中斷1輸入端,兩種觸發(fā)方式:低電平觸發(fā)和下降沿觸發(fā))P3.4T0(定時(shí)/計(jì)數(shù)器0中斷的外部輸入端)P3.5T1(定時(shí)/計(jì)數(shù)器1中斷的外部輸入端)P3.6WR(片外RAM寫入選通控制端)P3.7RD(片外RAM讀取選通控制端)2.2.2數(shù)碼管掃描電路本設(shè)計(jì)中所使用的數(shù)碼管為共陽數(shù)碼管.當(dāng)段選為低電平時(shí),所對(duì)應(yīng)的燈段點(diǎn)亮,各位的段選通過一個(gè)電阻與P0口相連,這里必須接電阻,防止發(fā)光二極管過功率燒壞.位選端通過PNP型三極管與電源相連,PNP型三極管的基極通過一個(gè)電阻與P2口相連,控制數(shù)碼管顯示數(shù)值的位,其電路如圖2-4所示:圖2-4數(shù)碼管顯示模塊這里要特別注意數(shù)碼管的位選端不能直接與P2口相連,在實(shí)際的電路調(diào)試中,若一開始將位選端與P2口相連,將會(huì)造成數(shù)碼管各位顯示的字段模糊,這是由于發(fā)光二極管屬于二極管的一種,其發(fā)光主要是由于電子和空穴在該二極管的PN結(jié)處發(fā)生復(fù)合,并以光子的形式發(fā)出能量,當(dāng)發(fā)出能量的波長恰好為某中可見光的波長時(shí),就顯示出該種顏色的光[5],PN結(jié)的特性可知復(fù)合率和載流子的濃度等因素有關(guān),因此必然和流過其內(nèi)部的正向電流大小有關(guān),而單片機(jī)的拉電流不足1mA,這就造成了流過各數(shù)碼管LED燈的電流很小,亮度較暗,顯示的字段難以分辨.而通過PNP管接地后,形成一個(gè)完整的回路,可以通過改變與LED燈串聯(lián)的電阻大小來調(diào)節(jié)電流,在選擇合適的阻值后,數(shù)碼管各位均可正常顯示.兩位共陽數(shù)碼管(四位共陽數(shù)碼管即為兩個(gè)兩位共陽數(shù)碼管并接)電路原理如圖2-5所示:圖2-5兩位數(shù)碼管內(nèi)部結(jié)構(gòu)圖由圖2-5原理圖可知,當(dāng)P2.0~P2.3口中的某一位為低電平時(shí),其對(duì)應(yīng)的PNP三極管導(dǎo)通,高電平VCC通過三極管輸入到數(shù)碼管對(duì)應(yīng)位各段發(fā)光二級(jí)管的陽極,當(dāng)P0.0~P0.7口中的某幾位為低電平時(shí),對(duì)應(yīng)的發(fā)光二極管點(diǎn)亮,反之則是熄滅的.又由于編號(hào)為A~DP的發(fā)光二極管在前面板中是以一定的位置關(guān)系擺放的,所以當(dāng)輸入特定的二進(jìn)制代碼的時(shí)候,在數(shù)碼管的前面板上將會(huì)顯示可見的數(shù)字形狀,一般的共陽數(shù)碼管可以顯示0~F的字樣,轉(zhuǎn)換后的十六進(jìn)制代碼分別為:C0,F(xiàn)9,A4,B0,99,92,82,F(xiàn)8,80,90,88,83,C6,A1,86,8E[6].2.2.3蜂鳴器和發(fā)光二極管回路因?yàn)橐獙?shí)現(xiàn)電路系統(tǒng)的定時(shí)警告功能,所以必須用到蜂鳴器,警報(bào)電路原理如圖2-6所示,本設(shè)計(jì)采用的蜂鳴器為有源蜂鳴器,分正負(fù)極,必須正確的接在電路中才能正常工作.同理,發(fā)光二極管也有正負(fù)極,同時(shí)還要串聯(lián)一個(gè)電阻,防止過功率燒壞[7].當(dāng)外部激勵(lì)信號(hào)輸入(P3.1口)后,單片機(jī)通過P3.0口發(fā)送一個(gè)高電平信號(hào)開啟發(fā)光二極管并通過內(nèi)部程序開始計(jì)時(shí),計(jì)時(shí)結(jié)束后,單片機(jī)將會(huì)改變P3.0為低電平關(guān)閉發(fā)光二極管并且通過P3.4口發(fā)送一連串的激勵(lì)信號(hào)控制蜂鳴器有間隔的發(fā)出聲響.該圖中還包含兩個(gè)按鍵開關(guān),用來模擬外部中斷0和外部中斷1的輸入.圖2-6警報(bào)電路原理圖2.3信號(hào)采集放大電路設(shè)計(jì)2.3.1紅外傳感器RE200B本課題使用的RE200B是紅外傳感器的一種,相對(duì)于傳統(tǒng)的紅外傳感器,該傳感器采用熱釋電材料極化隨溫度變化的特性探測(cè)紅外輻射,采用雙靈敏元互補(bǔ)方法抑制溫度變化產(chǎn)生的干擾,提高了傳感器工作的穩(wěn)定性[8].其具體參數(shù)如下:雙元熱釋電紅外傳感器面積為2.0×1.0mm2;工作波長為7~14um;具有1Hz調(diào)制頻率和0.3-3.0Hz帶寬、72.5dB增益;噪聲<200mV;工作電壓范圍為2.2~15V,電流為8.5~24uA源極電壓(S端輸出信號(hào))大小為0.4~1.1V;工作溫度從-20℃到+70℃.上述特性指標(biāo)均在源極(S極)電阻為47k?條件下測(cè)量得出的,使用該傳感器時(shí),可根據(jù)自己的需要調(diào)整源極電阻的大小.所有電壓參數(shù)的測(cè)量都是采用峰—峰值定標(biāo).使用傳感器時(shí),要注意控制管腳的彎曲或焊接部位距管腳基部4mm以上,防止引腳脫落或是過高溫度使內(nèi)部結(jié)構(gòu)失效.2.3.2運(yùn)算放大電路本課題使用的運(yùn)算放大器是BISS0001芯片,其內(nèi)部結(jié)構(gòu)如圖2-7所示.該芯片采用兩級(jí)運(yùn)算放大器進(jìn)行信號(hào)放大,內(nèi)部具有雙向鑒幅器,具有較強(qiáng)的信號(hào)放大和抑制噪聲的能力,它配以RE200B紅外傳感器和少量外接元件(電容和電阻等)可以構(gòu)成被動(dòng)式的熱釋電紅外開關(guān)[8].其輸出電平與大部分單片機(jī)要求的輸入信號(hào)兼容,因此被廣泛運(yùn)用于自動(dòng)控制模塊的信號(hào)處理電路中.BISS0001運(yùn)算放大器具有以下主要特點(diǎn):1)采用CMOS制造工藝,具有功耗低、速度快、抗干擾能力強(qiáng)的優(yōu)點(diǎn);2)采用數(shù)?;旌系姆椒?,信號(hào)處理上更加靈活;3)內(nèi)部具有多個(gè)獨(dú)立的高輸入阻抗運(yùn)算放大器;內(nèi)設(shè)輸出維持時(shí)間和觸發(fā)封鎖時(shí)間定時(shí)器,可自由控制輸出信號(hào)的延遲.表2-3介紹了BISS0001各引腳的功能.表2-3BISS0001各引腳功能引腳名稱各引腳的功能A為“1”時(shí)允許重復(fù)觸發(fā),為“0”時(shí)不可重復(fù)觸發(fā)VO控制信號(hào)的輸出端RR1輸出維持時(shí)間Tx的調(diào)節(jié)端,用來調(diào)節(jié)輸出信號(hào)的脈寬RC1輸出維持時(shí)間Tx的調(diào)節(jié)端,用來調(diào)節(jié)輸出信號(hào)的脈寬RC2觸發(fā)封鎖時(shí)間Ti的調(diào)節(jié)端,在封鎖時(shí)間內(nèi)不再對(duì)輸入信號(hào)響應(yīng)RR2觸發(fā)封鎖時(shí)間Ti的調(diào)節(jié)端,在封鎖時(shí)間內(nèi)不再對(duì)輸入信號(hào)響應(yīng)VSS參考地端,通常接工作電源負(fù)端VRF參考電壓輸入端,通常接VDD,當(dāng)接地時(shí)可以復(fù)位定時(shí)器VC觸發(fā)禁止端,當(dāng)VC<VR時(shí)允許觸發(fā),反之則禁止觸發(fā)IB運(yùn)算放大器偏置電流設(shè)置端,必須接入路才能正常工作VDD工作電源正端2OUT第二級(jí)運(yùn)算放大器的輸出端2IN-第二級(jí)運(yùn)算放大器的反相輸入端1IN+第一級(jí)運(yùn)算放大器的同相輸入端1IN-第一級(jí)運(yùn)算放大器的反相輸入端1OUT第一級(jí)運(yùn)算放大器的輸出端紅外傳感器產(chǎn)生的感應(yīng)信號(hào)經(jīng)過運(yùn)算放大器OP1進(jìn)行初次放大,同時(shí)濾波電路將一同輸入的高頻信號(hào)過濾,放大后的傳感信號(hào)耦合至運(yùn)算放大器OP2的反相輸入端進(jìn)行二次放大,此后將輸出信號(hào)送到由運(yùn)算放大器COP1和COP2組成的雙向鑒幅器,僅當(dāng)OP2輸出電壓高于VH或是低于VL時(shí)才能檢測(cè)出有效的觸發(fā)信號(hào)VS.由于VH≈0.7VDD、VL≈0.3VDD,所以當(dāng)VDD=5V時(shí),可以有效抑制±1V的噪聲干擾,提高系統(tǒng)的可靠性.OP3構(gòu)成了一個(gè)比較器,當(dāng)輸入電壓VC<VR(VR≈0.2VDD)時(shí),OP3輸出為低電平,鎖住與門AND:A,使其輸出為低電平不再變化,禁止觸發(fā)信號(hào)VS向下級(jí)傳遞;而當(dāng)VC>VR時(shí),OP3輸出為高電平,與門AND:A開啟,VS的狀態(tài)傳送至狀態(tài)控制器,VO跳變?yōu)楦唠娖?,此后進(jìn)入延時(shí)周期Tx.當(dāng)Tx時(shí)間結(jié)束時(shí),VO跳變?yōu)榈碗娖剑瑫r(shí)啟動(dòng)封鎖時(shí)間定時(shí)器進(jìn)入封鎖周期Ti.在Ti時(shí)間變化范圍內(nèi),VS的任何變化都不能使VO發(fā)生跳變,可有效抑制負(fù)載切換過程中產(chǎn)生的各種干擾.當(dāng)A端接高電平時(shí),處于可重復(fù)觸發(fā)的狀態(tài),可根據(jù)需要通過調(diào)節(jié)RR1、RC1、RR2以及RC2外接的電容電阻大小來改變VO信號(hào)的延遲時(shí)間和鎖存時(shí)間,以達(dá)到在最大限度的抑制干擾的前提下輸出可重復(fù)變化的信號(hào).圖2-7BISS0001內(nèi)部結(jié)構(gòu)BISS0001與外部電路構(gòu)成的放大濾波電路如圖2-8(a)所示.在計(jì)算其輸出電壓之前,這里先引入兩個(gè)概念——“虛短”和“虛斷”,運(yùn)算放大器有兩個(gè)輸入端(除去電源VCC和GND),內(nèi)部為差分結(jié)構(gòu),由于理想運(yùn)算放大器的輸入電阻趨近于無窮大,因此流入其兩個(gè)輸入端的電流幾乎為零,可視為斷路,此為“虛斷”;同時(shí)由于理想運(yùn)算放大器的增益無窮大,而輸出電壓幅值有限,則根據(jù)高等數(shù)學(xué)中收斂的概念——兩個(gè)數(shù)相乘,如果已知其中一個(gè)數(shù)為無窮大,僅當(dāng)另一個(gè)數(shù)趨近于零時(shí),其乘積結(jié)果才有可能為收斂——可知運(yùn)放的兩個(gè)輸入端電壓差很小,幾乎趨近于零,可近似看做兩個(gè)輸入端的電壓相同,相當(dāng)于短路,此為“虛短”[9].下面計(jì)算該電路對(duì)輸入的響應(yīng).這里定義輸入信號(hào)為Vin,OP2:B的同相端電壓為Vp1,反相端電壓為Vn1,輸出端電壓為Vo1,OP2:A的同相端電壓為Vp2,反相端電壓為Vn2,輸出端電壓為Vo2,這里忽略所有電容,如圖2-8(b),放大倍數(shù)的計(jì)算與它們無關(guān)——C2和C4作為濾波電容在對(duì)低頻信號(hào)放大時(shí)是不起作用的,可視為開路,而由于C3和C5的值很大,在短時(shí)間內(nèi)的信號(hào)變化對(duì)其兩端電壓影響很小,可視為不變.下面為計(jì)算過程:(2-1)(2-2)式(2-1)和(2-2)運(yùn)用了“虛斷”的原理,即流入OP2:A和OP2:B反相端的電流為零,因此根據(jù)節(jié)點(diǎn)電流守恒可知流過R5和R6的電流大小相同,流過R7和R8的電流大小也相同,此外,式(2-2)運(yùn)用了疊加法計(jì)算電壓值,將Vo1和Vo2分別置零,分別求出Vo1和Vo2在Vn2上的分壓,相加后即為Vo1和Vo2共同作用在OP2:A反相端的電壓[10].(2-3)式(2-3)運(yùn)用了“虛短”的原理.最后計(jì)算得.由于Vin為紅外傳感器RE200B的輸出電壓,范圍為0.4~1.1V,VM的值約為0.5VDD,我們需要的Vo2在Vin有輸入時(shí)應(yīng)該大于VH≈0.7VDD或小于VL≈0.3VDD,因此很容易算出R5、R6、R7和R8的比值大小,在實(shí)驗(yàn)電路中我們?cè)O(shè)定R5=1MΩ,R6=10kΩ,R7=2MΩ,R8=47kΩ.圖2-8(a)帶濾波放大電路圖2-8(b)不帶濾波放大電路圖2-8BISS0001構(gòu)成的濾波放大電路2.3.3信號(hào)處理電路整個(gè)信號(hào)處理電路由光敏電阻、紅外傳感器、BISS0001、濾波電容以及不同大小的電容電阻構(gòu)成,其電路原理如圖2-9所示,注意此圖中的電阻電容標(biāo)號(hào)與上一小節(jié)有所區(qū)別.其中C1、C2、C4為濾波電容,R2與紅外傳感器的源極(S端)相連,為其內(nèi)部差分結(jié)構(gòu)提供偏置電流,負(fù)系數(shù)光敏電阻與R1串聯(lián),并在中間節(jié)點(diǎn)上與BISS0001的VC(引腳9)相連,當(dāng)光線較暗時(shí),光敏電阻阻值增大,其分壓達(dá)到VR后開啟BISS0001芯片,使BISS0001的運(yùn)算放大器能對(duì)外部輸入信號(hào)響應(yīng).C2、C3、C4、C5、R3、R4、R5和R6與BISS0001內(nèi)部OP1和OP2構(gòu)成兩級(jí)濾波運(yùn)算放大電路.R8和C7控制BISS0001輸出VO的觸發(fā)封鎖時(shí)間Ti,R9和C6控制輸出信號(hào)的維持時(shí)間Tx.R7與BISS0001的IB(10引腳)相連,為其內(nèi)部提供偏置電流以保證其正常工作.當(dāng)處在較暗的環(huán)境中,紅外傳感器檢測(cè)到人體信號(hào),傳輸?shù)紹ISS0001的1IN+(引腳14),經(jīng)過兩級(jí)運(yùn)算放大電路,在VO(引腳2)輸出從低電平跳變?yōu)楦唠娖降纳仙匦盘?hào),由于本設(shè)計(jì)采用的單片機(jī)外部中斷口無論采用何種觸發(fā)方式(下降沿觸發(fā)或者低電平觸發(fā)),都需要保證輸入信號(hào)端在初始時(shí)為高電平,因此還必須在BISS0001輸出端VO加上一個(gè)反相器再與單片機(jī)輸入口相連,才能正確的觸發(fā).本設(shè)計(jì)的外部中斷0(P3.2)和外部中斷1(P3.3)都通過反相器接在BISS0001的VO端,而且兩個(gè)中斷的最短響應(yīng)時(shí)間間隔時(shí)間為4s左右,因此必須嚴(yán)格控制R8、R9、C6和C7的大小,使允許重復(fù)觸發(fā)的時(shí)間大于4s,避免對(duì)中斷服務(wù)造成干擾或?qū)е伦詣?dòng)控制模塊產(chǎn)生錯(cuò)誤的判斷.圖2-9信號(hào)采集放大電路原理圖基于51單片機(jī)的智能臺(tái)燈的設(shè)計(jì)與應(yīng)用第3章軟件系統(tǒng)設(shè)計(jì)與仿真3.1Keil編程軟件單片機(jī)開發(fā)中除必要的硬件電路系統(tǒng)外,還離不開應(yīng)用軟件的支持,我們編寫的匯編語言源程序要變?yōu)橹醒胩幚砥骺蓤?zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編.手工匯編的難度大,指令繁雜,出現(xiàn)錯(cuò)誤后難以查找,所以目前極少使用手工匯編的方法編寫單片機(jī)程序.機(jī)器匯編是通過匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,開發(fā)者從普遍使用匯編語言到逐漸使用高級(jí)語言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,由美國KeilSoftware公司開發(fā)的Keil軟件是目前最流行開發(fā)MCS-51系列單片機(jī)的軟件,從近年來各單片機(jī)開發(fā)板廠商紛紛宣布全面支持Keil即可看出.Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision)將這些部份組合在一起.同時(shí)Keil軟件支持大多數(shù)的WINDOWS系統(tǒng).因此掌握這一軟件的使用對(duì)于使用51系列單片機(jī)的開發(fā)者來說是十分必要的,由于目前在國內(nèi)只能買到該軟件,而且目前市面上買到的51單片機(jī)開發(fā)板也很可能只支持該軟件,因此本課題選用了Keil作為程序編譯軟件.因匯編語句具有邏輯結(jié)構(gòu)較為簡單,兼容性較好等特點(diǎn),本課題使用匯編語言作為軟件開發(fā)系統(tǒng)的編程語言,Keil運(yùn)行界面及操作步驟如下:1.打開Keil界面,新建一個(gè)工程,方法如圖3-1所示:圖3-1新建工程2.將新建工程保存為后綴名為.uvproj的文件,選擇單片機(jī)類型,由于STC系列單片機(jī)完全兼容AT89系列單片機(jī)的指令,所以這里選用Atmel公司的AT89C51.如圖3-2所示:圖3-2選擇單片機(jī)類型3.如果需要生成Hex文件,則必須設(shè)置工程組的屬性,步驟如下:右鍵Target1——OptionsforTarget‘Target1’——Output選項(xiàng)卡,勾選CreateHEXFile.如圖3-3所示:圖3-3添加程序文件到工程中4.程序的編寫與調(diào)試成功的界面顯示如圖3-4所示:圖3-4程序的編寫與調(diào)試界面5.將編譯后.HEX文件下載到單片機(jī)中進(jìn)行測(cè)試,注意在將開發(fā)板接入電腦的時(shí)候,需要通過設(shè)備管理器查看驅(qū)動(dòng)端口(COM),只有選擇正確的端口,程序才能下載到單片機(jī)中,具體步驟如下:右鍵“我的電腦”——“屬性”——“硬件”——“設(shè)備管理器”——“端口”,查看新添加的端口即可.STC官方的程序燒錄軟件如圖3-5所示:圖3-5HEX文件的下載仿真通過以上五個(gè)步驟就能后將編寫好的程序下載到單片機(jī)中,然后通過開發(fā)板驗(yàn)證程序所編寫的程序是否正確,如若存在問題可進(jìn)行反復(fù)修改調(diào)試以達(dá)到預(yù)期結(jié)果.3.2單片機(jī)程序設(shè)計(jì)本課題要求單片機(jī)在接收到紅外傳感信號(hào)后立即響應(yīng)開燈,隨后開始計(jì)時(shí)并在數(shù)碼管上顯示相應(yīng)的時(shí)間,在人離開后再次檢測(cè)到紅外傳感信號(hào),燈在一分鐘后自動(dòng)關(guān)閉,如果沒有接收到第二個(gè)紅外傳感信號(hào),則在開燈一小時(shí)之后發(fā)出蜂鳴器警告,一分鐘后燈自動(dòng)關(guān)閉.由于本設(shè)計(jì)數(shù)碼管采用了動(dòng)態(tài)顯示的方法,因此在主程序應(yīng)該為循環(huán)掃描顯示數(shù)碼管,并且為了防止由于掃描頻率較快造成數(shù)碼管未完全點(diǎn)亮而使得數(shù)碼管較暗,顯示不夠清晰,應(yīng)該設(shè)定合適的延時(shí),也不宜加入太長的延時(shí),否則將會(huì)造成數(shù)碼管的閃爍.單片機(jī)程序可大體分為三個(gè)部分:開關(guān)燈程序塊,計(jì)時(shí)程序(包括延時(shí)程序)塊和數(shù)碼管顯示程序塊.其中開關(guān)程序塊用來控制LED燈和蜂鳴器的開啟和關(guān)閉,計(jì)時(shí)程序用來統(tǒng)計(jì)燈開啟后的時(shí)間,計(jì)時(shí)程序中的延時(shí)程序可用來控制關(guān)燈時(shí)間設(shè)定,也可用于數(shù)碼管動(dòng)態(tài)掃描延時(shí).顯示數(shù)碼管顯示程序塊用來將當(dāng)前的計(jì)時(shí)時(shí)間轉(zhuǎn)化為數(shù)碼管的前面板字符顯示.主程序流程如圖3-6所示.圖3-6主程序流程圖3.2.1數(shù)碼管動(dòng)態(tài)掃描程序由于本設(shè)計(jì)的四位八段數(shù)碼管采用動(dòng)態(tài)掃描的方法,因此需要一直循環(huán)掃描數(shù)碼管的字緩存區(qū),通過定時(shí)中斷0改變其字緩存區(qū)的代碼以達(dá)到在循環(huán)掃描的過程中連續(xù)改變數(shù)碼管顯示字段的功能.本設(shè)計(jì)所編寫的程序中對(duì)數(shù)碼管進(jìn)行的動(dòng)態(tài)掃描的流程圖如下圖3-7所示.圖3-7數(shù)碼管動(dòng)態(tài)掃描流程圖如上述流程所示,掃描程序掃描指定的數(shù)據(jù)緩存區(qū),通過P0口輸出緩存區(qū)的字段,然后通過P2口輸出位選端數(shù)據(jù),即可達(dá)到用數(shù)碼管顯示時(shí)間的目的.由于單片機(jī)的掃描頻率特別高,一個(gè)顯示周期約為幾十微秒,所以需要加入一個(gè)1ms左右的延時(shí)程序,使得數(shù)碼管能完全點(diǎn)亮.即使四位數(shù)碼管并不是同時(shí)點(diǎn)亮,由于發(fā)光二極管的余輝效應(yīng)和人眼的視覺殘留,造成四位數(shù)碼管同時(shí)顯示數(shù)值的效果.下面對(duì)本設(shè)計(jì)程序中部分使用到的指令進(jìn)行說明.定時(shí)/計(jì)數(shù)器0采用方式1工作,選用晶振的工作頻率為12MHz,此時(shí)機(jī)器周期為1us,計(jì)數(shù)1000000次為1s,工作方式1為16位計(jì)數(shù),最大計(jì)數(shù)值為65535[11],為方便計(jì)算,取計(jì)數(shù)的模為50000,初始計(jì)數(shù)值為65535-50000=15535,轉(zhuǎn)換為十六進(jìn)制后為3CB0H,即定義定時(shí)/計(jì)數(shù)器高八位(TH0)初始值為3CH,低八位(TL0)初始值為0B0H,計(jì)時(shí)溢出循環(huán)20次即為1秒,1秒循環(huán)60次即為1分鐘,1分鐘循環(huán)60次即為1小時(shí),程序如下:MOVTMOD,#01H;定時(shí)/計(jì)數(shù)器0以方式1工作MOVTL0,#0B0H;設(shè)定低8位初始值MOVTH0,#3CH;設(shè)定高8位初始值SETBTR0;定時(shí)/計(jì)數(shù)器0開始計(jì)時(shí)SETBIT0;設(shè)定外部中斷0為下降沿觸發(fā)掃描字段程序:MOVA,SEC;將秒緩存數(shù)據(jù)送入累加器CJNEA,#60,TT1;判斷是否秒循環(huán)60次,沒有則跳出中斷INCMIN;分鐘緩存數(shù)據(jù)加1MOVA,MIN;將分鐘緩存數(shù)據(jù)送入累加器MOVB,#10;賦值除數(shù)10給暫存器BDIVAB;將A除以B,商存于A中,佘數(shù)存于B中MOVDPTR,#TABLE;調(diào)用字段代碼表MOVCA,@A+DPTR;查找代碼表,取數(shù)碼管顯示代碼MOV51H,A;將分鐘十位數(shù)存入地址51H中MOVA,BMOVCA,@A+DPTRMOV52H,A;將分鐘個(gè)位數(shù)存入地址52H中位選端程序:MOVACC,#077H;定義數(shù)碼管位選(選中顯示分鐘十位數(shù)碼管)MOVP2,ACC;數(shù)碼管按ACC指向的位顯示字ACALLDELAY;延遲RRA;選擇下一位延時(shí)程序:DELAY:MOVR1,#2;總循環(huán)兩次D1:MOVR7,#248;二級(jí)循環(huán)248次D2:DJNZR7,D2;R7減一不為零則繼續(xù)循環(huán)減一DJNZR1,D1;R1減一不為零則繼續(xù)循環(huán)減一RET;跳出延時(shí)程序[12]延時(shí)程序的時(shí)間計(jì)算方式如下:已知MOVRn,#data類占用一個(gè)機(jī)器周期,DJNZRn,rel類指令占用兩個(gè)機(jī)器周期,一個(gè)機(jī)器周期為1us,該延時(shí)程序的延遲時(shí)間T=1+2×(1+248×2+2)+1=1000us=1ms.以上只描述了該程序的主要部分,其余部分見附錄.3.2.2中斷程序本程序使用了外部中斷0、計(jì)時(shí)中斷0和外部中斷1,因此必須對(duì)各中斷進(jìn)行合理安排避免各中斷服務(wù)的混亂.51單片機(jī)中這三個(gè)中斷的優(yōu)先級(jí)從高到低依次為外部中斷0>計(jì)時(shí)中斷0>外部中斷1,各自的中斷入口地址依次為0003H、000BH和0013H,由于本設(shè)計(jì)采用了多個(gè)外部中斷,且優(yōu)先級(jí)各異,因此必須正確處理各中斷間的關(guān)系,其中斷順序流程如圖3-8所示.圖3-8中斷程序注意到在執(zhí)行外部中斷1和外部中斷0的時(shí)候,要首先把這兩個(gè)中斷的中斷允許EX1和EX0置零,避免在未執(zhí)行完中斷程序的時(shí)候反復(fù)觸發(fā)中斷[13].由于計(jì)時(shí)中斷0的默認(rèn)優(yōu)先級(jí)高于外部中斷1,所以必須在外部中斷1的中斷服務(wù)程序中開啟計(jì)時(shí)中斷0的允許位ET0,若在一開始就將ET0置位,會(huì)造成在開啟定時(shí)/計(jì)數(shù)器0后立即就進(jìn)入計(jì)時(shí)中斷程序,而這并不是我們預(yù)期的效果.當(dāng)進(jìn)入外部中斷1后,轉(zhuǎn)入開燈程序,同時(shí)外部中斷0的允許位EX0隨即被置1,由于外部中斷0的優(yōu)先級(jí)最高,當(dāng)再次有中斷信號(hào)進(jìn)入時(shí),優(yōu)先響應(yīng)外部中斷0服務(wù),此時(shí)外部中斷1服務(wù)和計(jì)時(shí)中斷0服務(wù)被屏蔽,跳入關(guān)燈程序,要注意此處必須先關(guān)閉外部中斷0防止重復(fù)響應(yīng),在外部中斷0服務(wù)程序的最后應(yīng)加上一個(gè)初始化程序,使得關(guān)燈后外部中斷1允許位被重新開啟,為下一次檢測(cè)到開燈信號(hào)的中斷服務(wù)1做準(zhǔn)備.3.3仿真測(cè)試本設(shè)計(jì)使用PROTEUS作為整體電路的仿真軟件.PROTEUS是世界上著名的仿真軟件,其包含了大部分常用單片機(jī)的模型,因此最受單片機(jī)開發(fā)者的熱愛.它從原理圖布局、到單片機(jī)與外圍電路的協(xié)同仿真,真正實(shí)現(xiàn)了電路和單片機(jī)仿真的完美結(jié)合,是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái)[14].在編譯方面,它能夠支持Keil編譯器生成的.HEX文件,從總體上考慮,PROTEUS是本設(shè)計(jì)進(jìn)行軟件仿真的最佳選擇.用PROTEUS畫出的單片機(jī)最小系統(tǒng)如圖3-9所示,由于PROTEUS中沒有STC系列單片機(jī),這里用AT89C51代替,兩者的.HEX文件和程序語句相互兼容.可以從圖上看出,單片機(jī)的最小系統(tǒng)包含復(fù)位電路和晶振電路.晶振頻率采用11.0592MHz,計(jì)算時(shí)近似看作12MHz晶振旁邊的兩個(gè)電容均是30pF.復(fù)位電路選用的電解電容是1uF,電阻是10kΩ.圖3-9單片機(jī)最小系統(tǒng)原理圖本設(shè)計(jì)要求在PROTEUS中進(jìn)行單片機(jī)功能的仿真,所以要將編譯好的.HEX文件送入單片機(jī)中,PROTEUS中可以向單片機(jī)中添加程序文件,具體步驟如下,雙擊單片機(jī),出現(xiàn)一個(gè)名為“EditComponent”的選項(xiàng)卡,其中有一項(xiàng)為“ProgramFile”,點(diǎn)擊文件夾圖標(biāo),找到.HEX所在的目錄,將.HEX添加進(jìn)單片機(jī)即可,如圖3-10所示.在實(shí)際的仿真中,會(huì)遇到一個(gè)新的問題,原程序的動(dòng)態(tài)掃描中延時(shí)程序太短,掃描頻率太高,超出了仿真程序的最高時(shí)序限制,出現(xiàn)“SimulationisnotrunninginrealtimeduetoexcessiveCPUload”的錯(cuò)誤,因此必須修改延時(shí)程序,延長掃描周期,才可以使數(shù)碼管正常顯示.圖3-10導(dǎo)入.HEX文件第4章結(jié)論與展望4.1結(jié)論通過對(duì)具體電路的設(shè)計(jì)與分析,成功的完成了電路的仿真測(cè)試,并在驗(yàn)證仿真結(jié)果無誤的情況下進(jìn)行實(shí)物制作,但是在該過程中,遇到的困難較多,除了上文所述的數(shù)碼管顯示模糊之外,還遇到了傳感器感應(yīng)距離較短,光敏電阻阻值不夠精確等問題.這些都導(dǎo)致了信號(hào)采集電路輸出的不穩(wěn)定,通過查閱資料,發(fā)現(xiàn)通常RE200B型紅外傳感器都應(yīng)配有一個(gè)菲涅爾透鏡,戴在紅外傳感器的探頭上,它能夠?qū)⒅車募t外線聚集于一點(diǎn),相當(dāng)于增強(qiáng)了紅外信號(hào),從而大幅提高了紅外傳感器的性能,也增大了紅外傳感的檢測(cè)距離;針對(duì)光敏電阻阻值精度不夠的問題,通過使用萬用表測(cè)量其在不同環(huán)境中的阻值,經(jīng)合理計(jì)算,選用合適的分壓電阻,得到的最佳方案是用一個(gè)可變電阻與光敏電阻串聯(lián),這樣就可以通過調(diào)節(jié)可變電阻來改變其分壓,也就相當(dāng)于調(diào)節(jié)光敏電阻對(duì)光感應(yīng)的靈敏度.通過對(duì)本課題的研究,了解了單片機(jī)的工作原理,能夠通過匯編編寫單片機(jī)程序,驗(yàn)證并成功實(shí)現(xiàn)具體功能.同時(shí)提高了分析電路的能力,不僅僅局限于外圍電路,更能從整體出發(fā),從各組成部分的內(nèi)部結(jié)構(gòu)和功能方面入手,更加全面透徹的分析整個(gè)電路的工作原理,同時(shí)通過分析不同簡單芯片的內(nèi)部結(jié)構(gòu),不斷獲取新的知識(shí),擴(kuò)充自己的知識(shí)儲(chǔ)備.學(xué)會(huì)了運(yùn)用多種仿真軟件進(jìn)行電路的功能模擬、問題分析,以達(dá)到最優(yōu)化設(shè)計(jì)的目的.在實(shí)物制作過程中遇到與仿真結(jié)果相左的情況時(shí),能通過測(cè)量工具對(duì)實(shí)際電路進(jìn)行測(cè)量調(diào)試,不斷的改進(jìn)電路,提出新的解決方案,提升了“發(fā)現(xiàn)問題解決問題”的能力,是一個(gè)長足的進(jìn)步.4.2展望在電子技術(shù)飛速發(fā)展的社會(huì)環(huán)境下,人民對(duì)生活水平要求不斷提高的大背景下,這種基于傳感器的自動(dòng)控制技術(shù)將越來越受人們的青睞.目前我國的智能家居行業(yè)正隨著電子技術(shù)的不斷創(chuàng)新逐步發(fā)展.雖然我國的智能家電處在一個(gè)過度階段,但是仍具有較好的技術(shù)基礎(chǔ),如現(xiàn)有的音視頻設(shè)備、窗簾控制、空調(diào)控制、安防系統(tǒng)、數(shù)字影院系統(tǒng)、網(wǎng)絡(luò)家電等,相信隨著人們需求的不斷提高與市場經(jīng)濟(jì)的不斷發(fā)展,在不久的將來,基于自動(dòng)控制技術(shù)甚至包括互聯(lián)網(wǎng)技術(shù)的智能家居將成為人們生活中不可缺少的一部分.參考文獻(xiàn)致謝江南大學(xué)學(xué)士學(xué)位論文參考文獻(xiàn)高小平.中國智能家居的現(xiàn)狀及發(fā)展趨勢(shì)[J].低壓電器,2005,(4):18-21.張迎新,胡欣杰,趙立軍,等.單片機(jī)與微機(jī)原理及應(yīng)用[M].北京:電子工業(yè)出版社,2011,5-8.林喆,孫清,于瑩瑩.基于STC89C52的單片機(jī)開發(fā)系統(tǒng)的設(shè)計(jì)與研究[J].電大理工,2011,(3):9-11.Mt,Prospect.MCS-51MicrocontrollerFamilyUser’sManual[M].IntelCorporation,1994,20-21.ManninenP,etal.MethodforAnalyzingLuminousIntensityofLight-EmittingDiodes[J].MeasurementScience&Technology,2007,18(1):28-30.藍(lán)厚榮.單片機(jī)驅(qū)動(dòng)LED數(shù)碼管的方法[J].電氣時(shí)代,2008,(4):94-95.ScottWeber.MCU-BasedLightControl-LongerSerialCommunicationonDifferentialWires[J].CircuitCellar-TheMagazineforComputerApplications,2012,(265):32-35.王明亮.紅外熱釋電處理芯片BISS0001介紹[EB/OL]./element/biss0001.html.余釗.集成運(yùn)算放大器的虛短虛斷概念分析[J].科技傳播,2013,(15):111-116.邱關(guān)源,羅先覺.電路(第5版)[M].北京:高等教育出版社,2006,84-86.王節(jié)旺.一種基于STC89C52RC單片機(jī)的計(jì)時(shí)系統(tǒng)的設(shè)計(jì)方案[J].微型機(jī)與應(yīng)用,2011,30(6):28-30.JohnDRoberts,etal.MicroprogrammedControlUnitProgrammingReferenceManual[J].ACMSIGMICRONewsletter,1972,3(3):18-20.李傳鴻.用軟件方式靈活設(shè)置AT89系列單片機(jī)的多中斷優(yōu)先級(jí)并實(shí)現(xiàn)多級(jí)中斷嵌套的一種方法[J].電腦知識(shí)與技術(shù),2008,2(11):359-360.伍馮潔,謝陳躍,謝斌.Proteus與Keil軟件的整合在單片機(jī)實(shí)驗(yàn)開發(fā)中的應(yīng)用[J].電子測(cè)量技術(shù),2008,31(6):100-107.基于51單片機(jī)的智能臺(tái)燈的設(shè)計(jì)與應(yīng)用致謝經(jīng)過長時(shí)間的學(xué)習(xí)和研究,終于將本課題完成,在這個(gè)過程中,我學(xué)到了很多,不僅加深了對(duì)理論知識(shí)的理解,更提高了自己的動(dòng)手能力,尤其提高了發(fā)現(xiàn)問題并解決問題的能力.在這里,我要感謝我的的導(dǎo)師梁海蓮,本課題最終成功的完成離不開她耐心的指導(dǎo).她認(rèn)真嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度深深地感染和激勵(lì)著我.從課題的選擇到項(xiàng)目的最終完成,梁老師都始終給予我細(xì)心的指導(dǎo),還記得當(dāng)年梁老師在教導(dǎo)我們電路課程的時(shí)候也是認(rèn)真負(fù)責(zé),課后習(xí)題的每一處錯(cuò)誤都為我們認(rèn)真的批注,如此認(rèn)真的工作態(tài)度讓我在學(xué)習(xí)的道路上更加的努力.在論文即將完成之際,我的心情無法平靜,從開始進(jìn)入課題到論文的順利完成,有許多學(xué)姐、學(xué)長、同學(xué)、朋友給了我無言的幫助,在這里請(qǐng)接受我誠摯的謝意!PAGEPAGE5 附錄本設(shè)計(jì)程序如下:BUFEQU51H;51H~54H連續(xù)四個(gè)字節(jié)存放顯示器數(shù)據(jù)MINEQU55H;分鐘計(jì)數(shù)器SECEQU56H;秒鐘計(jì)數(shù)器DEDAEQU57H;存放50ms計(jì)數(shù)值ORG0000HLJMPMAINORG0003HLJMPDOWNORG000BHLJMPT0_SRVORG0013HLJMPUPORG0050HMAIN:ACALLINIT ;初始化數(shù)據(jù)MOVP1,#01HSETBP3.4;初始化蜂鳴器MOVA,#03HMOVP0,A;數(shù)碼管初始化SETBEA;開啟總中斷SETBIT1;設(shè)置外部中斷1為下降沿觸發(fā)SETBEX1;開啟外部中斷1LOOP:ACALLCONV;調(diào)用字代碼轉(zhuǎn)換子程序ACALLDISP;調(diào)用顯示掃描子程序SJMPLOOP;循環(huán)UP:PUSHACCPUSHPSWSETBP3.0CLREX1;關(guān)閉外部中斷1允許ACALLTIMER;定時(shí)/計(jì)數(shù)器0初始化,開始計(jì)時(shí)POPPSWPOPACCRETIDOWN:PUSHACCPUSHPSWCLRTR0

溫馨提示

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

評(píng)論

0/150

提交評(píng)論