版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、本科生畢業(yè)論文(設計)基于單片機實現(xiàn)電子時鐘的設計 學 院電氣信息工程學院專 業(yè)電氣工程及其自動化班 級12級電氣專升本 學 號0608120101學 生 姓 名胡卉 聯(lián) 系 方 指 導 教 師王安梅職稱:講師 2014年3月 獨 創(chuàng) 性 聲 明本人鄭重聲明:所呈交的畢業(yè)論文(設計)是本人在指導老師指導下取得的研究成果。除了文中特別加以注釋和致謝的地方外,論文(設計)中不包含其他人已經發(fā)表的研究成果。與本研究成果相關的所有人所做出的任何貢獻均已在論文(設計)中作了明確的說明并表示了謝意。簽名:_ _年_月_日授權聲明本人完全了解許昌學院有關保留、使用本科生畢業(yè)論文(設
2、計)的規(guī)定,即:有權保留并向國家有關部門或機構送交畢業(yè)論文(設計)的復印件和磁盤,允許畢業(yè)論文(設計)被查閱和借閱。本人授權許昌學院可以將畢業(yè)論文(設計)的全部或部分內容編入有關數(shù)據(jù)庫進行檢索,可以采用影印、縮印或掃描等復制手段保存、匯編論文(設計)。本人論文(設計)中有原創(chuàng)性數(shù)據(jù)需要保密的部分為(如沒有,請?zhí)顚憽盁o”): 學生簽名: 年月日指導教師簽名: 年月日基于單片機實現(xiàn)電子時鐘的設計 摘 要 本次設計的題目是基于單片機實現(xiàn)電子時鐘的設計,讓單片機可以正常的顯示年、月、日、時、分、秒。電子時鐘具有穩(wěn)定性高、成本低、精確度高以及實用、方便等特點,因此它特別適用于家庭、公司等場所,為人們的日
3、常生活帶來了極大地方便,逐漸成為人們生活中不可或缺的一部分。本次設計包括兩部分:硬件系統(tǒng)和軟件系統(tǒng)。硬件部分包括:AT89C51單片機,D74LS154譯碼器,S12C887時鐘芯片和ULN2003A驅動芯片。利用單片機將RC復位電路、動態(tài)顯示電路、電源電路、去抖電路等,把這些電路正確無誤的連接在一起,再通過給單片機編程來實現(xiàn)設計任務要求。關鍵詞: 單片機;日歷;位碼;段碼;顯示English SubjectABSTRACT The topic of this design is the electronic calendar, can normal display date and time
4、, minutes and seconds. Electronic calendar has stable performance, high precision, low cost, easy to prod, and convenient, practical etc. Characteristics Applicable to family ,company ,authority and many other places. For People's Daily life, travel arrangement provides convenient, become the pe
5、ople daily life is an indispensable part of. This design can be divided into two parts: hardware system, software system. Hardware part includes: AT89C51 single-chip microcomputer, DS12C887 clock chip, 74 LS154 decoder, ULN 2003A drive chip. Using single chip computer will RC reset circuit, dynamic
6、display circuit, the power supply circuit, to shake circuit the connections right in together, and through the micro-controller programming realize the design requirements of the task. . Key words:single chip micro computer; calendar; a code section; code;display目錄前 言21. 概 述211 單片機的組成及特點212 單片機的應用32
7、. 設計方案521 設計思路522 系統(tǒng)總體框圖53. 硬件設計731 單片機的選擇732 復位電路1033 晶振電路1134 時鐘芯片DS12C887介紹12341 DS12C887主要功能簡介12342 DS12C887引腳說明及原理13343 DS12C887的中寄存器的功能和作用14344 DS12C887的中斷和更新周期15345 DS12C887初始化方法15 35 74LS154芯片介紹及ULN2003A的簡介164. 軟件設計185. 單片機應用系統(tǒng)的測試26 51 在偉福中的調試26 52 在Keil中的調試并連接實驗箱27參考文獻31致 謝32 基于單片機實現(xiàn)電子時鐘的設計
8、前 言現(xiàn)在是一個電子數(shù)字發(fā)展時代,從家庭生活到工業(yè)發(fā)展都是以電子數(shù)字為基礎,例如自動報警器,自動鬧鈴等自動控制設備,給人類生活帶來極大的方便,因此研究電子時鐘為基礎再擴展其更深遠的發(fā)展,是一項對社會非常有意義的課題。1. 概 述 11 單片機的組成及特點 單片機是微型機的一個主要的分支,在結構上的最大的特點是把存儲器、CPU、多種輸入/輸出接口電和定時器路等集成在一塊超大規(guī)模的電路芯片上,這就是說一塊單片機芯片就相當于一臺計算機。 單片機通過內部總線,計算機的各主要部件被接為一體,它的內部總線包括有:數(shù)據(jù)總線、地址總線及控制總線。地址總線是在進行數(shù)據(jù)交換時提供地址,CPU通過它們把地址輸出到存
9、儲器或I/O接口里;數(shù)據(jù)總線在CPU與存儲器或I/O接口之間或存儲器與外設之間來進行交換數(shù)據(jù);而控制總線包括CPU發(fā)出的控制信號線以及外部送入CPU的應答信號線等。單片機中的CPU和存儲器等部件,在后面章節(jié)一一介紹。 單片機的結構形式及其所采取的半導體工藝使其具有很多鮮明的特點,因此它在各個領域都得了迅速而猛烈的發(fā)展,從而使它占有很重要的地位。單片機主要有如下特點: (1)它有著優(yōu)異的性能價格比。 (2)它不但體積小、而且還具有很高的可靠性能。單片機的各種功能部件被集成在一塊小芯片上,內部的總線結構使各芯片間連線減少了,這就在很大程度上提高了單片機的可靠性能及其抗干擾的能力。而單片機的體積小,
10、使強的磁場環(huán)境能更好的采取措施去屏蔽它,從而使它特別適合在及其的惡劣的環(huán)境下展開工作。 (3)為了滿足生活及工業(yè)控制的要求,大多數(shù)單片機的指令系統(tǒng)中都含有極其豐富的轉移指令、I/O口的各種邏輯操作功能以及位的處理功能。單片機的各種邏輯控制功能與它的運行速度較同一檔次的微機而言更高更快。 (4)電壓低,便于生產,便于攜帶和使用。 (5)內部總線增加了I C(Inter-Integrated Circuit)串行總線方式及SPI(Serial Peripheral Interface)串行總線方式等,這就再一步縮小了單片機的體積和簡化了單片機的結構。 (6)單片機的系統(tǒng)擴展及其系統(tǒng)配置比較典型規(guī)范
11、容易構成各種規(guī)模的應用系統(tǒng)。 單片機是計算機發(fā)展的一個全新重要領域,根據(jù)目前發(fā)展情況,應有一個較科學的分類方法,從角度上可以大致將單片機分為通用型/專用型、總線型/非總線型及工控型/家電型。1. 通用型/專用型 按單片機適用范圍來區(qū)分通用型/專用型。例如,89C51是通用型單片機的,它不是為某種專用途設計的,專用型單片機是針對同一類產品甚至是某一個產品設計生產的,比如,為了使電子體溫計達到測體溫的要求,可以在片內集成ADC接口等功能,組成一個溫度測量控制電路。 2. 總線型/非總線型 按單片機提供并行總線與否來區(qū)分總線型/非總線型。總線型單片機一般都會設置有并行地址總線。 控制總線、數(shù)據(jù)總線,
12、它們的引腳用來擴展并行外圍短路器件,且通過串行口與單片機連接。另外,要用的外圍器件和外設的接口已經被許多單片機已經集成一個芯片內,所以很多情況下并不需要并行擴展總線,這就在極大程度上節(jié)省了各種封裝的成本和減小了芯片體積,此類單片機為非總線型單片機。 3. 控制型/家電型 按照單片機的應用的范圍可區(qū)分控制型/家電型。一般來說工控型單片機的尋址范圍很大,運算的能力也強;專用型的多用于家電單片機,通常是低價格、小封裝,它的許多外圍器件與外設接口都有著較高的集成度。 顯然,以上的分類不是很嚴格的、惟一的。如,89C51單片機既可以為通用型又可以是總線型的,還可以在工控上用到。 12 單片機的應用 由于
13、單片機具有這么顯著的優(yōu)點,使它成為科技領域的有力的工具和人類生活的得力助手。它的應用遍及各個領域,主要表現(xiàn)有下面幾個方面: 1.單片機在儀器儀表智能化中的應用 單片機大范圍地用于各種儀器儀表中使儀器儀表智能化,還可提高測量的自動化精度和程度,以及簡化儀器儀表中的硬件結構使其性能價格比不斷提高。 2單片機在機電一體化中的應用 械工業(yè)發(fā)展的方向是機電一體化,機電一體化產品是指微電子技術、集成機械技術以及計算機技術于一體具有智能化特征的機電產品,如,鉆床、微機控制的車床等。單片機在此充分發(fā)揮它的高可靠性、小體積和強功能等優(yōu)點,很大程度上提高機器的自動化和智能化程度。 3單片機在實時控制中的應用 單片
14、機普遍廣泛地被用在各種實時控制系統(tǒng)中。例如,在工業(yè)測控,航空航天,尖端武器,機器人等各種可以用單片機作為其控制器實時控制系統(tǒng)中。單片機的實時數(shù)據(jù)處理功能和控制能力讓系統(tǒng)保持工作在最佳狀態(tài),從而提高系統(tǒng)的產品質量和工作效率。 和4. 單片機在分布式多機系統(tǒng)中的應用 單片機通常采用分布式多機系統(tǒng)在一般比較復雜的系統(tǒng)中。多機系統(tǒng)的構成一般由若干臺的且功能各異的單片機組成,它們通過串行通信互相聯(lián)系和協(xié)調工作各自完成特定的工序。單片機在這種系統(tǒng)中往往在系統(tǒng)的某些節(jié)點上作為一個終端機安裝,來進行實時現(xiàn)場信息的測量控制。單片機的強抗干擾能力和高可靠性可以讓它在惡劣環(huán)境的前端工作。 5單片機在人類生活中的應用
15、 自單片機誕生后迅速走進了人類的生活,如電子玩具、洗衣機、電冰箱、收錄機。 自從家用電器與單片機合作后,大大提高了智能化程度增加了功能倍受人們喜愛。單片機將使人類生活更加方便和豐富多彩。 綜合所述,以前必須由模擬電路或數(shù)字電路才能加以實現(xiàn)的一大部分控制功能,現(xiàn)在已經大部分能用單片機軟調試方法來實現(xiàn)了,這種軟件控制替代純硬件控制的技術也稱為微控制技術,為傳統(tǒng)控制技術帶來一次新革命。本設計主要以單片機為主,單片機已成為計算機發(fā)展和應用的一個重要方面,單片機的應用的重要意義還在于它從根本上改變了傳統(tǒng)的控制系統(tǒng)設計思想和設計方法。2. 設計方案21 設計思路設計的題目是基于單片機實現(xiàn)電子時鐘的控制。根
16、據(jù)設計要求時鐘顯示正常的年、月、日、時、分、秒。要想實現(xiàn)上述功能,就必須將硬件系統(tǒng)和軟件系統(tǒng)有機的結合在一起,才可以實現(xiàn)我們設計任務中的各項要求。硬件系統(tǒng)主要有單片機AT89C51、DS12C887、74LS154 等。AT89C51 主要功能是存儲程序,根據(jù)程序的內容對各個端口進行判斷并做出相應的處理。DS12C887主要的功能是控制年、月、日、時、分、秒并顯示出效果。根據(jù)設計要求,電子日歷要顯示年、月、日、時、分、秒就需要16個顯示數(shù)碼管,由于數(shù)碼管的數(shù)量較多,必須采用動態(tài)顯示掃描。例如,07-12-01,首先日分為個位和十位,個位顯示到09時,應向日的十位自動進位,即個位清0,十位置1,
17、顯示為10,繼續(xù)累計;當顯示為31時,日的十位就應自動向月的個位進位,顯示為01,當月顯示到09時,月的個位自動向月的十位進位,個位清0,十位置1,即為10,當月至12時,月向年的個位進位,即顯示08,同時月、日開始從01月01日繼續(xù)顯示,依次周而復始的循環(huán)運行。根據(jù)按鍵電路可實現(xiàn)年、月、日、時、分、秒的調整,當K1鍵按下時,可以調整時間,K2、K3鍵分別對時間進行加或減,K4鍵可以切換正常模式與省電模式。利用單片機將RC復位電路、動態(tài)顯示電路、電源電路、去抖電路等正確的連接在一起,并通過單片機的編程來實現(xiàn)本次設計任務中的要求。22 系統(tǒng)總體框圖設計電路采用ATMEL的AT89C51芯片來做C
18、PU,用AT89C51的內部EPROM作為程序存儲器,顯示部分位碼的擴展采用74LS154,七段數(shù)碼管的驅動采用ULN2003A,控制部分采用普通獨立按鍵。在確定系統(tǒng)的大體形式之后,畫出系統(tǒng)的總框圖如圖2.1所示。圖2.1 系統(tǒng)總框圖系統(tǒng)總體框圖包括:單片機、控制電路、復位電路、顯示電路、電源等部分。單片機AT89C51芯片的主要功能:存儲程序,對存儲程序進行相應的處理從I/O口輸出。復位電路:在單片機上有一個復位引腳RST,在單片機外部,用電容和電阻控制RST??刂齐娐罚菏怯靡粋€按鍵控制數(shù)碼管的省電及正常顯示。顯示電路:主要用于顯示數(shù)碼管的結果。電源電路:采用+5V的直流電源供電。3. 硬件
19、設計硬件電路主要包括:單片機、時鐘芯片、譯碼器、顯示電路以及電源等幾部分。時鐘芯片選擇:選用DS12C887實時芯片。單片機的選擇:選用AT89C8051單片機,配備11.0592MHz晶振。P1.0P1.4作數(shù)碼管的位選口,P0.0P0.6作數(shù)碼管的段選口。顯示電路的選擇:采用軟件譯碼器動態(tài)顯示和共陰極LED數(shù)碼管。復位電路的選擇:RC復位電路。譯碼器的選擇:采用4線16線譯碼器74LS154。電源電路的選擇:采用直流+5V電源供電。31 單片機的選擇單片機實質上是一個芯片,所以在實際應用中必須外加各種擴展接口電路、外部設備等相關硬件和軟件,才能構成一個單片機系統(tǒng)。盡管單片機種類很多,但無論
20、是從世界范圍或是從全國范圍來看,使用最為廣泛的還是MCS-51單片機。單片機是指集成在一個微型計算機,是把組成微型計算機的各種功能部件包括CPU、只讀存儲器ROM、隨機存儲器RAM、定時器/計數(shù)器、基本輸入/輸出接口電路等部件都集合在一塊集成芯片上,來構成一個完整的能實現(xiàn)微型計算機的基本功能微型計算機。89C51單片機正是把CPU、定時器/計數(shù)器、存儲器和多種功能的I/O線等集成一塊芯片中的一臺計算機,它具有所需的基本功能。89C51單片機主要包括1個8位CPU,1個片內振蕩器及時鐘電路,128B RAM,4KB ROM,2個16位定時器計數(shù)器,32條可編程的I/O線和一個可編程的全雙工串行接
21、口,5個中斷源,2個中斷優(yōu)先級套中斷結構。其內部結構示意圖如圖3.1:圖3.1 單片機內部結構示意圖1、中央處理器 :CPU是單片機的內部核心部件,是一個8位二進制數(shù)的中央處理單元,主要由運算器、控制器和寄存器陣列構成。2、控制器:控制器是單片機內部各部件按一定時序協(xié)調工作的控制核心,是分析和執(zhí)行指令的部件??刂破髦饕沙绦蛴嫈?shù)器、指令寄存器、指令譯碼器、振蕩和定時控制邏輯電路等構成。3、寄存器陣列:寄存器陣列式單片機內部的臨時存儲單元或固定用途單元,它包括通用寄存器組和專用寄存器組。4、存儲器:程序存儲器是可讀不可寫的,它用于存放編號的程序和表格常數(shù)。5、數(shù)據(jù)存儲器是既可讀的也可寫的用于存放
22、運算的中間結果,進行數(shù)據(jù)暫存及數(shù)據(jù)緩沖等。6、定時器計數(shù)器:89C51內部有2個16位可編程定時器和計數(shù)器簡稱為定時器0(T0)和定時器1(T1),T0和T1在定時器控制寄存器TCON和定時器方式選擇寄存器TMOD的控制下,可工作在定時器模式或計數(shù)器模式下,每種模式又有不同的工作方式。89C51有兩個16位的可編程定時/計數(shù)器,用來實現(xiàn)定時或計數(shù)產生中斷用于控制程序轉向。7、并行輸入輸出(I/O)口:89C51共有4組8位I/O口(P0、 P1、P2或P3)用于對外部數(shù)據(jù)的傳輸。89C51單片機內部總線是單總線結構,即數(shù)據(jù)總線和地址總線是公用的。 89C51有40條引腳, 與其他51系列單片機
23、引腳是兼容的,這40條引腳可分為I/O接口線、電源線、控制線、外接晶體線4部分。 另外,89C51單片機為雙列直插式封裝結構, 如圖3.2所示。圖3.2 89C51引腳分配圖Pin40:電源腳。工作電壓為+5VPin20:接地端P0口:P0口為一個8位漏極開路的雙向I/O口,每腳可以吸收8TTL門電流。當P0口第一次輸入“1”時,為高阻輸入,P0口可以用于外部數(shù)據(jù)存儲器,可以被定義為數(shù)據(jù)/地址的第八位,F(xiàn)LASH編程時,P0口作為原碼輸入口。當FLASH校驗時,P0口輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流,
24、P1口寫入1時,被內部上拉為高,可用作輸出,P1口被外部下拉為0時,輸出電流,這是因為內部上拉。在FLASH編程和校驗時,P1口可作為第八位地址接收。P2口:P2口是一個內部上拉電阻的8位雙向I/O口。P2口緩沖器可以接收、輸出4個TTL門電流。當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入,因此作為輸入時,P2口的管腳被外部拉低,將輸出電流,這就是內部上拉的原因。當P2口用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,輸出地址的高八位。在給出地址“1”時,它利用內部上拉的優(yōu)勢;當P2口對外部八位地址數(shù)據(jù)存儲器進行讀寫時,輸出其特殊功能寄存器的內容。P2口在FLASH編程和
25、校驗時,接收八位地址信號和控制信號。P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口??梢越邮蛰敵?個TTL門電流。當P3口寫入“1”時,全部被內部上拉為高電平用作輸入。作為輸入,由于外部下拉為低電平;P3口將輸處電流(ILL),這就是上拉的緣故。P3口也可以作為AT89C51的一些特殊功能口,如下所示:P3.0: RXD (串行輸入口,串行數(shù)據(jù)接收)P3.1: TXD (串行輸出口,串行數(shù)據(jù)發(fā)送)P3.2: (外部中斷0申請)P3.3: (外部中斷1申請)P3.4:T0 (定時/計數(shù)器0)P3.5: T1 (定時/計數(shù)器1)P3.6: (外部數(shù)據(jù)存儲器寫選通)P3.7: (外部數(shù)據(jù)存儲器
26、讀選通)P3口同時為閃爍編程、編程校驗去接收一些控制信號。RST復位輸出:當振蕩器復位時,保持RST腳兩個機器周期的高電平時間有效。XTAL1:反向振蕩器的輸入,內部時鐘工作電路的輸入。當用外部時鐘時,用于接入外部時鐘脈沖信號;XTAL2:反向振蕩器的輸出。振蕩器特性:XTAL1為反向放大器的輸入,XTAL2為反向放大器的輸出,該反向放大器可作為片內振蕩器,可外接石英振蕩器(陶瓷振蕩器)和微調電容。如果采用外部時鐘源驅動器件,XTAL2不連接,有余的輸入至內部時鐘信號要通過一個二分頻觸發(fā)器,因此沒有任何嚴格的要求外部時鐘信號的脈沖,但脈沖的高低電平要求的寬度必須保證。32 復位電路在這種情況下
27、都需要復位:一,單片機在開機時。二,在工作中因干擾而使程序失控。三,工作中程序處于某種死循環(huán)狀態(tài)時. 復位的作用是使中央處理器CPU,以及其他功能部件都恢復到一個確定的初始狀態(tài)并且從這個狀態(tài)重新開始工作.89S51單片機的復位靠外部電路實現(xiàn),信號由RESET(RST)引腳輸入,高電平有效。在振蕩器工作時,只要保持RST引腳兩個以上的機器周期高電平,單片機復位. 復位后,PC程序計數(shù)器的內容為0000H,而片內RAM中內容不變. 復位電路一般有上電復位,手動開關復位,自動復位電路3種,如圖3.3所示.a.上電復位電路 b. 手動復位電路 c. 自動復位電路圖3.3 單片機復位電路33 晶振電路1
28、晶體振蕩器的作用:石英晶體振蕩器用來穩(wěn)定頻率和選擇頻率,也稱石英晶體諧振器,它是一種可以取代LC諧振回路的晶體諧振元件。 2本次設計所用的晶體振蕩電路如圖3.4所示: 圖3.4 晶體振蕩電路此晶振電路所選用的石英晶振頻率為12MHZ。時鐘周期是單片機外接晶振的倒數(shù),例如,12M的晶振,它的時間周期就是1/12us,這是計算機中最基本的、最小的時間單位。在一個時鐘周期內CPU只能完成一個最基本的動作。對于某種單片機而言,要是采用了1MHZ的時鐘頻率,則時鐘周期為1us;要是采用4MHZ的時鐘頻率,則時鐘周期為250us。時鐘脈沖是計算機的基本工作脈沖控制著計算機的工作節(jié)奏,使計算機的每一步都統(tǒng)一
29、到它的步調上來。對同一種機型的計算機時鐘頻率越高,計算機的工作速度就越快。但是由于不同的計算機硬件電路和器件的并不是完全相同,所以它所需要的時鐘周頻率范圍也不一定相同。我們學習的51系列單片機的時鐘范圍是1.2MHz-12MHz。34 時鐘芯片DS12C887介紹本次設計采用實時時鐘芯片是DS12C887,DS12C887實時時鐘芯片能夠自動產生年、月、日、時、分、秒計時功能及多點定時功能,計時數(shù)據(jù)每秒自動更新進行一次,不需程序。而事實上時鐘芯片多數(shù)是鋰電池做后備電源,它可以永不停止的計時,信息可以保持十年之久;DS12C887還具有可編程方波輸出功能,可用做實時測控系統(tǒng)的采樣信號等;有的實時
30、時鐘芯片內部還帶有非易失性RAM,用來存放需長期保存,但有時也變更的數(shù)據(jù)。LED數(shù)碼管電子時鐘電路采用24小時記時方式,用16位數(shù)碼管顯示來日期和時間,采用AT89C51單片機,使用5V電池供電,只要使用一個按鍵開關就可以進入省電(顯示LED數(shù)碼管)和正常顯示兩種狀態(tài),十分快捷方便。顯示范圍:RTC計算秒、分、時、星期、日、月、年信息能識別閏年閏月,可使用年份為99年如正常顯示20012099,且時間采用24小時制。顯示格式:日期按照年、月、日排列,如2005年12月20日顯示為05-12-20,時間按時、分、秒排列如12點30分55秒顯示為12-30-55。顯示位數(shù):顯示6位七段LED數(shù)碼管
31、工作正常和節(jié)電顯示。時鐘誤差:24小時誤差保持在3-5秒。DS12C887時鐘芯片采用CMOS技術制成,帶有內部晶體振蕩器且內置有鋰電池,斷電后仍可運行至少十年以上,并且數(shù)據(jù)不丟失。時間、數(shù)字和定鬧鐘都具有二進制碼和BCD碼兩種形式,并可設定12小時制或24小時制式和Motorola和Intel總線時序。DS12C887內含128字節(jié)RAM,其中有4個控制寄存器,10個時鐘寄存器和114字節(jié)通用RAM,所有RAM單元都具有掉電保護功能因此可把它用作非易失性RAM。DS12C887內部具有周期中斷、定鬧中斷、時鐘更新周期、結束中斷等功能,且三個中斷源可分別由軟件屏蔽。341 DS12C887主要
32、功能簡介(1) 內部含有一個鋰電池,斷電后可運行至少十年可以數(shù)據(jù)不丟失。(2) 不僅可以計秒、分、時、天、星期、日、月、年,而且具有閏年補償?shù)墓δ堋?3) 用二進制數(shù)碼或BCD碼表示時間,數(shù)字以及定鬧。(4) 12小時制或24小時制,而且12小時時鐘模式帶有PM和AM指示,具有夏令時功能。(5)可選擇 Motorola和Intel總線時序選擇。(6) 所有RAM單元數(shù)據(jù)都具有掉電保護功能,有128個字節(jié)RAM單元與軟件接口,其中14個字節(jié)用于時鐘和控制寄存器,114字節(jié)通用RAM。(7) 可編程的方波輸出信號。(8) 總線兼容和中斷信號輸出(IRQ)、定鬧中斷、周期性中斷、時鐘更新周期、結束中
33、斷可分別由軟件屏蔽,也可分別進行測試。342 DS12C887引腳說明及原理DS12C887管腳圖如圖3.5所示:圖3.5 DS12C887管腳排列圖VCC接直流電源+5V電壓,GND接地,當5V電壓在正常范圍內時,數(shù)據(jù)可讀寫;當VCC低于4.25V時,禁止讀寫,而計時功能仍繼續(xù);當VCC下降到3V以下時,RAM和計數(shù)器被切換到內部鋰電池,保證內部的電路能夠正常工作。MOT(模式選擇):縱線操作時序選擇端,MOT管腳接到VCC時,選擇MOTORLA時序;當接到GFND時,選擇INTEL時序。SQW(方波信號同):當供電電壓VCC大于4.25V,SQW引腳可輸出方波,此時,可通過對寄存器A編程改
34、變其輸出頻率。AD0AD7(復用地址數(shù)據(jù)總線):在總線周期的前半部分,出現(xiàn)在AD0AD7上的是地址信息,總線周期的后半部分出現(xiàn)在AD0AD7上的是數(shù)據(jù)信息。總線接口即MOROROLA微機系列和INTEL微機系列接口。AS(地址選通輸入端):AS實現(xiàn)信號分離,在ADALE的上升沿的時候把地址鎖存到DS12C887,下降沿清除口地址信息,不論CS是否有效。DS(數(shù)據(jù)選擇或讀輸入腳):該引腳有兩種工作模式,由MOT管腳放的電平決定,使用MOTOROLA時序時,總線周期的后段DS為高電平時,數(shù)據(jù)選通;在讀周期DS指示DS12C887驅動雙向總的時刻,在寫周期DS的下降沿使DS12C887鎖存寫數(shù)據(jù)。當
35、MOT接GND時,選擇INTEL工作模式,此時該引腳是讀允許輸入引腳。R/W(讀/寫輸入):R/W管腳也有兩種操作模式,選MOTOROLA時序時,R/W是一個電平信號,指示當前周期是讀或寫周期;DSO為高電平時,R/W高電平時為讀操作,R/W低電平時為寫操作;當選INTEL時序時,R/W信號是一個低電平信號,為寫輸入。CS(片選輸入):低電平有效。IRQ(中斷請求輸出):低電平時有效,可作為微處理的中斷申請輸入,沒有中斷發(fā)生時,IRQ處在高阻態(tài)。IRQ線是漏極開路輸入,外接上拉電阻必須與VCC相連。RESET(復位輸出):低電平有效,時間大于200ms時,能保證DS12C887有效復位。343
36、 DS12C887的中寄存器的功能和作用DS12887內部RAM和專用寄存器地址功能,地址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(099)。DS12C887的RAM和各專用寄存器的訪問如下實現(xiàn),若片選地址DS=#0DDXXH,則芯片內部RAM和寄存器和地址為#0D
37、D00H#ODD7FH。但是,我們必須了解,盡管只有一個DS12C887專用時標年寄存器,但通過編程可使芯片內部的不掉電的RAM區(qū)其中的一個字節(jié)來實現(xiàn)年的高兩位顯示。寄存器A:寄存器A的各個位不受復位的影響,UIP位是一個只讀位,其它各位可讀寫。A、UIP位:用來標志芯片是否即將進行更新,該位為“1”時,表示芯片更新周期即將開始,程序不準讀寫時標寄存器;該位為“0”時,表示至少在244us內不會更新周期,此時程序可讀芯片內時標寄存器。且該位是只讀位。B、DV0、DV1、DV2:芯片內部震蕩器RTC控制位和復位分頻器。當芯片接觸復位狀態(tài),并將010寫入DV0、DV1、DV2后,晶體振蕩器開啟且保
38、持時鐘運行,另一個更新周期將在500ms后開始,當寶11X寫入DV0、DV1、DV2,晶體整蕩器開啟,但是分頻保持復位狀態(tài)。所以,在程序初始化時可用這三各使芯片開始工作在設定的時間,DS12C887固定使用32768Hz的內部晶體,所以DV0=“0”、DV1=“1”、DV2=“0”時,可啟動RTC。C、RS3,RS2,RS1,RS0:速率選擇位。不同的組合產生不同的輸出,程序可這樣設置:通過設置寄存器B的SQWF;設置周期中斷控制位PIE;設置兩位同時有效;兩者都禁止。344 DS12C887的中斷和更新周期DSC12C887在正常的工作狀態(tài)時,每秒鐘產生一個更新周期,芯片處于更新周期時是有標
39、志的,即寄存器A中CPU位置為1。更新周期內,芯片內部時標寄存器數(shù)據(jù)一直處于更新階段,所以這個時候微處理器不能讀取芯片時標寄存器中的內容信息,于此同時秒時標寄存器內容會增加1,并檢查其他時標寄存器內容有沒有溢出。另一個功能就是要檢查時、分、秒三個時標寄存器的內容是不是和報警時標寄存器的內容對應相符,要是相符,寄存器C中AF位置1。如果報警時標寄存器的內容在COH到FFH之內,則為不關閉狀態(tài)。為采樣到時標寄存器中的數(shù)據(jù)信息,DS12C887有兩種的方案可避開在更新周期內訪問時標寄存器:第一種,利用更新周期結束時發(fā)出的中斷信息。編程允許發(fā)生中斷申請在每次更新周期完畢后,警示CPU將有998ms的時
40、間去獲取有效數(shù)據(jù),在中斷之后的998ms時間內,程序可先將時標數(shù)據(jù)讀芯片內部的不掉電靜態(tài)RAM中,因為,芯片內部的狀態(tài)寄存器和靜態(tài)RAM是可隨時讀寫的,在離開中斷服務子程序前清除寄存器C中的IRQF位。第二種,利用UIP位來判斷芯片是否處于更新周期。在UIP位從低變高的244us之后,芯片將進行更新周期,當檢測到UIP位為0時,則利用224us的間隔時間讀取時標信息。如檢測到UIP位為1,則暫時緩讀數(shù)據(jù)信息,等到UIP變成低電平時再去進行。345 DS12C887的初始化方法DS12C887采用連續(xù)工作制,一般不用每次都初始化,系統(tǒng)復位時也不必要。但當初始化時,首先應禁止芯片內部的更新周期操作
41、,因此先把DS12C887狀態(tài)寄存器B中的SET位置1,再把狀態(tài)寄存器A和00H09H時標參數(shù)寄存器初始化,再通過讀狀態(tài)寄存器C、清除寄存器C中的周期中斷標志位PF、更新周期結束中斷標志位UF、報警中斷標志位AF。通過讀寄存器D中的VRT位自動置1,然后把狀態(tài)寄存器B中的SET位置0,芯片就開始了計時工作。35 74LS154芯片介紹及ULN2003A的簡介本設計要用到16個七段數(shù)碼管,單片機的P0端口只有8根線,根本不夠用,所以用74LS154來擴展,74LS154使416譯碼器,只用單片機的四根線就可以接16個數(shù)碼管的位碼端,因為74LS154使一個4入16出的譯碼器,在本設計中共有16個
42、顯示數(shù)碼管,所以一個74LS154譯碼器的輸出端剛好夠用。LED數(shù)碼管選擇采用共陰極。在設計中74LS154的輸入端有單片機的P1.0P1.3口提供段碼控制信號,輸出端接數(shù)碼管的段碼管腳(既圖中的0管腳)。74LS154管腳圖如圖3.6所示,74LS154真值表如表3.7所示:圖3.6 74LS154管腳表3.7 74LS154真值表 ULN2003A由美國Texas Instruments公司和美國Sprague公司生產,由7組達林頓晶體管陣列和相應的電阻網絡以及鉗位二極管網絡構成,具有同時驅動7組負載的能力,是一個單片雙機型大功率高速集成電路。ULN2003A是一個驅動器,它的輸入端接單片
43、機的P0.0P0.7口,輸出接數(shù)碼管的位碼端上,由于本設計中用到的數(shù)碼管數(shù)量多,而單片機的輸出不能一下驅動,所以需要通過ULN2003A進行驅動。ULN2003A管腳如圖3.8所示:圖3.8 ULN2003A管腳圖4. 軟件設計軟件設計分為:動態(tài)掃描、主程序、系統(tǒng)資源分配和軟件模塊幾部分,在此設計中采用定時器來完成動態(tài)掃描顯示。用定時器T0定20ms的時間間隔,每次定時時間到時就輸出一個LED信號,即顯示一位。主程序初始化后,就開始進行對DS12C887的讀時間,讀完后送顯示緩沖區(qū),同時并對定時時間進行判斷比較。DS12C887的地址由114字節(jié)的用戶RAM存放。10字節(jié)的存放實時時鐘時間、日
44、歷和定鬧RAM及用于控制和狀態(tài)的4字節(jié)特殊寄存器組成,幾乎所有的128個字節(jié)直接讀寫。設計程序有:主程序、讀取時間的子程序和顯示刷新程序。主程序框圖如圖4.1所示:圖4.1 主程序框圖主程序如下所示:ORG 000HLJMP STARTORG 0030HSTART: MOV 30H,#0SETB P1.1SECOND EQU 2000HMINUNTE EQU 2001H ;時鐘芯片寄存器HOUR EQU 2004H WEEK EQU 2006H ;它們代表秒、分鐘、時、日期DATE EQU 2007H ;年、月MONTH EQU 2008HYEAR EQU 2009H ;可以改變實際連線,地址
45、也相應改變TREGA EQU 200AH ;四個控制寄存器TREGB EQU 200BH TREGC EQU 200CHTREGD EQU 200DHTUPDATE EQU 80H ;如果TREGA.7=1,時鐘芯片更新TBHALT EQU 10000010B ;24/12=1,采用24小時計時制 將TBHALT寫入TREGB,停止計時TBSALT EQU 0000000B ;將TBSTART寫入TREGB繼續(xù)計時F32K EQU 20H MOV A,#TBHALT ;SET=1,PIE,AIE,UIE,SQWE=0,DM=0MOVX DPTR,A ;24/12=1,24HOURS,DSE=0
46、MOV DPTR,#TREGDMOV A,#32H ;設置控制寄存器,開晶振。MOV DPTR,AMOV DPTR,BHALTMOV A, DPTRMOV DPTR,AMOV A,DPTRMOV A,#TBHALT ;開始計時MOVX DPTR,ASS1:LCALL TIMERECJNB P1.4 ,SS1LCALL DSPLAYLJMP SS1讀取時間子程序框圖如圖4.2所示:圖4.2 讀取時間的子程序框圖讀取時間程序如下所示:TIMEREC:PUSH ACCMOV ACC,IECLR ETOMOVRO,DPL ;將指針存入RO、R1MOVR1,DPHMOV DPTR ,#TREGA ;如果
47、DS12C887正在更新則等待TIMEWALT:MOVX A,A+DPTRJB ACC.7,TIMEWALT ;否則,讀取秒數(shù)、分鐘等數(shù)值MOV DPTR,#SECONDMOVX A,A+DPTRMOV R6 ,AMOV DPL ,R3 MOV DPH ,R1MOVX A,DPTR ;取出原來的秒數(shù)SUB A, R6 ;如果時間未改變則退出JNZ GETTIMERETGETTIME: INC ROINC RO ;指向:所指單元MOV A, EOCPL A ;將“:”取反,每秒變化一次MOV EO , A ;以控制亮和滅,形成閃爍效果MOV A, R6 ;恢復時間值MOVX DPTR ,AINC
48、 DPTRMOV R3,DPLMOV R1,DPHMOV DPTR ,#MINUTE ;讀取并存儲分鐘MOVX A,DPTRMOV DPL ,R3MOV DPH,R1MOVX A, DPTR,AINC DPTRMOV R3,DPLMOV R1,DPHMOV DPTR,#HOUR ;讀取并存儲小時MOVX A, DPTRMOV DPL,R3MOVDPH,R1MOVX DPTR,AINC DPTRMOV R3,#DPLMOV R1,#DPHMOV DPTR ,#DATA ;讀取并存儲日期MOVX A,DPTRMOV DPL ,R3MOV DPH ,R1MOVX DPTR ,AINC DPTRMOV
49、 R3 ,#TONTH ;讀取并存儲月份MOVX A, DPTR MOV DPL ,R3MOV DPH ,R1MOVX DPTR ,AINC DPTRMOV R3,DPLMOV R1,DPHINC DPTR,#HOUR ;讀取并存儲年號MOVC A,DPTRMOV DPL ,R3MOV DPH ,RR1MOVX DPTR ,A ;寄存器恢復保護POP ACCMOV IE,ACCPOP ACCRET 顯示刷新子程序框圖如圖4.3所示:圖4.3 顯示刷新子程序框圖顯示刷新子程序如下所示:MOV 40H ,R3PUSH ACCDISPLAY: MOV A, ROMOV R6 ,A ;顯示指針首址保護
50、,存入R6INC DPTR ;先將指針指向分鐘單元MOVX A,DPTRMOV R3,A ;保護寄存器A數(shù)據(jù)ANL A, #OFOHSWAP A ;得到小時的十位MOV R0 ,AINC R0 ;顯示指針加一MOV A, R3ANL A, #OFOH ;得到小時的個位MOV R0,A ;存入顯示緩沖區(qū)INC R0 ;跳過分號的顯示單元INC R0 DEC DPTRMOVX A, DPTRSWAP A ;得到分鐘的十位MOV R0,AINC R0 ;顯示指針加一MOV A,R3ANL A, #OFOH ;得到分的個位MOV R0 ,A ;存入顯示緩沖區(qū)MOVX DPTR,A ;AC 口均為輸出,
51、方式0MOV R4,#1FH ;位選字MOV A,R4 ;送位選字中間變量MOVX DPTR,A ;從位選字入(采用共陰接法全滅)DEC DPTR ;指向PA口DEC DPTR MOV A,R0 ;查段碼ADD A,#0DHMOVC A,A+PCMOVX DPTR,A ;段選碼送PB口ACALL DLL ;延時一毫秒INC R0 ;指向顯示緩沖區(qū)下一單元MOV A, R4JNB ACC .0,LD1 ;判斷16位顯示完RR A ;未顯示完,變?yōu)橄乱晃晃贿x字MOV A,R4AJMP LDO ;轉顯示下一位POP ACCLD1:RETDSGE: DB 3FG,06H,5BH,4FH,66H,6DH,7D,07H,7FH,67H,77H,7CH, “ 0”“1”“2”“3”“4”“5”“6”“7”“8”“9”“A”“B” 39H,5EH,79H,71H;“C”“D”“E”“F”DL1: MOV R7,#02H ;延時子程序DL: MOV R6,#OFFH NOPDL6: DJNZ R6,DL6DJNZ R7,DL RET5. 單片機應用系統(tǒng)的測試51 在偉福中的調試通過偉福仿真軟件和Keil軟件來驗證程序。首先打開偉福
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 縱橫軟件課程設計總結
- 打印報表課程設計
- 吉林省四平市第三高級中學2024-2025學年高一上學期第二次質量檢測歷史試題
- 甜品糖水教學課程設計
- 茶藝插畫課程設計案例
- 物理有沒有進展課程設計
- 2024年演員聘用合同
- 電子商務行業(yè)客服工作回顧
- 外科部門手術治療工作年度總結
- 2024年社區(qū)工作者測試題庫
- 放射治療技術常用放射治療設備課件
- 保研推免個人簡歷
- 《計算機組成原理》武漢大學2023級期末考試試題答案
- 廣東廣州白云區(qū)2021學年第二學期期末學生學業(yè)質量診斷調研六年級語文(含答案)
- 公安院校公安專業(yè)招生體檢表
- 選礦廠管理文件制度匯編
- 2023-2024學年四川省瀘州市小學數(shù)學四年級上冊期末評估測試題
- GB/T 9944-2015不銹鋼絲繩
- GB/T 5019.11-2009以云母為基的絕緣材料第11部分:塑型云母板
- 初中生家長會ppt
- GA/T 168-2019法醫(yī)學機械性損傷尸體檢驗規(guī)范
評論
0/150
提交評論