簡(jiǎn)易安防聲光報(bào)警器_第1頁(yè)
簡(jiǎn)易安防聲光報(bào)警器_第2頁(yè)
簡(jiǎn)易安防聲光報(bào)警器_第3頁(yè)
簡(jiǎn)易安防聲光報(bào)警器_第4頁(yè)
簡(jiǎn)易安防聲光報(bào)警器_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第一章 序 言單片機(jī)課程設(shè)計(jì)是一門(mén)實(shí)踐課程,要求學(xué)生具有制作調(diào)試單片機(jī)最小系統(tǒng)及外設(shè)的能力,能夠掌握單片機(jī)內(nèi)部資源的使用。單片機(jī)課程設(shè)計(jì)內(nèi)容包括硬件設(shè)計(jì)、制作及軟件編寫(xiě)、調(diào)試,學(xué)生在熟練掌握焊接技術(shù)的基礎(chǔ)上,能熟練使用單片機(jī)軟件開(kāi)發(fā)環(huán)境Keil C51編程調(diào)試,并使用STC ISP調(diào)試工具采用串口下載方式聯(lián)調(diào)制作的單片機(jī)最小系統(tǒng)。單片機(jī)課程設(shè)計(jì)題目包含基本部分及擴(kuò)展部分,基本部分即單片機(jī)最小系統(tǒng)部分,擴(kuò)展部分是對(duì)單片機(jī)內(nèi)部資源及外部IO口的功能擴(kuò)展,使制作的單片機(jī)系統(tǒng)具有一定的功能。第二章 設(shè)計(jì)任務(wù)書(shū)一、設(shè)計(jì)題目:簡(jiǎn)易安防聲光報(bào)警器二、設(shè)計(jì)任務(wù)及要求:自制一個(gè)單片機(jī)最小系統(tǒng),包括串口下載、復(fù)位

2、電路,采用兩路外部中斷輸入門(mén)禁和紅外探測(cè)兩路信號(hào)(采用兩個(gè)小按鍵模擬),中斷信號(hào)輸入后能將報(bào)警信息在四位一體數(shù)碼管上顯示,并輸出聲光報(bào)警信號(hào)。三、設(shè)計(jì)內(nèi)容1.芯片簡(jiǎn)介2.電路各部分的組成和工作原理。3.元器件的選取及其電路邏輯圖和功能。4.電路各部分的調(diào)試方法。5.在整機(jī)電路的設(shè)計(jì)調(diào)試過(guò)程中,遇到什么問(wèn)題,其原因及解決的辦法。第三章 電路組成和工作原理一. MSC-51芯片簡(jiǎn)介MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)8051是MCS-51系列單片機(jī)的典型產(chǎn)品,我們以這一代表性的機(jī)型進(jìn)行系統(tǒng)的講解。8051單片機(jī)包含中央處理器、程序存儲(chǔ)器(ROM)、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷

3、系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線,現(xiàn)在我們分別加以說(shuō)明: ·中央處理器:中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。.數(shù)據(jù)存儲(chǔ)器(RAM)8051內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲(chǔ)單元和128個(gè)專(zhuān)用寄存器單元,它們是統(tǒng)一編址的,專(zhuān)用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問(wèn),而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個(gè),可存放讀寫(xiě)的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。圖1·程序存儲(chǔ)器(ROM):805

4、1共有4096個(gè)8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。·定時(shí)/計(jì)數(shù)器(ROM):8051有兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。·并行輸入輸出(I/O)口:8051共有4組8位I/O口(P0、 P1、P2或P3),用于對(duì)外部數(shù)據(jù)的傳輸。·全雙工串行口:8051內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。·中斷系統(tǒng):8051具備較完善的中斷功能,有兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,可滿足不同的控制要求,并具有2級(jí)的優(yōu)先級(jí)別選

5、擇。·時(shí)鐘電路:8051內(nèi)置最高頻率達(dá)12MHz的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序,但8051單片機(jī)需外置振蕩電容。單片機(jī)的結(jié)構(gòu)有兩種類(lèi)型,一種是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開(kāi)的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計(jì)算機(jī)廣泛使用的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的MCS-51系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)產(chǎn)品16位的MCS-96系列單片機(jī)則采用普林斯頓結(jié)構(gòu)。下圖是MCS-51系列單片機(jī)的內(nèi)部結(jié)構(gòu)示意圖2。二設(shè)計(jì)過(guò)程和有關(guān)說(shuō)明:(1)警情探測(cè):在該設(shè)計(jì)中,需采用兩路外部中斷輸入門(mén)禁報(bào)警和紅外報(bào)警,分別

6、采用兩個(gè)小按鍵模擬。其中一個(gè)按鍵模擬門(mén)禁報(bào)警,對(duì)應(yīng)外部中斷0;另一個(gè)按鍵模擬紅外報(bào)警,對(duì)應(yīng)外部中斷1。(2)報(bào)警設(shè)計(jì):正常狀態(tài)下, 數(shù)碼管不顯示,當(dāng)發(fā)生門(mén)禁報(bào)警時(shí),系統(tǒng)發(fā)出聲光報(bào)警信息并在數(shù)碼管顯示1;,當(dāng)發(fā)生紅外報(bào)警時(shí)系統(tǒng)發(fā)出聲光報(bào)警信息并在數(shù)碼管顯示2。只有由主人按下報(bào)警接觸按鈕或系統(tǒng)復(fù)位后,才能解除聲光報(bào)警并將數(shù)碼管的數(shù)字重置為0。三硬件電路設(shè)計(jì):本系統(tǒng)是基于51系列單片機(jī)的簡(jiǎn)易安防聲光報(bào)警系統(tǒng),主要包括的硬件電路模塊有:?jiǎn)纹瑱C(jī)最小系統(tǒng)、七段數(shù)碼管顯示模塊、安防報(bào)警器(點(diǎn)觸開(kāi)關(guān)模擬)、聲光報(bào)警。1.單片機(jī)最小系統(tǒng)簡(jiǎn)介單片機(jī)最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機(jī)可以工

7、作的系統(tǒng).對(duì)51系列單片機(jī)來(lái)說(shuō),最小系統(tǒng)一般應(yīng)該包括:單片機(jī)、晶振電路、復(fù)位電路。結(jié)構(gòu)圖如右圖所示:各部分的功能介紹如下:5圖1 系統(tǒng)原理框圖特別說(shuō)明:由于實(shí)驗(yàn)條件有限,本課程設(shè)計(jì)中所涉及到的報(bào)警器裝置采用點(diǎn)觸開(kāi)關(guān)模擬,具體電路圖如圖2所示。當(dāng)有報(bào)警事件發(fā)生時(shí),即開(kāi)關(guān)被按下,報(bào)警器輸出低電平,單片機(jī)由此產(chǎn)生一個(gè)中斷事件,并對(duì)其作出相應(yīng)的處理,圖中C53是用于消除點(diǎn)觸開(kāi)關(guān)動(dòng)作時(shí)產(chǎn)生的干擾,防止單片機(jī)發(fā)生誤動(dòng)作。報(bào)警器輸出圖2 報(bào)警器模擬電路整體的硬件電路圖如圖3所示。6圖3:硬件電路原理圖第四章 程序設(shè)計(jì)基于STC89C51單片機(jī)的功能特點(diǎn),并根據(jù)系統(tǒng)的要求編寫(xiě)出基于keil C51的程序,首先

8、單片機(jī)上電復(fù)位,并進(jìn)行初始化包括寄存器和數(shù)碼管,當(dāng)發(fā)生報(bào)警事件時(shí),單片機(jī)驅(qū)動(dòng)聲光報(bào)警裝置并且在數(shù)碼管上顯示相應(yīng)的報(bào)警信息,退出中斷時(shí),單片機(jī)檢測(cè)報(bào)警解除按鈕,當(dāng)報(bào)警解除按鈕被按下時(shí)單片機(jī)關(guān)閉聲光報(bào)警并清除數(shù)碼管上的報(bào)警信息,具體的程序流程如圖4所示。7圖4 主程序流程圖圖5 中斷函數(shù)流程圖參考程序如下所示: #include <intrins.h>#define uchar unsigned char #define uint unsigned int/uchar code table_data=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7

9、f,0x6f,0x00; /uchar code table_select=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/uchar table_buffer=0,0;uchar count0,count1;sbit LEDREDCON=P00;sbit LEDGREENCON=P01;sbit spe=P20;sbit Kint0=P32;sbit Kint1=P33;sbit RS=P37;sbit RW=P36;sbit E=P35;uchar FRQ=0x00;void delay(uint ms)uchar i;while(ms-)for(i=0;

10、i<120;i+); void check_busy() while(1)E=0; delay(3); RS=0;delay(3); RW=1; delay(3); E=1;delay(3);if(P1&0x80)=0) 判斷LCD忙,要不停的檢測(cè),所以需要有個(gè)大循環(huán) /當(dāng)RS=0和RW=1時(shí),可以讀忙信號(hào)。 / 10break;E=0;void write_command(uchar tempdata)E=0; /當(dāng)RS=0和RW=0時(shí),可以寫(xiě)入指令或者顯示地址。 delay(3);RS=0;delay(3);RW=0;P1=tempdata;delay(3);E=1; /此處

11、高電平是將數(shù)據(jù)鎖存起來(lái) delay(3);E=0;check_busy();void init_1602() /LCD1602的初始化子函數(shù)write_command(0x38);/寫(xiě)指令write_command(0x0c);/顯示開(kāi)和光標(biāo)位置write_command(0x01);/顯示清屏write_command(0x06);/顯示光標(biāo)移動(dòng)設(shè)置void write_data(uint j) /向LCD1602液晶顯示器寫(xiě)數(shù)據(jù)E=0; /當(dāng)RS=1和RW=0時(shí),可以寫(xiě)入數(shù)據(jù)。 delay(3);RS=1;delay(3);RW=0; P1=j; delay(3); E=1; /此處高電平

12、是將數(shù)據(jù)鎖存起來(lái) delay(3);E=0;check_busy();void init() /初始化子函數(shù)TMOD = 0x11;TH0 = 0x00;TL0 = 0xff;IT0 = 1;IT1 = 1;IE = 0x8f;/EA=1;ET1=1;EX1=0;ET0=1;EX0=1;IP = 0x05;TR0 = 0;TR1 = 0;void main()init();init_1602();while(1)FRQ+;delay(1);void external_int0() interrupt 0 TR1=!TR1;write_command(0x01); LEDGREENCON=1;

13、if(LEDREDCON=1)elseLEDREDCON=0; LEDREDCON=1; while(!Kint0); delay(5); LEDREDCON=0; write_data('0'); spe=spe; if(Kint0=0)void external_int1() interrupt 2write_command(0x01);LEDREDCON=1;if(LEDGREENCON=1) LEDGREENCON=0; elseLEDGREENCON=1; if(Kint1=0)/低電平有效 while(!Kint1); delay(5);LEDGREENC

14、ON=0; write_data('1');/顯示數(shù)據(jù) void timer0() interrupt 1TH0=0xfe;TL0=FRQ;spe=spe;void timer1() interrupt 3TH0=-5000/256;TL0=-5000%256;第五章 Proteus仿真Proteus ISIS是英國(guó)Labcenter公司開(kāi)發(fā)的電路分析與實(shí)物仿真軟件。它運(yùn)行于Windows操作系統(tǒng)上,可以仿真、分析(SPICE)各種模擬器件和集成電路,該軟件的特點(diǎn)是:實(shí)現(xiàn)了單片機(jī)仿真和SPICE電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機(jī)及其外圍電路組成的系統(tǒng)的仿真、

15、RS232動(dòng)態(tài)仿真、I2C調(diào)試器、SPI調(diào)試器、鍵盤(pán)和LCD系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號(hào)發(fā)生器等。支持主流單片機(jī)系統(tǒng)的仿真。目前支持的單片機(jī)類(lèi)型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點(diǎn)等調(diào)試功能,同時(shí)可以觀察各個(gè)變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調(diào)試環(huán)境,如Keil C51 uVision2等軟件。具有強(qiáng)大的原理圖繪制功能??傊?,該軟件是一款集單片機(jī)和

16、SPICE分析于一身的仿真軟件,功能極其強(qiáng)大。本課程設(shè)計(jì)在做完方案設(shè)計(jì)和程序編輯后后就是利用Proteus進(jìn)行硬件仿真,先把需要的元器件從元件庫(kù)里面調(diào)出來(lái),再按照接線原理圖把線連接好,檢查線路準(zhǔn)確無(wú)誤后再把用KELL生成的HEX程序文件導(dǎo)入單片機(jī)里,一切就緒后開(kāi)始進(jìn)行聯(lián)調(diào),若仿真結(jié)果與設(shè)計(jì)的不同,則先找有無(wú)硬件設(shè)置錯(cuò)誤,再檢查程序,不斷檢查,直至仿真成功。仿真聯(lián)調(diào)過(guò)程如下:1、Keil C51 v7.50 軟件和 Proteus 7.0 SP 軟件,分別進(jìn)行安裝。2、把Proteus 安裝目錄下 VDM51.dll ( C:ProgramFilesLabcenter ElectronicsPr

17、oteus 6 ProfessionalMODELS)文件復(fù)制到Keil 安裝目錄的 C51BIN 目錄中。3、 編輯C51 里tools.ini 文件,加入TDRV1=BINVDM51.DLL("PROTEUS VSM MONITOR 51 DRIVER")4、 Keil 里設(shè)置: project->options for project->debug tab5、 選中use Proteus VSM monitor 516、 載入Proteus 文件7、 KeilC與Proteus連接仿真調(diào)試單擊仿真運(yùn)行開(kāi)始按鈕,我們能清楚地觀察到每一個(gè)引腳的電頻變化,紅色代

18、表高電頻,藍(lán)色代表低電頻。在LED顯示器上,循環(huán)顯示1-4。8、若聯(lián)調(diào)失敗,則返回重新檢查再進(jìn)行調(diào)試。報(bào)警器硬件仿真圖如下:第六章 硬件制作及組裝調(diào)試部分一、硬件制作在軟件仿真成功交老師檢查后,就可以去領(lǐng)取器件做硬件設(shè)計(jì)了。硬件制作所要求的就是細(xì)心,再就是經(jīng)驗(yàn)。硬件制作過(guò)程如下:1、 領(lǐng)取元器件,檢查元器件是否是自己所需要的;2、 規(guī)劃,綜合考慮各個(gè)器件的引腳及接電源和節(jié)點(diǎn)的情況,對(duì)接線路徑進(jìn)行規(guī)劃,盡量避免線路的重疊,要求做的美觀、使用;3、 焊接固定座槽,注意不要短路和段路;4、 連接各條線路,不要錯(cuò)漏,也不要重復(fù),這里尤其要小心;5、 接線完畢進(jìn)行檢查,再把芯片裝上去;6、 下載程序7、

19、 接通電源,測(cè)試8、 測(cè)試成功則交老師檢查,否則返回5重做。二、程序調(diào)試過(guò)程1、現(xiàn)對(duì)調(diào)試過(guò)程中出現(xiàn)的問(wèn)題做如下說(shuō)明:19(1)硬件:這部分沒(méi)有多大的難題。主要是在最開(kāi)始對(duì)最小系統(tǒng)的理解和參數(shù)的選擇上面。單片機(jī)最小系統(tǒng)是指用最少的元件組成的單片機(jī)可以工作的系統(tǒng)。應(yīng)該包括:?jiǎn)纹瑱C(jī)、晶振電路、復(fù)位電路等。由于之前沒(méi)有這類(lèi)概念,因此查了很多資料才開(kāi)始有所理解,并開(kāi)始動(dòng)手焊接板子。而在參數(shù)的選擇方面,有很多參數(shù)都是經(jīng)典的參數(shù),但我也要求自己認(rèn)真去分析了一下為什么要這么選擇。有些是因?yàn)閱纹瑱C(jī)內(nèi)部要求,有些是用于上拉電阻,還有些則要通過(guò)模電中的相關(guān)知識(shí)進(jìn)行計(jì)算。對(duì)于這部分現(xiàn)在雖有所了解了,但面對(duì)一個(gè)很復(fù)雜的

20、、完全需要自己搭建系統(tǒng)時(shí),我想現(xiàn)在還遠(yuǎn)遠(yuǎn)不夠。所以,盡管課程設(shè)計(jì)結(jié)束了,但對(duì)單片機(jī)的學(xué)習(xí)不能結(jié)束。(2)軟件:軟件的編程選用C來(lái)編程,容易理解和掌握。但是跟我們所學(xué)的匯編又有很多的差異。首先,我學(xué)習(xí)了KEIL_C51最基本的使用:從頭文件到中斷入口地址的編程,再到如何定義和使用單片機(jī)的資源,我學(xué)到了很多。比如最開(kāi)始,我不知道在編程中P0.0口需寫(xiě)為P00口,以及大小寫(xiě)都要注意;另外,在數(shù)字的使用中不要寫(xiě)在最前面等等很多細(xì)節(jié)要注意。我想,如果以后編寫(xiě)更大的一個(gè)系統(tǒng),碰到的問(wèn)題將會(huì)更多,也能收獲更多。(3)但是,在整個(gè)設(shè)計(jì)過(guò)程中我沒(méi)有先使用仿真再進(jìn)行實(shí)物的連接,這是一個(gè)不好的習(xí)慣,以后必須改掉,以免不必要的損失。第七章 總結(jié)經(jīng)過(guò)兩周的努力,我終于完成了單片機(jī)課程設(shè)計(jì)簡(jiǎn)易安防聲光報(bào)警器電路系統(tǒng)。通過(guò)兩周不斷的查

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論