電子時(shí)鐘的設(shè)計(jì)畢業(yè)論文.doc_第1頁(yè)
電子時(shí)鐘的設(shè)計(jì)畢業(yè)論文.doc_第2頁(yè)
電子時(shí)鐘的設(shè)計(jì)畢業(yè)論文.doc_第3頁(yè)
電子時(shí)鐘的設(shè)計(jì)畢業(yè)論文.doc_第4頁(yè)
電子時(shí)鐘的設(shè)計(jì)畢業(yè)論文.doc_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

濰坊工商職業(yè)學(xué)院畢業(yè)論文 電子時(shí)鐘的設(shè)計(jì)電子鐘的設(shè)計(jì)1.序言1.1 系統(tǒng)開(kāi)發(fā)背景隨著電子科技的不斷發(fā)展,傳統(tǒng)的時(shí)鐘已被一些高檔的電子時(shí)鐘所取代,與傳統(tǒng)的時(shí)鐘相比,電子時(shí)鐘融合了掛歷和時(shí)鐘的優(yōu)點(diǎn),能晝夜清晰顯示,集年、月、日、時(shí)、分、秒、日期、農(nóng)歷、氣溫于一體,外觀新穎,造型別具一格。除此之外由于掛歷以及一些傳統(tǒng)電子表的制作成本相對(duì)較高,其銷(xiāo)售價(jià)格也大多在530元之間,而一個(gè)電子時(shí)鐘的價(jià)格也在這之間,但是掛歷只能用一年,傳統(tǒng)電子表又不能顯示年、月、日,而電子時(shí)鐘則不一樣,由于它可以自動(dòng)識(shí)別閏年、公歷、農(nóng)歷、大小月份、農(nóng)歷,星期能自動(dòng)對(duì)應(yīng)公歷無(wú)須調(diào)整。對(duì)若干年前后的日期都可以查詢(xún),但考慮到其壽命原因,至少也可用58年。在價(jià)格相差不大的情況下,電子時(shí)鐘的性?xún)r(jià)比顯然要高的多,就其閱讀功能而言,電子時(shí)鐘閱讀起來(lái)更加方便,同時(shí)他還有鬧鈴和顯示溫度的功能,這比傳統(tǒng)的掛歷以及電子表要強(qiáng)大的多。其實(shí)現(xiàn)的方法也很簡(jiǎn)單,用一個(gè)單片機(jī)和數(shù)個(gè)數(shù)碼管就可以實(shí)現(xiàn),由此可見(jiàn),電子時(shí)鐘的市場(chǎng)經(jīng)濟(jì)開(kāi)發(fā)價(jià)值要比掛歷以及電子表要高的多,電子時(shí)鐘取代傳統(tǒng)的掛歷以及傳統(tǒng)電子表已成為不可抵擋的趨勢(shì)。因此開(kāi)發(fā)一個(gè)電子時(shí)鐘就必須要了解單片機(jī)和數(shù)碼管的原理和功能等,下面一節(jié)我們將簡(jiǎn)單介紹一下單片機(jī)和數(shù)碼管。1.2 系統(tǒng)開(kāi)發(fā)工具介紹與安裝1.2.1 PIC系列單片機(jī)開(kāi)發(fā)工具M(jìn)PLAB的組成 MPLAB是一個(gè)集成了多種單片機(jī)應(yīng)用開(kāi)發(fā)工具軟件于一體的、功能完備的軟件包,是PIC單片機(jī)編程開(kāi)發(fā)的重要工具。在此僅對(duì)其中的5種工具軟件簡(jiǎn)要介紹如下: Project Manager(工程項(xiàng)目管理器)工程項(xiàng)目管理器是MPLAB的核心部分,用于創(chuàng)建和管理工程項(xiàng)目,為開(kāi)發(fā)人員提供自動(dòng)化程度高、操作簡(jiǎn)便的符號(hào)化(屏幕上的指令、指令地址、常數(shù)、變量、寄存器等均用表義性和可讀性很強(qiáng)的符號(hào)代表和標(biāo)識(shí))調(diào)試工作平臺(tái)。 MPLAB Editor(源程序編輯器)源程序編輯器是一個(gè)全屏幕文本編輯器,用于創(chuàng)建和修改匯編語(yǔ)言源程序文件。源程序文件以純文本格式保存,其文件擴(kuò)展名為“.asm”。 MPASM Assembler(匯編器)用于將匯編語(yǔ)言源程序文件(.asm)匯編成機(jī)器語(yǔ)言目標(biāo)程序文件(.hex),并負(fù)責(zé)查找語(yǔ)法錯(cuò)誤和格式錯(cuò)誤等一些淺層次簡(jiǎn)單錯(cuò)誤。 MPLAB-SIM Software Simulator(軟件模擬器)軟件模擬器是一種代替價(jià)格較貴的Hardware Emulstor(硬件仿真器)的調(diào)試工具,也是一種非實(shí)時(shí)、非在線的純軟件的調(diào)試工具。借助這個(gè)在微機(jī)系統(tǒng)上運(yùn)行的工具軟件,我們可以不需要任何額外的附加硬件,僅用軟件的手段,來(lái)模仿PIC系列單片機(jī)的指令的執(zhí)行和信號(hào)的輸入/輸出,從而實(shí)現(xiàn)對(duì)用戶(hù)自編單片機(jī)源程序的模擬運(yùn)行、功能調(diào)試和深層次邏輯錯(cuò)誤查找。因此可以說(shuō),這為學(xué)習(xí)和應(yīng)用PIC系列單片機(jī)的人們提供一種虛擬的實(shí)戰(zhàn)環(huán)境。對(duì)于單片機(jī)初學(xué)者來(lái)說(shuō),不用花錢(qián)也可以實(shí)現(xiàn)邊學(xué)邊練的夢(mèng)想;對(duì)單片機(jī)開(kāi)發(fā)者來(lái)說(shuō),可以縮短開(kāi)發(fā)周期和降低成本 ??傊?,它是一種許多其他型號(hào)系列單片機(jī)很少配備的、性能價(jià)格比較高的程序調(diào)試工具。不過(guò),它也存在一定的局限性:一是它還不能模擬PIC16F87X片內(nèi)少數(shù)功能特殊的外圍模塊;二是它不能幫我們查找目標(biāo)板上的電路錯(cuò)誤;三是它執(zhí)行速度慢而只能適合調(diào)試那些實(shí)時(shí)性要求不高的程序。 MPLAB-ICD Debugger(在線調(diào)試工具ICD的支持程序)這是一種專(zhuān)門(mén)與ICD配合使用的支持程序。ICD是Microchip公司專(zhuān)為PIC16F87X設(shè)計(jì)的一種廉價(jià)的在線調(diào)試工具套件。另外,還包含一些其他工具軟件。例如:程序模塊連接器、庫(kù)程序管理器、C語(yǔ)言編譯器、硬件在線仿真器的支持程序、目標(biāo)程序燒錄器的支持程序、在DOS操作系統(tǒng)下運(yùn)行的匯編器等等。1.2.2 MPLAB的安裝為了使MPLAB能夠順利安裝和可靠地運(yùn)行,對(duì)于所用的微機(jī)系統(tǒng)有一個(gè)起碼地要求。既安裝和運(yùn)行MPLAB所需的最小計(jì)算機(jī)配置為: CPU為Intel486或型號(hào)更先進(jìn)的處理器; 操作系統(tǒng)為Microsoft Windows98/2000或WindowsXP;顯示器為VGA(建議使用SVGA);內(nèi)存容量應(yīng)不小于8MB(建議32MB);可利用的硬盤(pán)空間不小于20MB; 配有鼠標(biāo)。下面我們介紹在WindowsXP操作系統(tǒng)之下,安裝MPLAB的過(guò)程。首先將Microchip公司提供的光盤(pán)放入光驅(qū)內(nèi),點(diǎn)擊“我的電腦”會(huì)出現(xiàn)光盤(pán)的標(biāo)志符 ,右擊此標(biāo)志符一次,再點(diǎn)擊“打開(kāi)”,找到了文件夾“tools”,右擊此文件夾,點(diǎn)擊打開(kāi),找到“download”的文件夾,右擊打開(kāi)此文件夾,找到mplab-ide的文件夾,同樣右擊打開(kāi)此文件夾,會(huì)出現(xiàn)MPLV5XX的文件夾,再打開(kāi)這個(gè)MPLV5XX的文件夾,就出現(xiàn)了Mp57full的安裝文件,打開(kāi)文件就進(jìn)入了如圖1.2.1的安裝對(duì)話框。圖1.1 進(jìn)入MPLAB安裝的對(duì)話框 點(diǎn)擊Next兩次,進(jìn)入了如圖1.2.2所示的對(duì)話框,用鼠標(biāo)點(diǎn)擊去掉一些暫時(shí)用不到的程序左邊的鉤號(hào)。點(diǎn)擊兩次“Next”,就出現(xiàn)了圖1.2.3的對(duì)話框,在這里點(diǎn)擊“Browse”鍵即可選擇你想安裝MPLAB的地方,選擇好后就點(diǎn)擊“Next”,直到出現(xiàn)圖1.2.4的準(zhǔn)備好安裝MPLAB的對(duì)話框,點(diǎn)擊“Next”就開(kāi)始安裝了。 圖1.2 MPLAB組件選擇對(duì)話框 圖1.3 選擇安裝MPLAB的路徑 圖1.4 準(zhǔn)備好安裝MPLAB的對(duì)話框安裝完成后,MPLAB會(huì)自動(dòng)在WindowsXP“開(kāi)始”按鈕的“程序”組中,建立一個(gè)“Microchip MPLAB”程序組。至此MPLAB的系統(tǒng)文件已經(jīng)安裝完畢。用戶(hù)可在硬盤(pán)驅(qū)動(dòng)器C:Program FilesMplab目錄下,建立一個(gè)新的子目錄Work作為我們的工作目錄,存放我們?cè)趯W(xué)習(xí)和操作過(guò)程中產(chǎn)生的各種文件。如果日后不打算使用MPLAB,想清除其占用的硬盤(pán)空間,MPLAB自帶了卸載程序C:Program FilesMplabunwise32.exe,運(yùn)行它即可將MPLAB全部徹底地自動(dòng)刪除干凈。1.2.3 MPLAB-ICD在線調(diào)試工具套件及其應(yīng)用MPLAB-ICD是Microchip公司針對(duì)其PIC系列單片機(jī)中,近期推出的具有片內(nèi)FLASH程序存儲(chǔ)器的PIC16F87X系列單片機(jī),所研制的一套廉價(jià)的學(xué)習(xí)和開(kāi)發(fā)工具套件。MPLAB-ICD可以用于實(shí)驗(yàn)階段的評(píng)估和輔助調(diào)試。它既是一個(gè)編程器(即程序燒寫(xiě)器),又是一個(gè)實(shí)時(shí)在線調(diào)試器。用它可以代替在單片機(jī)應(yīng)用項(xiàng)目的開(kāi)發(fā)過(guò)程中常用的兩種工具硬件在線實(shí)時(shí)仿真器和程序燒寫(xiě)器。它利用了PIC16F87X片內(nèi)集成的在線調(diào)試器(in-circuit debugger)能力和Microchip公司的在線串行編程技術(shù)(in-circuit serial programming)。MPLAB-ICD工作于MPLAB集成開(kāi)發(fā)環(huán)境軟件包之下,其仿真頭直接連接到目標(biāo)電路板上,如同將一片PIC16F87X插入到目標(biāo)板內(nèi)一樣去運(yùn)行用戶(hù)編制的程序。MPLAB-ICD套件中包括的部件有:MPLAB-ICD仿真頭;MPLAB-ICD模塊;及MPLAB-ICD演示板;RS-232串行通信電纜;連接插針:2條14腳插針和2條20腳插針;20cm長(zhǎng)的6芯電纜;包含所有MPLAB軟件包和文檔資料的光盤(pán);MPLAB-ICD用戶(hù)指南的中文翻譯版本;還有直流電源適配器。那么它的功能特點(diǎn)則有: 能以實(shí)時(shí)或單步方式運(yùn)行用戶(hù)程序; 斷點(diǎn)設(shè)置功能; 在線調(diào)試功能; 在線編程功能; 工作電壓范圍為3.05.5 V; 可從目標(biāo)板上獲取工作電源; 工作頻率范圍為32kHz20kHz; 可對(duì)源程序直接進(jìn)行代碼級(jí)的調(diào)試; 可以工作于MPLAB集成開(kāi)發(fā)環(huán)境下; 以RS-232串行接口方式與微機(jī)系統(tǒng)相連。借助于MPLAB-ICD工具套件,用戶(hù)可以實(shí)現(xiàn):在自己設(shè)計(jì)的PIC16F87X的應(yīng)用電路中實(shí)時(shí)運(yùn)行和調(diào)試自己的源程序軟件調(diào)試。用自己編制的程序來(lái)調(diào)試和檢驗(yàn)自制目標(biāo)板上的電路硬件調(diào)試;利用在線串行編程技術(shù)將自己設(shè)計(jì)的目標(biāo)程序燒寫(xiě)到插在目標(biāo)板上的PIC16F87X單片機(jī)(又稱(chēng)目標(biāo)單片機(jī))中程序固化。對(duì)于這套小巧廉價(jià)的、電路簡(jiǎn)潔的MPLAB-ICD的開(kāi)發(fā)工具套件,由于在實(shí)現(xiàn)在線調(diào)試和在線編程的過(guò)程中,采用了PIC16F87X集成在片內(nèi)的在線調(diào)試功能和Microchip公司的在線串行編程協(xié)議,因此在用MPLAB-ICD仿真目標(biāo)單片機(jī)時(shí)一定會(huì)存在一定的局限性。具體地說(shuō),MPLAB-ICD工作過(guò)程中將會(huì)占用目標(biāo)單片機(jī)的片內(nèi)和引腳中的部分資源。這部分資源用戶(hù)就不能再使用了。不過(guò),對(duì)于一般的項(xiàng)目開(kāi)發(fā)沒(méi)有太大的影響,并且與價(jià)格昂貴的專(zhuān)業(yè)級(jí)全功能在線實(shí)時(shí)仿真器相比,用它來(lái)調(diào)試和燒寫(xiě)PIC16F87X系列單片機(jī),仍然是一套具有極高性能價(jià)格比的開(kāi)發(fā)工具套件,所以它非常適合初級(jí)開(kāi)發(fā)者的學(xué)習(xí)和實(shí)踐。我們通過(guò)使用此套工具就可以很好的進(jìn)行單片機(jī)的應(yīng)用。 1.2.4 其他所用外圍模塊、電路及器件的簡(jiǎn)要介紹:這個(gè)系統(tǒng)中使用了在32768Hz的自備晶振支持下的PIC單片機(jī)內(nèi)部TMR1定時(shí)計(jì)數(shù)器。由于本系統(tǒng)意在實(shí)現(xiàn)外部的電池提供電源,為了節(jié)省能源,需要單片機(jī)進(jìn)入睡眠模式,但同時(shí)又不能影響計(jì)數(shù)器的計(jì)時(shí)工作,由于TMR1能夠在睡眠模式下工作,所以我們用TMR1作為計(jì)時(shí)器,32768 晶振則是給TMR1提供振蕩信號(hào)的 ,由于TMR1是一個(gè)雙字節(jié)計(jì)數(shù)器,總的計(jì)數(shù)次數(shù)是2的16次方計(jì)即327682次。所以它可以方便地由TMR1產(chǎn)生精確的秒信號(hào),在此基礎(chǔ)上,再進(jìn)一步由軟件計(jì)數(shù)器形成分、小時(shí)、日以至月、年的數(shù)值。在此次設(shè)計(jì)中,我們也加上了+9V的電壓,當(dāng)然還需要一個(gè)穩(wěn)壓模塊,我們采用7805來(lái)實(shí)現(xiàn)穩(wěn)壓的功能。除此之外還有各種值的電阻和電容。2系統(tǒng)總體分析與設(shè)計(jì)2.1 系統(tǒng)的開(kāi)發(fā)目標(biāo)本系統(tǒng)的基本任務(wù)和目標(biāo)就是利用PIC16F877單片機(jī)中的計(jì)時(shí)器TMR1所自帶的低頻時(shí)基振蕩器(32768晶振),用來(lái)實(shí)現(xiàn)記錄和計(jì)算真實(shí)的年、月、日、時(shí)、分、秒、的時(shí)鐘功能。然后將所記錄的數(shù)據(jù)轉(zhuǎn)換成數(shù)碼管顯示,同時(shí)通過(guò)單片機(jī)的相應(yīng)引腳輸出的控制信號(hào)來(lái)控制時(shí)間信號(hào)所顯示的位置及光標(biāo)的形態(tài)等。從而達(dá)到將所計(jì)時(shí)間顯示在數(shù)碼管上面。(注:由于實(shí)驗(yàn)設(shè)備和環(huán)境的原因,不能實(shí)現(xiàn)顯示節(jié)假日、農(nóng)歷、節(jié)氣以及鬧鈴等功能)實(shí)現(xiàn)以上的任務(wù)需要幾大模塊: 實(shí)現(xiàn)自動(dòng)識(shí)別閏年,大小月份天數(shù)的算法。 如何實(shí)現(xiàn)將所計(jì)的數(shù)字轉(zhuǎn)換成數(shù)碼管顯示。 怎樣實(shí)現(xiàn)對(duì)電子時(shí)鐘的時(shí)間調(diào)節(jié)。2.2 關(guān)于此系統(tǒng)的背景知識(shí)2.2.1 相關(guān)的單片機(jī)知識(shí)簡(jiǎn)介T(mén)MR1和TMR0一樣,既可作為時(shí)間定時(shí)器又可當(dāng)作事件計(jì)數(shù)器。但它是一個(gè)16位寬的上升沿觸發(fā)的累加計(jì)數(shù)“寄存器對(duì)”即TMR1HH和TMR1L。與它相關(guān)的寄存器有6個(gè)如表2.1所示 寄存器名稱(chēng)寄存器符號(hào)寄存器地址 寄存器內(nèi)容BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0 中斷控制寄存器INTCON0B/8B/10B/18BGIEPIE1T0 I 1INTERBIET0IFINTFRBIF第一外設(shè)中斷控制寄存器PIR10CHPSPIFADIFRCIFTXIFSSPIFCCP1IFTMR2IFTMR1IF第一外設(shè)中斷屏蔽寄存器 PIE1 8CHPSPIEADIERCIETXIESSPIECCP1IETMR2IETMR1IETMR1低字節(jié)TMR1L 0EH 16位TMR1計(jì)數(shù)寄存器低字節(jié)寄存器TMR1高字節(jié)TMR1H 0FH 16位TMR1計(jì)數(shù)寄存器高字節(jié)寄存器TMR1控制寄存器T1CON 10HT1CK PS1T1CK PS0T1OS CENT1SYNCTMR1 CSTMR1ON 表2.1:與TMR1模塊相關(guān)的寄存器(陰影部分表示沒(méi)有用到的寄存器) Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0T1CKPS1T1CKPS0T1OSCENT1SYNCTMR1CSTMR1ON表2.2:TRMR1控制寄存器T1CON其中TMR1控制寄存器T1CON是一個(gè)只用到低6位的可讀/寫(xiě)寄存器。最高2外位未用,讀出是返回0,其余各位的含義如下: TICKPS1T1CKPS0:分頻器分頻比選擇位,如表2.3 表2. 3:分頻器分頻比 T1CKPS1T1CKPS2分 頻 比 0 0 1 :1 0 1 1 :2 1 0 1 :4 1 1 1 :8 T1OSCEN:TMR1自帶振蕩器使能位 1允許TMR1振蕩器起振; 0禁止TMR1振蕩器起振,令非門(mén)的輸出端成高阻態(tài)。 T1SYNC:TMR1外部輸入時(shí)鐘與系統(tǒng)時(shí)鐘同步控制位。 TMR1工作于計(jì)數(shù)器方式(TMR1CS=1時(shí)): 1=TMR1外部輸入時(shí)鐘于系統(tǒng)時(shí)鐘不保持同步; 0= TMR1外部輸入時(shí)鐘于系統(tǒng)時(shí)鐘保持同步; TMR1工作于定時(shí)器方式(TMR1CS=0時(shí)): 該位不起作用。 TMR1CS:時(shí)鐘源選擇位。 1=選擇外部時(shí)鐘源,即時(shí)鐘信號(hào)來(lái)源于外部引腳或自帶振蕩器; 0=選擇內(nèi)部時(shí)鐘源(fosc/4=TCYC指令周期). TMR1ON: TMR1使能控制位 1=開(kāi)啟TMR1,使TMR1進(jìn)入活動(dòng)狀態(tài); 0=關(guān)閉TMR1,使TMR1退出活動(dòng)狀態(tài),以節(jié)省能耗.2.2.2相關(guān)的數(shù)碼管知識(shí)(A)數(shù)碼管的外部結(jié)構(gòu)數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管。(實(shí)物參照?qǐng)D片)。 圖2.1:數(shù)碼管的實(shí)物圖(B)數(shù)碼管的分類(lèi) 數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示);按能顯示多少個(gè)“8”可分為1位、2位、4位等等數(shù)碼管;按發(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)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽(yáng)極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽(yáng)極為低電平時(shí),相應(yīng)字段就不亮。(C)數(shù)碼管的驅(qū)動(dòng)數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來(lái)驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類(lèi)。 靜態(tài)顯示驅(qū)動(dòng):靜態(tài)驅(qū)動(dòng)也稱(chēng)直流驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)是指每個(gè)數(shù)碼管的每一個(gè)段碼都由一個(gè)單片機(jī)的I/O端口進(jìn)行驅(qū)動(dòng),或者使用如BCD碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,缺點(diǎn)是占用I/O端口多,如驅(qū)動(dòng)5個(gè)數(shù)碼管靜態(tài)顯示則需要5840根I/O端口來(lái)驅(qū)動(dòng),要知道一個(gè)89S51單片機(jī)可用的I/O端口才32個(gè)呢:),實(shí)際應(yīng)用時(shí)必須增加譯碼驅(qū)動(dòng)器進(jìn)行驅(qū)動(dòng),增加了硬件電路的復(fù)雜性。 動(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ì)位選通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端口,而且功耗更低。(D)數(shù)碼管參數(shù)8字高度:8字上沿與下沿的距離。比外型高度小。通常用英寸來(lái)表示。范圍一般為0.25-20英寸。長(zhǎng)*寬*高:長(zhǎng)數(shù)碼管正放時(shí),水平方向的長(zhǎng)度;寬數(shù)碼管正放時(shí),垂直方向上的長(zhǎng)度;高數(shù)碼管的厚度。時(shí)鐘點(diǎn):四位數(shù)碼管中,第二位8與第三位8字中間的二個(gè)點(diǎn)。一般用于顯示時(shí)鐘中的秒。(E)數(shù)碼管應(yīng)用數(shù)碼管使用的電流與電壓電流:靜態(tài)時(shí),推薦使用10-15mA;動(dòng)態(tài)時(shí),16/1動(dòng)態(tài)掃描時(shí),平均電流為4-5mA,峰值電流50-60mA。電壓:查引腳排布圖,看一下每段的芯片數(shù)量是多少?當(dāng)紅色時(shí),使用1.9V乘以每段的芯片串聯(lián)的個(gè)數(shù);當(dāng)綠色時(shí),使用2.1V乘以每段的芯片串聯(lián)的個(gè)數(shù)。恒流驅(qū)動(dòng)與非恒流驅(qū)動(dòng)對(duì)數(shù)碼管的影響 顯示效果由于發(fā)光二極管基本上屬于電流敏感器件,其正向壓降的分散性很大, 并且還與溫度有關(guān),為了保證數(shù)碼管具有良好的亮度均勻度,就需要使其具有恒定的工作電流,且不能受溫度及其它因素的影響。另外,當(dāng)溫度變化時(shí)驅(qū)動(dòng)芯片還要能夠自動(dòng)調(diào)節(jié)輸出電流 的大小以實(shí)現(xiàn)色差平衡溫度補(bǔ)償。 安全性:即使是短時(shí)間的電流過(guò)載也可能對(duì)發(fā)光管造成永久性的損壞,采用恒流驅(qū)動(dòng)電路后可防止由于電流故障所引起的數(shù)碼管的大面積損壞。另外,我們所采用的超大規(guī)模集成電路還具有級(jí)聯(lián)延時(shí)開(kāi)關(guān)特性,可防止反向尖峰電壓對(duì)發(fā)光二極管的損害。超大規(guī)模集成電路還具有熱保護(hù)功能,當(dāng)任何一片的溫度超過(guò)一定值時(shí)可自動(dòng)關(guān)斷,并且可在控制室內(nèi)看到故障顯示。3.系統(tǒng)結(jié)構(gòu)及功能的實(shí)現(xiàn)3.1系統(tǒng)的基本結(jié)構(gòu)電子時(shí)鐘是用于計(jì)算時(shí)間并顯示時(shí)間的一種計(jì)時(shí)器,時(shí)間的值是不斷變化的。所以它最起碼的結(jié)構(gòu)應(yīng)有時(shí)間計(jì)數(shù)器、顯示器、以及一些外部電路所需元件。這里的時(shí)間計(jì)數(shù)器我們用PIC16F877單片機(jī)代替,同時(shí)兼作信號(hào)輸入輸出控制器,顯示器用數(shù)碼管顯示。其電路圖如下:圖3.1:系統(tǒng)結(jié)構(gòu)電路圖3.2系統(tǒng)功能的實(shí)現(xiàn)電子時(shí)鐘是一種自動(dòng)計(jì)時(shí)器,但它必須的按照相應(yīng)的歷法規(guī)則來(lái)計(jì)時(shí)。規(guī)則如下:i. 一年12個(gè)月閏年366天,平年365天;ii. 一月31天,平年二月28天(閏年二月29天),三月31天,四月30天,五月31天,六月30天,七月31天,八月31天,九月30天,十月31天,十一月30天,十二月31天;iii. 當(dāng)年數(shù)為四的倍數(shù),且不是一百的倍數(shù)時(shí),當(dāng)年為閏年,全年366天,二月為29天,其余各月不變。否則為平年。iv. 當(dāng)年數(shù)為一百的倍數(shù),且不是四百的倍數(shù)時(shí),當(dāng)年為平年,否則為閏年。v. 一天24個(gè)小時(shí),每小時(shí)60分鐘,每分60秒。以上是最基本的歷法,由于條件和時(shí)間有限,至于節(jié)氣、禮拜天等我們不考慮在內(nèi),系統(tǒng)完全是自動(dòng)計(jì)算時(shí)、分、秒、日期、月份及年份。中間不需要人工去完成,因此,我們就必須做出相應(yīng)的算法來(lái)控制數(shù)碼管顯示對(duì)應(yīng)的碼段。設(shè)計(jì)步驟如下:步驟一:選擇芯片根據(jù)實(shí)際情況和設(shè)計(jì)要求選取合適的單片機(jī),這里選用Microchip公司的P16F877芯片(PIC單片機(jī)可以在MPLAB-ICD演示板上實(shí)現(xiàn)),因?yàn)樗亩〞r(shí)器1可以用作實(shí)時(shí)時(shí)鐘RTC。步驟二:確定時(shí)間的調(diào)整方法按鍵分別用RB0和RB7口,采用中斷方式RB0:用來(lái)選擇調(diào)整對(duì)象,并用指示燈作出相應(yīng)指示RB7:對(duì)選擇的對(duì)象進(jìn)行調(diào)整使用方法:在初始狀態(tài),RD7指示燈點(diǎn)亮,此時(shí)沒(méi)有選擇調(diào)整對(duì)象。當(dāng)按一次RB0后,RD6指示燈點(diǎn)亮,此時(shí)可以用RB7對(duì)年份進(jìn)行調(diào)整;同理,可以用RB0依次選中月,日,星期,時(shí),分和秒,指示燈也會(huì)依次指示步驟三:定義寄存器 秒寄存器: SECOND 六十進(jìn)制 有0狀態(tài) 分寄存器 : MINUTE 六十進(jìn)制 有0狀態(tài) 時(shí)寄存器 : HOUR 二十四進(jìn)制 有0狀態(tài) 星期寄存器 :WEEK 八進(jìn)制 無(wú)0狀態(tài) 日寄存器 : DAY 根據(jù)年月確定進(jìn)制(進(jìn)制寄存器COUNT_D) 無(wú)0狀態(tài)月寄存器 : MONTH 十三進(jìn)制 無(wú)0狀態(tài)年寄存器 : YEAR 一百進(jìn)制(設(shè)計(jì)時(shí)間100年) 有0狀態(tài)初始默認(rèn)時(shí)間為2004/01/02 FRI 00:00:00及SECOND=0,MINUTE=0,HOUR=0,WEEK=5,DAY=2,MONTH=1,YEAR=4,COUNT_D=32進(jìn)位寄存器 :CARRYBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0Bit4:月進(jìn)位標(biāo)志位 Bit3:日進(jìn)位標(biāo)志位Bit2:時(shí)進(jìn)位標(biāo)志位 Bit1:分進(jìn)位標(biāo)志位Bit0:秒進(jìn)位標(biāo)志位當(dāng)有進(jìn)位時(shí)在相應(yīng)位上置1確定一個(gè)月的天數(shù)的寄存器:CARRY_DAYBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0 Bit3:當(dāng)月份(MONTH)為1,3,5,7,8,10或12時(shí)該位置1,1,2位置0 Bit2:當(dāng)月份(MONTH)為4,6,9或11時(shí)該位置1,1,3位置0 Bit1:當(dāng)月份(MONTH)為2時(shí)該位置1,2,3位置0 Bit0:當(dāng)為閏年(能被四整除)時(shí)該位置1,(只要YEAR的0,1位為0,便能整除) 閏年2月為29天,平年2月為28天 1,3,5,7,8,10,12月為31天; 4,6,9,11月為30天對(duì)象標(biāo)志寄存器:CON_OBJ 它是用來(lái)標(biāo)記所要調(diào)整的對(duì)象的Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0Bit7:表示沒(méi)有選擇任何對(duì)象 Bit3:把星期作為當(dāng)前調(diào)整對(duì)象Bit6:把年作為當(dāng)前調(diào)整對(duì)象 Bit2:把時(shí)作為當(dāng)前調(diào)整對(duì)象Bit5:把月作為當(dāng)前調(diào)整對(duì)象 Bit1:把分作為當(dāng)前調(diào)整對(duì)象 Bit4:把日作為當(dāng)前調(diào)整對(duì)象 Bit0:把秒作為當(dāng)前調(diào)整對(duì)象步驟四:設(shè)置TMR1,產(chǎn)生1s脈沖 利用定時(shí)器1自帶的振蕩器,在外加上32768Hz的晶振,設(shè)預(yù)分頻比為1:1,TMR1H初始值設(shè)為80H,TMR1L初始值設(shè)為0H,此時(shí)便能產(chǎn)生1s鐘的實(shí)時(shí)時(shí)鐘脈沖初始化TMR1循環(huán)等待中斷開(kāi)中斷,開(kāi)定時(shí)器11主程序步驟五:畫(huà)框圖設(shè)置各口的I/O狀態(tài)設(shè)置默認(rèn)時(shí)間和默認(rèn)寄存器第47頁(yè) 共47頁(yè)調(diào)用液晶初始化子程序2時(shí)間中斷服務(wù)子程序(COUNT_TIME)關(guān)定時(shí)器1清中斷標(biāo)志,重裝初始值開(kāi)定時(shí)器1SECOND+1SECOND=60 否 秒 N Y置秒進(jìn)位標(biāo)志位,清SECOND秒進(jìn)位標(biāo)志位置位否 N Y MINUTE+1置分進(jìn)位標(biāo)志位,清MINUTEMINUTE=60 否 分 N Y置時(shí)進(jìn)位標(biāo)志位,清HOURHOUR=24 否 HOUR+1分進(jìn)位標(biāo)志位置位否 N Y時(shí) N YDAY+1時(shí)進(jìn)位標(biāo)志位置位否 N YWEEK+1WEEK=8否 N 星期 Y1WEEKSECOND+6,進(jìn)行時(shí)間修正DAY=COUNT_D 否 N 日 Y置日進(jìn)位標(biāo)志位,1DAY置月進(jìn)位標(biāo)志位,1HOURMONTH=12否 MONTH+1日進(jìn)位標(biāo)志位置位否 N Y N 月 Y調(diào)查月份置CARRY_DAY標(biāo)志寄存器子程序調(diào)對(duì)COUONT_D賦值子程序月進(jìn)位標(biāo)志位置位否 N YYEAR+1YEAR=100 否 年 N Y置月進(jìn)位標(biāo)志位,清YEAR調(diào)查閏年子程序調(diào)翻譯子程序調(diào)LCD時(shí)間顯示子程序返回查閏年子程序(LEAP_YEAR) 3YEAR的0位為0否 N YYEAR的1位為0否 N Y確定為平年,將CARRY_DAY0位置0確定為閏年,將CARRY_DAY0位置1返回4查月份置CARRY_DAY標(biāo)志寄存器子程序(EXAM_MONTH) MONTH=2否 Y NMONTH=2否 Y 把CARRY_DAY的1位置1,2,3位置0 NMONTH=2否 Y NMONTH=2否 Y NMONTH=2否 Y N把CARRY_DAY的3位置1,1,2位置0把CARRY_DAY的2位置1,1,3位置0返回556年翻譯子程序(TRAN_Y)翻譯子程序(TRANSLATE)調(diào)BCD轉(zhuǎn)換子程序調(diào)年翻譯子程序調(diào)數(shù)字ASCII翻譯子程序序調(diào)月翻譯子程序返回調(diào)日翻譯子程序 入口:YEAR 出口:YEAR_H,YEAR_L雕星期翻譯子程序 7 調(diào)時(shí)翻譯子程序返回調(diào)數(shù)字ASCII翻譯子程序序調(diào)BCD轉(zhuǎn)換子程序月翻譯子程序(TRAN_MO)調(diào)分翻譯子程序調(diào)秒翻譯子程序返回 入口:MONTH 出口:MONTH_H,MONTH_L返回調(diào)數(shù)字ASCII翻譯子程序序調(diào)BCD轉(zhuǎn)換子程序時(shí)翻譯子程(TRAN_HOUR)89返回返回調(diào)數(shù)字ASCII翻譯子程序序調(diào)BCD轉(zhuǎn)換子程序日翻譯子程序(TRAN_DAY)入口:DAY 出口:DAY_H,DAY_L 入口:HOUR 出口:HOUR_H,HOUR_L11返回調(diào)數(shù)字ASCII翻譯子程序序調(diào)BCD轉(zhuǎn)換子程序秒翻譯子程序(TRAN_S)返回10返回返回調(diào)數(shù)字ASCII翻譯子程序序調(diào)BCD轉(zhuǎn)換子程序分翻譯子程序(TRAN_M) 入口:MINUTE 出口:MINUTE_H,MINUTE_L 入口:SECOND 出口:SECOND_H,SECOND_L1312星期翻譯子程序(TRAN_W)數(shù)字ASCII翻譯子程序(ASCII_F)調(diào)數(shù)字ASCII查表子程序(查BCD_H)調(diào)WEEK1字母表子程序序調(diào)數(shù)字ASCII查表子程序(查BCD_L)調(diào)WEEK2字母表子程序序返回調(diào)WEEK3字母表子程序序返回 入口:BCD_H , BCD_L 出口:ASCII_H , ASCII_L15入口:WEEK 出口:WEEK1,WEEK2,WEEK3 1412WEEK1字母表子程序(TRAN_W1)查表返回以W內(nèi)容為偏移量修改PC當(dāng)前值數(shù)字ASCII查表子程序(TAB_F)以W內(nèi)容為偏移量修改PC當(dāng)前值查表返回 入口:W 出口:W 入口:W 出口:W1716查表返回以W內(nèi)容為偏移量修改PC當(dāng)前值W

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論