畢業(yè)論文---基于單片機(jī)的多用戶門鈴_第1頁
已閱讀1頁,還剩26頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目 錄</b></p><p><b>  摘要1</b></p><p><b>  前言3</b></p><p>  1 多用戶門鈴的概述3</p><p>  2 單片機(jī)AT89C51簡介3</p><p>

2、;  2.1 單片機(jī)的發(fā)展史3</p><p>  2.2 AT89C51的介紹4</p><p>  3 設(shè)計(jì)方案的選擇4</p><p><b>  3.1 方案一4</b></p><p><b>  3.2 方案二4</b></p><p>  4 系統(tǒng)硬件

3、設(shè)計(jì)5</p><p>  4.1 AT89C51芯片5</p><p>  4.1.1 AT89C51芯片引腳排列5</p><p>  4.1.2 AT89C51芯片引腳功能介紹6</p><p>  4.1.3 AT89C51的主要性能參數(shù)7</p><p>  4.2 晶振電路7</p>

4、<p>  4.3 復(fù)位電路8</p><p><b>  4.4負(fù)載電路9</b></p><p>  4.5 元件分類和清單10</p><p>  5 系統(tǒng)軟件設(shè)計(jì)10</p><p>  5.1 多用戶門鈴設(shè)計(jì)的流程圖10</p><p>  5.2 門鈴程序的編寫

5、11</p><p>  6 仿真與調(diào)試11</p><p>  6.1 KeilC51編譯軟件11</p><p>  6.2 PROTEUS仿真軟件14</p><p>  6.2.1 在proteus中仿真15</p><p>  7 電路板制作與調(diào)試16</p><p>  

6、7.1 PROTEL DXP介紹16</p><p>  7.2 在PROTEL DXP中繪制電路圖18</p><p>  7.3 電路板的焊接與門鈴的測(cè)試19</p><p><b>  8 結(jié)論21</b></p><p><b>  謝 辭22</b></p>&l

7、t;p><b>  參考文獻(xiàn)23</b></p><p><b>  附 錄23</b></p><p>  基于單片機(jī)的多用戶門鈴</p><p>  摘要:小區(qū)的安全受到越來越多人的重視,多用戶門鈴得到廣泛應(yīng)用。本文針對(duì)小區(qū)公寓樓的門鈴進(jìn)行設(shè)計(jì),來訪者只需要在樓下按下住戶的門鈴,相應(yīng)住戶家里的門鈴就會(huì)響起,

8、住戶聽到門鈴的響起,可以按下室內(nèi)開關(guān)控制樓下大門的開啟。本文采用單片機(jī)AT89C51作為中央處理芯片,介紹了多用戶門鈴的設(shè)計(jì)及其軟硬件調(diào)試結(jié)果。該多用戶門鈴方便了人們的生活,大大提高了小區(qū)的安全性,滿足人們的生活需求。</p><p>  關(guān)鍵詞:多用戶門鈴;單片機(jī);AT89C51;軟件調(diào)試</p><p>  Based on SCM multi-user the doorbell<

9、;/p><p><b>  LI Ye-yi</b></p><p>  Abstract: The safety of Community drawing more and more attention, multi-user doorbell being widely applied. Aiming at the village apartment block to

10、 design, the doorbell of visitors only need to press resident doorbell downstairs and corresponding households will ring the doorbell of home. Hearing the bell rang, the residents can press indoor switch control doors do

11、wnstairs open. This paper mainly introduces the design idea of how the user the doorbell production methods and the whole manufact</p><p>  QQ:107778000</p><p><b>  前言</b></p>

12、<p>  隨著人們生活水平的提高,小區(qū)的安全受到越來越多人的重視,得到一種簡便實(shí)用的門鈴控制,不但可以保障小區(qū)的安全,而且能夠提高人們的效率。本設(shè)計(jì)主要介紹了基于單片機(jī)的多用戶門鈴(四用戶門鈴)電路的設(shè)計(jì),從畫電路圖開始到仿真再到制板做出實(shí)物,本設(shè)計(jì)詳細(xì)的介紹了整個(gè)設(shè)計(jì)的思路和制作流程,并且對(duì)使用到的軟件(KEIL、PROTEUS、PROTEL)的使用方法和操作流程都有詳細(xì)的說明。該多用戶門鈴以單片機(jī)AT89C51作為中央

13、處理芯片,詳細(xì)介紹了AT89C51的管腳結(jié)構(gòu)和每個(gè)管腳的作用及各自的連接方法,使得該系統(tǒng)的功能擴(kuò)展比較方便。AT89C51是美國ATMEL公司生產(chǎn)的低電壓、高性能CMOS 8位單片機(jī),片內(nèi)含2k bytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)和128bytes的隨機(jī)數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,并且在掉電狀態(tài)保

14、存存儲(chǔ)數(shù)據(jù)的特點(diǎn),正是因?yàn)锳T89C51具有以上的特點(diǎn),所以很適合作為本次設(shè)計(jì)的中央處理芯片[1]。</p><p>  1 多用戶門鈴的概述</p><p>  由最初的手動(dòng)敲門,到鈴鐺門鈴,在到本設(shè)計(jì)制作的基于單片機(jī)的多用戶門鈴,這是門鈴的一個(gè)發(fā)展歷程。從最簡單的門鈴,到基于單片機(jī)的多功能門鈴這是門鈴的進(jìn)步。隨著科技的發(fā)展,人們生活水平的提高,生活節(jié)奏的加快。為了適應(yīng)人們對(duì)門鈴更高的要

15、求,會(huì)不斷有功能更加強(qiáng)大的門鈴被研制出來。本設(shè)計(jì)制作的基于單片機(jī)的多用戶門鈴是以芯片AT89C51為中央處理器芯片。主要完成對(duì)不同樓層用戶之間的門鈴應(yīng)答。來訪者只需要在樓下大門上的門鈴按下相應(yīng)住戶的門鈴,相應(yīng)住戶家里的門鈴就會(huì)響起。住戶聽到門鈴的響起,知道有來訪者??梢园聪率覂?nèi)開關(guān),室內(nèi)開關(guān)可以控制樓下大門的開啟。該多用戶門鈴方便了人們的生活,提高了小區(qū)的安全性。</p><p>  2 單片機(jī)AT89C51簡介

16、</p><p>  2.1 單片機(jī)的發(fā)展史</p><p>  ①第1階段(1971年—1978年),以MCS-48系列為代表,稱4位單片機(jī)。在片內(nèi):CPU有4位或8位;ROM有1KB或2KB;RAM有64B或128B;只有并行接口,無串行接口;只有1個(gè)8位的定時(shí)/計(jì)時(shí)器;中斷源只有2個(gè)。在片外:尋址范圍只有4KB;芯片引腳有40個(gè)。</p><p> ?、诘?階

17、段(1978年—1983年),以MCS-51系列為代表,稱8位單片機(jī)。在片內(nèi):CPU有8位;ROM有4KB或8KB;RAM有128B或256B;有串/并行接口;有2個(gè)或3個(gè)16位的定時(shí)/計(jì)時(shí)器;中斷源有5至7個(gè)。在片外:尋址范圍有64KB;芯片引腳有40個(gè)。</p><p> ?、鄣?階段(1983年以后),以MCS-96系列為代表,稱16位單片機(jī)。在片內(nèi):CPU有16位;ROM有8KB;RAM有232B;有串/

18、并行接口;有4個(gè)16位的定時(shí)/計(jì)時(shí)器;中斷源有8個(gè);增加了D/A和A/D轉(zhuǎn)換電路。在片外:尋址范圍有64KB;芯片引腳有48個(gè)或68個(gè)[2]。</p><p>  以上MCS-51系列以其優(yōu)良的性價(jià)比,在我國得到了廣泛的應(yīng)用。</p><p>  2.2 AT89C51的介紹</p><p>  AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS 8位單

19、片機(jī),片內(nèi)含2k bytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-5l指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,功能強(qiáng)大。AT89C51單片機(jī)可提供許多高性價(jià)比的應(yīng)用場合。</p><p>  AT89C51具有2k字節(jié)Flash閃速存儲(chǔ)器,128字節(jié)內(nèi)部RAM,15個(gè)I/O

20、端口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,—個(gè)5向量兩級(jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,內(nèi)置—個(gè)精密比較器,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許定時(shí)/計(jì)數(shù)器,RAM,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位[3]。</p><p><b> 

21、 3 設(shè)計(jì)方案的選擇</b></p><p><b>  3.1 方案一</b></p><p>  根據(jù)設(shè)計(jì)要實(shí)現(xiàn)的功能,用一個(gè)簡單的單片機(jī)驅(qū)動(dòng)一個(gè)負(fù)載,根據(jù)選擇負(fù)載的不同,可以實(shí)現(xiàn)不同的門鈴響起不同的音樂,從而達(dá)到多用戶控制的功能,具體控制方案如圖3-1。由于芯片和負(fù)載的選擇過于繁多,考慮到電路的簡單性,經(jīng)濟(jì)性與實(shí)用性,該方案還需進(jìn)一步改進(jìn)。</

22、p><p><b>  圖3-1 方案一</b></p><p><b>  3.2 方案二</b></p><p>  考慮小區(qū)門鈴要求的簡單、經(jīng)濟(jì)、耐用等特點(diǎn),選擇AT89C51的P2口作為驅(qū)動(dòng)端口,從而減少的芯片的數(shù)目,簡化電路。該方案可以驅(qū)動(dòng)八個(gè)負(fù)載,本文選擇四個(gè),其余端口可作為擴(kuò)展時(shí)使用。具體控制方案如圖3-2。&l

23、t;/p><p><b>  圖3-2 方案二</b></p><p>  本設(shè)計(jì)選用第二種方案,即可實(shí)現(xiàn)多用戶門鈴的控制,技術(shù)含量、成本、設(shè)計(jì)周期也低,并且根據(jù)程序的不同可以得到不同的鈴聲,適合本階段自身的設(shè)計(jì)水平。</p><p><b>  4 系統(tǒng)硬件設(shè)計(jì)</b></p><p>  門鈴設(shè)計(jì)硬

24、件電路包括單片機(jī)、晶振電路、復(fù)位電路和負(fù)載電路等?,F(xiàn)將各硬件及電路介紹如下。</p><p>  4.1 AT89C51芯片</p><p>  4.1.1 AT89C51芯片引腳排列</p><p>  AT89C51是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,引腳分布可參照單片機(jī)引腳。P0.0~P0.7 P0口8位雙向線(在引腳的32~39號(hào)端子);P1.0~P1.

25、7  P1口8位雙向線(在引腳的1~8號(hào)端子);P2.0~P2.7  P2口8位雙向線(在引腳的21~28號(hào)端子);P3.0~P3.7  P3口8位雙向線(在引腳的10~17號(hào)端子)。40號(hào)管腳VCC:電源+5V輸入。20號(hào)管腳GND:接地[3]。芯片AT89C51封裝引腳排列如圖4-1。</p><p>  圖4-1 AT89C51封裝引腳排列圖&l

26、t;/p><p>  4.1.2 AT89C51芯片引腳功能介紹</p><p><b>  Vcc:電源電壓;</b></p><p><b>  GND:地;</b></p><p>  P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)</p><p&g

27、t;  P0口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。   </p><p>  P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平

28、時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。   </p><p>  P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫1時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2

29、口輸出地址的高八位。在給出地址1時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。   </p><p>  P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入1后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由

30、于上拉的緣故。引腳具體說明如表4-1所示。    </p><p>  RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。   </p><p>  ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可

31、用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。   </p><p>  PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)

32、據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN信號(hào)將不出現(xiàn)。   </p><p>  EA/VPP:當(dāng)EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),EA將內(nèi)部鎖定為RESET;當(dāng)EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳可用于施加12V編程電源(VPP)。   </p><p>  XTAL1:片內(nèi)晶振電路反

33、向放大器輸出端接CPU內(nèi)部時(shí)鐘電路。   </p><p>  XTAL2:片內(nèi)晶振電路反向放大器輸出端[4]。</p><p>  表4-1 AT89C51引腳說明</p><p>  4.1.3 AT89C51的主要性能參數(shù)</p><p> ?。?)與MCS-51產(chǎn)品指令系統(tǒng)完全兼容 </p><p> ?。?

34、)2k字節(jié)可重擦寫閃速存儲(chǔ)器 </p><p> ?。?)1000次擦寫周期 </p><p> ?。?)2.7V-6V的工作電壓范圍 </p><p>  (5)全靜態(tài)操作:0Hz-24MHz </p><p> ?。?)兩級(jí)加密程序存儲(chǔ)器</p><p><b>  4.2 晶振電路</b&g

35、t;</p><p>  晶體振蕩器,簡稱晶振。在電氣上它可以等效成一個(gè)電容和一個(gè)電阻并聯(lián)再串聯(lián)一個(gè)電容的二端網(wǎng)絡(luò),電工學(xué)上這個(gè)網(wǎng)絡(luò)有兩個(gè)諧振點(diǎn),以頻率的高低分其中較低的頻率是串聯(lián)諧振,較高的頻率是并聯(lián)諧振。由于晶體自身的特性致使這兩個(gè)頻率的距離相當(dāng)?shù)慕咏?,在這個(gè)極窄的頻率范圍內(nèi),晶振等效為一個(gè)電感,所以只要晶振的兩端并聯(lián)上合適的電容它就會(huì)組成并聯(lián)諧振電路。這個(gè)并聯(lián)諧振電路加到一個(gè)負(fù)反饋電路中就可以構(gòu)成正弦波振蕩

36、電路,由于晶振等效為電感的頻率范圍很窄,所以即使其他元件的參數(shù)變化很大,這個(gè)振蕩器的頻率也不會(huì)有很大的變化。晶振有一個(gè)重要的參數(shù),那就是負(fù)載電容值,選擇與負(fù)載電容值相等的并聯(lián)電容,就可以得到晶振標(biāo)稱的諧振頻率[5]。 </p><p>  AT89S51引腳XTAL1和XTAL2與晶體振蕩器及電容C2、C1按圖4-2所示方式連接。晶振、電容C1/C2及片內(nèi)與非門(作為反饋、放大元件)構(gòu)成了電容三點(diǎn)式振蕩

37、器,振蕩信號(hào)頻率與晶振頻率及電容C1、C2的容量有關(guān),但主要由晶振頻率決定,范圍在0~33MHz之間,電容C1、C2取值范圍在5~30pF之間。根據(jù)實(shí)際情況,對(duì)外接電容 C1,C2雖然沒有十分嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低,振蕩器工作的穩(wěn)定性,起振的難易程度及溫度穩(wěn)定性。如果使用石英晶體,推薦電容使用30PF±10PF,而如使用陶瓷振蕩器建議選擇40PF±10PF。本設(shè)計(jì)中采用12MHZ的晶振作

38、為系統(tǒng)的外部晶振,電容取值為30pF。</p><p>  晶振電路原理圖如圖4-2所示。</p><p>  圖4-2 晶振電路原理圖</p><p><b>  4.3 復(fù)位電路</b></p><p>  當(dāng)輸入的信號(hào)連續(xù)2個(gè)機(jī)器周期以上高電平時(shí)即為有效,用以完成單片機(jī)的復(fù)位初始化操作,當(dāng)復(fù)位后程序計(jì)數(shù)器PC=00

39、00H,即復(fù)位后將從程序存儲(chǔ)器的0000H單元讀取第一條指令碼。</p><p>  為了確保微機(jī)系統(tǒng)中電路穩(wěn)定可靠工作,復(fù)位電路是必不可少的一部分,復(fù)位電路的第一功能是上電復(fù)位。一般微機(jī)電路正常工作需要供電電源為5V±5%,即4.75~5.25V。由于微機(jī)電路是時(shí)序數(shù)字電路,它需要穩(wěn)定的時(shí)鐘信號(hào),因此在電源上電時(shí),只有當(dāng)VCC超過4.75V低于5.25V以及晶體振蕩器穩(wěn)定工作時(shí),復(fù)位信號(hào)才被撤除,微機(jī)

40、電路開始正常工作[6]。</p><p>  電阻給電容充電,電容的電壓緩慢上升直到vcc,沒到vcc時(shí)芯片復(fù)位腳近似低電平,于是芯片復(fù)位,接近vcc時(shí)芯片復(fù)位腳近高電平,于是芯片停止復(fù)位,復(fù)位完成。</p><p>  選擇+5V的電源和10uF的極性電容外加一個(gè)10K的電阻就組成了復(fù)位電路,復(fù)位電路原理圖如圖4-3所示。</p><p>  圖4-3 復(fù)位電路原

41、理圖</p><p><b>  4.4負(fù)載電路</b></p><p>  負(fù)載電路主要是由一個(gè)PNP型三極管和一個(gè)220歐電阻外加一個(gè)蜂鳴器組成的。當(dāng)芯片有電平的變化就會(huì)使蜂鳴器導(dǎo)通,使其工作發(fā)出蜂鳴聲,從而實(shí)現(xiàn)門鈴的作用。</p><p>  考慮功耗低,經(jīng)濟(jì)性能高,本文所選的蜂鳴器為無源蜂鳴器,其額定電壓為1.5V,工作電壓范圍為1.0

42、-1.7V,最大電流0.2A,電阻6-10歐。經(jīng)實(shí)測(cè)元件知其電阻為10歐姆。</p><p>  根據(jù)圖4-4所構(gòu)成的電路圖計(jì)算如下:</p><p>  假設(shè)蜂鳴器在額定電壓下工作,則</p><p><b>  集電極電流 </b></p><p>  根據(jù)集電極電流滿足所選三極管的要求,最終選擇PNP型S85

43、50三極管。其耗散功率0.625W,S8550放大倍數(shù)40-140,集電極電流0.5A,集電極--基極電壓40V ,集電極--發(fā)射極擊穿電壓25V,集電極-發(fā)射極飽和電壓 0.6V。</p><p>  本設(shè)計(jì)購買的三極管放大倍數(shù)為100。根據(jù)放大倍數(shù)</p><p><b>  基極電流 </b></p><p><b>  基

44、極電阻 </b></p><p>  為了保證電路工作的可靠性,將電阻選大一些,且根據(jù)常用的電阻型號(hào)選擇220歐姆的電阻。</p><p>  室內(nèi)門鈴電路原理圖如圖4-4所示。</p><p>  圖 4-4 室內(nèi)門鈴電路原理圖</p><p>  4.5 元件分類和清單</p><p>  基于單片

45、機(jī)的多用戶門鈴的設(shè)計(jì),所需要的元件的所屬分類和清單列表如表4-2所示。</p><p>  表4-2 所需元件分類</p><p><b>  5 系統(tǒng)軟件設(shè)計(jì)</b></p><p>  5.1 多用戶門鈴設(shè)計(jì)的流程圖</p><p>  根據(jù)設(shè)計(jì)所要實(shí)現(xiàn)的功能,考慮到編程簡潔,容易達(dá)到要求,多用戶門鈴的程序流程圖如圖

46、5-1所示。</p><p>  圖5-1 程序流程圖</p><p>  5.2 門鈴程序的編寫</p><p>  程序主要完成的是在運(yùn)行的時(shí)候給端口P1和P3置高電平,并且判斷各個(gè)開關(guān)是否被按下,如若被按下就執(zhí)行相應(yīng)的程序,給相應(yīng)的管腳提供相應(yīng)的電平,并且調(diào)用延時(shí)程序并以達(dá)到門鈴響起或者LED燈點(diǎn)亮的效果。這就是這個(gè)程序需要完成的功能,根據(jù)電路圖需要達(dá)到的效果

47、,編寫的C語言程序可以滿足以上的所有要求[7]。本設(shè)計(jì)的基于單片機(jī)的多用戶門鈴程序如附錄所示。</p><p><b>  6 仿真與調(diào)試</b></p><p>  6.1 KeilC51編譯軟件</p><p>  Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)

48、構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會(huì)更加深刻。Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解[8]。</p><p>  首先,打開keil編譯軟件,然后在菜單欄上找到Project并選擇New Project,在給工程命名并且保存工程,保存

49、完成之后會(huì)彈出單片機(jī)芯片的選擇框,找到芯片AT89C51并且這樣就完成了在keil中新建工程的操作。如圖6-1所示。</p><p>  圖6-1 在keil中新建工程</p><p>  工程新建完成之后,在新建一個(gè)文本文件,并把程序錄入到該文本文件當(dāng)中。多用戶門鈴程序錄入如圖6-2所示。程序錄入完成之后在菜單欄上找到File然后選擇save保存,在彈出保存框里給文件命名,并且需要將該文

50、件的后綴名修改成.c格式,如圖6-3所示。</p><p>  圖6-2 錄入門鈴程序</p><p><b>  圖6-3 保存程序</b></p><p>  把文件添加到工程中,首先在Source Group1點(diǎn)擊右鍵找到Add Files to Group就把文件添加到工程中了,如圖6-4所示。</p><p>

51、  圖6-4把文件添加到工程</p><p>  在"Option for Target"對(duì)話框中,選中“Output”選項(xiàng)卡中的“Create HEX File”選項(xiàng)和“Debug”選項(xiàng)卡中的“Use:Proteus VSM Simula”選項(xiàng)。點(diǎn)擊Build target編譯C語言程序,檢查程序是否有錯(cuò),沒錯(cuò)可以直接調(diào)用生成的.HEX文件。有錯(cuò)就改正程序中的錯(cuò)誤,直到?jīng)]有錯(cuò)誤提示才能調(diào)用生

52、成的HEX文件。本次設(shè)計(jì)的門鈴程序通過編譯,沒有錯(cuò)誤和提醒。如圖6-5所示。</p><p><b>  圖6-5 編譯程序</b></p><p>  圖6-5編譯程序時(shí)出現(xiàn)的提示翻譯為:</p><p> ?。?)assembling STARTUP.A51:裝配 STARTUP.A51。</p><p> ?。?)

53、compiling ml.c:編譯ml.c程序文件。</p><p> ?。?)Linking:連接中。</p><p> ?。?)Program Size: data=12.0 xdata=0 code=288:程序大?。簝?nèi)部數(shù)據(jù)=12.0字節(jié),外部數(shù)據(jù)=0字節(jié),代碼=288字節(jié)。</p><p> ?。?)creating hex file from "

54、;ml":創(chuàng)建名為“ml”的HEX文件。</p><p> ?。?)"ml" - 0 Error(s), 0 Warning(s) :“ml”文件有0個(gè)錯(cuò)誤,0個(gè)警告。</p><p>  6.2 PROTEUS仿真軟件</p><p>  Proteus軟件是英國Labcenter electronics公司出版的EDA工具(仿真軟件

55、)。它不僅具有其它仿真軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)的工具。雖然目前國內(nèi)推廣剛起步,但已受到從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者和單片機(jī)愛好者的青睞。在編譯方面,它支持IAR、Keil和MPLAB等多種編譯器[9]。</p><p>  Proteus 軟件除了可以編輯設(shè)計(jì)電路原理圖,還可以進(jìn)行電路仿真。首先在畫好的電路原理圖中選中需要編寫程序的芯片,并單擊鼠

56、標(biāo)左鍵,打開Edition Component對(duì)話框,設(shè)置單片機(jī)晶振頻率為12MHZ,在此窗口中的program file欄中,選擇之前用keil軟件生成的KEIL生成的HEX文件。在Proteus的菜單欄中選擇file并Save Desig選項(xiàng),保存設(shè)計(jì)。在Proteus的菜單欄中,打開 Debug下拉菜單,在菜單中選中Use start/restart debugging選項(xiàng),這樣proteus中繪制的電路原理圖就可以鏈接上,kei

57、l中生成的HEX文件進(jìn)行仿真了。</p><p>  打開proteus軟件,在File的下拉菜單中找到New Design新建Proteus并選擇A4版面,然后保存,這樣就完成proteus的新建了。如圖6-6所示。</p><p>  圖6-6 新建proteus A4版面</p><p>  把元件排布好后,使用導(dǎo)線將各個(gè)元件連接起來,最后繪制完成電路原理圖,

58、本設(shè)計(jì)的門鈴電路原理圖如圖6-7所示。</p><p>  圖6-7在proteus中繪制電路原理圖</p><p>  6.2.1 在proteus中仿真</p><p>  在proteus里仿真時(shí),首先把畫好的電路原理圖,鏈接上keil中生成的HEX文件進(jìn)行仿真。在Proteus的菜單欄中,打開 Debug下拉菜單,在菜單中選中Use start/restar

59、t debugging選項(xiàng)。準(zhǔn)備就緒可以直接仿真。按下相應(yīng)的開關(guān),觀察電路的相應(yīng)狀態(tài)。當(dāng)按下開關(guān)S1時(shí),LS1就會(huì)相應(yīng)的響起。按下開關(guān)S2時(shí)門鈴LS2就會(huì)相應(yīng)的響起,以此類推。當(dāng)按下開關(guān)LS5至LS8的任意一個(gè)時(shí)LED燈就會(huì)點(diǎn)亮,并且延時(shí)0.5s。LED燈點(diǎn)亮就表示大門的開啟。在整個(gè)仿真中,已經(jīng)實(shí)現(xiàn)了各個(gè)功能和達(dá)到了預(yù)期的效果。仿真結(jié)果如圖6-8所示。</p><p>  圖6-8軟件仿真結(jié)果</p>

60、<p>  7 電路板制作與調(diào)試</p><p>  7.1 PROTEL DXP介紹</p><p>  Altium公司在原來Protel 99SE的基礎(chǔ)上,率先推出了EDA設(shè)計(jì)軟件Protel DXP。Protel DXP在前版本的基礎(chǔ)上增加了許多新的功能。新的可定制設(shè)計(jì)環(huán)境功能包括雙顯示器支持,可固定、浮動(dòng)以及彈出面板的用戶界面等[5]。Protel DXP是第一個(gè)將

61、所有設(shè)計(jì)工具集于一身的板級(jí)設(shè)計(jì)系統(tǒng),電子設(shè)計(jì)者從最初的項(xiàng)目模塊規(guī)劃到最終形成生產(chǎn)數(shù)據(jù)都可以按照自己的設(shè)計(jì)方式實(shí)現(xiàn)。Protel DXP運(yùn)行在優(yōu)化的設(shè)計(jì)瀏覽器平臺(tái)上,并且具備當(dāng)今所有先進(jìn)的設(shè)計(jì)特點(diǎn),能夠處理各種復(fù)雜的PCB設(shè)計(jì)過程。通過設(shè)計(jì)輸入仿真、PCB繪制編輯、拓?fù)渥詣?dòng)布線,Protel DXP提供了全面的設(shè)計(jì)解決方案[10]。</p><p>  打開protel 軟件,首先應(yīng)新建工程項(xiàng)目。在File 的下拉

62、菜單中選擇new,在new 的下拉菜單中選擇PCB project,這樣就把工程項(xiàng)目新建成功了。然后在從new的下拉菜單中選中schematic,新建畫圖板面成功,在將畫圖版面添加到工程項(xiàng)目中。如圖7-1所示。</p><p>  圖7-1 在protel中新建工程</p><p>  打開Libraries直接輸入元件名稱進(jìn)行搜索,如若搜索不到,可以點(diǎn)擊進(jìn)入seach進(jìn)入元件庫進(jìn)行搜索。

63、元件庫路徑設(shè)置C:\ProgramFiles\Altium\Library,在name里輸入需要搜索的元件名稱,然后點(diǎn)擊seach進(jìn)行搜索,搜索到元件后,雙擊元件,即可加載到常用元件里[11]。如圖7-2所示。</p><p><b>  圖7-2 搜索原件</b></p><p>  7.2 在PROTEL DXP中繪制電路圖</p><p>

64、;  排列好各種元件后,使用導(dǎo)線將各個(gè)元件連接起來。最后把各個(gè)元件的序號(hào)大小標(biāo)注好,這樣就繪制完成電路原理圖了。在protel中繪制電路原理圖如圖7-3所示。</p><p>  圖7-3 protel中的電路原理圖</p><p>  畫好原理圖后,需要生成PCB圖。在design的下拉菜單中選中update PCB,在打開剛才選中PCB就會(huì)生成如圖7-4所示的未布線的PCB圖。<

65、/p><p>  圖7-4未布線的PCB圖</p><p>  如果原理圖比較簡單元件比較少可以嘗試制作單層板,由于本電路的元件比較多,有很多導(dǎo)線存在不可避免的相交,所以本電路只能制作雙層板。在圖7-2的基礎(chǔ)上可以選擇自動(dòng)布線,首先找到菜單欄上的Auto Route點(diǎn)擊進(jìn)去,選擇All然后就會(huì)彈出Situs Routing Strategies的選項(xiàng)框然后選擇Route All系統(tǒng)就會(huì)自動(dòng)布線

66、[12]。自動(dòng)布線完成后,截取PCB并繪制邊框。如圖7-5所示。</p><p>  圖7-5 布線完成后的PCB圖</p><p>  7.3 電路板的焊接與門鈴的測(cè)試</p><p>  把元件按照PCB圖7-4所示的位置擺放到電路板上,注意元件的正負(fù)極。然后把元件一個(gè)一個(gè)的用電烙鐵焊接到電路板上。焊接時(shí)要注意,焊接前先給焊盤預(yù)熱,這樣可以達(dá)到熱均勻的效果,不至

67、于會(huì)出現(xiàn)焊錫不粘焊盤的情況,預(yù)熱后在把錫絲放到電烙鐵上,待錫絲融化后輕輕粘到焊盤上。先給焊盤預(yù)熱這樣焊接出來的焊接口也會(huì)比較美觀[13]。在焊接的時(shí)候注意把握焊錫不要太多,只要能夠穩(wěn)固就可以了,若是太多了怕會(huì)和周圍不該連接的管腳接觸到了。這樣就會(huì)嚴(yán)重影響到整個(gè)電路[14]。焊接好后的實(shí)物圖如圖7-6所示。</p><p>  圖7-6 焊接好的實(shí)物圖</p><p>  整個(gè)電路焊接好了之

68、后,首先給門鈴?fù)ㄉ?5V的直流電源,一切準(zhǔn)備就緒可以進(jìn)行測(cè)試。接通電源之后電源指示燈就會(huì)亮起。當(dāng)按下按鍵S1時(shí)對(duì)應(yīng)的門鈴1就會(huì)響起,按下按鍵2時(shí)對(duì)應(yīng)的門鈴2就會(huì)響起,按下按鍵3時(shí)對(duì)應(yīng)的門鈴3就會(huì)響起,按下按鍵4時(shí)對(duì)應(yīng)的門鈴4就會(huì)響起。各個(gè)門鈴的延時(shí)時(shí)間都是0.3秒。按下按鍵5、6、7、8時(shí)紅色LED燈就會(huì)亮起,并延時(shí)0.5秒后熄滅。</p><p>  由于按鍵S1~S4控制的是蜂鳴器的開啟,在此無法用照相機(jī)拍出

69、其測(cè)試效果,故只能展示出按鍵S5~S8控制的LED等的亮起。如下圖7-7所示。</p><p>  圖7-7 焊接好的萬能板</p><p>  本次焊接出來的實(shí)物圖滿足了預(yù)期的效果和功能,接通電源之后電源指示燈就會(huì)亮起。當(dāng)按下按鍵S1時(shí)對(duì)應(yīng)的門鈴1就會(huì)響起,按下按鍵2時(shí)對(duì)應(yīng)的門鈴2就會(huì)響起,按下按鍵3時(shí)對(duì)應(yīng)的門鈴3就會(huì)響起,按下按鍵4時(shí)對(duì)應(yīng)的門鈴4就會(huì)響起。各個(gè)門鈴的延時(shí)時(shí)間都是3秒。當(dāng)

70、相應(yīng)用戶控制打開樓門即按下按鍵5、6、7、8時(shí),紅色LED燈就會(huì)亮起,并延時(shí)5秒后熄滅,代表樓下門已打開。 </p><p><b>  8 結(jié)論</b></p><p>  本文以單片機(jī)AT89C51為核心加上晶振電路、復(fù)位電路以及負(fù)載電路構(gòu)成的多用戶門鈴的設(shè)計(jì),考慮降低功耗,設(shè)計(jì)電路,硬件電路原理圖及PCB圖設(shè)計(jì),電路板制作,硬件調(diào)試等手段,實(shí)現(xiàn)了來訪者只需要在樓

71、下的門鈴處按下住戶的門鈴,相應(yīng)住戶家里的門鈴就會(huì)響起,住戶聽到門鈴的響起,可以按下室內(nèi)開關(guān)控制樓下大門的開啟的功能。該多用戶門鈴方便了人們的生活,大大提高了小區(qū)的安全性,滿足人們的生活需求。</p><p><b>  謝 辭</b></p><p>  本設(shè)計(jì)是在xx老師的指導(dǎo)下完成的。感謝老師在論文的選題、設(shè)計(jì)方案的確定、設(shè)計(jì)的進(jìn)行以及最后的設(shè)計(jì)說明書的撰寫整個(gè)

72、過程中給予我細(xì)心的指引和教導(dǎo),使我能順利完成畢業(yè)設(shè)計(jì)。老師淵博的知識(shí)、敏銳的學(xué)術(shù)思維、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、求實(shí)的科學(xué)態(tài)度和工作作風(fēng)以及創(chuàng)新的工作精神,令我終身受益,是我畢生學(xué)習(xí)的典范,值此論文完成之際,謹(jǐn)向xx老師致以崇高的敬意和衷心的感謝!</p><p>  感謝培養(yǎng)教育我的xx大學(xué),其濃厚的學(xué)習(xí)氛圍,舒適的學(xué)習(xí)環(huán)境,我將終生難忘。在四年的大學(xué)生涯里,還得到眾多老師的關(guān)心支持和幫助,在此,謹(jǐn)向老師們致以忠心的感謝

73、和崇高的敬意!</p><p><b>  參考文獻(xiàn):</b></p><p>  [1] 何立民.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1990.</p><p>  [2] 楊文龍.單片機(jī)原理與應(yīng)用[M].西安:西安電子科技大學(xué)出版社,1999.</p><p>  [3] 潘永雄.

74、新編單片機(jī)原理與應(yīng)用[M].西安電子科技大學(xué)出版社,2007.</p><p>  [4] 馮育長.單片機(jī)系統(tǒng)設(shè)計(jì)與實(shí)例分析[M].西安電子科技大學(xué)出版社.</p><p>  [5] 于洪珍.通信電子電路.[M]清華大學(xué)出版社,2006.</p><p>  [6] 彭為.單片機(jī)典型系統(tǒng)設(shè)計(jì)實(shí)例精講[M].北京:電子工業(yè)出版社,2006.</p>&

75、lt;p>  [7] 馬忠梅.單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)[M]. 北京航天航空大學(xué)出版社.</p><p>  [8] 劉明. Keil Vision單片機(jī)技術(shù)與實(shí)踐[M].清華大學(xué)出版社,2010.</p><p>  [9] 江世明.基于Proteus的單片機(jī)應(yīng)用技術(shù)[M].電子工業(yè)出版社,2009.</p><p>  [10] Myke Predko著

76、張曉林等譯.電路原理與設(shè)計(jì)實(shí)例解析(Digital Electronics </p><p>  [11] 廖科,張松,方小馬等.Protel DXP電路圖及電路板設(shè)計(jì)使用教程[M].北京:清華大學(xué)</p><p><b>  出版社,2004.</b></p><p>  [12] 臧春華.電子線路設(shè)計(jì)與應(yīng)用[M].北京:高等教育出版社,20

77、06.</p><p>  [13] 楊幫文.使用電子小制作精選[M].人民郵電出版社,2006.</p><p>  [14] 張瑾.電路設(shè)計(jì)與制板Protel99SE入門與提高[M].人民郵電出版社,2006.</p><p>  Guidebook With Projects).電子工業(yè)出版社,2004.</p><p><b&g

78、t;  附 錄</b></p><p>  #include<reg52.h> //頭文件</p><p>  #define uchar unsigned char //宏定義</p><p>  #define uint unsigned int //位定義</p><

79、p>  sbit beep1=P1^0; //定義門鈴</p><p>  sbit beep2=P1^1;</p><p>  sbit beep3=P1^2;</p><p>  sbit beep4=P1^3;</p><p>  sbit K1=P1^7; //定義門

80、鈴開關(guān)</p><p>  sbit K2=P1^6;</p><p>  sbit K3=P1^5;</p><p>  sbit K4=P1^4;</p><p>  sbit D1=P3^4; //定義LED燈開關(guān)</p><p>  sbit D2=P3^5;</p><p>

81、  sbit D3=P3^6;</p><p>  sbit D4=P3^7;</p><p>  sbit Led=P3^0;</p><p>  void delay(uint z); //函數(shù)聲明</p><p>  void sound1();</p><p>  void sound2();<

82、;/p><p>  void sound3();</p><p>  void sound4();</p><p>  void Open(); //變量聲明</p><p>  uchar a,b,c; //主函數(shù)</p><p>  void main()</p>

83、<p><b>  {</b></p><p>  P1=0xff; //初始化</p><p><b>  P3=0xff;</b></p><p><b>  while(1)</b></p><p><b>  {</b&

84、gt;</p><p>  if(K1==0) //按鍵1是否按下</p><p><b>  sound1();</b></p><p>  if(K2==0) //按鍵2是否按下</p><p><b>  sound2();</b></p><p> 

85、 if(K3==0) //按鍵3是否按下</p><p><b>  sound3();</b></p><p>  if(K4==0) //按鍵4是否按下</p><p><b>  sound4();</b></p><p><b>  if(D1==0)</

86、b></p><p><b>  Open();</b></p><p><b>  if(D2==0)</b></p><p><b>  Open();</b></p><p><b>  if(D3==0)</b></p><

87、;p><b>  Open();</b></p><p><b>  if(D4==0)</b></p><p><b>  Open();</b></p><p><b>  }</b></p><p><b>  } <

88、/b></p><p>  void delay(uint z) //延時(shí)子函數(shù)</p><p><b>  {</b></p><p><b>  uint x;</b></p><p><b>  uchar y;</b></p><p

89、>  for(x=z;x>0;x--)</p><p>  for(y=110;y>0;y--);</p><p><b>  }</b></p><p>  void sound1() //蜂鳴器發(fā)聲子函數(shù)</p><p><b>  {</b>

90、</p><p>  for(a=200;a>0;a--) //a循環(huán)用變量,影響聲音</p><p><b>  {</b></p><p><b>  beep1=0;</b></p><p>  for(c=500;c>0;c--); </p><

91、;p><b>  beep1=1;</b></p><p>  for(c=500;c>0;c--);</p><p><b>  }</b></p><p>  for(b=200;b>0;b--)</p><p><b>  {</b></p>

92、<p><b>  beep1=0;</b></p><p>  delay(3); //延時(shí)</p><p><b>  beep1=1;</b></p><p><b>  delay(3);</b></p><p><b>  }&l

93、t;/b></p><p><b>  }</b></p><p>  void sound2()</p><p><b>  {</b></p><p>  for(a=200;a>0;a--)</p><p><b>  {</b><

94、;/p><p><b>  beep2=0;</b></p><p>  for(c=500;c>0;c--);</p><p><b>  beep2=1;</b></p><p>  for(c=500;c>0;c--);</p><p><b>  }

95、</b></p><p>  for(b=200;b>0;b--)</p><p><b>  {</b></p><p><b>  beep2=0;</b></p><p><b>  delay(3);</b></p><p>&

96、lt;b>  beep2=1;</b></p><p><b>  delay(3);</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void sound3()</p><p&g

97、t;<b>  {</b></p><p>  for(a=200;a>0;a--)</p><p><b>  {</b></p><p><b>  beep3=0;</b></p><p>  for(c=500;c>0;c--);</p>&l

98、t;p><b>  beep3=1;</b></p><p>  for(c=500;c>0;c--);</p><p><b>  }</b></p><p>  for(b=200;b>0;b--)</p><p><b>  {</b></p>

99、;<p><b>  beep3=0;</b></p><p><b>  delay(3);</b></p><p><b>  beep3=1;</b></p><p><b>  delay(3);</b></p><p><b&

100、gt;  }</b></p><p><b>  }</b></p><p>  void sound4()</p><p><b>  {</b></p><p>  for(a=200;a>0;a--)</p><p><b>  {</

101、b></p><p><b>  beep4=0;</b></p><p>  for(c=500;c>0;c--);</p><p><b>  beep4=1;</b></p><p>  for(c=500;c>0;c--);</p><p><

102、b>  }</b></p><p>  for(b=200;b>0;b--)</p><p><b>  {</b></p><p><b>  beep4=0;</b></p><p><b>  delay(3);</b></p>&l

103、t;p><b>  beep4=1;</b></p><p><b>  delay(3);</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void Open()</p>&

104、lt;p><b>  {</b></p><p><b>  Led=0;</b></p><p>  delay(5000); //延時(shí)5秒</p><p><b>  Led=1;</b></p><p><b>  }</b>&l

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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)論