51單片機數(shù)字時鐘控制紅外器-PROTEUS設(shè)計大賽報告_第1頁
51單片機數(shù)字時鐘控制紅外器-PROTEUS設(shè)計大賽報告_第2頁
51單片機數(shù)字時鐘控制紅外器-PROTEUS設(shè)計大賽報告_第3頁
51單片機數(shù)字時鐘控制紅外器-PROTEUS設(shè)計大賽報告_第4頁
51單片機數(shù)字時鐘控制紅外器-PROTEUS設(shè)計大賽報告_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、PROTEUS設(shè)計大賽報告 學(xué) 院 機械與電子工程學(xué)院 專 業(yè) 應(yīng)用電子技術(shù) 班 級: 應(yīng)電 姓 名: 設(shè)計時間: 目 錄摘 要:1發(fā)展現(xiàn)狀1選題意義1本文的主要研究內(nèi)22 AT89C51單片機的結(jié)構(gòu)22.1定時/計數(shù)器23電路的硬件設(shè)計4電路原理圖5復(fù)位電路5時鐘電路6按鍵電路73.5數(shù)碼管顯示電路83.6報警電路93.7紅外電路94電路的軟件設(shè)計10軟件總體流程圖 11延時程序說明13按鍵掃描程序說明13定時程序設(shè)計說明13總程序清單及說明145系統(tǒng)仿真結(jié)果196 結(jié)束語1951單片機數(shù)字時鐘控制紅外報警器摘 要: 本文介紹了一種基于AT89C51單片機的數(shù)字時鐘控制紅外報警器,由單片機和

2、外圍器件組成,具有操作簡單,顯示明了,功能強大的特點。它利用數(shù)字時鐘的定時功能,在規(guī)定的時間段,啟動報警系統(tǒng)。此外,根據(jù)單片機引腳豐富的特性,添加了五個按鍵,更加發(fā)揮了單片機的控制功能。本設(shè)計采用了Proteus軟件仿真,很大的滿足了教學(xué)的要求。通過本設(shè)計,可以初步掌握單片機結(jié)構(gòu)和C程序基礎(chǔ)。同時本系統(tǒng)可以加強單片機應(yīng)用系統(tǒng)綜合能力的訓(xùn)練、培養(yǎng)同學(xué)們分析和解決問題的能力、對同學(xué)們的招聘以及參加工作均有幫助。一、設(shè)計目的發(fā)展現(xiàn)狀單片微型計算機(Single Chip Microcomputer)簡稱單片機,是指集成在一塊芯片上的計算機,它具有結(jié)構(gòu)簡單、控制功能強、可靠性高、體積小、價格低等優(yōu)點,

3、在許多行業(yè)都得到了廣泛的應(yīng)用。從航天航空、地質(zhì)石油、冶金采礦、機械電子、輕工紡織到機電一體化設(shè)備、郵電通信、日用設(shè)備和器械等,單片機都發(fā)揮了巨大作用。單片機自1976年由Intel公司推出MCS-48開始,迄今已有二十多年了。由于單片機集成度高、功能強、可靠性高、體積小、功耗低、使用方便、價格低廉等一系列優(yōu)點,目前已經(jīng)滲入到人們工作和生活的方方面面,幾乎“無處不在,無所不為”。單片機的應(yīng)用領(lǐng)域已從面向工業(yè)控制、通訊、交通、智能儀表等迅速發(fā)展到家用消費產(chǎn)品、辦公自動化、汽車電子、PC機外圍以及網(wǎng)絡(luò)通訊等廣大領(lǐng)域1,2。本文討論的單片機多功能定時器的核心是目前應(yīng)用極為廣泛的51系列單片機,配置了外

4、圍設(shè)備,構(gòu)成了一個可編程的計時定時系統(tǒng),具有體積小,可靠性高,功能強等特點。不僅能滿足所需要求而且還有很多功能可供開發(fā),有著廣泛的應(yīng)用領(lǐng)域。1.2選題意義在日常生活和工作中,我們常常用到定時控制,如擴印過程中的曝光定時等。早期常用的一些時間控制單元都使用模擬電路設(shè)計制作的,其定時準(zhǔn)確性和重復(fù)精度都不是很理想,現(xiàn)在基本上都是基于數(shù)字技術(shù)的新一代產(chǎn)品,隨著單片機性價比的不斷提高,新一代產(chǎn)品的應(yīng)用也越來越廣泛,大可構(gòu)成復(fù)雜的工業(yè)過程控制系統(tǒng),完成復(fù)雜的控制功能。小則可以用于家電控制,甚至可以用于兒童電子玩具。它功能強大,體積小,質(zhì)量輕,靈活好用,配以適當(dāng)?shù)慕涌谛酒?,可以?gòu)造各種各樣、功能各異的微電子

5、產(chǎn)品。隨著電子技術(shù)的飛速發(fā)展,生活水平的不斷提高,家里的財產(chǎn)越來越重要,還有些商店的物品越來越貴重,人身安全的意識越來越強,家用防盜設(shè)備逐漸增多,不同的設(shè)備都有自己的控制器,使用起來很不方便。根據(jù)這種實際情況,設(shè)計了一個單片機數(shù)字時鐘控制紅外報警系統(tǒng),它既可以使人的安全和財產(chǎn)都有保障,同時又可以當(dāng)時鐘,還可以校準(zhǔn)、任意設(shè)置時間。這種具有人們所需要的智能化特性的產(chǎn)品減輕了人的勞動,擴大了數(shù)字化的范圍,為家庭智能化提供了方便。1.3該設(shè)計的主要研究內(nèi)容該設(shè)計分為6部分,主要研究以下內(nèi)容:(1) 單片機緒論,主要研究了單片機的發(fā)展現(xiàn)狀及本論文的選題意義。(2) 單片機的結(jié)構(gòu),分析了單片機的主要構(gòu)造部

6、件及其特性。(3) 數(shù)字時鐘控制紅外報警器的硬件電路設(shè)計,包括復(fù)位、按鍵、顯示電路、報警電路、紅外發(fā)射電路、紅外接收電路等。(4) 數(shù)字時鐘控制紅外報警器的軟件設(shè)計,包含對各個子程序的說明及總體程序清單。(5) 仿真軟件PROTEUS簡介及仿真結(jié)果。(6) 結(jié)束語,主要總結(jié)自己完成的工作。二、AT89C51單片機的結(jié)構(gòu)2.1定時/計數(shù)器AT89C51單片機內(nèi)部有兩個16位的可編程定時/計數(shù)器,稱為T0(T0)和T1(T1)。 .1定時/計數(shù)器原理加1計數(shù)器輸入的計數(shù)脈沖有兩個來源,一個是由系統(tǒng)的時鐘振蕩器輸出脈沖經(jīng)12分頻后送來;一個是T0或T1引腳輸入的外部脈沖源。每來一個脈沖計數(shù)器加1,當(dāng)

7、加到計數(shù)器為全1時,再輸入一個脈沖就使計數(shù)器回零,且計數(shù)器的溢出使TCON中TF0或TF1置1,向CPU發(fā)出中斷請求(定時/計數(shù)器中斷允許時)。如果定時/計數(shù)器工作于定時模式,則表示定時時間已到;如果工作于計數(shù)模式,則表示計數(shù)值已滿,可見,由溢出時計數(shù)器的值減去計數(shù)初值才是加1計數(shù)器的計數(shù)值4。.2 定時/計數(shù)器的控制1、工作方式寄存器TMOD工作方式寄存器TMOD用于設(shè)置定時/計數(shù)器的工作方式,低四位用于T0,高四位用于T1。其格式如下:圖 2.1 TMOD各位定義 GATE:門控位。GATE0時,只要用軟件使TCON中的TR0或TR1為1,就可以啟動定時/計數(shù)器工作;GATA1時,要用軟件

8、使TR0或TR1為1,同時外部中斷引腳或也為高電平時,才能啟動定時/計數(shù)器工作。即此時定時器的啟動條件,加上了或引腳為高電平這一條件。C/T :定時/計數(shù)模式選擇位。 C/T 0為定時模式;C/T =1為計數(shù)模式。M1M0:工作方式設(shè)置位。定時/計數(shù)器有四種工作方式,由M1M0進行設(shè)置。圖定時/計數(shù)器方式設(shè)置圖2、控制寄存器TCONTCON的高4位用于控制定時/計數(shù)器的啟動和中斷申請。其格式如下:圖 TCON各位定義v TF1():T1溢出中斷請求標(biāo)志位。T1計數(shù)溢出時由硬件自動置TF1為1。CPU響應(yīng)中斷后TF1由硬件自動清0。T1工作時,CPU可隨時查詢TF1的狀態(tài)。所以,TF1可用作查詢

9、測試的標(biāo)志。v TR1():T1運行控制位。TR1置1時,T1開始工作;TR1置0時,T1停止工作。TR1由軟件置1或清0。v TF0,TR0其功能與TF1,TR1類同。.3定時/計數(shù)器的工作方式定時/計數(shù)器工作方式有四種:方式0、方式1、方式2和方式3。方式0:13位定時器,方式1:16位定時器。方式2:能重復(fù)置初始值的8位定時器 。TL0和TH0必須賦相同的值。方式3:只適用于定時器0,T0被拆成兩個獨立的8位定時器TL0,TH0。 由于這幾種方式原理基本相同,本設(shè)計采用了方式0,現(xiàn)僅以方式0作介紹。 (1) 方式0 方式0是一個13位定時計數(shù)器,最大計數(shù)值是M=8192。當(dāng)M1M0=00

10、時,T0工作在方式0,16位回法計數(shù)器(TH0和TL0)只用了13位,其中TH0占高八位,TL0占低5位,當(dāng)TL0低5位溢出時自動向TH0進位,而TH0溢出是向中斷位TF0進位,并申請中斷。其邏輯結(jié)構(gòu)如圖所示。  (2) 定時器的初始值的計算對于不同的工作方式,計數(shù)器位數(shù)不同,故最大計數(shù)值M也不同:方式0:M=213=8192 方式1:M=216=65536方式2:M=28=256 方式3:定時器0分為2個8位計數(shù)器,每個M均為256。 因為定時/計數(shù)器是作加1計數(shù),并在計滿溢出時產(chǎn)生中斷,因此初值X的計算如下: X = (M 計數(shù)值)計算出來的結(jié)果X轉(zhuǎn)換為16進制數(shù)后分別寫入TL0

11、(TL1)、TH0(TH1)。需要注意的是,方式0時初始值寫入時,對于TL不用的高3位應(yīng)填入06,7,8。 三、電路的硬件設(shè)計本設(shè)計的硬件電路較為簡單,主要包括單片機最小系統(tǒng)電路、紅外發(fā)射和接收電路、數(shù)碼管顯示電路、按鍵掃描電路等等。3.1電路原理圖硬件結(jié)構(gòu)運用單片機最小系統(tǒng),采用P0口作為段選,P1口作為報警器的顯示,P2口作為位選,P3口作為按鍵輸入口,八位共陽極數(shù)碼管用于顯示時鐘的數(shù)值,用到HS0038來做紅外接收器。通過按鍵實現(xiàn)調(diào)時調(diào)分調(diào)秒,隨意設(shè)定當(dāng)前時間。電路原理圖3.2復(fù)位電路AT89C51單片機的復(fù)位是由外部的復(fù)位電路來實現(xiàn)的。復(fù)位引腳RST通過一個斯密特觸發(fā)器與復(fù)位電路相連,

12、斯密特觸發(fā)器用來抑制噪聲,在每個機器周期的S5P2,斯密特觸發(fā)器的輸出電平由復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號。上電復(fù)位:上電復(fù)位電路是種簡單的復(fù)位電路,只要在RST復(fù)位引腳接一個電容到VCC,接一個電阻到地就可以了。上電復(fù)位是指在給系統(tǒng)上電時,復(fù)位電路通過電容加到RST復(fù)位引腳一個短暫的高電平信號,這個復(fù)位信號隨著VCC對電容的充電過程而回落,所以RST引腳復(fù)位的高電平維持時間取決于電容的充電時間。為了保證系統(tǒng)安全可靠的復(fù)位,RST引腳的高電平信號必須維持足夠長的時間。復(fù)位電路。上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實現(xiàn)的。只要Vcc的上升時間不超過1ms,就可以實現(xiàn)

13、自動上電復(fù)位10。復(fù)位電路 3.3時鐘電路時鐘是單片機的心臟,單片機各功能部件的運行都是以時鐘頻率為基準(zhǔn),有條不紊的一拍一拍地工作。因此,時鐘頻率直接影響單片機的速度,時鐘電路的質(zhì)量也直接影響單片機系統(tǒng)的穩(wěn)定性。常用的時鐘電路有兩種方式:一種是內(nèi)部時鐘方式,另一種為外部時鐘方式。本文用的是內(nèi)部時鐘方式,如時鐘電路。AT89C51單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,該高增益反向放大器的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。這兩個引腳跨接石英晶體振蕩器和微調(diào)電容,就構(gòu)成一個穩(wěn)定的自激振蕩器11。3.4按鍵掃描電路按鍵的開關(guān)狀態(tài)通過一定的電路轉(zhuǎn)換為高、低電平狀態(tài)。按鍵閉合

14、過程在相應(yīng)的I/O端口形成一個負脈沖。閉合和釋放過程都要經(jīng)過一定的過程才能達到穩(wěn)定,這一過程是處于高、低電平之間的一種不穩(wěn)定狀態(tài),稱為抖動。抖動持續(xù)時間的常長短與開關(guān)的機械特性有關(guān),一般在5-10ms之間。為了避免CPU多次處理按鍵的一次閉合,應(yīng)采用措施消除抖動。本文采用的是獨立式按鍵,直接用I/O口線構(gòu)成單個按鍵電路,每個按鍵占用一條I/O口線,每個按鍵的工作狀態(tài)不會產(chǎn)生互相影響,按鍵電路。P3.1口表示功能停止報警鍵,只要在報警的途中按一下,報警就馬上終止。P口表示功能調(diào)秒鍵,每按一次該鍵,秒位加1,加到60后,又回到0。 P口表示功能調(diào)分鍵,每按一次該鍵,分位加1,加到60后,又回到0。

15、P口表示功能調(diào)時鍵,每按一次該鍵,時位加1,加到24后,又回到0。按鍵電路3.5數(shù)碼管顯示電路數(shù)碼管是由8個發(fā)光二極管構(gòu)成的器件。在數(shù)碼管中,若將二極管的陽極連在一起,稱為共陽數(shù)碼管;若將二極管的陰極連在一起,稱為共陰數(shù)碼管。本文用到的8個數(shù)碼管均是共陽的。當(dāng)發(fā)光二極管導(dǎo)通時,它就會發(fā)光。每個二極管就是一個筆劃,若干個二極管發(fā)光時,就構(gòu)成了一個顯示字符。將單片機的I/O口控制相應(yīng)的芯片與數(shù)碼管的a-g相連,低電平的位對應(yīng)的發(fā)光二極管亮,這樣,由I/O口輸出不同的代碼,就可以控制數(shù)碼管顯示不同的字符。本文的8個數(shù)碼管均采用動態(tài)顯示,顯示當(dāng)前的時間。P2口是片選信號,即控制動態(tài)顯示的是哪一位數(shù)碼管

16、。在片選信號和段選信號的控制下,數(shù)碼管就正確的動態(tài)顯示當(dāng)前的時間。如下圖 圖3.6報警電路報警電路只要體現(xiàn)在發(fā)光二極管和蜂鳴器,報警電路的工作時間定在晚上的八點到早上的八點,在這個時間段當(dāng)紅外接收電路工作時,報警系統(tǒng)就會啟動,發(fā)光二極管和蜂鳴器就會工作十秒的時間,十秒后就會自動關(guān)閉,等待下次一觸發(fā)。如果是誤報警的話,可以通過按鍵停止報警。如下圖. 圖 報警電路3.7紅外電路紅外電路只要有紅外發(fā)射管和紅外接收器,.。如下圖3.7(紅外接收電路) 如下圖3.71(紅外發(fā)射電路) 圖紅外接收電路 圖紅外發(fā)射四、電路的軟件設(shè)計軟件包括主程序、中斷程序、時鐘顯示程序、按鍵程序和紅外報警程序等,充分運用了

17、C語言的判斷、循環(huán)、順序語句。體現(xiàn)了C語言的靈活性,易移植的特點。4.1軟件總體流程圖開始初始化秒按鍵識別是否成功?miao+miao=60?miao=0顯示數(shù)據(jù)處理分按鍵識別是否成功?fen+ fen=60? fen=0顯示數(shù)據(jù)處理時按鍵識別是否成功?shi+ shi=24?shi+顯示數(shù)據(jù)處理shi=20?啟動報警系統(tǒng)圖4.1 總程序流程圖中斷入口段選信號位選值等8?位選值=0秒計數(shù)加一秒計數(shù)=500?秒加一 秒=60? 秒=0分加一分=60?分=0 時計數(shù)=24?時計數(shù)=0時計數(shù)加一中斷出口位選信號顯示數(shù)據(jù)處理圖4.2 中斷程序流程圖4.2延時程序說明 void delay(unsign

18、ed char i)/程序內(nèi)部延時 unsigned char j,k; for(k=0;k<i;k+) for(j=0;j<255;j+); 該延時函數(shù)主要用于按鍵消抖用的10MS的短延時。4.3按鍵掃描程序說明 (1)P3口作為按鍵輸入,首先將P3口置高電平,即P1=0XFF。(2)P3.1如果在報警的情況下為0的話,報警系統(tǒng)就會停止。(3)判斷P是否為0,如果為0的話,調(diào)用延時函數(shù),延時10MS消抖,再次判斷是否為0,如果還為0,證明按鍵的確按下,進入按鍵處理程序。(4)在按鍵處理程序中,每按一次,秒為加1,如果加到60,則返回為0,繼續(xù)進行處理。(5)P與 P按鍵情況與P處

19、理情況類似。4.4定時程序設(shè)計說明單片機的定時功能也是通過計數(shù)器的計數(shù)來實現(xiàn)的,此時的計數(shù)脈沖來自單片機的內(nèi)部,即每個機器周期產(chǎn)生一個計數(shù)脈沖,也就是每經(jīng)過1個機器周期的時間,計數(shù)器加1。如果AT89C51采用的12MHz晶體,則計數(shù)頻率為1MHz,即每過1us的時間計數(shù)器加1。這樣可以根據(jù)計數(shù)值計算出定時時間,也可以根據(jù)定時時間的要求計算出計數(shù)器的初值。AT89C51單片機的定時器/計數(shù)器具有4種工作方式,其控制字均在相應(yīng)的特殊功能寄存器中,通過對特殊功能寄存器的編程,可以方便的選擇定時器/計數(shù)器兩種工作模式和4種工作方式13。定時器/計數(shù)器工作在方式2時,為8位的計數(shù)器,可以自動重裝初值

20、,更方便程序書寫。開始初值存放在TH0中,初值寄存器TH1保持初值不變,當(dāng)TH0加到256時,計數(shù)溢出則置位TCON中的溢出標(biāo)志位TFX,進入中段函數(shù),標(biāo)志位硬件自動清0.此時TH1將初值加載到TH0中,又開始下一次的計數(shù)。定時器0于方式2設(shè)置步驟:(1)設(shè)置TMOD值,用于設(shè)定定時器0于方式0(2)裝載初值TH0和TH1(3)TR0=1;/開定時器0(4)ET0=1;/開定時器0中斷(5)EA=1;/開總中斷4.4總程序清單及說明#include<reg51.h>/頭文件unsigned int h,a,b,c,d;/定義需要的變量unsigned char duanma=0xc

21、0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf;/顯示數(shù)碼管的數(shù)字unsigned int weixin=0,0,10,0,0,10,0,0;/開始顯示的數(shù)值unsigned char weima=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80;/顯示數(shù)碼管的位選unsigned char miao,fen,shi,s;/定義需要的變量sbit P3_0=P30;sbit P3_1=P31;sbit P3_3=P33;sbit P3_4=P34;sbit P3_5=P35;void delay(unsign

22、ed char i)/程序內(nèi)部延時 unsigned char j,k; for(k=0;k<i;k+) for(j=0;j<255;j+); /void timer0(void) interrupt 1 if(a=1) b+; if(b=5000) b=0; P1=0x01; a=0; P2=weimas;/選通某位P0=duanmaweixins;/選通某位的數(shù)值s+;if(s=8)/用于循環(huán)選通某一位s=0; TH0=0xc1; TL0=0x11; h+; if(h=500) h=0; miao+; if(miao=60) miao=0; fen+; if(fen=60) f

23、en=0; shi+; if(c=1) d+; if(d=12) d=0;c=0; if(shi=24) shi=0; weixin7=miao%10;/用于顯示秒的第一位weixin6=miao/10;/用于顯示秒的第二位weixin4=fen%10;/用于顯示分的第一位weixin3=fen/10;/用于顯示分的第二位weixin1=shi%10;/用于顯示時的第一位weixin0=shi/10;/用于顯示時的第二位 /void main() /主函數(shù) P3=0xff;/初始化端口為高電平 P1=0x01; TMOD=0x00; TH0=0xc1;/初值 TL0=0x11;/初值寄存器 TR0=1;/開定時器0 EA=1;/開總中斷 ET0=1;/

溫馨提示

  • 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論