![2022年電子時鐘的制作_第1頁](http://file4.renrendoc.com/view/e754738e9b6fc6cb9c274b30333fbb09/e754738e9b6fc6cb9c274b30333fbb091.gif)
![2022年電子時鐘的制作_第2頁](http://file4.renrendoc.com/view/e754738e9b6fc6cb9c274b30333fbb09/e754738e9b6fc6cb9c274b30333fbb092.gif)
![2022年電子時鐘的制作_第3頁](http://file4.renrendoc.com/view/e754738e9b6fc6cb9c274b30333fbb09/e754738e9b6fc6cb9c274b30333fbb093.gif)
![2022年電子時鐘的制作_第4頁](http://file4.renrendoc.com/view/e754738e9b6fc6cb9c274b30333fbb09/e754738e9b6fc6cb9c274b30333fbb094.gif)
![2022年電子時鐘的制作_第5頁](http://file4.renrendoc.com/view/e754738e9b6fc6cb9c274b30333fbb09/e754738e9b6fc6cb9c274b30333fbb095.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
..精選可編輯文本精選可編輯文本.精選可編輯文本論文摘要近年來隨著計算機在社會各領(lǐng)域的滲透,單片機的應(yīng)用正在不斷地走向深入,同時帶動傳統(tǒng)時間顯示和時間控制日新月異更新。在實時顯示和自動控制的單片機應(yīng)用系統(tǒng)中,單片機往往是作為一個核心部件來使用,僅單片機方面的知識是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對具體應(yīng)用對象特點的軟件結(jié)合,以作完善。本篇論文討論是倒計時器的設(shè)計與制作,以單片機AT89S51核心搭建硬件電路,采用8279可編程鍵盤/顯示器接口芯片來進(jìn)行鍵盤和LED顯示的控制,時鐘芯片DS1302提供精準(zhǔn)的時序,采用八位LED數(shù)碼管動態(tài)顯示時間,同時可通過鍵盤來進(jìn)行時間的設(shè)置?!娟P(guān)鍵字】單片機、AT89S51、8279、DS1302、倒計時器、LED數(shù)碼管顯示器。目錄:摘要‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥1前言‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥1第1章方案論證‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥21.1開發(fā)意義‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥21.2功能說明‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥2第2章硬件電路‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥22.1單片機概述‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥22.2AT89S51芯片概述‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥32.3LED數(shù)碼管顯示器概述‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥32.3.1.LED數(shù)碼顯示器的結(jié)構(gòu)與顯示段碼‥‥‥‥‥‥‥‥‥‥‥‥‥32.3.2.LED數(shù)碼顯示器的接口方法與電路‥‥‥‥‥‥‥‥‥‥‥‥‥42.48279芯片介紹‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥42.5DS1302芯片介紹‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥62.6電路系統(tǒng)設(shè)計‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥8第3章軟件設(shè)計3.1整體設(shè)計‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥93.2鍵盤流程‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥103.3DS1302時鐘顯示程序‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥10結(jié)束語‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥15參考文獻(xiàn)‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥16前言在日常生活和生產(chǎn)的各領(lǐng)域中,時間具有非常重要的作用,沒有時間我們無法進(jìn)行正常的生活、生產(chǎn)和學(xué)習(xí),因此時間的顯示就成為生活的必需品。傳統(tǒng)的計時是采用老式的機械鐘表,由于機械故障、物理損耗以及其它自然原因,老式鐘表走時不太精準(zhǔn),因此它無法滿足現(xiàn)在的時代要求。隨著數(shù)字集成電路的開展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表,鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能,諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時播送、自動起閉路燈、定時開關(guān)烘箱、通斷動力設(shè)備、甚至各種定時電氣的自動啟用等,所有這些,都是以時間顯示數(shù)字化為根底的。由于計算機技術(shù)的開展,單片機為自動控制提供了新的方法,從簡單到復(fù)雜,從空中、地面到地下,但凡能想象到的地方幾乎都使用到了單片機。單片機的應(yīng)用有力于產(chǎn)品的小型化、多功能化和智能化,有助于提高勞動效率,減少勞動強度,提高產(chǎn)品質(zhì)量,改善勞動環(huán)境,減少能源和材料消耗,保證平安等。但是,單片機應(yīng)用的意義絕不僅限于它的廣闊范圍以及所帶來的經(jīng)濟效益上,更重要的意義還在于:單片機的應(yīng)用正從根本上改變著傳統(tǒng)的控制系統(tǒng)設(shè)計思想和設(shè)計方法。從前必須有模擬電路或數(shù)字電路實現(xiàn)的大局部功能,現(xiàn)在已能使用單片機通過軟件〔編程序〕方法實現(xiàn)了。這種以軟件取代硬件并提高系統(tǒng)性能的控制系統(tǒng)“軟化〞技術(shù),稱之為微控制技術(shù)。微控制技術(shù)是一種全新的概念,是對傳統(tǒng)控制技術(shù)的一次革命。隨著單片機應(yīng)用的推廣普及,微控制技術(shù)必將不斷開展、日益完善和更加充實。第一章方案論證1.1開發(fā)意義本課題開發(fā)的意義在于它既節(jié)省了硬件本錢,又能實現(xiàn)多功能。既可做倒計時秒表,又可進(jìn)行定時,還可以通過擴展完成其他功能,而且功能的相互轉(zhuǎn)換也十分簡單。對于廠商,有很大的挖掘潛在價值的空間;對于消費者也有很大的吸引力。背景介紹
在我們的日常生活和工作中,有許多的領(lǐng)域需要進(jìn)行時間的倒計,比方,在2021年北京奧運會即將來臨之際,許多公共場合都有倒計時牌,以此來提醒人們距離開幕還有多少天。每天我們的交通都要依靠交通燈來自動控制指揮,紅綠燈采用倒計時的方法來顯示剩余時間,這樣對行人來說既方便又平安。在一些家用電器中都需要有定時的功能,比方洗衣機的定時脫水,電視機的定時開關(guān)機,微波爐的定時烘烤食物等,同時工業(yè)生產(chǎn)中的熔爐煅燒等都要進(jìn)行精確的時間設(shè)定,科學(xué)實驗時也要有時間定時過程,如果只是進(jìn)行單純的計時,使用者可能因為某些原因忘記。假設(shè)是用倒計時的方式進(jìn)行計時顯示再配以到時報警,這樣有利于提高效率。因此倒計時器的設(shè)計與研究具有非常重要的意義。功能說明:〔1〕本電路采用八位LED數(shù)碼管動態(tài)顯示時間,天數(shù)用二位,時分秒分別用兩位顯示,其中天數(shù)用倒計時的方式顯示,時、分、秒采用正常的記時方式?!?〕利用六個按鍵來進(jìn)行時間的設(shè)置,分別有左向移動鍵LM、右向移動鍵RM,數(shù)字加一鍵,數(shù)字減一鍵,開關(guān)鍵ON/OFF,復(fù)位鍵?!?〕當(dāng)?shù)褂嫊r時間到可輸出一個信號用于報警。第二章硬件電路2.1單片機的概述簡單的說,一塊單片機芯片就是一臺超小型化的計算機,即將中央處理器CPU(Centralprocessingunit)。隨機存儲器RAM〔Randomaccessmemory〕。只讀存儲器ROM〔Readonlymemory〕。中斷系統(tǒng)、定時器/計數(shù)器以及各種I/O〔Input/output〕接口電路〔如并行I/O,串行I/O,A/D接口〕等燒刻在一塊硅片上,構(gòu)成一臺微縮短完整的計算機。因此叫做單片機。單片機是一個計算機系統(tǒng),自動化和智能性是其最主要的特點,加上它有體積小、重量輕、價格廉價、速度快、使用方便等諸多優(yōu)點,它出現(xiàn)后,在工農(nóng)業(yè)生產(chǎn)上大幅度地提高了生產(chǎn)效率和產(chǎn)品質(zhì)量。另外,在彩電、冰箱、空調(diào)、VCD、遙控器、游戲機等日常家用電器上無處不見單片機的影子,它大大地提高了這些產(chǎn)品的智能性、實用性和可靠性。單片機早已深深地融入到我們每個人的生活中。2.2AT89S51的芯片概述AT89S51是一個低功耗,高性能CMOS8位單片機,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISPFlash存儲單元,功能強大的微型計算機的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案AT89S51芯片具有以下特性:指令集和芯片引腳與Intel公司的8051兼容;4KB片內(nèi)在系統(tǒng)可編程Flash程序存儲器;時鐘頻率為0~33MHz;128字節(jié)片內(nèi)隨機讀寫存儲器〔RAM〕;32個可編程輸入/輸出引腳;2個16位定時/計數(shù)器;6個中斷源,2級優(yōu)先級;全雙工串行通信接口;監(jiān)視定時器;2個數(shù)據(jù)指針。其工作電壓在4.5-5V。AT89S51比其它8位單片機的功能要強大很多,而價格又沒有太大的提高,因此選用AT89S51單片機來作為本系統(tǒng)的核心。2.3LED數(shù)碼管顯示器概述2.3.1〔1〕LED數(shù)碼顯示器的結(jié)構(gòu)LED數(shù)碼顯示器是一種有LED發(fā)光二極管組合顯示字符的顯示器件。它使用了8個LED發(fā)光二極管,其中7個用于顯示字符,一個用于顯示小數(shù)點,故通常稱之為7段發(fā)光二極管數(shù)碼器?!?〕LED數(shù)碼顯示器有兩種連接方法如下。共陽極接法。把發(fā)光二極管的陽極連在一起構(gòu)成公共陽極,使用時公共陽極接+5V,每個發(fā)光二極管的陰極通過電阻與輸入端相連。共陰極接法。把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極,使用時公共陰極接地。每個發(fā)光二極管的陽極通過電阻與輸入端相連。〔3〕LED數(shù)碼顯示器的顯示段碼。為了顯示字符,要為LED顯示器段碼〔或稱字形代碼〕,組成一個8字形字符的7段,再加上1個小數(shù)點位,共計8段,因此提供給LED顯示器的顯示段碼為1個字節(jié)。各段碼位的對應(yīng)關(guān)系如下表所示.十六進(jìn)制數(shù)及空白字符與P的顯示段碼.段碼位D7D6D5D4D3D2D1D0顯示段pdgfedeba字型共陽極段共陰極段字型共陽極段碼碼碼0C0H3FH990H1F9H06HA88H2A4H5BMB83H3B0H4FHCC6H499H66HDA1H592H6DHE86H682H7DHF84H7F8H07H空白FFH880H7FHP8CH2.3.2Led靜態(tài)顯示方式LED工作在靜態(tài)方式下,共陰極接地或共陽極接+5V;每一位的段選線〔a~g、dp〕與一個8位并行I/O口相連,顯示器的每一位可獨立顯示,只要在該位的段選線上保持段選碼電平,該位就能保持相應(yīng)的顯示字符。LED動態(tài)顯示方式LED動態(tài)顯示是將所有位的段選線并接在一個I/O口上,共陰極端或供陽極端分別由相應(yīng)的I/O口線控制。由于每一位的段選線都接在一個I/O口上,所以每送一個段選碼,8位就顯示同一個字符,這種顯示器是不能用的。解決此問題的方法是利用人的視覺暫留,從段選線I/O口上按位次分別送顯示字符的段選碼,在位選控制口也按相應(yīng)的次序分別選通相應(yīng)的顯示位〔共陰極送低電平,共陽極送高電平〕,選通位就顯示相應(yīng)字符,并保持幾毫秒的延時,未選通位不顯示字符〔保持熄滅〕這樣,對各位顯示就是一個循環(huán)過程,這就動態(tài)顯示。由于靜態(tài)顯示占用的口線和顯示器的個數(shù)成正比,而本設(shè)計中由8位LED顯示器,故采用動態(tài)顯示方式。2.48279芯片介紹
INTEL8279是一種可編程鍵盤/顯示器接口芯片,它含有鍵盤輸入和顯示器輸出兩種功能。鍵盤輸入時,它提供自動掃描,能與鍵盤或傳感器組成的矩陣相連,接收輸入信息。它能自動消除開關(guān)抖動并能對多鍵同時按下提供保護。顯示輸出時,它有一個16×8位顯示RAM,其內(nèi)容通過自動掃描,可由8或16位LED數(shù)碼管顯示。8279管腳、引線及功能說明8279為40列引腳封裝,如圖7.9.1所示。詳細(xì)說明如下:D0~D7〔數(shù)據(jù)總線〕:雙向、三態(tài)總線。用于和系統(tǒng)數(shù)據(jù)總線相連,在CPU和8279之間傳遞命令或數(shù)據(jù)。CLK〔系統(tǒng)時鐘〕:輸入線。用于8279內(nèi)部定時,以產(chǎn)生其工作所需時序。RESET〔復(fù)位〕:輸入線,高電平有效。當(dāng)復(fù)位信號RESET=1時,8279被復(fù)位?!财x〕:輸入線,低電平有效。當(dāng)=0時,8279被選中,允許CPU對其進(jìn)行讀、寫操作,否那么被禁止。A0〔緩沖器地址〕:輸入線。當(dāng)A0=1時,假設(shè)CPU進(jìn)行寫操作,那么寫入字節(jié)是命令字。假設(shè)進(jìn)行讀操作,那么從8279讀出的字節(jié)是狀態(tài)字。當(dāng)A0=0時,寫入字節(jié)或讀出字節(jié)均為數(shù)據(jù)。RD、WR〔讀、寫信號〕:輸入線,低電平有效。這兩個來自CPU的控制信號,控制8279的讀寫操作。IRQ〔中斷請求〕:輸出線,高電平有效。在鍵盤工作方式中,當(dāng)FIFO/傳感器RAM中存有數(shù)據(jù)時,IRQ為高電平,向CPU提出中斷申請。CPU每次從RAM中讀出一個字節(jié)數(shù)據(jù)時,IRQ就變成低電平。如果RAM中還有未讀完的數(shù)據(jù),IRQ將再次變?yōu)楦唠娖?,再次提出中斷申請求。在傳感器工作方式中,每?dāng)檢測到傳感器狀態(tài)變化時,IRQ就出現(xiàn)高電平。SL0~SL3〔掃描線〕:輸出線。這四條輸出線用來掃描鍵盤和顯示器。它們可以編程設(shè)定為編碼輸出〔16中取1〕或譯碼輸出〔4中取1〕。RL0~RL7〔回復(fù)線〕:輸入線。它們是鍵盤矩陣或傳感器矩陣的列信號輸入線。SHIFT〔移位信號〕:輸入線,高電平有效。該輸入信號是8279鍵盤數(shù)據(jù)的次高位D6,通常用來補充鍵盤開關(guān)的功能,可以用作鍵盤上下?lián)豕δ苕I。在傳感器方式和選通方式中,SHIFT無效。CNTL/STB〔控制/選通〕:輸入線,高電平有效。
在鍵盤方式時,該輸入信號是鍵盤數(shù)據(jù)的最高位D7,通常用來擴充鍵開關(guān)的控制功能,作為控制功能鍵用。在傳感器方式下,CNTL信號無效。
在選通輸入方式下,該信號的上升沿可將來自RL0~RL7的數(shù)據(jù)存放入FIFORAM中。OUTA0~OUTA3〔A組顯示信號〕:輸出線。OUTB0~OUTB3〔B組顯示信號〕:輸出線。
這兩組引線均是顯示信息輸出線,它們與多路數(shù)字顯示的掃描線SL0~SL3同步。兩組可以獨立使用,也可以合并使用?!蚕[顯示〕:輸出線,低電平有效。該輸出信號在數(shù)字切換顯示或使用顯示消隱命令時,將顯示消隱。8279工作方式1、鍵盤工作方式由兩種雙鍵互鎖和N鍵依次讀出。
〔1〕鍵盤掃描方式,雙鍵互鎖這種方式中由三種可能的情況:一是只有一個鍵按下,那么該鍵值連同CNTL及SHIFT的狀態(tài)一起送到FIFO/傳感器RAM中。如果FIFO/傳感器RAM為空,IRQ=1;如果FIFO/傳感器RAM滿,便置錯誤標(biāo)志,鍵值不會經(jīng)入FIFO/傳感器RAM中。二是由鍵按下,后又有其它鍵按下但先釋放,前者有效,后者無效,并把有效鍵的值送入到FIFO/傳感器RAM中。三是在防鍵抖動誤動作周期內(nèi),有雙鍵同時按下,后釋放的有效。(2〕鍵盤掃描方式,N鍵互鎖在這種方式下,有多鍵同時按下,那么按照掃描時遇到閉合鍵的先后次序?qū)㈡I值存入FIFO/傳感器RAM中,然后依次讀出。2、顯示器的工作方式CPU將顯示數(shù)碼寫入顯示RAM中時,有從左端寫入和從右端寫入兩種方式。顯示時,可以分A、B兩組獨立方式,也可以兩組同時顯示。3、內(nèi)部譯碼和外部譯碼方式在鍵盤、顯示器工作方式中,SL0~SL3為鍵盤的列掃描和動態(tài)顯示器的位選線。中選擇內(nèi)部譯碼方式時,SL0~SL3每一時刻只能有一位為低電平輸出,此方式只能外接4個LED顯示器和4*8鍵盤。中選擇外部譯碼方式時,SL0~SL3輸出為計數(shù)分頻方式,此方式下可以外界16個LED顯示器和8*8鍵盤。8279的編程方法:8279的編程可分為初始化、向顯示RAM中寫入數(shù)據(jù)和讀鍵盤數(shù)據(jù)三局部。在實際應(yīng)用中,通常初始化編程在主程序中完成;顯示局部一般作為子程序;而鍵盤讀入局部作為中斷效勞程序來編寫。初始化編程是向8279寫入工作方式命令字,確定其工作方式及相關(guān)操作功能。以下介紹本設(shè)計中對8279的編程〔1〕鍵盤/顯示器方式設(shè)置命令字D7D6D5D4D3D2D1D0=00010010;8個LED顯示器,從右端輸入,編碼掃描鍵盤,雙鍵互鎖〔2〕時鐘編程命令D7D6D5D4D3D2D1D0=00110100;外部時鐘為2MHz,分頻系數(shù)=2MHz/100kHz=20〔3〕讀FIFO/傳感器RAM命令D7D6D5D4D3D2D1D0=01000000;設(shè)置FIFO/傳感器RAM地址讀后地址保持不變〔4〕讀顯示RAM命令D7D6D5D4D3D2D1D0=0111****;D3D2D1D0為顯示RAM的存儲單元地址,每次讀出顯示RAM后地址自動加一,指向下一單元?!?〕寫顯示RAM命令D7D6D5D4D3D2D1D0=1001****;D3D2D1D0為顯示RAM的存儲單元地址,每次向顯示RAM寫入數(shù)據(jù)后,地址自動加一,指向下一單元地址?!?〕去除命令D7D6D5D4D3D2D1D0=11011100;去除顯示RAM和FIFO/傳感器RAM〔7〕中斷結(jié)束/出錯方式設(shè)置命令D7D6D5D4D3D2D1D0=11110000;此命令使IRQ變低電平,而結(jié)束中斷,并允許對FIFIO/傳感器RAM的再次寫入。2.5DS1302芯片的介紹:DS1302是DALLAS公司推出的涓流充電時鐘芯片,內(nèi)含有一個實時時鐘/日歷和31B靜態(tài)RAM,通過簡單的串行接口與單片機進(jìn)行通信。實時時鐘/日歷電路提供秒、分、時、日、星期、月和年的信息,每月的天數(shù)和閏年的天數(shù)可自動調(diào)整,時鐘操作可通過AM/PM 指示決定采用24或12格式。DS1302與單片機之間能簡單地采用同步串行的方式進(jìn)行通信,僅需用到3根口線:RST復(fù)位、I/O數(shù)據(jù)線和 SCLK時鐘線,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。采用普通32.768kHz晶振。工作電壓為2.5V~5.5V。
2.5.1引腳功能及結(jié)構(gòu)
圖1示出DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復(fù)位/片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位存放器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進(jìn)行操作。如果在傳送過程中RST置為低電平,那么會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在V2.5.2DS1302的控制字節(jié)
1RAMCKA4A3A2A1A0RAMK2.5.3數(shù)據(jù)輸入輸出(I/O)
在控制指令字輸入后的下一個SCLK時鐘的上升沿時,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從低位0位到高位7。
2.5.4DS1302的存放器
2.6系統(tǒng)硬件電路設(shè)計圖1所示為電路的總體設(shè)計思路,圖2為單片機的最小系統(tǒng),圖3為ds1302與單片機的接口電路,圖4是8279與片的接口以及8279與鍵盤顯示器的接口電路。圖1系統(tǒng)結(jié)構(gòu)框圖圖2單片機最小系統(tǒng)圖3DS1302與單片機的連接電路圖48279鍵盤顯示器接口電路8279芯片上的端口D0~D7與單片機的P0端口相連,用于CPU和8279之間控制,狀態(tài)及數(shù)據(jù)信息的傳輸。8279與89S51的讀寫控制端口WR,RD相連接,使單片機能夠?qū)?279進(jìn)行讀寫操作。8279的片選端由P2.7控制,中斷請求輸出IRQ由外部中斷1—INT1中斷。芯片74LS373是一種帶輸出三態(tài)門的8D鎖存器,單片機的地址鎖存有效信號ALE與74LS373的數(shù)據(jù)鎖存數(shù)據(jù)端G相連,G為“1”時,鎖存器輸出端同輸入端;當(dāng)G由“1”變“0”時,數(shù)據(jù)輸入鎖存器中。74LS373的輸出允許端OE接地,表示輸出三態(tài)門一直翻開。8279的A0端接CPU地址總線的A0即74LS373的輸出端R0,用于區(qū)別信息特征:為1時,表示寫入的命令或讀出8279的狀態(tài);為0時,表示傳送的時數(shù)據(jù)。行〔或列〕掃描輸出線SL0~SL2接3線-8線譯碼器74LS138譯出8條顯示器的位掃描線,經(jīng)過74LS240驅(qū)動LED顯示器工作,OUTA0~OUTA3和OUTB0~OUTB3顯示數(shù)據(jù)的段碼輸出線經(jīng)過74LS240輸出顯示數(shù)據(jù),并在每個輸入端接個1K的電阻以限制輸入電流,防止數(shù)碼管燒壞。RL7~~RL2六條回復(fù)輸入線作為鍵盤的行輸入線,從74LS138的輸出線Y1引出鍵盤的列輸入線,這樣就構(gòu)成了六個按鍵,從上到下依次為:開關(guān)鍵ON/OFF,用于顯示器的開關(guān)控制;復(fù)位鍵R,用于系統(tǒng)出現(xiàn)突發(fā)情況時,恢復(fù)系統(tǒng)狀態(tài)到初始狀態(tài);左向移動鍵LM、右向移動鍵RM,當(dāng)進(jìn)行時間設(shè)置時,第三章軟件設(shè)計3.1整體設(shè)計首先在主程序中對系統(tǒng)環(huán)境,包括設(shè)置串口、端口以及芯片DS1302和8279進(jìn)行初始化,主程序流程圖如以下圖所示:3.2鍵盤中斷程序流,由8279對鍵盤進(jìn)行編程3.3顯示程序時分秒采用二十四小時制正計時的方式,初始為00:00:00,開始計時,當(dāng)計時到23:59:59時,觸發(fā)天數(shù)減一,如此循環(huán)進(jìn)行,直到天數(shù)減為0,倒計時結(jié)束。Ds1302時鐘顯示子程序
T_RST
Bit
P1.3;實時時鐘復(fù)位線引腳
T_CLK
Bit
P1.4;實時時鐘時鐘線引腳
T_IO
Bit
P1.5;實時時鐘數(shù)據(jù)線引腳
SECOND
EQU
30H
MINUTE
EQU
31H
HOUR
EQU
32H
ORG
0000H
LJMP
START
ORG
0060H
START:
;CLR
T_RST
;CLR
T_CLK
MOV
SP,#60H
;修改堆棧
MOV
SECOND,#00H
;初始時間設(shè)為12:00:00
MOV
MINUTE,#00H
MOV
HOUR,#12H
LCALL
SETDS1302
LCALL
GET1302
LCALL
DISPLAY
MAIN:
MOV
R3,#25
MOV
TMOD,#01H
MOV
TH0,#70H
;置定時器初值(定時40ms)
MOV
TL0,#00H
SETB
TR0
;啟動定時器0
LP1:
JBC
TF0,LP2
;查詢計數(shù)溢出
SJMP
LP1
;未到40ms繼續(xù)計數(shù)
LP2:
MOV
TH0,#0B8H
;重新置定時器初值
MOV
TL0,#00H
LCALL
DISPLAY
;顯示
DJNZ
R3,LP1
;未到1S繼續(xù)循環(huán)
LCALL
GET1302
;每過1s從DS1302讀取一次時間
mov
r3,#25
SJMP
lp1
;字符顯示碼表
DIG_CODE:
DB
0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090
;數(shù)碼顯示子程序
DISPLAY:
MOV
DPTR,#DIG_CODE
;顯示秒
MOV
A,SECOND
ANL
A,#0FH
MOVC
A,@A+DPTR
MOV
P2,A
MOV
P1,#11011111b
LCALL
DIS_DELAY
MOV
A,SECOND
SWAP
A
ANL
A,#07H
MOVC
A,@A+DPTR
MOV
P2,A
MOV
P1,#11101111b
LCALL
DIS_DELAY
;顯示分
MOV
A,MINUTE
ANL
A,#0FH
MOVC
A,@A+DPTR
MOV
P2,A
MOV
P1,#11110111b
LCALL
DIS_DELAY
MOV
A,MINUTE
SWAP
A
ANL
A,#07H
MOVC
A,@A+DPTR
MOV
P2,A
MOV
P1,#11111011b
LCALL
DIS_DELAY
;顯示小時
MOV
A,HOUR
ANL
A,#0FH
MOVC
A,@A+DPTR
MOV
P2,A
MOV
P1,#11111101b
LCALL
DIS_DELAY
MOV
A,HOUR
SWAP
A
ANL
A,#03H
MOVC
A,@A+DPTR
MOV
P2,A
MOV
P1,#11111110b
LCALL
DIS_DELAYRET
顯示延時5ms子程序
DIS_DELAY:
PUSH
PSW
MOV
R7,#10
D1:
MOV
R6,#248
D2:
DJNZ
R6,$
DJNZ
R7,D1
POP
PSW
RET
;設(shè)置DS1302初始時間,并啟動計時
SETDS1302:
CLR
T_RST
nop
CLR
T_CLK
nop
SETB
T_RST
nop
MOV
B,#8EH
;寫控制命令字
LCALL
INPUTBYTE
MOV
B,#00H
;寫保護關(guān)閉
LCALL
INPUTBYTE
SETB
T_CLK
nop
CLR
T_RST
MOV
R0,#SECOND
;內(nèi)存中的時間首地址
MOV
R1,#80H
;DS1302中的時間首地址
MOV
R7,#7
;字節(jié)數(shù)SETLOOP:
CLR
T_RST
nop
CLR
T_CLK
nop
SETB
T_RST
nop
MOV
B,R1
;寫命令字
LCALL
INPUTBYTE
MOV
A,@R0
;設(shè)置時間
MOV
B,A
LCALL
INPUTBYTE
INC
R0
INC
R1
INC
R1
SETB
T_CLK
nop
CLR
T_RST
nop
DJNZ
R7,SETLOOP
CLR
T_RST
nop
CLR
T_CLK
nop
SETB
T_RST
nop
MOV
B,#8EH
LCALL
INPUTBYTE
MOV
B,#80H
;開寫保護
LCALL
INPUTBYTE
SETB
T_CLK
nop
CLR
T_RST
nop
RET;---------------------------------------------------------------------------------------------------
;從DS1302讀取時間
GET1302:
MOV
R0,#SECOND
MOV
R1,#81H
;DS1302中讀時間的首地址
MOV
R7,#7
GETLOOP:
CLR
T_RST
nop
CLR
T_CLK
nop
SETB
T_RST
nop
MOV
B,R1
LCALL
INPUTBYTE
;寫命令字
LCALL
OUTPUTBYTE
;讀時間
MOV
@R0,A
;將從DS1302中讀取的時間從內(nèi)存中保存
INC
R0
;修改地址指針
INC
R1
INC
R1
SETB
T_CLK
nop
CLR
T_RST
/r/
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年鶴崗貨運考試題目
- 2025年萊蕪貨運資格證安檢考試題
- 小學(xué)二年級數(shù)學(xué)上口算紙
- 2025年濟寧道路客貨運輸從業(yè)資格證b2考試題庫
- 2025年焦作道路運輸從業(yè)人員從業(yè)資格考試
- 電焊工入職合同(2篇)
- 《北魏政治和北方民族大交融》聽課評課記錄2(新部編人教版七年級上冊歷史)
- 2024-2025學(xué)年高中英語Module6TheInternetandTelecommunicationsSectionⅤWriting-正反觀點對比類議論文教案含解析外研版必修1
- 企業(yè)年終工作總結(jié)報告
- 公司人事部門年終工作總結(jié)
- 北師大版小學(xué)三年級數(shù)學(xué)下冊全冊教案
- DCMM練習(xí)題練習(xí)試題
- 《工業(yè)化建筑施工階段碳排放計算標(biāo)準(zhǔn)》
- GB/T 33761-2024綠色產(chǎn)品評價通則
- 地下停車場充電樁技術(shù)方案建議書
- 幼兒園設(shè)施設(shè)備安全教育
- 廢舊保溫棉處置合同范例
- 《人工智能簡述》課件
- 《軌道交通工程盾構(gòu)施工技術(shù)》 課件 項目5 盾構(gòu)隧道防水施工
- 2024年數(shù)據(jù)編織價值評估指南白皮書-Aloudata
- 四川省算力基礎(chǔ)設(shè)施高質(zhì)量發(fā)展行動方案(2024-2027年)
評論
0/150
提交評論