版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、信息職業(yè)技術(shù)學(xué)院 畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文) 設(shè)計(jì)題目: 基于單片機(jī)的校園打鈴系統(tǒng)設(shè)計(jì) 專 業(yè): 應(yīng)用電子技術(shù) 班 級(jí): 應(yīng)電 08-2 學(xué) 號(hào): 姓 名: 指導(dǎo)教師: 二一年九月十日 信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū) 學(xué) 生 姓 名 學(xué)號(hào)班級(jí)應(yīng)電 082專業(yè)應(yīng)用電子技術(shù) 設(shè)計(jì)(或論文)題目基于單片機(jī)的校園打鈴系統(tǒng)設(shè)計(jì) 指導(dǎo)教師姓名職 稱工作單位及所從事專業(yè)聯(lián)系方式備 注 工程師學(xué)01 設(shè)計(jì)(論文)內(nèi)容:利用單片機(jī)做為主控器件,設(shè)計(jì)一校園打鈴系統(tǒng)的硬件部分: 1.實(shí)現(xiàn)打鈴時(shí)間的設(shè)置和修改; 2.顯示當(dāng)前日期、時(shí)間; 3.掉電情況下計(jì)時(shí)工作正常進(jìn)行、能保存
2、以前設(shè)置的時(shí)刻。 基本要求: 1.正確選擇元器件完成相應(yīng)功能; 2.設(shè)計(jì)整機(jī)電路、明晰系統(tǒng)工作原理; 3.系統(tǒng)仿真; 4.完成說(shuō)明書(shū)撰寫(xiě)。 進(jìn)度安排: 第 36 周:選題及查找相關(guān)資料主要查找與課題相關(guān)的資料; 第 7 周:相關(guān)資料的整理并對(duì)其進(jìn)行理解; 第 8 周:對(duì)畢業(yè)論文的資料進(jìn)行初步的整理; 第 9 周:期中檢查; 第 10 周:對(duì)論文進(jìn)行修改及進(jìn)行仿真實(shí)驗(yàn); 第 11 周:對(duì)畢業(yè)論文進(jìn)行排版; 第 12 周:檢查排版及內(nèi)容; 第 13 周:加深對(duì)畢業(yè)論文的理解準(zhǔn)備答辯; 第 14 周:檢查畢業(yè)設(shè)計(jì)論文的地方準(zhǔn)備答辯; 第 15 周:答辯。 主要參考文獻(xiàn)、資料(寫(xiě)清楚參考文獻(xiàn)名稱、作者
3、、出版單位): 1蘇平.單片機(jī)原理與接口技術(shù).北京:電子工業(yè)出版社,2003 2林伸茂.8051 單片機(jī)徹底研究實(shí)習(xí)篇.北京:人民郵電出版社,2005 3韓志軍.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北京:機(jī)械工業(yè)出版社,2005 4陳坤.電子設(shè)計(jì)技術(shù).成都:電子科技大學(xué)出版社,1997 5鄭應(yīng)光.模擬電子線路(一).南京:東南大學(xué)出版社,2005 6李秀忠.單片機(jī)應(yīng)用技術(shù).北京:人民郵電出版社,2007 審 批 意 見(jiàn) 教研室負(fù)責(zé)人: 年 月 日 備注:任務(wù)書(shū)由指導(dǎo)教師填寫(xiě),一式二份。其中學(xué)生一份,指導(dǎo)教師一份。 目 錄 摘要 .1 第 1 章緒論 .2 第 2 章方案設(shè)計(jì)與論證 .3 2.1 系統(tǒng)方案選擇與
4、比較 .3 2.1.1 控制模塊方案選擇.3 2.1.2 顯示模塊方案選擇.4 2.2.3 存儲(chǔ)模塊方案選擇.4 2.2 總體方案設(shè)計(jì)思想 .5 第 3 章硬件電路設(shè)計(jì) .6 3.1 控制模塊設(shè)計(jì) .6 3.1.1 單片機(jī) at89c51 簡(jiǎn)介.6 3.1.2 單片機(jī)時(shí)鐘電路復(fù)位電路介紹.7 3.2 打鈴模塊 .8 3.3 存儲(chǔ)模塊 .8 3.3.1 實(shí)時(shí)時(shí)鐘 ds1302 簡(jiǎn)介.8 3.3.2 存儲(chǔ)器 24c02c .10 3.4 鍵控模塊 .12 3.4.1 獨(dú)立式鍵盤介紹.12 3.4.2 鍵盤接口及鍵位的功能介紹.13 3.5 顯示模塊 .13 3.5.1 數(shù)碼管的組成及工作原理.14
5、 3.5.2 數(shù)碼管的顯示.14 第 4 章整機(jī)原理 .16 4.1 整機(jī)原理圖 .16 4.2 整機(jī)電路原理 .16 第 5 章軟件設(shè)計(jì) .18 5.1 打鈴系統(tǒng)流程圖 .18 5.2 讀時(shí)間日期顯示流程圖 .18 5.3 led 顯示流程圖 .19 5.4 主程序流程圖 .20 第 6 章仿真和調(diào)試 .21 6.1 調(diào)試軟件的介紹 .21 6.2 調(diào)試的操作步驟 .21 6.3 仿真軟件對(duì)于本設(shè)計(jì)的仿真 .22 結(jié)論 .25 參考文獻(xiàn) .26 附錄 1 整機(jī)原理圖.27 附錄 2元件明細(xì)表.28 附錄 3 源程序.29 摘要 本設(shè)計(jì)以單片機(jī) at89c51 為控制核心,與 ds1302、2
6、4c02c 和 led 等組成校園打鈴 系統(tǒng),運(yùn)用實(shí)時(shí)時(shí)鐘芯片 ds1302 實(shí)現(xiàn)時(shí)間控制,同時(shí)運(yùn)用 led 七段數(shù)碼管完成當(dāng)前的 年、月、日、時(shí)、分、秒和星期以及打鈴時(shí)間的顯示,再利用鍵盤可以對(duì)系統(tǒng)當(dāng)前時(shí) 間以及打鈴時(shí)間進(jìn)行調(diào)節(jié)、存儲(chǔ)、清空操作,并且使用外部存儲(chǔ)器 24c02c 完成打鈴時(shí) 間的存儲(chǔ)。此設(shè)計(jì)在系統(tǒng)掉電狀態(tài)下仍可以正常的打鈴、時(shí)間設(shè)定、數(shù)據(jù)保持,整體 性好、人性化強(qiáng)、可靠性高、功能強(qiáng),體積小,功耗低,價(jià)格便宜,工作可靠,使用 方便等特點(diǎn)。 關(guān)鍵詞關(guān)鍵詞單片機(jī);at89c51;ds1302;24c02c 打鈴 第 1 章緒論 校園打鈴系統(tǒng)就是利用現(xiàn)代計(jì)算機(jī)、通訊等技術(shù),以傳統(tǒng)的鈴
7、聲系統(tǒng)為基礎(chǔ),根 據(jù)用戶對(duì)鈴聲系統(tǒng)功能的要求,由單片機(jī)來(lái)控制、管理、播放的系統(tǒng)。 通過(guò)把播放的內(nèi)容以數(shù)字形式存放在存儲(chǔ)器中,然后單片機(jī)通過(guò)控制軟件,按照 學(xué)校設(shè)定的播放時(shí)間和內(nèi)容控制單片機(jī)自動(dòng)將存儲(chǔ)器中的數(shù)字音樂(lè)文件播放出來(lái)。鈴 聲控制系統(tǒng)整體由兩部分組成:主控中心和終端電鈴。主控中心以單片機(jī)為核心,包 括控制電路、顯示電路、鍵盤電路和存儲(chǔ)電路。終端電鈴為響應(yīng)控制設(shè)備,通過(guò)其自 身的控制系統(tǒng)可以獲得清晰、響亮的聲響。 單片機(jī)在電子產(chǎn)品中的應(yīng)用已經(jīng)越來(lái)越廣泛,并且在很多電子產(chǎn)品中也將其用到 校園鈴聲和廣播控制。單片機(jī)又稱單片微控制器,是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯 片上。概括的講:一塊芯片就成了
8、一臺(tái)計(jì)算機(jī)。它的體積小、質(zhì)量輕、價(jià)格便宜、為 學(xué)習(xí)、應(yīng)用和開(kāi)發(fā)提供了便利條件。 現(xiàn)在,這種單片機(jī)的使用領(lǐng)域已十分廣泛,如智 能儀表、實(shí)時(shí)工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等。各種產(chǎn)品一旦用上了單片機(jī), 就能起到使產(chǎn)品升級(jí)換代的功效,常在產(chǎn)品名稱前冠以形容詞“智能型” ,如智能型 洗衣機(jī)等。 本次設(shè)計(jì)是實(shí)現(xiàn)一個(gè)單片機(jī)的校園打鈴系統(tǒng),能過(guò)設(shè)置打鈴時(shí)間,同時(shí)要求能夠 在系統(tǒng)掉電時(shí),時(shí)間能夠繼續(xù),數(shù)據(jù)能夠保持,能夠?qū)崿F(xiàn)打鈴。 第 2 章方案設(shè)計(jì)與論證 2.1 系統(tǒng)方案選擇與比較 2.1.1 控制模塊方案選擇 校園打鈴系統(tǒng)設(shè)計(jì)方案有多種,下面提出兩種電路方案。 方案一:主要是由石英晶體振蕩電路和分頻器電
9、路組成的脈沖發(fā)生器、校時(shí)電路、 報(bào)時(shí)電路以及時(shí)、分、秒計(jì)數(shù)器和譯碼顯示電路等電路組成,其中采用計(jì)數(shù)器 74ls290、譯碼器 74ls49、分頻器和八段數(shù)碼管顯示器等器件組成的校園打鈴系統(tǒng),整 個(gè)系統(tǒng)有控制簡(jiǎn)單,調(diào)試容易等優(yōu)點(diǎn),但是其顯示功能單一、電路復(fù)雜。其組成方框 圖如下 2-1 所示: 顯示器顯示器顯示器 譯碼器譯碼器譯碼器 二十四進(jìn) 制時(shí)計(jì)數(shù) 器 六十進(jìn)制 分計(jì)數(shù)器 六十進(jìn)制 秒計(jì)數(shù)器 校時(shí)電路報(bào)時(shí)電路晶體振蕩 器 單刀雙 置開(kāi)關(guān) 單刀雙 置開(kāi)關(guān) 分頻器 圖 2-1 方案一組成方框圖 方案二:采用 atc 公司的單片機(jī) atc89c51 作為控制器。單片機(jī)運(yùn)算能力強(qiáng),軟件 編程靈活,自
10、由度大。它是 mcs-51 系列單片機(jī)的派生產(chǎn)品,在指令系統(tǒng)、硬件結(jié)構(gòu)和 片內(nèi)資源上與標(biāo)準(zhǔn) 8051 單片機(jī)完全兼容,使用時(shí)容易掌握;采用 atc89s52 單片機(jī)穩(wěn) 定可靠、應(yīng)用廣泛、通用性強(qiáng)。 單片機(jī) 時(shí)鐘電路 復(fù)位電路 鍵盤電路 顯示電路 存儲(chǔ)電路 聲音驅(qū)動(dòng)輸出電路 圖 2-2 方案二組成方框圖 方案選擇:采用方案一實(shí)現(xiàn)的校園打鈴控制系統(tǒng)調(diào)試容易,價(jià)格相對(duì)較為便宜, 但是電路結(jié)構(gòu)復(fù)雜,控制單一,且整個(gè)系統(tǒng)性能不是很高,倒計(jì)時(shí)不是非常精確,功 能不完整,如果要求系統(tǒng)調(diào)節(jié)打鈴時(shí)間時(shí)不容易調(diào)整。采用方案二實(shí)現(xiàn)的校園打鈴系 統(tǒng)其電路結(jié)構(gòu)簡(jiǎn)單,可實(shí)現(xiàn)多功能控制,計(jì)時(shí)精確,全自動(dòng)化實(shí)現(xiàn)其所用功能,并
11、且 能在斷電的情況下任能正常的實(shí)現(xiàn)打鈴。因而對(duì)于完成此題目,方案二完全能實(shí)現(xiàn)設(shè) 計(jì)要求,并且容易掌握,此方案是利用編程來(lái)實(shí)現(xiàn),易于調(diào)整時(shí)間,且 i/o 接口很多, 易于擴(kuò)展外圍電路,故選擇方案二。 2.1.2 顯示模塊方案選擇 該系統(tǒng)要求完成當(dāng)下年、月、日、時(shí)、分、秒、星期的顯示等功能。基于上述原 因,考慮了三種方案。 方案一:完全采用點(diǎn)陣式 led 顯示。這種方案實(shí)現(xiàn)復(fù)雜,且須完成大量的軟件工 作;但功能強(qiáng)大,可方便的顯示各種英文字符,漢字,圖形等。 方案二:用七段 led 數(shù)碼管完成年、月、日、時(shí)、分、秒、星期顯示,這種方案 只能顯示數(shù)字、英文字符及一些簡(jiǎn)單的數(shù)學(xué)符號(hào),但價(jià)格相對(duì)便宜。 方
12、案比較:相對(duì)比較而言,方案二比方案一更符合此設(shè)計(jì)要求,方案一采用點(diǎn)陣 式 led 顯示的方法,而設(shè)計(jì)只要求年、月、日、時(shí)、分、秒、星期的顯示輸出。因此 這種方案既軟件工作量大,又價(jià)格相對(duì)較貴,因此權(quán)衡利弊,選擇方案二。 2.2.3 存儲(chǔ)模塊方案選擇 存儲(chǔ)器是整個(gè)系統(tǒng)的“連接線” ,它是系統(tǒng)穩(wěn)定工作的保障,為使各個(gè)模塊穩(wěn)定工 作,須有可靠存儲(chǔ)器。下面考慮了兩種電源方案。 方案一:采用單片機(jī)存儲(chǔ)器。該方案的優(yōu)點(diǎn)是存儲(chǔ)方便,節(jié)約成本;缺點(diǎn)是斷電 后存儲(chǔ)數(shù)據(jù)消失。 方案二:采用存儲(chǔ)器 24c02c。該方案保證設(shè)置的打鈴時(shí)間數(shù)據(jù)在掉電時(shí)也不會(huì)丟 失,同時(shí)實(shí)現(xiàn)在系統(tǒng)運(yùn)行時(shí)能夠修改打鈴時(shí)間,采用開(kāi)關(guān)電源作為
13、整個(gè)系統(tǒng)的供電, 它具有多路電源輸出,缺點(diǎn)是價(jià)格較貴。 方案比較:方案一只采用單片機(jī)自身的存儲(chǔ)是不行的,而方案二雖然要給另外購(gòu) 買,但卻能在斷電的情況下仍能存儲(chǔ)數(shù)據(jù)并且繼續(xù)計(jì)數(shù)。故選擇第二種方案。 2.2 總體方案設(shè)計(jì)思想 根據(jù)校園打鈴系統(tǒng)的設(shè)計(jì),可將本系統(tǒng)分為四個(gè)模塊,第一個(gè)模塊是控制模塊, 主要負(fù)責(zé)整個(gè)系統(tǒng)工作的控制和運(yùn)算,從而使各模塊正常工作;第二個(gè)模塊為顯示模 塊,主要是對(duì)現(xiàn)時(shí)刻內(nèi)年、月、日、時(shí)、分、秒和星期的直觀顯示;第三個(gè)模塊是鍵 控模塊,它的主要作用是輔助控制模塊,相當(dāng)于輸入裝置,利用它可以對(duì)打鈴時(shí)間進(jìn) 行調(diào)節(jié);第四個(gè)模塊是存儲(chǔ)模塊,它是整個(gè)系統(tǒng)的連接線,負(fù)責(zé)給各模塊提供合適的
14、信息,讓各模塊能穩(wěn)定工作。其系統(tǒng)設(shè)計(jì)結(jié)構(gòu)如圖 2-3 所示。 控 制 模 塊 顯 示 模 塊 鍵 控 模 塊 存儲(chǔ)模塊 圖 2-3 系統(tǒng)設(shè)計(jì)結(jié)構(gòu)圖 第 3 章硬件電路設(shè)計(jì) 3.1 控制模塊設(shè)計(jì) at89c51 在此設(shè)計(jì)中起到非常重要的作用,它就像一個(gè)人的大腦,控制著整個(gè)設(shè)計(jì) 的所有系統(tǒng)。此設(shè)計(jì)的控制模塊由單片機(jī)、復(fù)位電路、時(shí)鐘電路組成的。 3.1.1 單片機(jī) at89c51 簡(jiǎn)介 at89c51 是一種帶 4k 字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(fper-om-flash programmable and erasable read only memory)的低電壓。單片機(jī)的可擦除只讀存儲(chǔ) 器可
15、以反復(fù)擦除 100 次。該器件采用 atmel 高密度非易失存儲(chǔ)器制造技術(shù)制造,與工 業(yè)標(biāo)準(zhǔn)的 mcs-51 指令集和輸出管腳相兼容。由于將多功能 8 位 cpu 和閃爍存儲(chǔ)器組合 在單個(gè)芯片中,atmel 的 at89c51 是一種商效微控制器,at89c51 是它的一種精簡(jiǎn)版本。 at89c51 單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。 圖 3-1 at89c51 引腳圖 at89c51 單片機(jī)引腳分布如圖 3-1 所示。 p0 口:p0 口為一個(gè) 8 位漏級(jí)開(kāi)路雙向 i/o 口,每腳可吸收 8ttl 門電流。當(dāng) p1 口 的管腳第一次寫(xiě) 1 時(shí),被定義為高阻輸入。p0
16、能夠用于外部程序數(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 口管腳寫(xiě)入 1 后,被內(nèi)部上拉為高,可用作輸入,p1 口被外部下拉為 低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在 flash 編程和校驗(yàn)時(shí),p1 口作 為第八位地址接收。 p3.0(rxd):串行輸入口 p3.1(txd):串行輸出口 3.1.2 單片機(jī)時(shí)鐘電路復(fù)位電路介紹 1.時(shí)鐘電路
17、模塊 單片機(jī)的時(shí)鐘信號(hào)用來(lái)為單片機(jī)芯片內(nèi)部的各種操作提供時(shí)間基準(zhǔn)。 時(shí)鐘電路為單片機(jī)產(chǎn)生時(shí)鐘脈沖序列,作為單片機(jī)工作的時(shí)間基準(zhǔn),典型的晶體 管振蕩頻率為 12mhz。 at89c51 單片機(jī)內(nèi)有時(shí)鐘振蕩電路,只要在單片機(jī)的 xtal1 和 xtal2 引腳外接石英 晶體和微調(diào)電容,就構(gòu)成了自激振蕩器并在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖信號(hào),具體電路 設(shè)計(jì)如圖 3-2 所示。圖中電容 c1 和 c2 的作用是穩(wěn)定頻率和快速起振,其值為 530pf,在此選擇 30pf;晶振 x1 的振蕩頻率范圍在 1.212mhz 之間選擇。 圖 3-2 單片機(jī)時(shí)鐘、復(fù)位電路 2.復(fù)位電路模塊 復(fù)位電路使單片機(jī)或系統(tǒng)中的其
18、他部件處于某種確定的狀態(tài)。 當(dāng)在單片機(jī)的 rst 引腳處引入高電平并保持 2 個(gè)機(jī)器周期,單片機(jī)內(nèi)部就執(zhí)行復(fù) 位操作。實(shí)際應(yīng)用中,復(fù)位操作有兩種基本形式:一種是上電復(fù)位,另一種是按鍵復(fù) 位。在單片機(jī)運(yùn)行期間,可以利用此按鍵完成復(fù)位操作。具體電路設(shè)計(jì)如上圖 3-2 所 示。 3.2 打鈴模塊 電鈴工作在交流電 220v 下,單片機(jī)工作電壓為直流電+5v,所以單片機(jī)引腳不能 直接控制電鈴工作,因此我們使用單片機(jī)控制電鈴工作電路的通斷。由于單片機(jī)驅(qū)動(dòng) 能力有限,因而需要硬件將單片機(jī)輸出的高、低電平變成控制電鈴?fù)〝嗟碾娐?,能?具體實(shí)現(xiàn)該功能的電路有多種。常見(jiàn)的方式是采用將單片機(jī)輸出信號(hào)放大后驅(qū)動(dòng)繼電
19、 器,用繼電器的觸頭控制電鈴電路的接通和斷開(kāi),如圖 3-3 所示。 三極管在電路當(dāng)中起開(kāi)關(guān)作用,管型為 pnp 型。單片機(jī)的 p1.7 通過(guò)三極管驅(qū)動(dòng)繼 電器,當(dāng) p1.7 腳輸出高電平時(shí),給三極管基極送入高電壓。此時(shí),三極管呈截止?fàn)顟B(tài), 繼電器不吸合電鈴?fù)V勾蜮?;?dāng) p1.7 腳輸出低電平時(shí),給三極管基極送入的是低電壓。 此時(shí),三極管呈導(dǎo)通狀態(tài),促使繼電器吸合,電鈴打鈴。 繼電器是一種電子控制器件,它具有控制系統(tǒng)(又稱輸入回路)和被控制系統(tǒng) (又稱輸出回路) ,通常應(yīng)用于自動(dòng)控制電路中,它實(shí)際上是用較小的電流去控制較大 電流的一種“自動(dòng)開(kāi)關(guān)” 。當(dāng)輸入量達(dá)到規(guī)定值時(shí),使被控制的輸出電路導(dǎo)通或
20、斷開(kāi)的 電器。繼電器線圈在斷電時(shí)會(huì)產(chǎn)生一個(gè)很大的反感生電動(dòng)勢(shì),這個(gè)電壓會(huì)損失繼電器 或者電路中的元件,在繼電器線圈上反向并聯(lián)一個(gè)二極管,可將產(chǎn)生的反感生電動(dòng)勢(shì) 通過(guò)二極管回路釋放掉、保護(hù)繼電器線圈和電路中的電子元件不受高壓損壞。 p1.6 p1.7 8 p3.7/rd 17 p3.6/wr at89c51 q1 2n2905 r9 200r rl1 5v d1 1n4148 ls1 sounder 圖 3-3 聲音控制電路圖 3.3 存儲(chǔ)模塊 3.3.1 實(shí)時(shí)時(shí)鐘 ds1302 簡(jiǎn)介 它可以對(duì)年、月、日、星期、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電 壓為 2.5v5.5v。采用三線接口與
21、 cpu 進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多 個(gè)字節(jié)的時(shí)鐘信號(hào)或 ram 數(shù)據(jù)。ds1302 內(nèi)部有一個(gè) 318 的用于臨時(shí)性存放數(shù)據(jù)的 ram 寄存器。ds1302 是 ds1202 的升級(jí)產(chǎn)品,與 ds1202 兼容,但增加了主電源/后備電 源雙電源引腳,同時(shí)提供了對(duì)后背電源進(jìn)行涓細(xì)電流充電的能力。 1.引腳功能及結(jié)構(gòu) 圖 3-4 ds1302 引腳圖 如圖 3-4 所示,ds1302 的引腳排列,其中 vcc1 為后備電源,vcc2 為主電源。在主 電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。ds1302 由 vcc1 或 vcc2 兩者中的較大 者供電。當(dāng) vcc2 大于 vcc1
22、0.2v 時(shí),vcc2 給 ds1302 供電。當(dāng) vcc2 小于 vcc1 時(shí), ds1302 由 vcc1 供電。x1 和 x2 是振蕩源,外接 32.768khz 晶振。rst 是復(fù)位/片選線, 通過(guò) rst 輸入高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送。rst 輸入有兩種功能:首先,rst 接通控 制邏輯,允許地址/命令序列送入移位寄存器;其次,rst 提供終止單字節(jié)或多字節(jié)數(shù) 據(jù)的傳送手段。當(dāng) rst 為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì) ds1302 進(jìn)行操 作。如果在傳送過(guò)程中 rst 置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,i/o 引腳變?yōu)楦咦钁B(tài)。 上電運(yùn)行時(shí),在 vcc2.5v 之前,rs
23、t 必須保持低電平。只有在 sclk 為低電平時(shí),才 能將 rst 置為高電平。i/o 為串行數(shù)據(jù)輸入輸出端(雙向),sclk 始終是輸入端。 2.實(shí)時(shí)時(shí)鐘 ds1302 的控制字節(jié) ds1302 的控制字節(jié)的最高有效位(位 7)必須是邏輯 1,如果它為 0,則不能把數(shù)據(jù) 寫(xiě)入 ds1302 中,位 6 如果為 0,則表示存取日歷時(shí)鐘數(shù)據(jù),為 1 表示存取 ram 數(shù)據(jù); 位 5 至位 1 指示操作單元的地址;最低有效位(位 0)如為 0 表示要進(jìn)行寫(xiě)操作,為 1 表 示進(jìn)行讀操作,控制字節(jié)總是從最低位開(kāi)始輸出。 3.數(shù)據(jù)輸入輸出(i/o) 在控制指令字輸入后的下一個(gè) sclk 時(shí)鐘的上升沿時(shí)
24、,數(shù)據(jù)被寫(xiě)入 ds1302,數(shù)據(jù)輸 入從低位即位 0 開(kāi)始。同樣,在緊跟 8 位的控制指令字后的下一個(gè) sclk 脈沖的下降沿 讀出 ds1302 的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位 0 位到高位 7。 4.實(shí)時(shí)時(shí)鐘 ds1302 的寄存器 ds1302 有 12 個(gè)寄存器,其中有 7 個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù)據(jù)位為 bcd 碼形式,其日歷、時(shí)間寄存器及其控制字。 此外,ds1302 還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄存器及與 ram 相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫(xiě)除充電寄存器外的所有寄存器 內(nèi)容。ds1302 與 ram 相關(guān)的寄存器分為兩類:一類是單個(gè) ra
25、m 單元,共 31 個(gè),每個(gè)單 元組態(tài)為一個(gè) 8 位的字節(jié),其命令控制字為 c0hfdh,其中奇數(shù)為讀操作,偶數(shù)為寫(xiě) 操作;另一類為突發(fā)方式下的 ram 寄存器,此方式下可一次性讀寫(xiě)所有的 ram 的 31 個(gè) 字節(jié),命令控制字為 feh(寫(xiě))、ffh(讀)。 5.引腳連接圖 圖 3-5 ds1302 引腳連接圖 在學(xué)校正常上課中,不可能保證學(xué)校隨時(shí)都有電,為了不影響學(xué)校的正常運(yùn)轉(zhuǎn), 同學(xué)們能夠正常的上、下課。所以就采用能在學(xué)校停電時(shí)借助電池也能工作的芯片, 而 ds1302 能夠在學(xué)校掉電時(shí),vcc2 無(wú)法給實(shí)時(shí)時(shí)鐘 ds1302 供電,只有通過(guò)干電池 b1 給實(shí)時(shí)時(shí)鐘 ds1302 的 v
26、cc1 提供電量讓 ds1302 繼續(xù)工作,系統(tǒng)能夠繼續(xù)計(jì)時(shí)。而這時(shí) 的其它電路停止工作,但存儲(chǔ)器中的打鈴時(shí)間不會(huì)因?yàn)闆](méi)有電而丟失。其與單片機(jī)連 接方式如上圖 3-5 所示。 3.3.2 存儲(chǔ)器 24c02c 要保證設(shè)置的打鈴時(shí)間數(shù)據(jù)在掉電時(shí)也不會(huì)丟失,同時(shí)實(shí)現(xiàn)在系統(tǒng)運(yùn)行時(shí)能夠修 改打鈴時(shí)間,在本系統(tǒng)中采用 i2c 總線的串行存儲(chǔ)器 24c02c 存儲(chǔ)打鈴數(shù)據(jù)。 1.存儲(chǔ)器 24c02c 的引腳介紹 考慮到串口線、穩(wěn)定性等方面,本系統(tǒng)采用串行數(shù)據(jù)傳輸存儲(chǔ)器。其容量計(jì)算如 下:若以打鈴次數(shù)較多的校園為例,每天按 12 節(jié)課計(jì)算,每節(jié)課打鈴 2 次,再加上起 床和熄燈的次數(shù),打鈴大約在 20 次左
27、右。這樣每個(gè)信息單元占 8 個(gè)字節(jié),存儲(chǔ)時(shí)均按 照非壓縮型 bcd 碼存儲(chǔ),則需要存儲(chǔ)空間大約在 160 個(gè)字節(jié)左右,選用 256 字節(jié)的存 儲(chǔ)器就能夠滿足容量的要求,可以采用 atmel 公司的 24c02c。根據(jù)硬件電路的設(shè)計(jì)可 得 24c02c 的 i2c 硬件地址為:0a2h/0a3h。 (1)行數(shù)據(jù)(sda)引腳 串行數(shù)據(jù)引腳為雙向引腳,用于把地址和數(shù)據(jù)輸入/輸出期間。該引腳為漏極開(kāi)路。 因此,sda 總線要求在該引腳與 vcc之間接入上拉電阻(通常頻率為 100khz 時(shí)該電阻 阻值為 10k,頻率為 400khz 和 1mhz 時(shí),阻值為 2k) 。 對(duì)于正常的數(shù)據(jù)傳輸,只允許在
28、 scl 為低電平期間改變 sda 電平。而 sda 電平在 scl 高電平期間若發(fā)生變化,表明起始和停止條件產(chǎn)生。 (2)寫(xiě)保護(hù)(wp)引腳 該引腳必須連接到 vss或者 vcc。如果連接到 vss,寫(xiě)操作使能。如果連接到 vcc, 寫(xiě)操作被禁止,但讀操作不受影響 2.引腳連接方法 引腳采用 i2c 總線連接方法,這種方法能夠節(jié)約 i/o 輸出端口。它主要的特點(diǎn)有: (1)總線只有兩根線,即串行時(shí)鐘線和串行數(shù)據(jù)線,這在設(shè)計(jì)中大大簡(jiǎn)化了硬件 接口; (2)每個(gè)連接到總線上的器件地址同時(shí)由芯片內(nèi)部硬件電路和外部地址引腳決定, 避免了片選線的線連接方法,并建立簡(jiǎn)單的主從關(guān)系,主器件既可以作為發(fā)送器
29、,又 可作為接收器; (3)它是一個(gè)真正的多主總線,帶有競(jìng)爭(zhēng)監(jiān)測(cè)和仲裁電路,多個(gè)主機(jī)可以任意發(fā) 送而不破壞總線上的數(shù)據(jù); (4)同步時(shí)鐘可以作為停止或重新啟動(dòng)串行口發(fā)送的握手方式; (5)連接到同一總線的集成電路數(shù)量只受 400pf 最大總線電容的限制。 學(xué)校設(shè)定的系統(tǒng)時(shí)間和打鈴時(shí)間存儲(chǔ)在 24c02c 中。24c02c 的三個(gè)地址端口 a0、a1、a2 都接地,因而其存儲(chǔ)地址為 a000h-a6ffh,共 1kb 的存儲(chǔ)空間。其中,wp 是 24c02c 的寫(xiě)保護(hù)控制引腳,wp 為低電平時(shí),串行存儲(chǔ)器可以正常地讀/寫(xiě);wp 為高 電平時(shí),對(duì)串行存儲(chǔ)器內(nèi)部的數(shù)據(jù)進(jìn)行寫(xiě)保護(hù)。在系統(tǒng)掉電時(shí)不會(huì)丟失
30、其中的內(nèi)容, 保證了設(shè)置的打鈴時(shí)間不會(huì)因系統(tǒng)掉電而需要重新設(shè)置。如圖 3-6 所示。 圖 3-6 24c02c 引腳連接圖 3.4 鍵控模塊 鍵盤是一組按鍵的組合,它是各種儀表中最常用的輸入設(shè)備。操作人員可通過(guò)鍵 盤輸入數(shù)據(jù)或命令,實(shí)現(xiàn)簡(jiǎn)單的人機(jī)對(duì)話。在單片機(jī)應(yīng)用系統(tǒng)中,有的是單個(gè)按鍵, 有的是矩陣式的按鍵,即行列式按鍵。按鍵是一種常開(kāi)型按鈕開(kāi)關(guān),常態(tài)時(shí)按鍵的兩 個(gè)觸點(diǎn)處于斷開(kāi)狀態(tài),按下鍵時(shí)它們才閉合。根據(jù)本設(shè)計(jì)本的要求,我們選用獨(dú)立式 鍵盤實(shí)現(xiàn)整個(gè)功能。 3.4.1 獨(dú)立式鍵盤介紹 圖 3-7 獨(dú)立式按鍵結(jié)構(gòu) 獨(dú)立式鍵盤的按鍵相互獨(dú)立,每個(gè)按鍵占用一根 i/o 口線,每根 i/o 口線上的按
31、 鍵工作狀態(tài)不會(huì)影響其他按鍵的工作狀態(tài)。這種按鍵軟件程序簡(jiǎn)單,但占用 i/o 口線 較多(一根口線只能接一個(gè)鍵) ,適用于鍵盤應(yīng)用數(shù)量較少的系統(tǒng)中。獨(dú)立式按鍵電路 配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單,但每個(gè)按鍵必須占用一根 i/o 口線,因此,在按鍵較多時(shí), i/o 口線浪費(fèi)較大,不宜采用。獨(dú)立式按鍵結(jié)構(gòu)圖如圖 3-7 所示。 3.4.2 鍵盤接口及鍵位的功能介紹 按鍵功能介紹: 模式按鍵:它的主要功能就是選擇時(shí)鐘芯片里的年、月、日、時(shí)、分、秒,當(dāng)按 下模式這個(gè)鍵時(shí),它從年到月依次往后的選中,這時(shí)按調(diào)節(jié)按鈕就能從當(dāng)前的時(shí)間往 上調(diào)。 調(diào)節(jié)按鍵:它的主要功能就是想改變當(dāng)前的系統(tǒng)時(shí)間首先要按模式鍵,選中要修
32、改的時(shí)間,再按調(diào)節(jié)鍵就能控制當(dāng)前系統(tǒng)時(shí)間遞增。 存入按鍵:它的主要功能就是把系統(tǒng)不正確的時(shí)間修改后按下存入鍵,系統(tǒng)的時(shí) 間就為按下那瞬間的時(shí)間。 清空按鍵:它的主要功能就是當(dāng)學(xué)校要重新輸入打鈴時(shí)間的時(shí)候,就先按下清空 鍵,再輸入新的時(shí)間。 通過(guò)上述每個(gè)按鍵的功能介紹,實(shí)現(xiàn)對(duì)打鈴系統(tǒng)的打鈴時(shí)間設(shè)置。與單片機(jī)具體 鏈接圖,如圖 3-8 所示。 圖 3-8 鍵盤的接口連接 3.5 顯示模塊 在本系統(tǒng)中因?yàn)橐@示年、月、日、星期、時(shí)、分、秒,如果用發(fā)光二極管不能 具體的顯示出來(lái),所以采用了七段數(shù)碼顯示管來(lái)作為顯示元件。 3.5.1 數(shù)碼管的組成及工作原理 數(shù)碼管由 8 個(gè)發(fā)光二極管構(gòu)成,可以用來(lái)顯示數(shù)
33、字、字符等它在家電及工業(yè)控制 中有著很廣泛的應(yīng)用。數(shù)碼管實(shí)際上是由 7 個(gè)發(fā)光管組成“8”字形構(gòu)成的,加上小數(shù) 點(diǎn)就是 8 個(gè)。這些段分別由字母 a、b、c、d、e、f、g、dp 來(lái)表示。數(shù)碼管的引腳結(jié) 構(gòu)如圖 3-9 所示,其中 com 引腳為公共端,用來(lái)控制數(shù)碼管顯示的打開(kāi)或關(guān)閉,既起 到“使能”作用。當(dāng)數(shù)碼管特定的段加上電壓后,這些特定的段就會(huì)發(fā)亮,以形成我 們眼睛看到的字樣。 根據(jù)公共端接法方式的不同,數(shù)碼管又分為共陰極和共陽(yáng)極兩種結(jié)構(gòu)的二極管, 分別如下: 共陽(yáng)極就是將 8 個(gè) led 的陽(yáng)極連接到一起組成公共端 com,接到正極,當(dāng)相應(yīng)字段 為低電平“0”時(shí),可以點(diǎn)亮該字段;但相應(yīng)
34、字段為高電平“1”時(shí),該字段不亮。 共陰極就是將 8 個(gè) led 的陰極連接到一起組成公共端 com,接負(fù)極,當(dāng)相應(yīng)字段為 高電平“1”時(shí),可以點(diǎn)亮該字段;當(dāng)相應(yīng)字段為低電平“0”時(shí),該字段不亮。 圖 3-9 led 數(shù)碼管引腳 數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā) 光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示) ;按發(fā)光二極管單元連接方式分為共陽(yáng)極數(shù)碼管和 共陰極數(shù)碼管。共陽(yáng)數(shù)碼管是指將所有發(fā)光二極管的陽(yáng)極接到一起形成公共陽(yáng)極(com) 的數(shù)碼管。共陽(yáng)數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極 com 接到+5v,當(dāng)某一字段發(fā)光二極管的陰 極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高
35、電平時(shí),相應(yīng)字段就不亮。 3.5.2 數(shù)碼管的顯示 數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來(lái)驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們 要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。 圖 3-10 數(shù)碼管動(dòng)態(tài)顯示電路 動(dòng)態(tài)顯示驅(qū)動(dòng):數(shù)碼管動(dòng)態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之 一,動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的 8 個(gè)顯示筆劃“a、b、c、d、e、f、g、dp”的同名端 連在一起,另外為每個(gè)數(shù)碼管的公共極 com 增加位選通控制電路,位選通由各自獨(dú)立 的 i/o 線控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟 是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選
36、通 com 端電路的控制,我們只要將 需要顯示的數(shù)碼管的選通控制打開(kāi),該位就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。 通過(guò)分時(shí)輪流控制各個(gè)數(shù)碼管的的 com 端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng) 態(tài)驅(qū)動(dòng)。在輪流顯示過(guò)程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為 12ms,由于人的視覺(jué)暫留現(xiàn) 象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速 度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和 靜態(tài)顯示是一樣的,能夠節(jié)省大量的 i/o 端口,而且功耗更低。數(shù)碼管動(dòng)態(tài)顯示連接, 如圖 3-10 所示。 第 4 章整機(jī)原理 4.1 整機(jī)原理圖 圖 4-1 整機(jī)原理圖
37、 4.2 整機(jī)電路原理 電路中采用 i2c 總線的串行存儲(chǔ)器 24c02c,在系統(tǒng)掉電時(shí)不會(huì)丟失其中的內(nèi)容, 保證了設(shè)置的打鈴時(shí)間不會(huì)因系統(tǒng)掉電而需要重新設(shè)置。24c02c 的三個(gè)地址端口 a0、a1、a2 都接地,因而其存儲(chǔ)地址為 a000h-a6ffh,共 1kb 的存儲(chǔ)空間。其中,wp 是 24c02c 的寫(xiě)保護(hù)控制引腳,wp 為低電平時(shí),串行存儲(chǔ)器可以正常地讀/寫(xiě);wp 為高 電平時(shí),對(duì)串行存儲(chǔ)器內(nèi)部的數(shù)據(jù)進(jìn)行寫(xiě)保護(hù)。 實(shí)時(shí)時(shí)鐘芯片 ds1302 采用 3v 的電池作為后備電源,使 ds1302 內(nèi)部的時(shí)鐘不會(huì)因 為系統(tǒng)掉電而停止。在系統(tǒng)正常供電時(shí),ds1302 通過(guò)內(nèi)部的涓流充電電阻
38、給后備電池 充電,能保證系統(tǒng)電池的長(zhǎng)時(shí)間工作。 掉電情況下:由 bat1 干電池通過(guò) ds1302 的引腳 vcc1 供電,系統(tǒng)時(shí)間不會(huì)因?yàn)闆](méi) 有電而停止工作,顯示電路、鍵盤電路、存儲(chǔ)電路、聲音控制電路因?yàn)?at89c51 沒(méi)有 電,所以停止工作。來(lái)電時(shí),數(shù)碼管上顯示的系統(tǒng)時(shí)間不會(huì)是停電時(shí)刻的時(shí)間,系統(tǒng) 繼續(xù)工作。 正常情況下:按鍵按鈕通過(guò) at89c51 的 p1.3、p1.4、p1.5、p1.6 腳進(jìn)行調(diào)節(jié)、存 入、清空系統(tǒng)當(dāng)前時(shí)間和打鈴時(shí)間和模式選擇。當(dāng)前系統(tǒng)時(shí)間在數(shù)碼管上顯示系統(tǒng)時(shí) 間和打鈴時(shí)間,學(xué)校設(shè)置的打鈴時(shí)間存儲(chǔ)在外部存儲(chǔ)器 24c02c 中。ds1302 時(shí)鐘芯片為 單片機(jī)提供
39、實(shí)時(shí)時(shí)間并與 24c02c 中的打鈴時(shí)間進(jìn)行比較來(lái)控制 at89c51 的 p1.7 腳輸 出高、低電平。如果當(dāng)前系統(tǒng)與打鈴時(shí)間不一致,at89c51 中的 p1.7 腳就輸出高電平, 三極管 q1 截止,繼電器斷開(kāi),電鈴電路不導(dǎo)通。如果當(dāng)前系統(tǒng)時(shí)間與打鈴時(shí)間一致, at89c51 中的 p1.7 腳就輸出低電平,三極管 q1 導(dǎo)通,繼電器閉合,電鈴電路導(dǎo)通打鈴。 第 5 章軟件設(shè)計(jì) 本系統(tǒng)中軟件部分應(yīng)承擔(dān)日期時(shí)間顯示、按鍵掃描、系統(tǒng)狀態(tài)設(shè)置、打鈴時(shí)間判 斷等功能。 5.1 打鈴系統(tǒng)流程圖 打鈴系統(tǒng)程序打鈴是是調(diào)用存儲(chǔ)器中存儲(chǔ)的打鈴時(shí)間,把鬧鈴值與計(jì)時(shí)值的時(shí)、 分單元比較,看是否相等,如果不相
40、等就不打鈴,如果相等就啟動(dòng)鬧鈴,鬧鈴延時(shí)時(shí) 間為 12 秒。程序流程圖如圖 5-1 所示。 鬧鐘值與計(jì)數(shù)值時(shí), 分單元相等? 開(kāi)始 初始化 停鬧、清除鬧鐘標(biāo) 志和 2 秒計(jì)時(shí)標(biāo)志 啟動(dòng)鬧鐘 標(biāo)志置位 返回 鬧鐘計(jì)時(shí) 12 秒? y y n 圖 5-1 打鈴系統(tǒng)流程圖 5.2 讀時(shí)間日期顯示流程圖 讀時(shí)間日期顯示程序是先對(duì)時(shí)間日期進(jìn)行初始化,再對(duì)是顯示年月日還是顯示時(shí) 分秒進(jìn)行判斷,并利用總線加以顯示。程序流程圖如圖 5-2 所示。 顯示時(shí)、分、 秒、星期 開(kāi)始 返回 開(kāi)始 顯示年、月、日 開(kāi)始 賦初值 開(kāi)始 timetodisplay 開(kāi)始 if(yh | mode_n3) y n n 圖 5
41、-2 讀時(shí)間日期顯示流程圖 5.3 led 顯示流程圖 顯示子程序采用動(dòng)態(tài)掃描法實(shí)現(xiàn)三位數(shù)碼管的數(shù)值顯示。測(cè)量數(shù)據(jù)在顯示時(shí)需轉(zhuǎn) 換成 10 進(jìn)制 bcd 碼放在 24c02c 存儲(chǔ)器中,再轉(zhuǎn)換成十進(jìn)制進(jìn)過(guò)總線輸出,經(jīng)由單片 機(jī)控制 led 顯示。程序流程圖如圖 5-3 所示。 圖 5-3 led 顯示的流程圖 n y 5.4 主程序流程圖 主程序比較簡(jiǎn)單,初始化完成后,調(diào)用按鍵掃描程序,取得鍵值,并根據(jù)當(dāng)前系 統(tǒng)狀態(tài)調(diào)用相應(yīng)的子程序。這里有五個(gè)基本的子程序供調(diào)用,分別對(duì)應(yīng)系統(tǒng)的各種功 能狀態(tài)。分別是打鈴時(shí)間設(shè)置子程序、當(dāng)前時(shí)間顯示子程序、鍵盤模塊子程序、打鈴 校準(zhǔn)子程序等。程序流程圖如圖 5-
42、4 所示。 main( ) 賦初值年、月、日、 時(shí)、分、秒、星期 while(1) 模式鍵? 調(diào)節(jié)鍵? 校正 led 顯示模式 主循環(huán)計(jì)數(shù) 打鈴點(diǎn)設(shè)置 打鈴 返回 圖 5-4 控制模塊的流程圖 n y n y 第 6 章仿真和調(diào)試 下面用 keil 與 porteus 仿真軟件實(shí)現(xiàn)校園打鈴的仿真與調(diào)試。 6.1 調(diào)試軟件的介紹 keil 軟件是目前最流行開(kāi)發(fā) mcs-51 系列單片機(jī)的軟件,keil 提供了包括 c 編譯 器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案, 通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uvision)將這些部份組合在一起。 keil c51 vision2 集
43、成開(kāi)發(fā)環(huán)境是 keil software,inc/keil elektronik gmbh 開(kāi)發(fā)的基于 80c51 內(nèi)核的微處理器軟件開(kāi)發(fā)平臺(tái),內(nèi)嵌多種符合當(dāng)前工業(yè)標(biāo)準(zhǔn)的開(kāi)發(fā) 工具,可以完成從工程建立到管理、編譯、鏈接、目標(biāo)代碼的生成、軟件仿真、硬件 仿真等完整的開(kāi)發(fā)流程尤其是 c 編譯工具在產(chǎn)生代碼的準(zhǔn)確性和效率方面達(dá)到了較高 的水平,而且可以附加靈活的控制選項(xiàng),在開(kāi)發(fā)大型項(xiàng)目時(shí)非常理想。 proteus 是目前最好的模擬單片機(jī)外圍器件的工具,它不僅能仿真單片機(jī) cpu 的工 作情況,也能仿真單片機(jī)外圍電路或沒(méi)有單片機(jī)參與的其它電路的工作情況??梢苑?真 51 系列、avr,pic 等常用的
44、 mcu 及其外圍電路(如 lcd,ram,rom,鍵盤,馬達(dá), led,ad/da,部分 spi 器件,部分 iic 器件) 。 6.2 調(diào)試的操作步驟 1.在 uvision 集成開(kāi)發(fā)環(huán)境中創(chuàng)建新項(xiàng)目(project) ,擴(kuò)展文件名為 uv2,并為該 項(xiàng)目選定合適的單片機(jī) cpu 器件。 2.用 uvision 的文本編輯器編寫(xiě)源文件,可以是匯編文件(.asm) ,也可以使 c 語(yǔ) 言文件(擴(kuò)展名.c) ,并將該文件添加到項(xiàng)目中去。一個(gè)項(xiàng)目文件可以包含多個(gè)文件, 除了源程序文件外,還可以是庫(kù)文件、頭文件或文本說(shuō)明文件。 3.通過(guò) uvision2 的相關(guān)選擇項(xiàng),配置編譯環(huán)境、連接定位器以及
45、 debug 調(diào)試器的 功能。 4.對(duì)項(xiàng)目中的源文件進(jìn)行編譯連接,生成絕對(duì)目標(biāo)代碼和可選的 hex 文件,如果 出現(xiàn)編譯連接錯(cuò)誤則返回到第 2 步,修改源文件中的錯(cuò)誤后重構(gòu)整個(gè)項(xiàng)目。 5.對(duì)沒(méi)有語(yǔ)法錯(cuò)誤的程序進(jìn)行仿真調(diào)試,調(diào)試成功后將 hex 文件寫(xiě)入到單片機(jī)應(yīng) 用系統(tǒng)的 rom 中。 6.下一步就可以在 proteus 軟件中將 hex 文件燒入單片機(jī)。 6.3 仿真軟件對(duì)于本設(shè)計(jì)的仿真 通過(guò)以上步驟,來(lái)實(shí)現(xiàn)校園打鈴系統(tǒng)設(shè)計(jì)的仿真: 狀態(tài) 1:led 數(shù)碼管對(duì)年、月、日顯示的仿真效果如圖 6-1 所示。 xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9
46、 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6 7 p1.7 8 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/a15 28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a1
47、1 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 u1 at89c51 r1 200r r2 200r r3 200r r4 200r r5 200r r6 200r r7 200r r8 200r a b c d e f g dp 1 2 3 4 5 6 7 8 a b c d e f g dp 1 2 3 4 5 6 7 8 rst 5 sclk 7 i/o 6 x1 2 x2 3 vcc1 8 vcc2 1 u2 ds1302 模式 調(diào)節(jié) sck 6 sda 5 wp 7 a0 1 a1 2 a2 3 u3 24c02c q1 2n2905 r9 200r
48、 清空 存入 i2c sda scl rl1 5v d1 1n4148 bat1 3v ls1 sounder 圖 6-1 當(dāng)前年、月、日的顯示 狀態(tài) 2:led 數(shù)碼管對(duì)時(shí)、分、秒和星期顯示的仿真效果如圖 6-2 所示。 xtal2 18 xtal1 19 ale 30 ea 31 psen 29 rst 9 p0.0/ad0 39 p0.1/ad1 38 p0.2/ad2 37 p0.3/ad3 36 p0.4/ad4 35 p0.5/ad5 34 p0.6/ad6 33 p0.7/ad7 32 p1.0 1 p1.1 2 p1.2 3 p1.3 4 p1.4 5 p1.5 6 p1.6
49、7 p1.7 8 p3.0/rxd 10 p3.1/txd 11 p3.2/int0 12 p3.3/int1 13 p3.4/t0 14 p3.7/rd 17 p3.6/wr 16 p3.5/t1 15 p2.7/a15 28 p2.0/a8 21 p2.1/a9 22 p2.2/a10 23 p2.3/a11 24 p2.4/a12 25 p2.5/a13 26 p2.6/a14 27 u1 at89c51 r1 200r r2 200r r3 200r r4 200r r5 200r r6 200r r7 200r r8 200r a b c d e f g dp 1 2 3 4 5 6
50、 7 8 a b c d e f g dp 1 2 3 4 5 6 7 8 rst 5 sclk 7 i/o 6 x1 2 x2 3 vcc1 8 vcc2 1 u2 ds1302 模式 調(diào)節(jié) sck 6 sda 5 wp 7 a0 1 a1 2 a2 3 u3 24c02c q1 2n2905 r9 200r 清空 存入 i2c sda scl rl1 5v d1 1n4148 bat1 3v ls1 sounder 圖 6-2 當(dāng)前年、月、日的顯示 proteus 的 isis 是一款 labcenter 出品的電路分析實(shí)物仿真系統(tǒng),可仿真各種電 路和 ic,并支持單片機(jī),元件庫(kù)齊全,使用
51、方便,是不可多得的專業(yè)的單片機(jī)軟件仿 真系統(tǒng)。 表 6-1 器件庫(kù)及所選器件 器件庫(kù)器件名稱 microprocessor ics89c51 memory ics24c02c switches sbit key_change=p14; sbit key_wr_2402=p15; sbit key_clr_2402=p16; sbit l_out=p17; /數(shù)碼管顯示: 0 1 2 3 4 5 6 7 8 9 a b c d e f uchar code dis=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90,0 x88,
52、0 x83,0 xc6,0 xa 1,0 x86,0 x8e, / 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. a. b. c. d. e. f. 0 x40,0 x79,0 x24,0 x30,0 x19,0 x12,0 x02,0 x78,0 x00,0 x10,0 x08,0 x03,0 x46,0 x21,0 x06, 0 x0e, / y l j 黑 全亮 點(diǎn) - 0 x91,0 xc7,0 xe1,0 xff,0 x00, 0 x7f, 0 xbf; uchar disp_buf8; /顯示緩沖區(qū) uchar time7; /時(shí)間緩沖區(qū) /延時(shí)子程序 void de
53、lay(unsigned int a) while(-a); /顯示子程序 void display() uchar i; uchar ik; /賦初值 ik=0 x01; /初始化為 1 for(i=0;i8;i+) led_abc=disdisp_bufi; /顯示數(shù)碼管數(shù)字 led_123=ik; delay(100); /選擇數(shù)碼管位數(shù) 延時(shí) led_123=0 x00; /賦值為 0 ik4)*10+(a /變成 16 進(jìn)制并加 1 temp=temp/10*0 x10+temp%10; /轉(zhuǎn)回 bcd 碼 return temp; /退出 bit yh; /顯示標(biāo)志,0=時(shí)分鈔星期
54、,1=年月日 uchar mode_n=0; /工作模式,0=常態(tài),1=校分,2=校時(shí),3=星期,4=校日,5=校月,6=校 年 void timetodisplay() /讀時(shí)間日期送顯示緩 time0=read_ds1302(year); /年 year time1=read_ds1302(month); /月 month time2=read_ds1302(date); /日 date time3=read_ds1302(week); /星期 week time4=read_ds1302(hour); /時(shí) hour time5=read_ds1302(minute); /分 minut
55、e time6=read_ds1302(second); /秒 second if(yh | mode_n3) disp_buf0=0 x02; /顯示年月日 disp_buf1=0 x00; disp_buf2=time0/0 x10; disp_buf3=time0%0 x10|0 x10; disp_buf4=time1/0 x10; disp_buf5=time1%0 x10|0 x10; disp_buf6=time2/0 x10; disp_buf7=time2%0 x10; else disp_buf0=time4/0 x10; /顯示時(shí)分鈔星期 disp_buf1=time4%0 x10|0 x10; disp_buf2=time5/0 x10; disp_buf3=time5%0 x10|0 x10; disp_buf4=time6/0 x10; disp_buf5=time6%0 x10; disp_buf6=0 x23; disp_buf7=(time3-1)%0 x10; /分析是否打鈴 bit dll_ok() uchar i,j,k2; rw24xx( /讀指針 for(j=1;j0 x60) /如果秒大于
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 互聯(lián)網(wǎng)服務(wù)備案管理規(guī)則
- 猶太教堂防水施工墻面協(xié)議
- 研發(fā)經(jīng)理解除聘用合同分析
- 圖書(shū)館環(huán)境衛(wèi)生工招聘合同
- 2024年網(wǎng)絡(luò)游戲運(yùn)營(yíng)合同范本
- 2024年物聯(lián)網(wǎng)技術(shù)應(yīng)用開(kāi)發(fā)與合作合同
- 地下排水樁基夯擴(kuò)樁施工合同
- 2025年酒水新品研發(fā)與技術(shù)合作合同2篇
- 2025版智能家居系統(tǒng)解決方案供貨與安裝合同
- 2024年瑜伽館學(xué)員培訓(xùn)協(xié)議3篇
- 腦卒中偏癱患者早期康復(fù)護(hù)理現(xiàn)狀(一)
- 模特的基礎(chǔ)訓(xùn)練
- 急救技術(shù)-洗胃術(shù) (2)
- 藥品招商流程
- 混凝土配合比檢測(cè)報(bào)告
- 100道遞等式計(jì)算(能巧算得要巧算)
- 【2019年整理】園林景觀設(shè)計(jì)費(fèi)取費(fèi)標(biāo)準(zhǔn)
- 完整word版,ETS5使用教程
- 《血流動(dòng)力學(xué)監(jiān)測(cè)》PPT課件.ppt
- 2018年秋季人教版十一冊(cè)數(shù)學(xué)第7、8單元測(cè)試卷
- 學(xué)生作業(yè)提交與批閱系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)探討
評(píng)論
0/150
提交評(píng)論