07電科電子檔桌面_第1頁
07電科電子檔桌面_第2頁
07電科電子檔桌面_第3頁
07電科電子檔桌面_第4頁
07電科電子檔桌面_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、科技學院 2011 屆本科單片機日歷時鐘開發(fā)學科專業(yè):電子信息科學與技術(shù) 指導(dǎo)教師:學生:印學生學號:072004110443中國貴陽2011 年 5 月目錄畢業(yè)設(shè)計1摘要1前言2第一章 概述31.1 簡介31.2 單片機的發(fā)展史31.3 時鐘日歷的特征3第二章 系統(tǒng)原理和硬件設(shè)計52.1 硬件的選擇52.2 AT89C51 單片機介紹62.3 時鐘介紹122.4 LED 介紹182.5 74LS154 介紹202.6 ULN2003 介紹21第三章設(shè)計233.1 主程序233.2時間的所有序253.3 顯示刷新的序28第四章 調(diào)試過程以及數(shù)據(jù)分析324.1 調(diào)試硬件324.2 調(diào)試.324.

2、3 調(diào)試 KEIL334.4 調(diào)試試驗箱33第五章 結(jié)論34致謝35文獻36單片機日歷時鐘開發(fā)摘要本次設(shè)計采用了時鐘日歷DS12887,這具備年、月、日、時、分、秒計時功能及多點定的時功能,計時數(shù)據(jù)的更新在于計算機匯編語言的驅(qū)動下每一秒自動進行一次,但是不需程序干預(yù)他的輸出狀態(tài)。此外,這帶有鋰電池做備用電源,具備的計時功能和可編程輸出功能,可用作實時測控系統(tǒng)的采樣信號等。這種時鐘中還帶有非易失性 RAM,可存放需長期保存但有可能需變更的數(shù)據(jù)。本次設(shè)計的 LED 數(shù)碼管電子時鐘電路采用 24 小時制記時方式,日期及時間用 16 位數(shù)碼管顯示。設(shè)計采用 AT98C51 單片機,使用 5V 電源供電

3、,并且在按鍵的作用下可以進入省電及正常顯示兩種狀態(tài)。本次設(shè)計采用AT89C51單片機的擴展和UNL2003做為驅(qū)動,由多塊LED數(shù)碼管組成的顯示系統(tǒng),和傳統(tǒng)8/16位普通單片機的LED顯示系統(tǒng)相比較,本系統(tǒng)在不明顯地增加成本的情況下,可帶動的LED數(shù)碼管穩(wěn)定顯示。:;計時;驅(qū)動This design USES a clock, this chip DS12887 calendar chips with date and time, minutes and seconds timing function and much of DianDing when the update data,time

4、r function of the computer assembly language is driven by automatically onceevery second, but does not need to programthe chip with lithium batteries do standbyervention his output se. In addition,er, and have permanent timer functionand programmable square wave output function, can be used for real

5、-time slingsignal measurement and control system etc. This clock chip still contain non-volatileRAM, can deit sex to long-term preservation but may need to change of data. Thisdesign LED digital tube electronic clock circuit USES 24-hour system date and timetime-sted way, with 16 digital tube displa

6、y. Design USES AT98C51microcontroller, use 5Ver supply, and the role of the buttons can enter saveelectricity and normal showed the two se.This design USES AT89C51 extenks, LED digital display system, comchip and UNL2003 chip as drive byed of tube and traditional 8/16 ordinarycMCU LED display system

7、, this system in compared to increase cost is not apparent,can bring more stable LED digital display of tube.Keywords: chip timing driver前言單片機的就像是一臺計算機,由于單片機的集成度較高、體積微小、可靠性強、控制功能良好、低電壓、功耗特點使其廣泛應(yīng)用于各種智能儀器儀表、機電、實時、人們的生活中。除此之外還也廣泛應(yīng)用辦公自動化、商業(yè)、汽車和通信系統(tǒng)、計算機外部設(shè)備等等,且單片機已經(jīng)成為計算機發(fā)展及其應(yīng)用很重要的一面??梢娏己谜莆諉纹瑱C的使用方法及利用單片機來

8、解決實際問題具有重要意義。這個設(shè)計是用 AT89C51 單片機系統(tǒng)擴展的基本原理和方法然后結(jié)合本次設(shè)計的題目進行系統(tǒng)擴展,通過單片機來驅(qū)動DS12887 進行年、月、日、時、分、秒顯示,最后使用 74LS154 譯碼和 ULN2003 驅(qū)動 LED 動態(tài)顯示的方法來完成設(shè)計任務(wù),中附帶電路圖、程序及各數(shù)據(jù)單元的所處地址和輸入輸出口對應(yīng)表格。第一章 概述1.1 簡介隨著電子技術(shù)迅速的發(fā)展,尤其是隨著大規(guī)模集成電路產(chǎn)生而出現(xiàn)的微型計算機,給人們的生活帶來了極大的方便。走入家庭,從電視機、洗衣機到微波爐、汽車,到處都可以見到單片機的蹤影。如果說微型計算機的出現(xiàn)促使現(xiàn)代科學研究得到了質(zhì)的飛躍,那么就可

9、以毫不夸張的說:“單片機的出現(xiàn)則是給現(xiàn)代工業(yè)測控領(lǐng)域帶來了一次新工業(yè)”?,F(xiàn)在的單片機以其可靠性高和智能性強等特點被廣泛使用到工業(yè)控制、智能化儀器儀表、辦公自動化等領(lǐng)域中,并且已進入家庭,所以,單片機的開發(fā)和應(yīng)用水平逐步成為一個國家自動化發(fā)展水平重要的標志之一。1.2 單片機的發(fā)展史單片機是微型計算機的一個重要分支,也是一種非?;钴S和頗具生命力的機種,特別適用于工業(yè)控制領(lǐng)域。1971 年微處理器研制成功,就出現(xiàn)了單片機,但最早的單片機是 1 位的,處理能力有限。單片機的發(fā)展共分四個階段:第一階段是初級階段,功能非常簡單;第二階段是低性能階段,以EL 公司制造的 MSC-48 系列單片機為代表。第

10、三階段為高性能單片機階段,這個階段推出的單片機普遍帶有穿行接口,多級中斷系統(tǒng),16 位定時器/計數(shù)器,片內(nèi) ROM、RAM 容量加大,直到現(xiàn)在仍被廣泛應(yīng)用,是目前應(yīng)用數(shù)量較多的單片機。第四階段是 8 位單片機鞏固發(fā)展以及 16 位單片機、32 位單片機推出階段,以滿足不同的用戶需要??v觀單片機幾十年的發(fā)展歷程,單片機的今后發(fā)展方向?qū)⑾蚨喙δ?、高性能、高速度、低功耗、低價格、電路內(nèi)裝化以及內(nèi)器容量增加和 FLASH器化方向發(fā)展。1.3 時鐘日歷的特征DS12887 時鐘(RTC)可提供一個實時時鐘、日歷、三個可中斷(共用一個中斷輸出)、可編程輸出和 114 字節(jié)的電池備份靜態(tài) RAM。DS128

11、87 在24 引腳模塊 DIP 封裝內(nèi)集成了晶體和鋰電池。DS12887 在地址 32h 內(nèi)增加了世紀字節(jié)。對于少于 31 天的月份,所有器件的日期能夠在月末自動調(diào)整,帶有閏年補償。該器件可配置為 24 小時或 12 小時格式,帶M 指示。精確的溫度補償電路用于監(jiān)視的 VCC 狀態(tài)。一旦檢測到主電源失效,器件可自動切換到備用電源,在主電源掉電時還可以保持有效的時間和日期。該器件通過一個復(fù)用的字節(jié)寬度接口,支持el 和 Motorola 模式,具有以下特點:直代 IBM AT 計算機時鐘/日歷;RTC 可顯示秒、分、時、日、月、年信息,具有潤年補償,有效期 2099 年;清除 RAM 功能;具有

12、M 標示的 12 小時模式或 24 小時模式;周期可設(shè)置在 122s 至 500ms;可選擇 Motorola 或el 總線時序;接口配合可尋址 128 RAM;14 字節(jié)時鐘與控制寄存器;114 字節(jié)通用、電池備份 RAM (DS12C887和 DS12C887A為 113 字節(jié));用二進制或 BCD 表示時間;總線兼容的中斷請求;三路中斷可分別通過與檢測;可選擇 28 引腳 PLCC 表面貼裝封裝;時鐘終止刷新周期標志;選擇;可編程的輸出信號;可選的工業(yè)級溫度范圍;自動電源失效檢測和切換電路。第二章 系統(tǒng)原理和硬件設(shè)計本次的設(shè)計題目是電子萬年歷設(shè)計,要求實現(xiàn)年、月、日、時、分、秒的正常顯示

13、,需要硬件和的結(jié)合來實現(xiàn)。本次設(shè)計利用時鐘日歷DS12887的特性和AT89C51單片機的功能利用實現(xiàn)的。時鐘在電源的作用下向通過P2口向AT89C51單片機輸入時間信號,AT89C51單片機在接受到時間信號后通過P0將信號送到單片機另一擴展ULN2003,驅(qū)動LED數(shù)碼管顯示,同時將信號通過P1口送往單片機的擴展74LS154,當送出第一個段碼時,單片機輸出的位碼是0001,而經(jīng)過416譯74LS后就是1111 1110,這時就選中了第一個數(shù)碼管顯示;當送出第十六個段碼時,單片機輸出的位碼是1111,416譯輸出0111 1111 1111 1111,這時就選中了第十六個數(shù)碼管顯示,從而74

14、LS154將接收到的地址信號譯碼后動態(tài)驅(qū)動相應(yīng)的LED,由于LED數(shù)碼管的公共端由74LS154分時選通,這樣,這樣任何一個時刻,都只有一位LED在點亮,也即動態(tài)掃描顯示方式。根據(jù)設(shè)計的要求萬年歷要顯示年、月、日、時、分、秒的顯示就需要16個顯示數(shù)碼管。根據(jù)設(shè)計要求,用按鍵來實現(xiàn)省電和正常顯示的切換,當按鍵按下時進入省電模式,否常顯示。在明確本次設(shè)計思路之后,畫出設(shè)計框圖,總體框圖如圖2.1所示。圖 2.1 設(shè)計總體框圖2.1 硬件的選擇時鐘選擇選用 DS12887 時鐘。單片機的選擇選用 AT89C51 單片機,并配備 11.0592MHz 晶振,復(fù)位電路采用上電復(fù)位。2.2 AT89C51

15、 單片機介紹AT89C51 單片機是一種低功耗,高性能的片內(nèi)含有 4KB 可編程/擦除只讀存儲器(FPEROMFlash Programmable and Erasable Read Only Memory)的 8位 COMS 微控制器。使用高密度,非易失技術(shù)制造,并且與 AT89C51 引腳和指令系統(tǒng)完全兼容。上的 FPEROM 允許編程或采用通用的非易失編程器對器重復(fù)編程。AT89C51 單片機帶有 2K 字節(jié)閃爍可編程可擦除只讀器的單片機,其內(nèi)部的可擦除只讀器可以反復(fù)擦除 100 次。該器件采用 ATMEL 高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的 MCS-51 指令集和輸出管腳相兼

16、容。由于將多功能 8 位 CPU 和閃爍器組合在單個中,ATMEL 的 AT89C51 單片機是一種高效微控制器,也為控制系統(tǒng)提供了一種靈活性高且價廉的方案,這就顯示出了 AT89C51 單片機的優(yōu)越性。2.2.1 單片機的AT89C51 單片機是在一塊中集成了 CPU、RAM、ROM、定時器/計數(shù)器和多種功能的 I/O 線等一臺計算機所需要的基本功能,AT89C51 單片機單片機內(nèi)包含下列幾個:一個 8 位 CPU;一個片內(nèi)振蕩器及時鐘電路;4K 字節(jié) ROM 程序器;128 字節(jié) RAM 數(shù)據(jù)器;兩個 16 位定時器/計數(shù)器;可尋址 64K 外部數(shù)據(jù)器和 64K 外部程序器空間的控制電路;

17、32 條可編程的 I/O 線(四個 8 位并行 I/O 端口);顯示電路選擇采用譯碼動態(tài)顯示,P3.0-P3.3 作數(shù)碼管的位選口。 P1.0-P1.6 作數(shù)碼管的段選口??紤]直接用單片機 I/O 口作位選時驅(qū)動功率不夠,因此采用 UNL2003 作驅(qū)動,共陰極數(shù)碼管顯示。電源選擇采用直流 5V 電源供電。選擇器的選擇采用 4 線16 線譯74LS154。一個可編程全雙工串行口;具有五個中斷源、兩個優(yōu)先級嵌套中斷結(jié)構(gòu)。其機構(gòu)框圖如圖 2.2 所示:圖 2.2MCS-51 單片機機構(gòu)框圖2.2.2 AT89C51 單片機性能及特點(1)與 MCS-51 微控制器產(chǎn)品系列兼容。(2)片內(nèi)有 4KB

18、 可重復(fù)編程的快閃擦寫器(FlashMemory)。(3)器可循環(huán)寫入/擦除 1000 次。(4)全靜態(tài)工作:可從 0HZ 到 16MHZ。(5)工作電壓范圍:VCC 可為 2.7V6V。(6)數(shù)據(jù)保存時間為 10 年。(7)程序器具有 3 級加密保護。(8)1288 位RAM。(9)可編程全雙工串行通道。(10)兩個 16 位定時器/計數(shù)器。(11)中斷結(jié)構(gòu)具有 5 個中斷源和 2 個優(yōu)先級。(12)32 條可編程 I/O 線。(13)空閑狀態(tài)維持低功耗和掉電狀態(tài)保存內(nèi)容。2.2.3 振蕩器特性XTAL1 和 XTAL2 分別為反向放大器的輸入和輸出,該反向放大器可以配置為片內(nèi)振蕩器。振蕩和

19、陶瓷振蕩均可采用,如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。由于輸入至時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。2.2.4擦除整個 PEROM 陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE 管腳處于低電平 10ms 來完成。在擦操作中,代碼陣列全被寫“1”且在任何非空字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,AT89C51 單片機設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種可選的掉電模式。在閑置模式下,CPU 停止工作,但 RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存 RAM 的

20、內(nèi)容并且凍結(jié)振蕩器,所用其他功能,直到下一個硬件復(fù)位為止。為了滿足一些應(yīng)用系統(tǒng)的特殊要求,有時要進行一些系統(tǒng)的擴展設(shè)計以彌補單片機資源的。單片機的擴展系統(tǒng)通過并行 I/O 接口或串行 I/O 接口做總線,在外部擴展程序器、數(shù)據(jù)器或輸入/輸出接口及其他功能以滿足一些控制系統(tǒng)的特殊要求,AT89C51 單片機的擴展系統(tǒng)結(jié)構(gòu)如圖 2.3 所示。圖 2.3 AT89C51 單片機擴展系統(tǒng)結(jié)構(gòu)2.2.5 AT89C51 單片機的引腳說明AT89C51 單片機采用 40 條引腳雙列直插式器件,引腳除 5V(40 腳)和電源地(20 腳)外,其功能分為時鐘電路、控制信號、輸入/輸出三大部分,邏輯框圖及引腳圖

21、分別如圖 2.4(a)(b)所示(a)(b)圖 2.4 AT89C51 單片機邏輯圖與引腳圖AT89C51 單片機的硬件結(jié)構(gòu)中除了程序器由 FPEROM 取代了 87C51單片機的 EPROM 外,其余部分完全相同,其管腳說明如下:(1)GND:接地(2)VCC:供電電壓(3)時鐘電路XTAL1(19 腳)振蕩電路(單級反相放大器)輸入端。XTAL2(18 腳)振蕩電路(單級反相放大器)輸出端。(4)控制信號RST(9 腳)復(fù)位信號:時鐘電路工作后,在此引腳上將出現(xiàn)兩個機器周期的,進行初始復(fù)位,P0 口P3 口輸出,將初值 07H 寫入堆棧指針。ALE(30 腳)地址鎖存信號:當外部器時,P0

22、 口輸出的低 8 位地址由 ALE 輸出的控制信號鎖存到片外地址鎖存器,P0 口輸出地址低 8 位后,又能與片外器之間傳送信息。另外,ALE 可驅(qū)動 4 個 TTL 門。個 TTL 門電流。當 P3 口寫入“1”后,它們被上拉為,并用作輸入。由于外部下拉為低電平,P3 口將輸出電流,這是由于上拉的緣故。P3 口也可作為 AT89C51 的一些特殊功能口使用如:P3.0RXD(串行輸);P3.1TXD(串行輸出口);P3.2/0(外部中斷 0);P3.3/1(外部中斷 1);P3.4T0(記時器 0 外部輸入);P3.5T1(記時器 1 外部輸入);P3.6/WR(外部數(shù)據(jù)器寫選通);P3.7/

23、RD(外部數(shù)據(jù)器讀選通);2.2.6器在單片機器的設(shè)計上,其共同特點是將程序器與數(shù)據(jù)器分開,它們有各自的尋址方式。AT89C51 單片機片內(nèi)具有數(shù)據(jù)器,同時還具有強大的外部器擴展能力,器是單片機系統(tǒng)中的重要組成部分。在一片內(nèi)除了許多基本的單元的矩陣外,還包括譯讀寫電路,碼驅(qū)動電路等。圖 2.5 為半導(dǎo)體器的基本結(jié)構(gòu)框圖。圖 2.5 半導(dǎo)體器的基本結(jié)構(gòu)框圖(1) 單片機器分類MCS-51 系列單片機的器可分五類:程序器、數(shù)據(jù)器、特殊功能寄存器、位尋址區(qū)、外部數(shù)據(jù)器 I/O 接口。程序器:存放程序的器稱為程序器。程序器是以程序計數(shù)器 PC 做地址指針的,MCS-51 單片機的程序計數(shù)器為 16 位

24、,因此可尋址的空間為 64KB。AT89C51 系統(tǒng)中沒有片內(nèi)程序器,0000H0H 都是外部程序存儲器空間。數(shù)據(jù)器:MCS-51 單片機有 128B 的數(shù)據(jù)器 RAM,數(shù)據(jù)器的編址為 00H7FH。不同的地址區(qū)域內(nèi)功能也不完全相同。單片機結(jié)構(gòu)的特點之一是工作寄存器與數(shù)據(jù)器編址。MCS-51RAM 的 00H1FH為工作寄存器區(qū),共分 4 個區(qū),每區(qū)有 8 個寄存器。當前程序使用的工作寄存器區(qū),是由狀態(tài)字 PSW 的第 3、4 位指示的,PSW 的狀態(tài)和工作寄存器區(qū)的關(guān)系如表 2.1 所示:表 2.1PSW 的狀態(tài)和工作寄存器區(qū)的關(guān)系2.3 時鐘介紹DS12887是時鐘能較強的一種,它將晶體振

25、蕩電路、充電電路和可充電鋰電池等一起封裝在的上方,組成一個加厚的集成電路模塊。電路通電時,其充電電路便自動對可充電電池充電,其包含非易失時鐘、警報器、百年歷、可編程中斷、發(fā)生器和 114 個字的非易失靜態(tài) RAM。DS12887 具特殊功能寄存器區(qū)AT89C51 內(nèi)的 I/O 鎖存器、定時器、串行接口數(shù)據(jù)緩沖器以及各種控制狀態(tài)寄存器和狀態(tài)寄存器都是以特殊功能寄存器的形式出現(xiàn)的,它們零散地分布于 80HFFH 的地址空間范圍內(nèi),特殊功能寄存器具有各自的地址空間映像。位尋址空間MCS-51 的位尋址空間為 00H7FH,為 RAM 中 20H2FH 的 16 個單元的 128 位,凡是字節(jié)地址能被

26、 8 整除的特殊功能寄存器都具有位地址的,它們零散地分布在 80HFFH 的空間內(nèi)。外部數(shù)據(jù) 器 I/O 接口AT89C51 提供了擴展 64KB 的外部數(shù)據(jù) 器和輸入/輸出口的能力,具有十分廣泛的應(yīng)用。PSW.4(RS1)PSW.3(RS0)當前使用的工作寄存器區(qū)(R0R7)000 區(qū)(00H07H)011 區(qū)(08H0FH)102 區(qū)(10H17H)113 區(qū)(18H1FH)圖 2.6 DS12887 的封裝形式DS12887 主要功能介紹內(nèi)含一個鋰電池,斷電后運行十年以上不丟失數(shù)據(jù)。計秒,分,時,天,日,月,年,并有閏年補嘗功能。二進制數(shù)碼或 BCD 碼表示時間,日歷和定鬧。12 小時或

27、 24 小時制,12 小時時鐘模式帶有 PM 和 AM 指示,有夏令時功能。Motorola 和el 總線時序選擇,可編程信號輸出。有 128 個字節(jié) RAM 單元與接口,其中 14 個字節(jié)作為時鐘和控制寄存器,114 字節(jié)為通用 RAM,所有 RAM 單元數(shù)據(jù)都具有掉電保護功能。中斷信號輸出(IRQ)和總線兼容,周期性中斷、時鐘更新周期結(jié)束中斷可分別由,也可以分別進試。工作電壓:+4.55.5V。工作溫度的范圍:070。2.3.1 DS12887 引腳說明及使用方法有日歷、時鐘、低功耗靜態(tài) RAM、輸出信號等功能,石英晶振和寫保護電路也封裝在內(nèi),在斷電情況下仍能保持時間和內(nèi)存。DS12887

28、 可以方便地與單片機接口,并由單片機系統(tǒng)對其進行操作得到日歷、時鐘信息,輸出信號用于秒信號的顯示。其封裝方式為 24 腳雙排直列,如圖 2.6 所示。DS12887由振蕩電路,分頻電路,周期中斷/選擇電路,14 字節(jié)時鐘和控制單元,114 字節(jié)用戶非易失 RAM,十進制/二進制累加器,總線接口電路,電源開關(guān)寫保護單元和鋰電池等部分組成。DS12887 引腳分配如圖 2.6 所示,各管腳說明如下:VCC:直流電源+5V 電壓。當 5V 電壓在正常范圍內(nèi)時,數(shù)據(jù)可讀寫;當 VCC低于 4.25V,讀寫被,計時功能仍繼續(xù);當 VCC 下降到 3V 以下時,RAM 和計時器供電被切換到鋰電池。MOT(

29、模式選擇):MOT 引腳接到 VCC 時,選擇 MOTOROLA 時序,當接到 GND時,選擇el 時序。SQW(信號輸出):SQW 引腳能從實時鐘15 級分頻器的 13 個抽頭中選擇一個作為輸出信號,其輸出頻率可通過對寄存器 A 編程改變。AD0-AD7(雙向地址/數(shù)據(jù)復(fù)用線):總線接口,可與 Motorola 微機系列和el 微機系列接口。AS(地址選通輸入):用于實現(xiàn)信號分離,在 AD/ALE 的下降沿把地址鎖入DS12887。DS(數(shù)據(jù)選通或讀輸入):DS/RD 引腳有兩種操作模式,取決于 MOT 引腳的電平,當使用 Motorola 時序時,DS 是一正脈沖,出現(xiàn)在總線周期的后段,稱

30、為數(shù)據(jù)選通;在讀周期,DS 指示 DS12887 驅(qū)動雙向總線的時刻;在寫周期,DS 的后沿使 DS12887 鎖存寫數(shù)據(jù)。選擇el 時序時,DS 稱作(RD),RD 與典型存貯器的允許信號(OE)的定義相同。R/W(讀/寫輸入):R/W 引腳也有兩種操作模式。選 Motorola 時序時,R/W是低電平信號時,指示當前周期是讀或?qū)懼芷?,DS 為時,R/W指示讀周期,R/W 信號一低電平信號,稱為 WR。在此模式下,R/W 引腳與通用 RAM 的寫允許信號(WE)的含義相同。CS(片選輸入):在DS12887 的總線周期內(nèi),片選信號須保持為低。IRQ(中斷申請輸入):低電平有效,可作微處理的中

31、斷輸入。沒有中斷的條件滿足時,IRQ 處于高阻態(tài)。IRQ 線是漏極開路輸入,要求外接上接電阻。RESET(復(fù)位輸出):當該腳保持低電平時間大于 200ms,DS12887 有效復(fù)位。時間和日歷單元時間和日歷信息通過讀相應(yīng)的內(nèi)存字節(jié)來獲取,時間和日歷通過寫相應(yīng)的內(nèi)存字節(jié)設(shè)置或初始化,其字節(jié)內(nèi)容可以是二進制或 BCD 形式。時間可選擇 12 小時制或 24 小時制,當選擇 12 小時制時,小時字節(jié)的高門為邏輯“1”代表 PM。時間和日歷字節(jié)是雙緩沖的,總是可的。非易失 RAM在 DS1288 中,114 字節(jié)通用非易失 RAM 不一任何特殊功能,它們可被處理器程序用作非易失內(nèi)存,在更新周期也可。中

32、斷RTC 實時時鐘加 RAM 向處理器提供三個獨立的,自動的中斷源。定鬧中斷的發(fā)生率可編程,從每秒一次到每天一次,周期性中斷的發(fā)生率可從 500ms 到 122s選擇。更新結(jié)束中斷用于向程序指示一個更新周期完成。中斷控制和狀態(tài)位在寄存器 B 和 C 中,本文的其它部分將詳細描述每個中斷發(fā)生的條件。晶振控制位DS12887 出廠時,其晶振會被關(guān)掉,以防止鋰電池在裝入系統(tǒng)前被消耗,寄存器 A 的 BIT4-BIT6 的其它組合都是使用晶振關(guān)閉。更新周期DS12887 每一秒執(zhí)行一次更新周期,保證時間、日歷的準確。DS12887RAM寄存器地址功能DS12887 的地址由 114 字節(jié)的用戶 RAM

33、 存放。10 字節(jié)的存放實時時鐘時間,日歷和控制和狀態(tài)的 4 字節(jié)特殊寄存器組成,幾乎所有的 128 個字節(jié)直接讀寫。表 2.2 為 DS12887RAM 和各寄存器地址分布表,其中,地址 00H03H單元的取值范圍是 00H3BH(10 進制為 059);04H05H 單元按 12 小時值范圍是上午(AM)01H0CH(112),下午(PM)81H8CH(8192)按 24小時值范圍是 00H17H(123);06H 單元取值范圍是 00H07H(07);07H 單元取值范圍 01H1FH(131);08H 單元取值范圍是 01H0CH(112);09H 單元的取值范圍是 00H63H(09

34、9)。DS12887 的 RAM 和各寄存器的訪問如下實現(xiàn),若片選地址 DS=#0DDXXH,則RAM 和寄存器和地址為#0DD00H#0DD7FH。應(yīng)的是,盡管 DS12887 的時標年寄存器只有一個,但是通過編程可利用其的不掉電的 RAM 區(qū)的一個字節(jié)實現(xiàn)年度的高兩位顯示,所以,DS128872000 年的計時不成問題。表 2.2DS12C887RAM 和各寄存器地址寄存器 A寄存器 A 各位不受復(fù)位的影響,UIP 位為只讀位,其它各位均為可讀寫,寄存器的控制字的格式如表 2.3 所列。表 2.3 DS12887 控制寄存器 A 各位定義(1)UIP 位:更新周期標志位。該位為“1”時,表

35、示正處于或?qū)㈤_始IT7IT6IT5BIT4IT3IT2IT1IT0IPV2V1DV0S3S2S1S0地址單元用途地址單元用途地址00H秒地址01H秒鬧地址02H分地址03H分鬧地址04H時地址05H時鬧地址06H地址07H日(兩位數(shù))地址08H月(兩位數(shù))地址09H年(兩位數(shù))地址0AH寄存器 A地址0BH寄存器 B地址0CH寄存器 C地址0CH寄存器 D0EH7EH不掉電 RAM 區(qū),共 114字節(jié)更新周期,此時程序讀寫時標寄存器;該位為“0”時,表示至少在 244us后才開始更新周期,此時程序可讀內(nèi)時標寄存器,是只讀位。(2) DV0、DV1、DV2:振蕩器 RTC 控制位。當解除復(fù)位狀態(tài)

36、,并將 010 寫入 DV0、DV1、DV2 后,另一個更新周期會在 500ms 后開始。因此,在程序初始化時可用這三位精確地使在設(shè)定的時間開始工作。這與 MC146818是不同的,DS12887 是固定使用 32 768Hz 的晶體,所以,DV0=“0”,DV1=“1”,DV2=“0”,即只有一種 010 的組合選擇時可啟動 RTC。(3) RS3、RS2、RS1、RS0:周期中斷可編程輸出速率選擇位。各種不同的組合可以產(chǎn)生不同的輸出。程序可以通過設(shè)置寄存器 B 的 SQWF 和 PIE 位控制是否允許周期中斷輸出,其寄存器 A 輸出速率選擇位如表 2.4 所示。表 2.4 DS12887

37、控制寄存器 A 輸出速率選擇位定義寄存器 A 輸出速率選擇位32768Hz 時的狀態(tài)RS3RS2RS1RS0中斷周期SQWF 輸出頻率0000無無00013.96625ms256Hz00107.8125ms128Hz0011122.07us8.192kHz0100244.141us4.096kHz0101488.281us2.048kHz0110976.562us1.024kHz01111.953125ms512Hz10003.90625ms256Hz10017.812ms128Hz101015.625ms64Hz101131.25ms32Hz110062.5ms16Hz1101125ms8H

38、z1110250ms4Hz(4)DS12887 的中斷和更新周期DS12887 處于正常工作狀態(tài)時,每秒鐘將產(chǎn)生一個更新周期,處于更新周期的標志是寄存器 A 中的 UIP 位為“1”。在更新周期內(nèi),時標寄存器數(shù)據(jù)處于更新階段,故在該周期內(nèi),微處理器不能讀時標寄存器的內(nèi)容,否則將得到不確定數(shù)據(jù)。更新周期的基本功能主要是刷新各個時標寄存器內(nèi)容,同時秒時標寄存器內(nèi)容加 1,并檢查其他時標寄存器內(nèi)容是否溢出,如果有溢出則相應(yīng)進位日、月、年。為了采樣時標寄存器中的數(shù)據(jù),DS12887 提供兩種避開更新周期內(nèi)時標寄存器的方案:第一種是利用更新周期結(jié)束發(fā)出的中斷。它可以編程允許在每次更新周期結(jié)束后發(fā)生中斷申

39、請,提醒CPU 將有998ms 左右的時間去獲取有效數(shù)據(jù),在中斷之后的 998ms 時間內(nèi),程序可先將時標數(shù)據(jù)讀支的不掉電靜態(tài)RAM 中。因為的靜態(tài) RAM 和狀態(tài)寄存器是隨時可讀寫的,在離開中斷服務(wù)序前應(yīng)清除寄存器 C 中的 IRQF 位。另一種是:利用寄存器 A 中的 UIP 位來指示是否處于更新周期。在 UIP 位從低變高 244us 后,將開始其更新周期,所以檢測到 UIP 位為低電平時,則利用 224us 的間隔時間去時標信息。如檢測到 UIP 位為“1”,則可暫緩讀數(shù)據(jù),等到 UIP 變?yōu)榈碗娖皆偃プx數(shù)據(jù)。(5) DS12887 初始化方法DS12887 采取連續(xù)工作制,一般無須每

40、次都需初始化,即使是系統(tǒng)復(fù)位時也如此。但初始化時,首先應(yīng)的更新周期操作,所以先將 DS12887狀態(tài)寄存器 B 中的 SET 位置“1”,然后初始化 00H09H 時標參數(shù)寄存器和狀態(tài)寄存器 A,此后再通過讀狀態(tài)寄存器 C,清除寄存器 C 中的周期中斷標志位 PF,中斷標志位 AF,更新周期結(jié)束中斷標志位 UF。通過讀寄存器口 D 中的 VRT位,讀狀態(tài)寄存器口后 VRT 位將自動置“1”,最后將狀態(tài)寄存器 B 中的 SET 位置“0”,即開始計時工作。2.4 LED 介紹LED 數(shù)碼管根據(jù) LED 的接法不同分為共陰和共陽兩類,了解 LED 的這些特性,對編程很重要,因為不同類型的數(shù)碼管,除

41、了它們的硬件電路有差異外,編程方1111500ms2Hz法也不同。圖 2.7(a)是共陰和共陽極數(shù)碼管的電路圖,它們的發(fā)光原理是一樣的,只是電源極性不同而已。將多只 LED 的陰極連在一起即為共陰式,而將多只 LED 的陽極連在一起即為共陽式。以共陰式為例,如把陰極接地,在相應(yīng)段的陽極連接上正電源,該段即會發(fā)光。當然,LED 的電流通常較小,一般均需在回路中接上限流電阻。假如我們將b和c段連接上正電源,其它端接地或懸空,那么b和c段發(fā)光,此時,數(shù)碼管將顯示數(shù)字“1”。而將a、b、d、e和g段都連接上正電源,其它引腳懸空,此時數(shù)碼管將顯示“2”。其它數(shù)字的顯示原理與此類同。LED 的 7 段數(shù)碼

42、管利用單只 LED 組合排列成“8”字型的數(shù)碼管,分別引出它們的電極,點亮相應(yīng)的點劃來顯示出數(shù)字 0-9。在這次的設(shè)計中采用的均為共陰極的 LED 顯示,當 I/O 口輸出為的時候,對應(yīng)段就會被點亮。LED 數(shù)碼管的結(jié)構(gòu)圖如圖 2.7(b)所示。(a)(b)圖 2.7LED 分類結(jié)構(gòu)圖和結(jié)構(gòu)圖這次設(shè)計的顯示部分采用 AT89C51 單片機動態(tài)掃描完成, 在多數(shù)的應(yīng)用場合中并不希望使用多 I/O 端口的單片機,原則上是使用盡量少引腳的器件。在沒有富余端口的情況下,應(yīng)通過優(yōu)化設(shè)計程序和擴展電路達到預(yù)期目的。動態(tài)掃描的頻率有一定的要求,頻率太低,LED 會出現(xiàn)閃爍現(xiàn)象。如頻率太高,由于每個 LED

43、點亮的時間太短,LED 的亮度太低,肉眼無法看清,所以一般均取幾個ms 左右為宜,這就要求在編寫程序時,選某一位 LED 使其點亮并保持一定的時間,程序上常采用的是調(diào)用延時序。LED 顯示電路(1)靜態(tài)顯示電路LDE 顯示器工作在靜態(tài)顯示時,其公共陽極(或陰極) 接 VCC(或 GND) ,一直處于顯示有效狀態(tài),所以每一位的顯示內(nèi)容必須由鎖存器加以鎖存,顯示各位間相互獨立。(2) 動態(tài)顯示電路將所有位的段選線的同名端聯(lián)在一起,由一個 8 位 I/O 口控制,形成段選線的多位復(fù)用。而各位的公共陽極或公共陰極則分別由相應(yīng)的 I/O 口線控制,實現(xiàn)各位的分時選通,即同一時刻只有被選通位是能夠顯示相應(yīng)

44、的字符,而其他所有位都是熄滅的。由于人眼有視覺暫留現(xiàn)象,只要每位顯示間隔足夠短,則會造成多位同時點亮的假象。這就需要單片機不斷地對顯示進行控制,CPU 需要不斷地進行顯示刷新,動態(tài)顯示電路參見圖 2.8,圖 2.8 中是擴展了五位的 LED 數(shù)碼管顯示,用一個 74LS154 作為五個 LED 的段選輸入,采用動態(tài)顯示方式連接的。類似地,16 位的 LED 數(shù)碼管的顯示也可以用這種方法來實現(xiàn)。圖 2.8 五位 LED 數(shù)碼管的動態(tài)顯示2.5 74LS154 介紹譯用于將數(shù)字儀表、計算機、和其它數(shù)字系統(tǒng)中的測量數(shù)據(jù)、運算結(jié)果譯成十制數(shù)顯示出來。本設(shè)計要共用到 16 個七段數(shù)碼管,單片機的 P0

45、端口只有 8 根線,根本不夠用,故而須用 74LS154 來擴展,74LS154 是 416 譯,只用單片機的四根線就可以接 16 個數(shù)碼管的位碼端,該設(shè)計中用了 74LS154 的全部端口。74LS154 的管腳圖和值表如圖 2.9(a)(b)所示。(a)(b)圖 2.974LS154 的管腳圖和值表2.6 ULN2003 介紹該設(shè)計用 74LS154 的 16 個端口,數(shù)碼管采用共陰極,因為有 16 個數(shù)碼管顯示,電流量不大,所以只用一個 ULN3003 即可驅(qū)動整個電路。ULN2003A 由Texas Instruments 公司、Sprague 公司生產(chǎn)、由 7組晶體管陣列和相應(yīng)的電阻

46、網(wǎng)絡(luò)以及鉗位二極絡(luò),可以同時驅(qū)動7 組負載的,為單片雙極型大功率高速集成電路。ULN2003 的管腳圖和原理圖如圖 2.10(a)(b)所示,UNL2003 的主要特性如表 2.5 所示:(a)(b)圖 2.10 ULN2003 的管腳圖和原理圖表 2.5 UNL2003 的主要特性表第三章設(shè)計本次設(shè)計采用匯編語言編程,主程序主要實現(xiàn)顯示的是初始化和調(diào)用各序工作的功能,時間的序主要實現(xiàn)初始化,時間信息和顯示段碼的存取。在顯示刷新序中采用動態(tài)顯示方式,每次從顯示緩沖區(qū)中取出一個段碼由譯送出,相應(yīng)位碼由 ULN2003 送出,輪流顯示。3.1 主程序程序功能:設(shè)定數(shù)碼管的初始狀態(tài)、不停地調(diào)用序,使

47、系統(tǒng)循環(huán)工作。并判斷按鍵的狀態(tài)。主程序框圖如圖 3.1 所示:圖 3.1 主程序框圖程序如下:0000HLJMPSTART0030HSTART:MOV30H,#0SETBP1.1SECONDEQU2000H;Timer RegistersMINUNTEEQU2002H; 時鐘寄存器HOUREQU2004HKEQU2006H;它們代表秒、分鐘、時、日期DATEEQU2007H;年、月MONTHEQU2008HYEAREQU2009H; 可以改變實際連線,地址也相應(yīng)改變TREGAEQU200AH; 四個控制寄存器TREGBEQU200BHTREGCEQU200CHTREGDEQU200DHTUPD

48、ATEEQU80H; 如果 TREGA.7=1,時鐘更新TBHALTEQU10000010B;24/12=1,采用 24小時計時制將 TBHALT 寫入TREGB,停止計時TBSALTEQU00000000B ;將 TBSTART 寫入 TREGB,繼續(xù)計時F32KEQU20HMOVA,#TBHALT;SET=1,PIE,AIE,UIE,SQWE=0,DM=0MOVXDPTR,A;24/12=1,24HOURS,DSE=0MOVDPTR ,#TREGDMOVA,#32H;設(shè)置控制寄存器,開晶振。MOVDPTR,AMOVDPTR,BHALTMOVA,DPTRMOVDPTR,AMOVA,DPTRM

49、OVA,#TBHALT;開始計時MOVXDPTR,ASS1:LCALLTIMERECLCALLANJIANJNBP1.1,SS1LCALLDSPLAYLIMPSS13.2時間的所有序程序功能:從日歷12C887A 中時間(年、月、日、時、分、秒存入以開頭的一段數(shù)據(jù)區(qū)中)。參數(shù):DPTR時間緩沖區(qū)指針,R3顯示緩沖區(qū)首址。圖 3.2時間序框圖TIMEREC: PUSHACCMOVACC,IECLRET0MOVR0,DPL;將指針存入 R0、R1MOVR1,DPHMOVDPTR,#TREGA;如果 12887A 正在更新則等待TIMEWALT:MOVXA,TRJBACC.7,TIMEWALT,否則

50、,秒數(shù)、分鐘等數(shù)值MOVDPTR,#SECONDMOVXA,TRMOVR6,A;先將數(shù)據(jù)保存、備用MOVDPL,R0程序如下:MOVDPH, R1MOVXA, DPTR;取出原來的秒數(shù)CLRCSUBA,R6;如果時間未改變則退出JNZGETTIMERETGETTIME:INCR3INCR3;指向“:”所指單元MOVA,R3CPLA;將“:”取反,每秒變化一次MOVR3,A;以控制亮和滅,形成閃爍效果MOVA,R6;恢復(fù)時間值MOVXDPTR,AINCDPTRMOVR0, DPLMOVR1, DPHMOVDPTR, #MINUTE;并分鐘MOVXA,DPTRMOVDPL,R0MOVDPH,R1M

51、OVXDPTR,AINCDPTRMOVR0, DPLMOVR1, DPHMOVDPTR , #HOUR;并小時MOVXA,DPTRMOVDPL, R0MOVDPH, R1MOVXDPTR,AINCDPTRMOVR0,#DPLMOVR1,#DPHMOVDPTR, #DATA;并日期MOVXA,DPTRMOVDPL, R0MOVDPH, R1MOVXDPTR,AINCDPTRMOVR0,#DPLMOVR1,#DPHMOVDPTR,#TONTH;并月份MOVXA,DPTRMOVDPL,R0MOVDPH,R1MOVXDPTR,AINCDPTRMOVR0, DPLMOVR1,DPHMOVDPTR,#HO

52、UR;并年號MOVCA,DPTRMOVDPL, R0MOVDPH, R1MOVXDPTR,A;寄存器恢復(fù)保護POPACCMOVIE, ACCPOPACCRET按鍵程序如下:ANJIAN:JBP1.0,A2LCALLDL1JBP1.0,A1A2:LCALLDISPLAYJNBP1.1,A2CPLP1.1A1:RET3.3 顯示刷新的序程序功能:動態(tài)的顯示從時間緩沖區(qū)取出連續(xù)的 2 個單元(分鐘、小時)轉(zhuǎn)化為四位 BCD 碼存入顯示緩沖區(qū)以供顯示。參數(shù):DPTR時間緩沖區(qū)首地址指針。R3顯示緩沖區(qū)首地址。程序框圖如圖 3.3 所示:圖 3.3 顯示刷新程序框圖程序如下:MOV40H,R3PUSHA

53、CCDISPLAY:MOVA, R3MOVR6,A;顯示指針首址保護,存入 R6INCDPTR;先將指針指向分鐘單元MOVXA,DPTRMOVR0,A;保護寄存器 A 數(shù)據(jù)ANLA;#0F0HSWAPA;得到小時的十位MOVR3,AINCR3;顯示指針加 1MOVA,R0ANLA,#0F0H;得到小時的個位MOVR3 ,A;存入顯示緩沖區(qū)INCR3;跳過分號的顯示單元INCR3DECDPTRMOVXA,DPTRSWAPA;得到分鐘的十位MOVR3,AINCR3; 顯示指針加 1MOVA,R0ANLA,#0F0H;得到分的個位MOVR3,A;存入顯示緩沖區(qū)DIS:MOVA,100000000BM

54、OVDPTR,#4003;指向 PC 口MOVXDPTR,A; A、C 口均為輸出,方式 0MOVR4,#1FH;位選字MOVA,R4;送位選字中間變量LD0:MOVDPTR,#4002H;指定 PC 口MOVXDPTR,A;送位選字入(采用共陰接法全滅)DECDPTR;指向 PA 口DECDPTRMOVA,R3 查段碼ADDA,#0DH;0DH 為從查表指令下一個機器碼至段選表首的偏移量MOVCA,A+PCMOVXDPTR, A;段選碼送 PB 口LCALLDL1 延時 1 毫秒INCR3;指向顯示緩沖區(qū)下一單元MOVA,R4JNBACC.0, LD1;判斷 16 位顯示完RRA;未顯示完,

55、變?yōu)橄乱晃晃贿x字MOVA, R4AJMPLD0 轉(zhuǎn)顯示下一位POPACCLD1:RETDSGE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,67H,77H,7CH;“0”“1”“2”“3”“4”“5”“6”“7”“8”“9”“A”“B”DB 39H,5EH,79H,71H;“C”“D”“E”“F”DL1:MOVR7,#02H;延時序DL: MOVR6,#0FFHDL6:DJNZR6,DL6DJNZR7,DLRET第四章 調(diào)試過程以及數(shù)據(jù)分析4.1 調(diào)試硬件硬件的調(diào)試比較。因為是調(diào)試所以不能對元件進行焊接,只可以把各個元件用導(dǎo)線連接起來。調(diào)試的整體過程為:各個系

56、統(tǒng)逐個調(diào)試,各部分調(diào)試成功后再進行組裝后的整體調(diào)試。調(diào)試過程包括:1. 顯示部分的調(diào)試問題:數(shù)碼管的顯示不穩(wěn)定,不停的閃爍。分析:沒有考慮到干擾及環(huán)境的制約問題。于是把在面包板上連接好的電路焊接在印刷板上,并采用電容濾波盡可能去除掉紋波和干擾。2. 控制部分的調(diào)試問題:按下按鍵后數(shù)據(jù)有時正常有時又不正常,數(shù)據(jù)的加減不夠穩(wěn)定。分析:根據(jù)分析有兩個問題可以導(dǎo)致此種現(xiàn)象,一是按鍵接觸不良可能有短路情況,二是程序部分有問題。用萬用表測量后發(fā)現(xiàn)按鍵按下后不穩(wěn)定,更換質(zhì)量更好的按鍵排除了。4.2 調(diào)試程序的調(diào)試分為幾個步驟,首先要在 WAVE6000中編譯通過,然后通過Keil把程序到單片機中最終調(diào)試出滿意的效果才算成功。1.WAVE6000 調(diào)試首先,啟動 WAVE6000 新建一個項目,輸入一個名字保存,然后打開“真器設(shè)置”,在“語言”選項中選擇“偉福匯編器”,“缺省顯示格式”選擇“混合十、十六進制”?!胺抡嫫鳌边x項下選擇“使用偉福模擬器”?!巴ㄐ旁O(shè)置”選項下選擇“使用偉福模擬器”。打開已經(jīng)寫好的程序,選擇“項目”菜單下的“編譯”命令,根據(jù) Message窗口的編譯信息修改程序中錯誤的地方。直到 Message 窗口中不再出現(xiàn)錯誤符號,全部顯示正確符號為止。雖然程序在 WAVE6000 中編譯通過了,但并不代表程序就沒有錯誤,只有最終出現(xiàn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論