基于AT89S51單片機(jī)的數(shù)字電子鐘設(shè)計(jì)_第1頁
基于AT89S51單片機(jī)的數(shù)字電子鐘設(shè)計(jì)_第2頁
基于AT89S51單片機(jī)的數(shù)字電子鐘設(shè)計(jì)_第3頁
基于AT89S51單片機(jī)的數(shù)字電子鐘設(shè)計(jì)_第4頁
基于AT89S51單片機(jī)的數(shù)字電子鐘設(shè)計(jì)_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Q260046902 專業(yè)做論文專業(yè)做論文I 學(xué)院 信息工程學(xué)院學(xué)院 信息工程學(xué)院 班級(jí) 通信班級(jí) 通信 0304 姓名 陳云姓名 陳云 學(xué)號(hào) 學(xué)號(hào) 20035236 Q260046902 專業(yè)做論文專業(yè)做論文II 基于基于 AT89S51 單片機(jī)的數(shù)字電子鐘設(shè)計(jì)單片機(jī)的數(shù)字電子鐘設(shè)計(jì) 摘要 本文介紹了一款基于 AT89S51 單片機(jī)數(shù)字鐘的設(shè)計(jì) 通過多功能數(shù)字鐘的設(shè) 計(jì)思路 詳細(xì)敘述了系統(tǒng)硬件 軟件的具體實(shí)現(xiàn)過程 論文重點(diǎn)闡述了數(shù)字鐘硬件 中 MCU 模塊 語音模塊 時(shí)鐘模塊和相關(guān)控制模塊等的模塊化設(shè)計(jì)與制作 軟件 同樣采用模塊化的設(shè)計(jì) 包括中斷模塊 鬧鐘模塊 語音模塊 時(shí)間調(diào)整模塊設(shè)計(jì) 并采用簡(jiǎn)單流通性強(qiáng)的 C 語言編寫實(shí)現(xiàn) 本設(shè)計(jì)實(shí)現(xiàn)了時(shí)間與鬧鐘的修改功能 語 音播報(bào)功能 年 月 日和星期的顯示功能 并且通過對(duì)比實(shí)際的時(shí)鐘 查找出了 誤差的來源 確定了調(diào)整誤差的方法 盡可能的減少誤差 使得系統(tǒng)可以達(dá)到實(shí)際 數(shù)字鐘的允許誤差范圍內(nèi) 關(guān)鍵詞 AT89S51 單片機(jī) 數(shù)字鐘 語音播報(bào) Q260046902 專業(yè)做論文專業(yè)做論文III The design of digital electronic clock base on SCM of AT89S51 Abstract This paper introduced the design of digital clock based on SCM of AT89S51 the specific process of how the system hardware and software achieved were detailed description through the design of multifunction digital clock The modular design and production which consisted of MCU module voice module clock module and the associated control module were mainly recounted As well as hardware designing software design use the same method consists suspension module alarm clock module voice module time adjust module and that use the C language to achieve because of its simple and strong negotiability In this design the functions of time and alarm clock run and change voice broadcast functions of the year month day and week display have been achieved And by comparing the actual clock find out the source of the error and determined the method of adjusting error reduce errors as much as possibly so this system can achieve a practical digital clock with error within the permissible range Key words AT89S51 microcontroller Digital clock Voice Broadcast Q260046902 專業(yè)做論文專業(yè)做論文IV 目 錄 第 1 章 緒論 1 1 1 課題背景 1 1 2 課題意義 1 1 3 數(shù)字鐘的應(yīng)用 2 1 4 本章小結(jié) 2 第 2 章 整體設(shè)計(jì)方案 3 2 1 單片機(jī)的選擇 3 2 2 單片機(jī)的基本結(jié)構(gòu) 5 2 3 本章小結(jié) 6 第 3 章 數(shù)字鐘的硬件設(shè)計(jì) 7 3 1 最小系統(tǒng)設(shè)計(jì) 7 3 2 數(shù)字鐘的外圍電路設(shè)計(jì) 9 3 2 1 時(shí)鐘電路 9 3 2 2 LCD 顯示電路 11 3 2 3 語音錄放電路 13 3 2 4 電源電路 13 3 2 5 相關(guān)控制電路 14 3 3 本章小結(jié) 16 第 4 章 數(shù)字鐘的軟件設(shè)計(jì) 17 4 1 系統(tǒng)軟件設(shè)計(jì)內(nèi)容 17 4 2 主程序 18 4 3 時(shí)鐘設(shè)置子程序 20 4 4 中斷子程序 23 4 5 LCD 顯示子程序 24 4 3 本章小結(jié) 24 第 5 章 調(diào)試與功能說明 26 5 1 硬件調(diào)試 26 Q260046902 專業(yè)做論文專業(yè)做論文V 5 2 系統(tǒng)性能測(cè)試與功能說明 28 5 2 1 系統(tǒng)時(shí)鐘誤差分析 28 5 2 2 軟件調(diào)試問題及解決 29 5 3 系統(tǒng) PCB 圖 30 5 4 本章小節(jié) 30 結(jié)論 31 致謝 32 參考文獻(xiàn) 33 附錄 1 34 附錄 2 35 西南科技大學(xué)本科生畢業(yè)論文 1 第 1 章 緒 論 1 1 課題背景 單片機(jī)自 1976 年由 Intel 公司推出 MCS 48 開始 迄今已有二十多年了 由于 單片機(jī)集成度高 功能強(qiáng) 可靠性高 體積小 功耗地 使用方便 價(jià)格低廉等一 系列優(yōu)點(diǎn) 目前已經(jīng)滲入到人們工作和生活的方方面面 幾乎 無處不在 無所不 為 單片機(jī)的應(yīng)用領(lǐng)域已從面向工業(yè)控制 通訊 交通 智能儀表等迅速發(fā)展到家 用消費(fèi)產(chǎn)品 辦公自動(dòng)化 汽車電子 PC 機(jī)外圍以及網(wǎng)絡(luò)通訊等廣大領(lǐng)域 單片機(jī)有兩種基本結(jié)構(gòu)形式 一種是在通用微型計(jì)算機(jī)中廣泛采用的 將程序存 儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器合用一個(gè)存儲(chǔ)器空間的結(jié)構(gòu) 稱為普林斯頓結(jié)構(gòu) 另一種是將程 序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開 分別尋址的結(jié)構(gòu) 一般需要較大的程序存儲(chǔ)器 目前的單片機(jī)以采用程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開的結(jié)構(gòu)為多 本文討論的單片機(jī)多功能定時(shí)器的核心是目前應(yīng)用極為廣泛的 51 系列單片機(jī) 配置了外圍設(shè)備 構(gòu)成了一個(gè)可編程的計(jì)時(shí)定時(shí)系統(tǒng) 具有體積小 可靠性高 功 能強(qiáng)等特點(diǎn) 不僅能滿足所需要求 而且還有很多功能可供開發(fā) 有著廣泛的應(yīng)用 領(lǐng)域 20 世紀(jì) 80 年代中期以后 Intel 公司以專利轉(zhuǎn)讓的形式把 8051 內(nèi)核技術(shù)轉(zhuǎn)讓 給許多半導(dǎo)體芯片生產(chǎn)廠家 如 ATMEL PHILIPS ANALOG DEVICES DALLAS 等 這些廠家生產(chǎn)的芯片是 MCS 51 系列的兼容產(chǎn)品 準(zhǔn)確地說是與 MCS 51 指令系統(tǒng)兼容的單片機(jī) 這些兼 容機(jī)與 8051 的系統(tǒng)結(jié)構(gòu) 主要是指令系統(tǒng) 相同 采用 CMOS 工藝 因而 常用 80C51 系列來稱呼所有具有 8051 指令系統(tǒng)的單片機(jī) 它們對(duì) 8051 單片機(jī)一般都作 了一些擴(kuò)充 更有特點(diǎn) 其功能和市場(chǎng)競(jìng)爭(zhēng)力更強(qiáng) 不該把它們直接稱呼為 MCS 51 系列單片機(jī) 因?yàn)?MCS 只是 Intel 公司專用的單片機(jī)系列型號(hào) MCS 51 系列及 80C51 單片機(jī)有多種品種 它們的引腳及指令系統(tǒng)相互兼容 主要在內(nèi)部結(jié)構(gòu)上有 些區(qū)別 目前使用的 MCS 51 系列單片機(jī)及其兼容產(chǎn)品通常分成以下幾類 基本型 增強(qiáng)型 低功耗型 專用型 超 8 位型 片內(nèi)閃爍存儲(chǔ)器型 1 2 課題意義 在日常生活和工作中 我們常常用到定時(shí)控制 如擴(kuò)印過程中的曝光定時(shí)等 早期常用的一些時(shí)間控制單元都使用模擬電路設(shè)計(jì)制作的 其定時(shí)準(zhǔn)確性和重復(fù)精 西南科技大學(xué)本科生畢業(yè)論文 2 度都不是很理想 現(xiàn)在基本上都是基于數(shù)字技術(shù)的新一代產(chǎn)品 隨著單片機(jī)性能價(jià) 格比的不斷提高 新一代產(chǎn)品的應(yīng)用也越來越廣泛 大可構(gòu)成復(fù)雜的工業(yè)過程控制 系統(tǒng) 完成復(fù)雜的控制功能 小則可以用于家電控制 甚至可以用于兒童電子玩具 它功能強(qiáng)大 體積小 質(zhì)量輕 靈活好用 配以適當(dāng)?shù)慕涌谛酒?可以構(gòu)造各種各 樣 功能各異的微電子產(chǎn)品 隨著電子技術(shù)的飛速發(fā)展 家用電器和辦公電子設(shè)備逐漸增多 不同的設(shè)備都 有自己的控制器 使用起來很不方便 根據(jù)這種實(shí)際情況 設(shè)計(jì)了一個(gè)單片機(jī)多功 能定時(shí)系統(tǒng) 它可以避免多種控制器的混淆 利用一個(gè)控制器對(duì)多路電器進(jìn)行控制 同時(shí)又可以進(jìn)行時(shí)鐘校準(zhǔn)和定點(diǎn)打鈴 它可以執(zhí)行不同的時(shí)間表 考試時(shí)間和日常 作息時(shí)間 的打鈴 可以任意設(shè)置時(shí)間 這種具有人們所需要的智能化特性的產(chǎn)品 減輕了人的勞動(dòng) 擴(kuò)大了數(shù)字化的范圍 為家庭數(shù)字化提供了可能 1 3 數(shù)字鐘的應(yīng)用 數(shù)字電子鐘具有走時(shí)準(zhǔn)確 一鐘多用等特點(diǎn) 在生活中已經(jīng)得到廣泛的應(yīng)用 雖然現(xiàn)在市場(chǎng)上已有現(xiàn)成的電子鐘集成電路芯片出售 價(jià)格便宜 使用也方便 但 是人們對(duì)電子產(chǎn)品的應(yīng)用要求越來越高 數(shù)字鐘不但可以顯示當(dāng)前的時(shí)間 而且可 以顯示日期 農(nóng)歷 以及星期等 給人們的生活帶來了方便 另外數(shù)字鐘還具備秒 表和鬧鐘的功能 且鬧鐘鈴聲可自選 使一款電子鐘具備了多媒體的色彩 時(shí)間對(duì)人們來說總是那么寶貴 工作的忙碌性和繁雜性容易使人忘記當(dāng)前的時(shí) 間 忘記了要做的事情 當(dāng)事情不是很重要的時(shí)候 這種遺忘無傷大雅 但是 一 旦重要事情 一時(shí)的耽誤可能釀成大禍 電子鐘已成為人們?nèi)粘I钪斜夭豢缮俚?必需品 廣泛用于個(gè)人家庭以及車站 碼頭 劇院 辦公室等公共場(chǎng)所 給人們的 生活 學(xué)習(xí) 工作 娛樂帶來極大的方便 由于數(shù)字集成電路技術(shù)的發(fā)展和采用了 先進(jìn)的石英技術(shù) 使電子鐘具有走時(shí)準(zhǔn)確 性能穩(wěn)定 攜帶方便等優(yōu)點(diǎn) 它還用于 計(jì)時(shí) 自動(dòng)報(bào)時(shí)及自動(dòng)控制等各個(gè)領(lǐng)域 1 4 本章小結(jié) 本章主要介紹了單片機(jī)的歷史發(fā)展過程 單片機(jī)的產(chǎn)生與發(fā)展給人們帶來了來 那些影響 以及數(shù)字鐘在日常生活中的具體應(yīng)用給日常生活帶來的方便 西南科技大學(xué)本科生畢業(yè)論文 3 第 2 章 整體設(shè)計(jì)方案 由于本系統(tǒng)要求具有語音播報(bào)功能 所以需采用十六位可處理語音信號(hào)的單片 機(jī) 其主要設(shè)計(jì)思想是 整個(gè)系統(tǒng)用單片機(jī)為中央控制器 由單片機(jī)執(zhí)行采集時(shí)鐘 芯片的時(shí)間信號(hào)并通過顯示模塊來輸出信號(hào)及相關(guān)的控制功能 時(shí)鐘芯片產(chǎn)生時(shí)鐘 信號(hào) 利用單片機(jī)的 I O 口傳給單片機(jī) 并通過 I O 口實(shí)現(xiàn) LCD 的顯示 系統(tǒng)設(shè)有 4 個(gè)按鍵可以對(duì)時(shí)間星期年月日進(jìn)行調(diào)整 還可以設(shè)置鬧鐘 整體框架如圖 2 1 所示 語 音 模 塊 LCD 顯示 單 片 機(jī) 電 源 模 塊 復(fù)位 電路 時(shí)鐘 模塊 按鍵 模塊 圖圖 2 1 系統(tǒng)整體框圖系統(tǒng)整體框圖 2 1 單片機(jī)的選擇 AT89S51 是一個(gè)低功耗 高性能 CMOS 8 位單片機(jī) 片內(nèi)含 4k Bytes ISP In system programmable 的可反復(fù)擦寫 1000 次的 Flash 只讀程序存儲(chǔ)器 器件采用 ATMEL 公司的高密度 非易失性存儲(chǔ)技術(shù)制造 兼容標(biāo)準(zhǔn) MCS 51 指令系統(tǒng)及 80C51 引腳結(jié)構(gòu) 芯片內(nèi)集成了通用 8 位中央處理器和 ISP Flash 存儲(chǔ)單元 功能強(qiáng) 大的微型計(jì)算機(jī)的 AT89S51 可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案 西南科技大學(xué)本科生畢業(yè)論文 4 AT89S51 具有如下特點(diǎn) 40 個(gè)引腳 4k Bytes Flash 片內(nèi)程序存儲(chǔ)器 128 bytes 的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器 RAM 32 個(gè)外部雙向輸入 輸出 I O 口 5 個(gè)中斷優(yōu)先 級(jí) 2 層中斷嵌套中斷 2 個(gè) 16 位可編程定時(shí)計(jì)數(shù)器 2 個(gè)全雙工串行通信口 看門狗 WDT 電路 片內(nèi)時(shí)鐘振蕩器 此外 AT89S51 設(shè)計(jì)和配置了振蕩頻率可為 0Hz 并可通過軟件設(shè)置省電模式 空閑模式下 CPU 暫停工作 而 RAM 定時(shí)計(jì)數(shù)器 串行口 外中斷系統(tǒng)可繼續(xù)工作 掉電模式凍結(jié)振蕩器而保存 RAM 的數(shù)據(jù) 停止 芯片其它功能直至外中斷激活或硬件復(fù)位 主要功能特性為 兼容 MCS 51 指令系統(tǒng) 4k 可反復(fù)擦寫 1000 次 ISP Flash ROM 32 個(gè)雙向 I O 口 4 5 5 5V 工作電壓 2 個(gè) 16 位可編程定時(shí) 計(jì)數(shù)器 時(shí)鐘頻率 0 33MHz 全雙工 UART 串行中斷口線 128x8bit 內(nèi)部 RAM 2 個(gè)外部中斷源 低功耗空閑和省電模式 中斷喚醒省電模式 看門狗 WDT 電路 靈活的 ISP 字節(jié)和分頁編程 雙數(shù)據(jù)寄存器指針 AT89S51 單片機(jī)與其他品牌單片機(jī)相比有著性價(jià)比高 性能穩(wěn)定的特點(diǎn) 1 51 單片機(jī)的優(yōu)點(diǎn) 如果是作低成本的智能產(chǎn)品 51 構(gòu)架單片機(jī)的成本優(yōu)勢(shì) 還是無人能敵的 比 如一片 AT89S51 和 AT89S52 單片機(jī)的批量?jī)r(jià)格大概是 5 元左右 STC89C52 單片機(jī) 的批量?jī)r(jià)格大概是 6 元多 這樣的芯片價(jià)格是很低的 一片簡(jiǎn)單的 74 系列通用數(shù)字 邏輯芯片還要 1 元左右 而一片 51 單片機(jī)內(nèi)部集成有成千上萬個(gè)晶體管開關(guān)電路 51 構(gòu)架已經(jīng)誕生很多年了 到目前依然有著強(qiáng)大的生命力和實(shí)用性 從 1976 年 51 構(gòu)架成功面市 多少年過去了 從 90 年代初全新閃存結(jié)構(gòu)的 AT89C51 要 90 元一片 西南科技大學(xué)本科生畢業(yè)論文 5 到現(xiàn)在 AT89S51 只要 5 元多一片 51 依然大量的使用著 使用 51 單片機(jī)能夠有效 的控制智能產(chǎn)品整機(jī)的成本 51 系列還是有著無法替代的重要地位 2 AT89S51 與 AT89C51 的比較 AT89S51 相對(duì)與 AT89C51 新增加了很多功能 性能有了較大提升 價(jià)格基本 不變 甚至比 89C51 更低 AT89S51 具有 ISP 在線編程功能 這個(gè)功能的優(yōu)勢(shì)在于改寫單片機(jī)存儲(chǔ)器內(nèi)的 程序不需要把芯片從工作環(huán)境上拔除 可以在線燒寫 AT89S51 的最高工作頻率為 33MHz 89C51 的極限工作頻率是 24M 就是說 S51 具有更高工作頻率 從而具有了更快的計(jì)算速度 AT89S51 具有雙工 UART 串行通道 AT89S51 內(nèi)部集成看門狗計(jì)時(shí)器 不再需要像 89C51 那樣外接看門狗計(jì)時(shí)器單 元電路 AT89S51 具有雙數(shù)據(jù)指示器 AT89S51 具有電源關(guān)閉標(biāo)識(shí) AT89S51 具有全新的加密算法 這使得對(duì)于 89S51 的解密變?yōu)椴豢赡?程序的 保密性大大加強(qiáng) 這樣就可以有效的保護(hù)知識(shí)產(chǎn)權(quán)不被侵犯 在兼容性方面 AT89S51 向下完全兼容 51 全部字系列產(chǎn)品 比如 8051 89C51 等產(chǎn)品 也就是說不論教科書上采用的單片機(jī)是 8051 還是 89C51 還是 MCS 51 等等 在 89S51 上一樣可以照常運(yùn)行 這就是所謂的向下兼容 AT89S51 與 AT89C51 就如同 INTEL 的 P3 向 P4 升級(jí)一樣 雖然都可以跑 Windows98 不過速度是不同的 總之 無論是比其他品牌同類產(chǎn)品相比 還是與同品牌產(chǎn)品相比都顯示出了 AT89S51 優(yōu)良的性能 更高的性價(jià)比 所以 AT89S51 芯片成為了本系統(tǒng)的首選 2 2 單片機(jī)的基本結(jié)構(gòu) AT89S51 單片機(jī)基本結(jié)構(gòu)主要包括了以下主要部件 1 控制器 控制器是單片機(jī)的指揮控制部件 控制器的主要任務(wù)是識(shí)別指令 并根據(jù)指令 的性質(zhì)控制單片機(jī)各功能部件 從而保證單片機(jī)各部分能自動(dòng)而協(xié)調(diào)地工作 單片 機(jī)執(zhí)行指令是在控制器的控制下進(jìn)行的 首先從程序存儲(chǔ)器中讀出指令 送指令寄 西南科技大學(xué)本科生畢業(yè)論文 6 存器保存 然后送至指令譯碼器進(jìn)行譯碼 譯碼結(jié)果送定時(shí)控制邏輯電路 由定時(shí) 控制邏輯產(chǎn)生各種定時(shí)信號(hào)和控制信號(hào) 再送到單片機(jī)的各個(gè)部件去進(jìn)行相應(yīng)的操 作 這就是執(zhí)行一條指令的全過程 執(zhí)行程序就是不斷重復(fù)這一過程 控制器主要 包括程序計(jì)數(shù)器 程序地址寄存器 指令寄存器 IR 指令譯碼器 條件轉(zhuǎn)移邏輯電 路及時(shí)序控制邏輯電路 2 存儲(chǔ)器 AT89S51 單片機(jī)存儲(chǔ)器采用的是哈佛結(jié)構(gòu) 即程序存儲(chǔ)器空間和數(shù)據(jù)存儲(chǔ)器空間 截然分開 程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器各有自己的尋址方式 尋址空間和控制系統(tǒng) 這種 結(jié)構(gòu)對(duì)于單片機(jī)面向控制的實(shí)際應(yīng)用極為方便 有利 在 8051 8751 彈片擊中 不僅在片 內(nèi)集成了一定容量的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器及眾多的特殊功能寄存器 而且還具有 極強(qiáng)的外存儲(chǔ)器的擴(kuò)展能力 尋址能力分別可達(dá) 64KB 尋址和操作簡(jiǎn)單方便 3 并行 I O 口 MCS 51 單片機(jī)共有 4 個(gè)雙向的 8 位并行 I O 端口 Port 分別記作 P0 P3 共 有 32 根口線 各口的每一位均由鎖存器 輸出驅(qū)動(dòng)器和輸入緩沖器所組成 實(shí)際上 P0 P3 已被歸入特殊功能寄存器之列 這四個(gè)口除了按字節(jié)尋址以外 還可以按位 尋址 由于它們?cè)诮Y(jié)構(gòu)上有一些差異 故各口的性質(zhì)和功能有一些差異 4 時(shí)鐘電路與時(shí)序 時(shí)鐘電路用于產(chǎn)生 MCS 51 單片機(jī)工作時(shí)所必需的時(shí)鐘信號(hào) MCS 51 單片機(jī) 本身就是一個(gè)復(fù)雜的同步時(shí)序電路 為保證同步工作方式的實(shí)現(xiàn) MCS 51 單片機(jī) 應(yīng)在唯一的時(shí)鐘信號(hào)控制下 嚴(yán)格地按時(shí)序執(zhí)行進(jìn)行工作 而時(shí)序所研究的是指令 執(zhí)行中各個(gè)信號(hào)的關(guān)系 2 3 本章小結(jié) 本章主要介紹了系統(tǒng)的整體構(gòu)思方案 具體有幾個(gè)模塊組成 以及每個(gè)模塊 的連接方法 核心芯片單片機(jī)的基本資料介紹 著重介紹了單片機(jī)的對(duì)比與選擇 再選擇了合適的單片機(jī)后還介紹了 AT89S51 單片機(jī)最小系統(tǒng)的架構(gòu)與實(shí)驗(yàn) 西南科技大學(xué)本科生畢業(yè)論文 7 第 3 章 數(shù)字鐘的硬件設(shè)計(jì)計(jì) 3 1 最小系統(tǒng)設(shè)計(jì) 單片機(jī)要正常運(yùn)行 必須具備一定的硬件條件 其中最主要的就是三個(gè)基本條 件 1 電源正常 2 時(shí)鐘正常 3 復(fù)位正常 AT89S51 的引腳如圖 3 1 所 示 在 AT89S51 單片機(jī)的 40 個(gè)引腳中 電源引腳 2 根 晶振引腳 2 根 控制引腳 4 根 可編程輸入輸出引腳 32 根 圖圖 3 1 AT89S51 的最小系統(tǒng)的最小系統(tǒng) 1 工作電源 電源是單片機(jī)工作的動(dòng)力源泉 對(duì)應(yīng)的接線方法為 40 腳 VCC 電源引腳 工 作時(shí)接 5 電源 20 腳 GND 為接地線 2 時(shí)鐘電路 時(shí)鐘電路為單片機(jī)產(chǎn)生時(shí)序脈沖 單片機(jī)所有運(yùn)算與控制過程都是在統(tǒng)一的時(shí) 西南科技大學(xué)本科生畢業(yè)論文 8 序脈沖的驅(qū)動(dòng)下進(jìn)行的 時(shí)鐘電路就好比人的心臟一樣重要 當(dāng)采用內(nèi)部時(shí)鐘時(shí) 連接方法如圖 2 1 所示 在晶振引腳 XTAL1 19 腳 和 XTAL2 18 腳 引腳之間接入一 個(gè)晶振 兩個(gè)引腳對(duì)地分別再接入一個(gè)電容即可產(chǎn)生所需的時(shí)鐘信號(hào) 電容的容量 一般在幾十皮法 如 30PF 3 復(fù)位電路 在復(fù)位引腳 9 腳 持續(xù)出現(xiàn) 24 個(gè)振蕩器脈沖周期 即 2 個(gè)機(jī)器周期 的高電平信號(hào) 將使單片機(jī)復(fù)位 如圖 2 1 所示電容 C 和電阻 R 構(gòu)成了單片機(jī)上電自動(dòng)復(fù)位電路 復(fù)位后 單片機(jī)從 0000H 單元開始執(zhí)行程序 并初始化一些專用寄存器為復(fù)位狀態(tài) 值 受影響的專用寄存器如表 3 1 所示 表表 3 1 復(fù)位寄存器狀態(tài)表復(fù)位寄存器狀態(tài)表 寄存器狀態(tài)寄存器狀態(tài) PC000HTC0N00H ACC00HTL000H PSW00HTH000H SP07HTL100H DPTR0000HTH100H P0 P3FFHSCON00H IPXXX00000HSBUF不確定 IEOXX00000HPCON0XXX0000H TMOD00H 4 控制引腳 EA 接法 EA VPP 31 腳 為內(nèi)外程序存儲(chǔ)器選擇控制引腳 當(dāng) EA 為低電位時(shí)單片機(jī)從外 部程序存儲(chǔ)器取指令 當(dāng) EA 接高電平時(shí)單片機(jī)從內(nèi)部程序存儲(chǔ)器取指令 AT89S51 單片機(jī)內(nèi)部有 4KB 可反復(fù)擦寫 1000 次以上的程序存儲(chǔ)器 因此要把 EA 接 5V 高電平 讓單片機(jī)運(yùn)行內(nèi)部的程序 這樣就可以通過反復(fù)燒寫來驗(yàn)證程序了 這就是 AT89S51 單片機(jī)最小化系統(tǒng)的連接 只要把編寫好的程序燒寫到單片機(jī) 內(nèi)部 并接上 5V 電源就可以正常運(yùn)行了 在 17 腳接上的發(fā)光二極管可以用來驗(yàn)證 系統(tǒng)是否正常 西南科技大學(xué)本科生畢業(yè)論文 9 3 2 數(shù)字鐘的外圍電路設(shè)計(jì) 3 2 1 時(shí)鐘電路 1 單片機(jī)時(shí)鐘 時(shí)鐘是單片機(jī)的心臟 單片機(jī)各功能部件的運(yùn)行都是以時(shí)鐘頻率為基準(zhǔn) 有條 不紊的一拍一拍地工作 因此 時(shí)鐘頻率直接影響單片機(jī)的速度 時(shí)鐘電路的質(zhì)量 也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性 常用的時(shí)鐘電路有兩種方式 一種是內(nèi)部時(shí)鐘方 式 另一種為外部時(shí)鐘方式 本文用的是內(nèi)部時(shí)鐘方式 電路設(shè)計(jì)如圖 3 2 所示 圖圖 3 2 單片機(jī)時(shí)鐘單片機(jī)時(shí)鐘 AT89S51 單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器 該高增益反 向放大器的輸入端為芯片引腳 XTAL1 輸出端為引腳 XTAL2 這兩個(gè)引腳跨接石 英晶體振蕩器和微調(diào)電容 就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器 2 時(shí)鐘芯片 采用帶 RAM 的時(shí)鐘芯片 DS1302 該芯片可以進(jìn)行時(shí)分秒的計(jì)數(shù) 具有 100 年 日歷 可編程接口 還具有報(bào)警功能和掉電保存功能 并且可以對(duì)其方便的進(jìn)行程 序控制 DS1302 它通過串行方式與單片機(jī)進(jìn)行數(shù)據(jù)傳送 向單片機(jī)提供包括秒 分 時(shí) 日 月 年等在內(nèi)的實(shí)時(shí)時(shí)間信息 并可對(duì)月末日期 閏年天數(shù)自動(dòng)進(jìn)行調(diào)整 還 擁有用于主電源和備份電源的雙電源引腳 在主電源關(guān)閉的情況下 也能保持時(shí)鐘 的連續(xù)運(yùn)行 另外 它還能提供 31 字節(jié)的用于高速數(shù)據(jù)暫存的 RAM 有了這些特 點(diǎn) DS1302 已在許多單片機(jī)系統(tǒng)中得到應(yīng)用 西南科技大學(xué)本科生畢業(yè)論文 10 圖圖 3 3 DS1302 引腳排列圖引腳排列圖 DS1302 的引腳排列如圖 3 3 所示 各引腳的功能見表 3 2 表表 3 2 DS1302 功能表功能表 引腳功能 X1 X232768HZ 晶振引腳端 RST復(fù)位端 I O數(shù)據(jù)輸入 輸出端 SCLK串行時(shí)終端 GND地 VCC2 VCC1主電源與后備電源引腳端 DS1302 時(shí)鐘芯片內(nèi)主要包括移位寄存器 控制邏輯電路 振蕩器 實(shí)時(shí)時(shí)鐘電 路以及用于高速暫存的 31 字節(jié) RAM DS1302 與單片機(jī)系統(tǒng)的數(shù)據(jù)傳送依靠 RST I O SCLK 三根端線即可完成 其工作過程可概括為 首先系統(tǒng) RST 引腳驅(qū) 動(dòng)至高電平 然后在作用于 SCLK 時(shí)鐘脈沖的作用下 通過 I O 引腳向 DS1302 輸 入地址 命令字節(jié) 隨后再在 SCLK 時(shí)鐘脈沖的配合下 從 I O 引腳寫入或讀出相應(yīng) 的數(shù)據(jù)字節(jié) 因此 其與單片機(jī)之間的數(shù)據(jù)傳送是十分容易實(shí)現(xiàn)的 DS1302 與單片 機(jī)電路相連如圖 3 4 所示 西南科技大學(xué)本科生畢業(yè)論文 11 圖圖 3 4 DS1302 與單片機(jī)接口圖與單片機(jī)接口圖 3 2 2 LCD 顯示電路 液晶顯示模塊具有體積小 功耗低 顯示內(nèi)容豐富等特點(diǎn) 現(xiàn)在字符型液晶顯 示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件了 1602B 可以顯示 2 行 16 個(gè)字符 有 8 位數(shù)據(jù)總線 D0 D7 和 RS R W EN 三 個(gè)控制端口 工作電壓為 5V 并且?guī)в凶址麑?duì)比度調(diào)節(jié)和背光 該模塊也可以只用 D4 D7 作為四位數(shù)據(jù)分兩次傳送 這樣的話可以節(jié)省 MCU 的 I O 口資源 各引腳的功能見表 3 3 表表 3 3 LCD 引腳功能圖引腳功能圖 編號(hào)符號(hào)引腳說明編號(hào)符號(hào)引腳說明 1VSS電源地9D2雙向數(shù)據(jù)口 2VDD電源正極10D3雙向數(shù)據(jù)口 3VL對(duì)比度調(diào)節(jié)11D4雙向數(shù)據(jù)口 4RS數(shù)據(jù) 命令選擇12D5雙向數(shù)據(jù)口 5R W讀 寫選擇13D6雙向數(shù)據(jù)口 6E模塊使能端14D7雙向數(shù)據(jù)口 7D0雙向數(shù)據(jù)口15BLK背光源地 8D1雙向數(shù)據(jù)口16BLA背光源正極 西南科技大學(xué)本科生畢業(yè)論文 12 從該模塊的正面看 引腳排列從右向左為 15 腳 16 腳 然后才是 1 14 腳 VDD 電源正極 4 5 5 5V 通常使用 5V 電壓 VL LCD 對(duì)比度調(diào)節(jié)端 電壓調(diào)節(jié)范圍為 0 5V 接正電源時(shí)對(duì)比度最弱 接 地電源時(shí)對(duì)比度最高 但對(duì)比度過高時(shí)會(huì)產(chǎn)生 鬼影 因此通常使用一個(gè) 10K 的電 位器來調(diào)整對(duì)比度 或者直接串接一個(gè)電阻到地 RS MCU 寫入數(shù)據(jù)或者指令選擇端 MCU 要寫入指令時(shí) 使 RS 為低電平 MCU 要寫入數(shù)據(jù)時(shí) 使 RS 為高電平 R W 讀寫控制端 R W 為高電平時(shí) 讀取數(shù)據(jù) R W 為低電平時(shí) 寫入數(shù)據(jù) E LCD 模塊使能信號(hào)控制端 寫數(shù)據(jù)時(shí) 需要下降沿觸發(fā)模塊 D0 D7 8 位數(shù)據(jù)總線 三態(tài)雙向 如果 MCU 的 I O 口資源緊張的話 該模 塊也可以只使用 4 位數(shù)據(jù)線 D4 D7 接口傳送數(shù)據(jù) 本充電器就是采用 4 位數(shù)據(jù)傳 送方式 BLA LED 背光正極 需要背光時(shí) BLA 串接一個(gè)限流電阻接 VDD BLK 接 地 實(shí)測(cè)該模塊的背光電流為 50mA 左右 BLK LED 背光地端 它與單片機(jī)的連接如圖 3 5 所示 圖圖 3 5 LCD 與單片機(jī)接口與單片機(jī)接口 西南科技大學(xué)本科生畢業(yè)論文 13 3 2 3 語音錄放電路 系統(tǒng)要求能夠有鬧鐘 語音播報(bào) 按鍵報(bào)時(shí)等功能 由單片語音錄放芯片來做 比較方便簡(jiǎn)單 ISD2500 芯片 可以錄放時(shí)間 60 秒 可以滿足本設(shè)計(jì)的要求 性能 良好所以選用 ISD2500 和 1400 語音電路一樣 具有抗斷電 音質(zhì)好 使用方便等優(yōu)點(diǎn) 它的 最大特點(diǎn)在于片內(nèi) E2PROM 容量為 480K 1400 系列為 128K 所以錄放時(shí)間長(zhǎng) 有 10 個(gè)地址輸入端 1400 系列僅為 8 個(gè) 尋址能力可達(dá) 1024 位 最多能分 600 段 設(shè)有 OVF 溢出 端 便于多個(gè)器件級(jí)聯(lián) 其封裝如圖 3 6 所示 圖圖 3 6 ISD 封裝圖封裝圖 系統(tǒng)要求能夠有鬧鐘 語音播報(bào) 按鍵報(bào)時(shí)等功能 由單片語音錄放芯片來做 比較方便簡(jiǎn)單 ISD2500 芯片 可以錄放時(shí)間 60 秒 可以滿足本設(shè)計(jì)的要求 但是 ISD2500 芯片的價(jià)格比較昂貴 在現(xiàn)有的條件下還不能實(shí)現(xiàn) 所以只作簡(jiǎn)單介紹以 便做相關(guān)擴(kuò)展應(yīng)用 本設(shè)計(jì)只用簡(jiǎn)單的語音模塊 3 2 4 電源電路 電源電路包括變壓器 橋式整流器 電容和穩(wěn)壓器 通過變壓器變壓 使得 220V 電壓變?yōu)?12 V 在通過橋式整流 電容的濾波作用 穩(wěn)壓器的穩(wěn)壓作用 可 輸出 5V 的穩(wěn)定電壓 如圖 3 7 所示 VCCD P R XCLK EOM PD CE OVF Ana Out Ana In AGC Mic Ref Mic VCCA SP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 A0 M0 A1 M1 A2 M2 A3 M3 A4 M4 A5 M5 A6 M6 A7 A8 A9 VSSD VSSA SP 28 27 26 25 24 23 22 21 20 19 18 17 16 15 ISD Aux In 2500 西南科技大學(xué)本科生畢業(yè)論文 14 圖圖 3 7 系統(tǒng)電源電路系統(tǒng)電源電路 在系統(tǒng)中要用到 2 個(gè)電源 單片機(jī)電源與 DS1302 時(shí)鐘芯片電源所以有 2 路電 源 VCC 和 VCC1 3 2 5 相關(guān)控制電路 1 按鍵電路 按鍵電路如圖 3 8 所示 按鍵的開關(guān)狀態(tài)通過一定的電路轉(zhuǎn)換為高 低電平狀 態(tài) 按鍵閉合過程在相應(yīng)的 I O 端口形成一個(gè)負(fù)脈沖 閉合和釋放過程都要經(jīng)過一 定的過程才能達(dá)到穩(wěn)定 這一過程是處于高 低電平之間的一種不穩(wěn)定狀態(tài) 稱為 抖動(dòng) 抖動(dòng)持續(xù)時(shí)間的常長(zhǎng)短與開關(guān)的機(jī)械特性有關(guān) 一般在 5 10ms 之間 為了避 免 CPU 多次處理按鍵的一次閉合 應(yīng)采用措施消除抖動(dòng) 本文采用的是獨(dú)立式按鍵 直接用 I O 口線構(gòu)成單個(gè)按鍵電路 每個(gè)按鍵占用一條 I O 口線 每個(gè)按鍵的工作 狀態(tài)不會(huì)產(chǎn)生互相影響 西南科技大學(xué)本科生畢業(yè)論文 15 圖圖 3 8 按鍵電路圖按鍵電路圖 P1 0 口 表示功能移位鍵 按鍵選擇要調(diào)整的時(shí)十位 時(shí)個(gè)位 分十位或分個(gè) 位 P1 1 口 表示數(shù)字 鍵 按一下則對(duì)應(yīng)的數(shù)字加 1 P1 2 口 表示數(shù)字 鍵 按一下則對(duì)應(yīng)的數(shù)字減 1 P1 3 口 表示時(shí)間表的切換 程序默認(rèn)為日常時(shí)間表 當(dāng)按下該開關(guān) 使輸入 為低電平時(shí) 表示當(dāng)前執(zhí)行的是考試時(shí)間表 再按鍵 使按鍵抬起 輸入維高電平 時(shí) 表示當(dāng)前執(zhí)行的是日常作息時(shí)間表 2 復(fù)位電路 AT89S51 單片機(jī)的復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的 復(fù)位引腳 RST 通過一個(gè) 斯密特觸發(fā)器與復(fù)位電路相連 斯密特觸發(fā)器用來抑制噪聲 在每個(gè)機(jī)器周期的 S5P2 斯密特觸發(fā)器的輸出電平由復(fù)位電路采樣一次 然后才能得到內(nèi)部復(fù)位操作 所需要的信號(hào) 上電復(fù)位 上電復(fù)位電路是 種簡(jiǎn)單的復(fù)位電路 只要在 RST 復(fù)位引腳接一個(gè) 電容到 VCC 接一個(gè)電阻到地就可以了 上電復(fù)位是指在給系統(tǒng)上電時(shí) 復(fù)位電路 通過電容加到 RST 復(fù)位引腳一個(gè)短暫的高電平信號(hào) 這個(gè)復(fù)位信號(hào)隨著 VCC 對(duì)電 容的充電過程而回落 所以 RST 引腳復(fù)位的高電平維持時(shí)間取決于電容的充電時(shí)間 為了保證系統(tǒng)安全可靠的復(fù)位 RST 引腳的高電平信號(hào)必須維持足夠長(zhǎng)的時(shí)間 西南科技大學(xué)本科生畢業(yè)論文 16 圖圖 3 9 復(fù)位電路復(fù)位電路 如圖 3 9 所示 上電自動(dòng)復(fù)位是通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的 只要 Vcc 的上升時(shí)間不超過 1ms 就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位 3 3 本章小結(jié) 本章介紹了多功能數(shù)字鐘系統(tǒng)的硬件模塊組成 詳細(xì)介紹了各個(gè)模塊的組成及 功能 MCU 的組成和特點(diǎn) 專門的時(shí)鐘芯片和單片機(jī)時(shí)鐘 顯示模塊的構(gòu)建與運(yùn)用 語音芯片的選擇 2 路電源的設(shè)計(jì)制作 基本上是完成了作為單片機(jī)所需的硬件結(jié) 構(gòu) 同時(shí)也顯示了對(duì)軟件支持的強(qiáng)烈要求 西南科技大學(xué)本科生畢業(yè)論文 17 第 4 章 數(shù)字鐘的軟件設(shè)計(jì) 4 1 系統(tǒng)軟件設(shè)計(jì)內(nèi)容 本設(shè)計(jì)的軟件程序包括主程序 中斷子程序 鬧鐘設(shè)定子程序 時(shí)鐘顯示子程 序以及延時(shí)子程序等 在整個(gè)系統(tǒng)中 在單片機(jī)的 30H 31H 和 32H 中存儲(chǔ)當(dāng)前時(shí)間的小時(shí) 分鐘和 秒 用 LCD 顯示當(dāng)前的時(shí)間 必須用到分字和合字 因此在 33H 34H 35H 36H 37H 和 38H 中存儲(chǔ)當(dāng)前時(shí)間的時(shí)十位 時(shí)個(gè)位 分十位 分個(gè)位 秒十位和秒個(gè)位 方便顯示 本設(shè)計(jì)有由四個(gè)輕觸按鍵組成的小鍵盤 這些按鍵可以任意改變當(dāng)前的狀態(tài) 按功能移位鍵一次 表示當(dāng)前要校對(duì)小時(shí)的十位 按第二次 表示當(dāng)前校對(duì)的是小 時(shí)的個(gè)位 按第三次 則表示校對(duì)的是分鐘的十位 第四次 表示的校對(duì)的是分鐘 的個(gè)位 按下數(shù)字 鍵和數(shù)字 鍵可在當(dāng)前校對(duì)的數(shù)字上相應(yīng)加上 1 或者減 去 1 系統(tǒng)軟件采用 C 語言編寫 時(shí)鐘的最小計(jì)時(shí)單位是秒 但使用定時(shí)器的方式 1 最大的定時(shí)時(shí)間也只能達(dá)到 131ms 我們可把定時(shí)器的定時(shí)時(shí)間定為 50ms 這 樣 計(jì)數(shù)溢出 20 次即可得到時(shí)鐘的最小計(jì)時(shí)單位 秒 而計(jì)數(shù) 20 次可以用軟件實(shí) 現(xiàn) 秒計(jì)時(shí)是采用中斷方式進(jìn)行溢出次數(shù)的累積 計(jì)滿 20 次 即得到秒計(jì)時(shí) 從秒 到分 從分到時(shí)是通過軟件累加并進(jìn)行比較的方法來實(shí)現(xiàn)的 要求每滿 1 秒 則 秒 單元中的內(nèi)容加 1 秒 單元滿 60 則 分 單元中的內(nèi)容加 1 分 單元滿 60 則 時(shí) 單元中的內(nèi)容加 1 時(shí) 單元滿 24 則將時(shí) 分 秒的內(nèi)容 全部清零 實(shí)時(shí)時(shí)鐘程序設(shè)計(jì)步驟 1 選擇工作方式 計(jì)算初值 2 采用中斷方式進(jìn)行溢出次數(shù)累計(jì) 3 從秒 分 時(shí)的計(jì)時(shí)是通過累加和數(shù)值比較實(shí)現(xiàn)的 4 時(shí)鐘顯示緩沖區(qū) 時(shí)鐘時(shí)間在方位數(shù)碼管上進(jìn)行顯示 為此在內(nèi)部 RAM 中要設(shè)置顯示緩沖區(qū) 共 6 個(gè)地址單元 顯示緩沖區(qū)從左到右依次存放時(shí) 分 秒數(shù)值 5 主程序 主要進(jìn)行定時(shí)器 計(jì)數(shù)器的初始化編程 然后反復(fù)調(diào)用顯示子程 序的方法等待中斷的到來 流程如圖 4 1 所示 西南科技大學(xué)本科生畢業(yè)論文 18 6 中斷服務(wù)程序 進(jìn)行計(jì)時(shí)操作 7 加 1 子程序 用于完成對(duì)時(shí) 分 秒的加操作 中斷服務(wù)程序在秒 分 時(shí)加 1 時(shí)共三次調(diào)用加 1 子程序 包括 合字 加 1 并進(jìn)行進(jìn)制調(diào)整 分字 4 2 主程序 主程序主要由 main 組成通過對(duì)相關(guān)子程序的調(diào)用 實(shí)現(xiàn)了對(duì)時(shí)間的設(shè)置與修 改 鬧鐘的設(shè)置與修改 LCD 顯示等主要功能 相關(guān)的調(diào)整是靠對(duì)功能鍵的判斷來 實(shí)現(xiàn)的 如對(duì) set 鍵的判斷 對(duì) up 鍵的判斷 主程序流程框圖如圖 4 1 所示 主要 程序段如下 void main void d to b ds1302 write time 對(duì) DS1302 寫數(shù)據(jù) initTimer TR0 1 ET0 1 EA 1 LCD init LCD write string 0 0 Wellcome to xnkd LCD write string 0 1 123456789 mysy while 1 if sethour timereg 4 if set 功能鍵判斷 if fset if up 調(diào)用 1 鍵子程序 if down 調(diào)用 1 鍵子程序 if enter 西南科技大學(xué)本科生畢業(yè)論文 19 圖圖 4 1 主程序主程序 MAIN 流程框圖流程框圖 西南科技大學(xué)本科生畢業(yè)論文 20 4 3 時(shí)鐘設(shè)置子程序 時(shí)鐘的修改首先要按功能鍵并停止時(shí)間的輸出顯示 否則系統(tǒng)繼續(xù)刷新時(shí)間則 無法修改 所以時(shí)間是不輸出到 LCD 的 修改的部分以修改的為準(zhǔn) 沒有修改的通 過中斷保護(hù)起來 等修改成功后繼續(xù)顯示 主要流程圖如圖 4 2 所示 小時(shí)設(shè)置程 序段如下 if keycou 5 設(shè)置小時(shí) LCD write string 0 0 Hour 將現(xiàn)在時(shí)間保存 LCD set xy 5 0 對(duì)小時(shí)重新設(shè)置 LCD write char 0 timereg 4 10 0 x30 設(shè)置完成后顯示修改后的小時(shí)部分 LCD write char 0 timereg 4 10 0 x30 在時(shí)間修改功能中要用到 1 個(gè)數(shù)字加減的問題 把它做成 1 個(gè)子程序 流程如 圖 4 3 所示 通過判斷功能鍵的狀態(tài)也就是記錄值來確定 主功能鍵 SET 是采用循 環(huán)的方式來實(shí)現(xiàn)的 當(dāng)標(biāo)識(shí)為相應(yīng)的值時(shí)執(zhí)行相應(yīng)的操作 if keycou 5 小時(shí)加一 if timereg 4 23 timereg 4 else timereg 4 23 LCD set xy 5 0 LCD write char 0 timereg 4 10 0 x30 LCD write char 0 timereg 4 10 0 x30 西南科技大學(xué)本科生畢業(yè)論文 21 4 2 時(shí)鐘設(shè)置功能子程序流程框圖時(shí)鐘設(shè)置功能子程序流程框圖 西南科技大學(xué)本科生畢業(yè)論文 22 圖圖 4 3 加加 1 鍵修改子程序流程框圖鍵修改子程序流程框圖 西南科技大學(xué)本科生畢業(yè)論文 24 圖圖 4 4 時(shí)鐘修改中斷服務(wù)子程序流程框圖時(shí)鐘修改中斷服務(wù)子程序流程框圖 西南科技大學(xué)本科生畢業(yè)論文 25 4 4 中斷子程序 MCS 51 系列單片機(jī)有 5 個(gè)中斷源 中斷分為 2 個(gè)中斷優(yōu)先級(jí) 即高優(yōu)先級(jí)和 低優(yōu)先級(jí) 每個(gè)中斷源的優(yōu)先級(jí)都可以由軟件來設(shè)定 中斷地址如表 4 1 所示 程 序中的中斷流程框圖如圖 4 4 所示 表表 4 1 中斷地址表中斷地址表 五個(gè)中斷源入口地址 外部中斷 0 INT0 0003H T0 溢出中斷000BH 外部中斷 1 INT1 0013H T1 溢出中斷001BH 串口中斷0023H Function 外部中斷 1 中斷服務(wù)子程序 parameter Return Modify void Interrupt1 void interrupt 2 Int1Flag 1 Function 定時(shí)器 0 中斷服務(wù)子程序 parameter Return Modify void InterruptTime0 void interrupt 1 TH0 0 x06 8ms 西南科技大學(xué)本科生畢業(yè)論文 26 TL0 0 xed Time0Count Function 定時(shí)器 1 中斷服務(wù)子程序 parameter Return Modify 4 5 LCD 顯示子程序 LCD 顯示子程序可對(duì) DS1302 的時(shí)間進(jìn)行設(shè)置和讀取 DS1302 內(nèi)部的時(shí)間 連續(xù)的 讀寫操作 RAM 的應(yīng)用 充電部分的應(yīng)用 寫保護(hù) 抗干擾等可以實(shí)現(xiàn)上述功能 在編寫中應(yīng)注意的是進(jìn)制的轉(zhuǎn)換 下面是 BCD 碼到十進(jìn)制數(shù)的轉(zhuǎn)換函數(shù) 函數(shù)名 BCD to INT 參 數(shù) 無 功 能 用于將時(shí)間 BCD 碼轉(zhuǎn)換為十進(jìn)制碼 void BCD to INT uchar i for i 0 i 7 i bcd int timercur i 4 3 本章小結(jié) 本章介紹了本設(shè)計(jì)的軟件設(shè)計(jì) 所有的功能在流程圖里清晰的表現(xiàn)了出來 包 括主程序流程圖 時(shí)鐘及鬧鐘修改流程圖 中斷流程圖等 并附有相關(guān)程序的主要 部分 在軟件的設(shè)計(jì)中模塊化設(shè)計(jì)很重要 顯示很直觀不會(huì)發(fā)生混亂現(xiàn)象 容易上 手 西南科技大學(xué)本科生畢業(yè)論文 27 第 5 章 調(diào)試與功能說明 5 1 硬件調(diào)試 在實(shí)際使用中 我們發(fā)現(xiàn) DS1302 的工作情況不夠穩(wěn)定 主要表現(xiàn)在實(shí)時(shí)時(shí)間 的傳送有時(shí)會(huì)出現(xiàn)誤差 有時(shí)甚至整個(gè)芯片停止工作 我們對(duì) DS1302 的工作電路 進(jìn)行了分析 其與單片機(jī)系統(tǒng)的連接如圖 2 所示 從圖中可以看出 DS1302 的外部 電路十分簡(jiǎn)單 惟一外接的元件是 32768Hz 的晶振 通過實(shí)驗(yàn)我們發(fā)現(xiàn) 當(dāng)外接晶 振電路振蕩時(shí) DS1302 計(jì)時(shí)正確 當(dāng)外接晶振電路停振時(shí) DS1302 計(jì)時(shí)停止 因 此 可能是 32768Hz 晶振是造成 DS1302 工作不穩(wěn)定的主要原因 圖圖 5 1 DS1302 與單片機(jī)系統(tǒng)的連接圖與單片機(jī)系統(tǒng)的連接圖 DS1302 時(shí)鐘的產(chǎn)生基于外接的晶體振蕩器 振蕩器的頻率為 32768Hz 該晶振 通過引腳 X1 X2 直接連接至 DS1302 即 DS1302 是依靠外部晶振與其內(nèi)部的電容 配合來產(chǎn)生時(shí)鐘脈沖的 由于 DS1302 在芯片本身已經(jīng)集成了 6pF 的電容 所以 為了獲得穩(wěn)定可靠的時(shí)鐘 必須選用具有 6pF 負(fù)載電容的晶振 然而 許多人在選 用晶振時(shí)僅僅注意了晶振的額定頻率值 而忽視了晶振的負(fù)載電容大小 甚至連許 多經(jīng)銷商也不能提供所售晶振的負(fù)載電容 所以即使在使用中選用了符合 32768Hz 的晶振 但如果該晶振的負(fù)載電容與 DS1302 提供的 6pF 不一致時(shí) 就會(huì)影響晶振 的起振或?qū)е抡袷庮l率的偏移 出現(xiàn)問題 西南科技大學(xué)本科生畢業(yè)論文 28 利用輔助電容實(shí)現(xiàn)負(fù)載匹配的方法來解決當(dāng)所選的晶振負(fù)載電容不是 6pF 時(shí) 可以采用增加輔助電容的方法提高或降低 DS1302 振蕩器的電容性負(fù)載 使之與晶 體所需的電容值匹配 如果已知晶體的負(fù)載電容為 CI 若 CI6pF 則可以在 晶體的一端增加一個(gè)串聯(lián)電容 CS 以產(chǎn)生所需的負(fù)載電容 CI 即 1 CI 1 6pF 1 CS 通過計(jì)算即可得出應(yīng)增加的輔助電容大小 輔助電容的接法如圖 5 2 所示 圖圖 5 2 輔助電容連接圖輔助電容連接圖 對(duì)于晶體振蕩器來說 其振蕩頻率與負(fù)載電容之間的關(guān)系是確定的 以本文討 論的 DS1302 使用的 32768Hz 晶振為例 當(dāng)它工作于所要求的負(fù)載電容時(shí) 能較準(zhǔn) 確地產(chǎn)生 32768Hz 的頻率 當(dāng)它的負(fù)載電容小于 6pF 時(shí) 其振蕩頻率會(huì)正向偏移 當(dāng)它的負(fù)載電容大于 6pF 時(shí) 其振蕩頻率就會(huì)負(fù)向偏移 因此 對(duì)于未知負(fù)載電容 的晶體應(yīng)首先采用實(shí)驗(yàn)的方法 在其兩端加入輔助電容使晶體起振 然后用頻率計(jì) 測(cè)出振蕩頻率 若測(cè)得頻率大于 32768Hz 說明負(fù)載電容偏小 若測(cè)得頻率小于 32768Hz 說明負(fù)載電容偏大 對(duì)輔助電容逐步調(diào)整 最終使振蕩頻率盡可能接近 32768Hz 則此時(shí)晶體端所接負(fù)載電容的總和就是適合該晶體的負(fù)載電容 以上方法經(jīng)多次使用 證明確實(shí)有效 它放寬了 DS1302 在使用中對(duì)晶振的條 件要求 增強(qiáng)了 DS1302 在工作中的穩(wěn)定性 對(duì) DS1302 更廣泛地應(yīng)用具有積極的意 義 西南科技大學(xué)本科生畢業(yè)論文 29 5 2 系統(tǒng)性能測(cè)試與功能說明 5 2 1 系統(tǒng)時(shí)鐘誤差分析 設(shè)系統(tǒng)中所選用的晶振的頻率為 fosc 則機(jī)器周期 t0由式 5 1 所得 5 1 osc ft12 0 設(shè)定時(shí)器要求的中斷頻率為 k 計(jì)數(shù)器位數(shù)為 n 則定時(shí)計(jì)數(shù)器的初值 X 設(shè)置 如下 K n Xt 1 0 2 5 2 于是 而實(shí)驗(yàn)測(cè)得的數(shù)據(jù)顯示 這個(gè)公式所得的結(jié)果并不可靠 1 0 2 tk n X 下表中的所有數(shù)據(jù)都是在計(jì)數(shù)器初始值嚴(yán)格按照原始公式給出的條件下測(cè)得 以 個(gè)人計(jì)算機(jī)機(jī)系統(tǒng)時(shí)鐘為標(biāo)準(zhǔn) 從表 5 1 中的數(shù)據(jù)可知 嚴(yán)格按照原始公式得出 的計(jì)數(shù)初值是存在極大誤差的 這個(gè)誤差總使系統(tǒng)時(shí)間變慢 而且 系統(tǒng)時(shí)間的誤 差值隨著每秒中斷次數(shù)的增多而增大 隨計(jì)時(shí)總長(zhǎng)的增長(zhǎng)而增大 并且總是成比例 在誤差允許的范圍內(nèi) 這就是說 系統(tǒng)的誤差跟每秒中斷次數(shù)和個(gè)人計(jì)算機(jī)標(biāo)準(zhǔn) 時(shí)長(zhǎng)的乘積 即中斷總次數(shù) 成正比 也就是說 每次中斷計(jì)時(shí)的時(shí)間誤差是一個(gè) 常數(shù) 誤差來源分析 不考慮晶振等固件的誤差 則系統(tǒng)機(jī)器周期可以由公式 1 準(zhǔn) 確給出 因而系統(tǒng)誤差不可能來自于硬件 而應(yīng)該主要來自于軟件方面 系統(tǒng)每次 調(diào)用定時(shí)中斷程序的過程中 硬件并沒有自動(dòng)進(jìn)入下一個(gè)定時(shí)周期 而是在調(diào)用中 斷程序以后由軟件置數(shù)來實(shí)現(xiàn)的 表表 5 1 系統(tǒng)時(shí)間校正測(cè)試數(shù)據(jù)系統(tǒng)時(shí)間校正測(cè)試數(shù)據(jù) 每秒定時(shí)中斷次數(shù) KPC 標(biāo)準(zhǔn)時(shí)長(zhǎng) min X系統(tǒng)時(shí)間誤差 T S備注 160602000 59 5 9 1顯示器無閃爍 1601202001 59 5 8 2顯示器無閃爍 1601802002 59 5 7 3顯示器無閃爍 1602402003 59 5 6 4顯示器無閃爍 西南科技大學(xué)本科生畢業(yè)論文 30 1603002004 59 5 4 6顯示器無閃爍 1603002104 59 5 9 1顯示器無閃爍 1606002109 59 5 8 2顯示器無閃爍 而在程序調(diào)用過程中 堆棧建立 參數(shù)傳遞等都是需要耗時(shí)的 而這些時(shí)間都 被無形中加到了定時(shí)長(zhǎng)度中去 所以 使得每次定時(shí)長(zhǎng)度都大于理論推導(dǎo)值 在宏 觀上表現(xiàn)出來就是系統(tǒng)比理論計(jì)算出來的結(jié)果變慢了 這于表格 1 所得的結(jié)論恰好 一致 另外 由于系統(tǒng)每次調(diào)用中斷處理程序所執(zhí)行的操作都是相同的 也就是說 系統(tǒng)每次定時(shí)的時(shí)間誤差應(yīng)該是一個(gè)常數(shù) 這也恰好跟實(shí)驗(yàn)數(shù)據(jù)相吻合 由上面的 數(shù)據(jù)和分析可知 原始公式應(yīng)該修改為 5 3 xX tk n 0 1 2 則由表格 5 1 可得相關(guān)的計(jì)算公式為 5 4 60 0 tKT t X 由表格 5 1 數(shù)據(jù) 實(shí)際要求 k 最小 而又不影響顯示效果 才能使誤差越小 故實(shí) 測(cè)中取 k 160 根據(jù)表 5 1 計(jì)算得 k 20 所用晶振頻率為 11 0592 MHz 由表 5 1 的實(shí)驗(yàn)方法 可得參數(shù)優(yōu)化后的計(jì)時(shí)測(cè)試數(shù)據(jù)見表 5 2 表表 5 2 參數(shù)優(yōu)化后的計(jì)時(shí)測(cè)試數(shù)據(jù)參數(shù)優(yōu)化后的計(jì)時(shí)測(cè)試數(shù)據(jù) 每秒定時(shí)中斷次數(shù)PC 標(biāo)準(zhǔn)時(shí)長(zhǎng) min系統(tǒng)計(jì)時(shí)誤差 T S備注 1001000 09 58 2顯示器無閃爍 2001000 09 57 3顯示器無閃爍 4001000 09 55 5顯示器無閃爍 8001000 09 49 11顯示器無閃爍 16001000 09 39 21顯示器無閃爍 32001000 09 18 42顯示器無閃爍 32002000 18 38 82顯示器無閃爍 32003000 27 57 123顯示器無閃爍 32006000 55 54 246顯示器無閃爍 西南科技大學(xué)本科生畢業(yè)論文 31 320012001 51 46 494顯示器無閃爍 320018002 47 38 742顯示器無閃爍 320024003 43 31 989顯示器無閃爍

溫馨提示

  • 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. 人人文庫(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)論