
單片機(jī)小鬧鐘
39頁信息與電氣工程學(xué)院課程設(shè)計(jì)說明書(2019 /2020學(xué)年第二學(xué)期)課程名稱 : 小型數(shù)字系統(tǒng)創(chuàng)新實(shí)訓(xùn)1 題 目 : 小鬧鐘提示器 專業(yè)班級(jí) : 計(jì)算機(jī) 1803 學(xué)生姓名 : 宋磊 學(xué) 號(hào): 180210325 指導(dǎo)教師 : 黃偉建 設(shè)計(jì)周數(shù) : 1 周 設(shè)計(jì)成績 : 2020年 6月 26日目錄一、系統(tǒng)概述 2二、 硬件設(shè)計(jì) 4三、 軟件設(shè)計(jì) 114總結(jié)與感悟 15附錄A 元器件清單 16附錄 17附錄一:自動(dòng)打鈴系統(tǒng)原理圖 17附錄二:源程序 18q = dq; //讀取18b20初始化信號(hào) 20一、系統(tǒng)概述1.1 設(shè)計(jì)背景單片機(jī)作為一種采用超大規(guī)模集成電路技術(shù)、并把具有數(shù)據(jù)處理能力的中央處理器CPU和隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)/計(jì)數(shù)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。
其體積小、功能強(qiáng)、成本低、適用范圍廣,體現(xiàn)出了其很大的使用價(jià)值據(jù)統(tǒng)計(jì),我國的單片機(jī)年容量已達(dá)到3億片,且每年以大約30%的速度高速增長隨著開發(fā)以及推出單片機(jī)的公司越來越多,各種高性能的單片機(jī)芯片市場也日趨活躍新技術(shù)的不斷加入和納入使用,使得單片機(jī)的性能和種類及其應(yīng)用范圍不斷增強(qiáng)和擴(kuò)大集成的功能及其展現(xiàn)出的性能得到了逐步的全面和強(qiáng)化,所以單片機(jī)會(huì)越來越受到廣大用戶的青睞和使用而今,在很多的公共場所,例如學(xué)校、機(jī)關(guān)、工廠、車站等單位,都是用電鈴作為作息時(shí)間信號(hào)的而最原始的電鈴控制方式就是人工打鈴,采用邏輯電路進(jìn)行控制,其原理簡單、便于操作,但會(huì)導(dǎo)致設(shè)備體積過大,不利于臨時(shí)調(diào)整所以,就引入以單片機(jī)為基礎(chǔ)控制的自動(dòng)打鈴系統(tǒng),這樣不僅節(jié)省了人力,同時(shí)也使得設(shè)備的集成化大大提高,而且便于設(shè)備的調(diào)整為此,設(shè)計(jì)一種基于單片機(jī)的自動(dòng)打鈴系統(tǒng),采用數(shù)字鐘和自動(dòng)打鈴系統(tǒng)相結(jié)合的方式該系統(tǒng)一單片機(jī)為核心來控制各個(gè)功能模塊,使用者可以隨時(shí)對(duì)作息時(shí)間進(jìn)行修改,可以很方便地設(shè)定作息時(shí)間方案這是一個(gè)集數(shù)字鐘顯示、設(shè)置、打鈴為一體的多功能打鈴計(jì)時(shí)系統(tǒng)這樣,通過簡單的設(shè)置,就可以滿足任何學(xué)校、企事業(yè)公共場所和單位的需求而本設(shè)計(jì)就是理論與實(shí)踐并重,對(duì)于有效地掌握單片機(jī)的應(yīng)用具有很重要的意義1.2系統(tǒng)設(shè)計(jì)1.2.1 總體設(shè)計(jì)單片機(jī)是在集成電路芯片上集成了各種元件的微型計(jì)算機(jī),這些元件包括中央處理器CPU、數(shù)據(jù)存儲(chǔ)器RAM、程序存儲(chǔ)器ROM、定時(shí)/計(jì)數(shù)器、中斷系統(tǒng)、時(shí)鐘部件的集成和I/O接口電路。
由于單片機(jī)具有體積小、價(jià)格低、可靠性高、開發(fā)應(yīng)用方便等特點(diǎn),因此在現(xiàn)代電子技術(shù)和工業(yè)領(lǐng)域應(yīng)用較為廣泛,在智能儀表中單片機(jī)是應(yīng)用最多、最活躍的領(lǐng)域之一在控制領(lǐng)域中,現(xiàn)如今人們更注意計(jì)算機(jī)的底成本、小體積、運(yùn)行的可靠性和控制的靈活性在各類儀器、儀表中引入單片機(jī),使儀器儀表智能化,提高測試的自動(dòng)化程度和精度,提高計(jì)算機(jī)的運(yùn)算速度,簡化儀器儀表的硬件結(jié)構(gòu),提高其性能價(jià)格比本設(shè)計(jì)將鬧鐘提示器系統(tǒng)分為主控模塊、DS1302時(shí)鐘電路、LCD1602顯示時(shí)間電路、溫度電路、鬧鐘的模擬五大部分利用獨(dú)立按鍵,當(dāng)事人可自行設(shè)置鬧鐘提示的時(shí)間,利用單片機(jī)的定時(shí)器,系統(tǒng)會(huì)在設(shè)置好的時(shí)間鬧鐘響起(響起一分鐘)當(dāng)事人聽到之后可隨時(shí)通過獨(dú)立按鍵實(shí)現(xiàn)鬧鐘提示停止,系統(tǒng)可以恢復(fù)正常操作并且可以通過獨(dú)立按鍵手動(dòng)調(diào)整顯示時(shí)間溫度系統(tǒng)框圖如下所示:圖1-1 鬧鐘提示器系統(tǒng)框圖1.2.2 方案設(shè)計(jì)利用AT89C51單片機(jī)控制鬧鐘提示系統(tǒng)工作其中P0口接數(shù)據(jù)輸出口,與外部LCD1602連接P3口作為鬧鐘以及時(shí)間溫度設(shè)置的控制口,P1口主要接DS1302時(shí)序電路下面就每個(gè)部分進(jìn)行具體概述:主控模塊包括單片機(jī)AT89C51,時(shí)鐘電路和復(fù)位電路,作為鬧鐘提示器系統(tǒng)的控制器,主要負(fù)責(zé)與其他模塊連接,指導(dǎo)系統(tǒng)的運(yùn)行。
DS1302時(shí)鐘電路部分:利用它的特性存儲(chǔ)讀取所需的時(shí)間日期LCD1602顯示時(shí)間電路:顯示時(shí)間日期溫度DS18B20溫度控制電路:實(shí)時(shí)存儲(chǔ)讀取溫度鬧鐘的模擬部分:硬件方面使用單片機(jī)AT89C51的P0.0-P0.7,P1.0-P1.2控制LCD1602顯示器,P1.3-P1.7控制DS1302,P3.7作為鬧鐘報(bào)警器P3.3-6為獨(dú)立按鍵,P3.1為溫度傳感器軟件方面實(shí)現(xiàn)四個(gè)獨(dú)立按鍵、在預(yù)定好的時(shí)間響起鬧鐘、設(shè)置時(shí)間溫度日期,采用定時(shí)器實(shí)現(xiàn)定時(shí)控制,當(dāng)定時(shí)時(shí)間到的時(shí)候,進(jìn)行模式切換,進(jìn)而實(shí)現(xiàn)鬧鐘提示的控制在本設(shè)計(jì)中采用定時(shí)器延長1ms的方法,在定時(shí)器的中斷程序中采用軟件計(jì)數(shù)的方法來加長延長時(shí)間二、 硬件設(shè)計(jì)2.1 AT89C51單片機(jī)簡介2.1.1單片機(jī)主要特性與MCS-51 兼容4K字節(jié)可編程閃爍存儲(chǔ)器壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時(shí)間:10年全靜態(tài)工作:0Hz-24Hz三級(jí)程序存儲(chǔ)器鎖定128*8位內(nèi)部RAM32可編程I/O線兩個(gè)16位定時(shí)器/計(jì)數(shù)器5個(gè)中斷源可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時(shí)鐘電路2.1.2單片機(jī)引腳介紹VCC:供電電壓?GND:接地?P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流?當(dāng)P1口的管腳一次寫1時(shí),被定義為高阻輸入?P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位?在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高?P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流?P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故?在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收? 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口輸出地址的高八位?在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容?P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)?P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流?當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入?作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故?P3口也可作為AT89C51的一些特殊功能口,如下表所示:口管腳 備選功能P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時(shí)器0外部輸入)P3.5 T1(記時(shí)器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)?RST:復(fù)位輸入?當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間?ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)?在FLASH編程期間,此引腳用于輸入編程脈沖?在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6?因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的?然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖?如想禁止ALE的輸出可在SFR8EH地址上置0?此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用?另外,該引腳被略微拉高?如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效?PSEN:外部程序存儲(chǔ)器的選通信號(hào)?在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效?但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)?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)?XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入?XTAL2:來自反向振蕩器的輸出?單片機(jī)引腳圖如下:圖2-1 單片機(jī)引腳圖2.1.3振蕩器特性XTAL1和XTAL2分別為反向放大器的輸入和輸出。
該反向放大器可以配置為片內(nèi)振蕩器石晶振蕩和陶瓷振蕩均可采用如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度2.1.4芯片擦除整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms 來完成在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式在閑置模式下,CPU停止工作但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止2.2 單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng),或者稱為最小應(yīng)用系統(tǒng),是指用最少的元件組成的單片機(jī)可以工作的系統(tǒng)?對(duì)51系列單片機(jī)來說,最小系統(tǒng)一般應(yīng)該包括:單片機(jī)?晶振電路?復(fù)位電路?下面給出一個(gè)51單片機(jī)的最小系統(tǒng)電路圖:圖2-2 51系列單片機(jī)最小系統(tǒng)圖2.2.2 復(fù)位電路設(shè)計(jì)單片機(jī)在啟動(dòng)時(shí)都需要復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作?89系列單片機(jī)的復(fù)位信號(hào)是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的?當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí),且振蕩器穩(wěn)定后,如果RST引腳上有一個(gè)高電平并維持2個(gè)機(jī)器周期以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位?單片機(jī)系統(tǒng)的復(fù)位方式有:手動(dòng)按鈕復(fù)位和上電復(fù)位?采用專用復(fù)位電路芯片構(gòu)成復(fù)位電路在實(shí)際應(yīng)用系統(tǒng)中,為了保證復(fù)位電路可靠的工作,常采用手動(dòng)復(fù)位以及專用的復(fù)位電路芯片復(fù)位?復(fù)位電路的工作原理在書本上有介紹,51單片機(jī)要復(fù)位只需要在第9引腳接個(gè)高電平持續(xù)2US就可以實(shí)現(xiàn)?在單片機(jī)系統(tǒng)中,系統(tǒng)上電啟動(dòng)的時(shí)候復(fù)位一次,當(dāng)按鍵按下的時(shí)候系統(tǒng)再次復(fù)位,如果釋放后再按下,系統(tǒng)還會(huì)復(fù)位?所以可以通過按鍵的斷開和閉合在運(yùn)行的系統(tǒng)中控制其復(fù)位?開機(jī)的時(shí)候?yàn)槭裁磿?huì)復(fù)位:在電路圖中,電容的的大小是10uF,電阻的大小是10k?所以根據(jù)公式,可以算出電容充電到電源電壓的0.7倍(單片機(jī)的電源是5V,所以充電到0.7倍即為3.5V),需要的時(shí)間是10K*10UF=0.1S?也就是說在單片機(jī)啟動(dòng)的0.1S內(nèi),電容兩端的電壓時(shí)在0~3.5V增加?這個(gè)時(shí)候10K電阻兩端的電壓為從5~1.5。





![[精編]吳教人[]13號(hào)](/Images/s.gif)






