




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、湖南人文科技學(xué)院課程設(shè)計(jì)報(bào)告課程名稱:單片機(jī)原理及應(yīng)用課程設(shè)計(jì)本設(shè)計(jì)是利用單片機(jī)的強(qiáng)大的功能,基于at89c52單片機(jī)控制,對(duì)時(shí)鐘芯片ds1302進(jìn)行初始化和讀寫,并對(duì)數(shù)據(jù)進(jìn)行處理,再通過外加六位8段led數(shù)碼管顯示時(shí)間和日期。而本設(shè)計(jì)采用共陽極驅(qū)動(dòng)led燈,利用延時(shí)程序?qū)崿F(xiàn)時(shí)間和日期的滾動(dòng)顯示,led數(shù)碼管時(shí)鐘電路采用24h計(jì)時(shí)方式,時(shí)、分、秒用6位8段數(shù)碼管顯示,由單片機(jī)控制顯示,以完成設(shè)計(jì)要求:1、能計(jì)時(shí):秒、分、時(shí)、天、周、月、年;2、時(shí)間、月、日實(shí)現(xiàn)從左至右的滾動(dòng)顯示。關(guān)鍵詞:ds1302、單片機(jī)、8255、led數(shù)碼管目 錄設(shè)計(jì)要求11 方案論證與對(duì)比11.1 方案一11.2 方案
2、二11. 方案對(duì)比與選擇22 單元電路設(shè)計(jì)與計(jì)算22.1 放大電路的設(shè)計(jì)22.2 整形電路的設(shè)計(jì)22.3 分頻電路的設(shè)計(jì)32.4 分頻控制電路設(shè)計(jì)33 系統(tǒng)軟件工作流程圖43.1 多周期同步測(cè)量原理及誤差分析43.2 系統(tǒng)工作流程44 系統(tǒng)功能測(cè)試與整體指標(biāo)55 詳細(xì)儀器清單56 總結(jié)與思考及致謝6參考文獻(xiàn)7附錄一:放大整形分頻控制電路pcb板8附錄二:74hc390分頻電路pcb板圖9附錄三:程序10電子日歷設(shè)計(jì)要求本課題以單片機(jī)為核心,設(shè)計(jì)并制作出智能led電子鐘,具有以下功能: (1)能計(jì)時(shí):秒、分、時(shí)、天、周、月、年;(2)時(shí)間、月、日實(shí)現(xiàn)從左至右的滾動(dòng)顯示; 1 方案論證與對(duì)比1.1
3、 方案一基于at89c52單片機(jī)的lcd液晶顯示模塊1602顯示的智能led電子鐘。主要是以單片機(jī)來控制,用按鍵來設(shè)定時(shí)間和日期的初值,用按鍵來進(jìn)行時(shí)間和日期的調(diào)整,lcd1602液晶作為顯示模塊來滾動(dòng)顯示時(shí)間和日期。優(yōu)點(diǎn):硬件電路簡(jiǎn)單,編程比較復(fù)雜,能清晰的顯示數(shù)據(jù)。缺點(diǎn):費(fèi)用較高,且在編寫程序?qū)崿F(xiàn)所要求的功能時(shí)較難。1.2方案二 基于at89c52單片機(jī)的數(shù)碼管顯示模塊顯示的智能led電子鐘。主要是以單片機(jī)來控制,對(duì)時(shí)鐘芯片ds1302進(jìn)行初始化和讀寫,并對(duì)數(shù)據(jù)進(jìn)行處理,再通過矩陣按鍵來進(jìn)行時(shí)間和日期的調(diào)整。再通過外加六位8段led數(shù)碼管顯示時(shí)間和日期。此電路對(duì)于智能led電子鐘中的led
4、數(shù)碼管示器來說,采用以軟件為主的接口方法,即不使用專門的硬件譯碼器,而采用軟件程序使時(shí)間和日期滾動(dòng)顯示。優(yōu)點(diǎn):顯示模塊是是比較熟悉的數(shù)碼管,編寫程序是相對(duì)容易,且電路造價(jià)不高。缺點(diǎn):顯示模式比較單一。綜上所述,經(jīng)過對(duì)比與分析,決定采用方案二。2 硬件單元電路設(shè)計(jì)與參數(shù)計(jì)算根據(jù)電子日歷設(shè)計(jì)要求,能計(jì)時(shí),時(shí)間、月、日實(shí)現(xiàn)從左至右的滾動(dòng)顯示,要想實(shí)現(xiàn)上述功能,就必須將硬件系統(tǒng)和軟件系統(tǒng)有機(jī)的結(jié)合在一起。硬件系統(tǒng)主要由at89c52單片機(jī)為控制核心,具有在線編程功能,低功耗。時(shí)鐘電路由ds1302提供,它是一種高性能、低功耗、帶ram的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、星期、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏
5、年補(bǔ)償功能,工作電壓為2.55.5v。采用三線接口與cpu進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或ram數(shù)據(jù)。ds1302內(nèi)部有一個(gè)用于臨時(shí)性存放數(shù)據(jù)的ram寄存器,可產(chǎn)生年、月、日、周、時(shí)、分、秒,具有使用壽命長(zhǎng),精度高和低功耗等特點(diǎn),同時(shí)具有掉電自動(dòng)保存功能。at89c52的輸入輸出口很有限,而又要完成比較復(fù)雜的變換時(shí)間顯示方式,調(diào)時(shí),設(shè)置日期等功能,因此功能鍵的設(shè)置很重要。我們選用三個(gè)功能按鍵,根據(jù)三個(gè)鍵之間的切換以及按鍵次數(shù)來完成各種功能。顯示部分為6位8段的led數(shù)碼管,通過動(dòng)態(tài)掃描進(jìn)行滾動(dòng)顯示。電路設(shè)計(jì)框圖如下: 2.1復(fù)位電路復(fù)位是單片機(jī)的初始化操作,只需給at
6、89c52的復(fù)位引腳rst加上大于2個(gè)機(jī)器周期(即24個(gè)時(shí)鐘振蕩周期)的高電平就可得單片機(jī)復(fù)位,復(fù)位時(shí),pc初始化為0000h,使單片機(jī)從out單元開始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤而使系統(tǒng)處于死鎖狀態(tài),為擺脫死鎖狀態(tài),也需按復(fù)位鍵使得rst腳為高電平,使單片機(jī)重新啟動(dòng)。在系統(tǒng)中,有時(shí)會(huì)出現(xiàn)顯示不正常,也為了調(diào)試方便,我們需要設(shè)計(jì)一個(gè)復(fù)位電路,at89s52單片機(jī)復(fù)位電路共有上電復(fù)位、按鍵電平復(fù)位和按鍵脈沖復(fù)位。本系統(tǒng)是的復(fù)位電路主要完成系統(tǒng)的上電復(fù)位和系統(tǒng)在運(yùn)行時(shí)用戶的按鍵復(fù)位功能。復(fù)位電路可由簡(jiǎn)單的rc電路構(gòu)成,也可使用其它的相對(duì)復(fù)雜,但功能更完善的電路。
7、本系統(tǒng)采用的電路如圖2所示。工作原理是:上電瞬間,rc電路充電,reset引腳端出現(xiàn)正脈沖,只要reset保持10ms以上高電平,就能使單片機(jī)有效的復(fù)位。當(dāng)時(shí)鐘頻率選用12mhz時(shí),c取10uf,r取10k。上電自動(dòng)復(fù)位電路由上電瞬間c與r構(gòu)成充電電路,reset端的電位與電源vcc相同,隨著充電電流的減少,reset的電位逐漸下降。圖中rc時(shí)間常數(shù)越大,上電時(shí)reset端保持高電平的時(shí)間越長(zhǎng),圖中這組參數(shù)足以保證復(fù)位操作。若復(fù)位電路失效,加電后cpu從一個(gè)隨機(jī)的狀態(tài)開始工作,系統(tǒng)就不能正常運(yùn)行。圖中的按鍵s17的功能是按鍵復(fù)位,按下s17鍵時(shí)rst為高電平,只要保持10ms以上的高電平,就可
8、以時(shí)單片機(jī)復(fù)位。按鍵復(fù)位用在系統(tǒng)運(yùn)行時(shí)的復(fù)位,使系統(tǒng)重新運(yùn)行。其復(fù)位電路原理圖如下所示: 2.2 ds1302時(shí)鐘模塊2.2.1 ds1302簡(jiǎn)介 ds1302具有時(shí)鐘計(jì)數(shù)功能,可以對(duì)秒、分鐘、小時(shí)、月、星期、年的計(jì)數(shù)。年計(jì)數(shù)可達(dá)到2100 年,有31*8 位的額外數(shù)據(jù)暫存寄存器,最少i/o 引腳傳輸,通過三引腳控制,工作電壓:2.0-5.5v, 工作電流小于320 納安(2.0v),讀寫時(shí)鐘寄存器或內(nèi)部ram(31*8 位的額外數(shù)據(jù)暫存寄存)可以采用單字節(jié)模式和突發(fā)模式。2.2.2 ds1302引腳ds1302引腳圖如下: 晶體振蕩器的選擇:一個(gè)32.768khz的晶振可以直接接在ds130
9、2的2、3管腳之間,可以設(shè)定規(guī)定載荷電容位6pf。電源控制:vcc1可提供單電源控制也可以用來作為備用電源,vcc2為主電源。在主電源關(guān)閉的情況下,也可以保持時(shí)鐘的連續(xù)運(yùn)行。ds1302由vcc1或vcc2兩者中的較大者供電。當(dāng)vcc2大于vcc1+0.2v時(shí),vcc2給ds1302供電;當(dāng)vcc2小與vcc1時(shí),ds1302由vcc1供電。2.2.3 ds1302功能 ds1302包括時(shí)鐘/日歷寄存器和31字節(jié)(8 位)的數(shù)據(jù)暫存寄存器,數(shù)據(jù)通信僅通過一條串行輸入輸出口。實(shí)時(shí)時(shí)鐘/日歷提供包括秒、分、時(shí)、日期、月份、年份和星期幾的信息。閏年可自行調(diào)整,可選擇12小時(shí)制和24小時(shí)制,可以設(shè)置a
10、m、pm。只通過三根線(spi總線)進(jìn)行數(shù)據(jù)的控制和傳遞:rst、i/o、sclk。2.2.4 時(shí)鐘電路 時(shí)鐘電路如下圖所示: 單片機(jī)必須在時(shí)鐘的驅(qū)動(dòng)下才能工作。在單片機(jī)內(nèi)部有一個(gè)時(shí)鐘振蕩電路,只要外界一個(gè)振蕩源就能產(chǎn)生一定的時(shí)鐘信號(hào)送到單片機(jī)內(nèi)部的各個(gè)單元,決定單片機(jī)的工作速度。本系統(tǒng)使用的是內(nèi)部時(shí)鐘方式。 一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在xtal2引腳產(chǎn)生幅度為3v左右的正弦波時(shí)鐘信號(hào),其振蕩頻率主要由石英晶振的頻率確定。電路中兩個(gè)電容c1、c2的作用有兩個(gè):一是幫助振蕩器起振;二是對(duì)振蕩器的頻率進(jìn)行微調(diào)。本系統(tǒng)的c1、c2的值為30pf。 2.3 晶振
11、電路模塊 單片機(jī)必須在時(shí)鐘的驅(qū)動(dòng)下才能工作。在單片機(jī)內(nèi)部有一個(gè)時(shí)鐘振蕩電路,只要外界一個(gè)振蕩源就能產(chǎn)生一定的時(shí)鐘信號(hào)送到單片機(jī)內(nèi)部的各個(gè)單元,決定單片機(jī)的工作速度。本系統(tǒng)使用的是內(nèi)部時(shí)鐘方式。一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在xtal2引腳產(chǎn)生幅度為3v左右的正弦波時(shí)鐘信號(hào),其振蕩頻率主要由石英晶振的頻率確定。電路中兩個(gè)電容c1、c2的作用有兩個(gè):一是幫助振蕩器起振;二是對(duì)振蕩器的頻率進(jìn)行微調(diào)。本系統(tǒng)的c1、c2的值為30pf。其電路圖如下所示: 2.4 8255可編程并行口芯片模塊8255a芯片是通用可編程并行接口電路,廣泛用于單片機(jī)擴(kuò)展并行i/o接口。它具
12、有3個(gè)8位并行口pa、pb、pc。8255a芯片的引腳功能說明如下:(1) d0-d7:雙向三態(tài)數(shù)據(jù)總線,通常與cpu總線相連;(2) pa、pb、pc:3個(gè)8位i/o接口。pc口還可分為高4位和低4位,其中,高4位可與pa口組成a組,低4位可與pb口組成b組。pc口可按位置位/復(fù)位。(3) cs:片選信號(hào)輸入端,低電平有效。(4) rd:讀選通輸入端,低電平有效。(5) wr:寫選通輸入端,低電平有效。(6) reset:復(fù)位輸入引腳,高電平有效,復(fù)位后,pa、pb、pc口均為輸入。(7) a0、a1:端口地址輸入線,通過地址組合選擇8255a內(nèi)部寄存器。(8) vcc、gnd:電源+5v、
13、接地。8255a芯片的內(nèi)部邏輯結(jié)構(gòu)及引腳如下圖所示: 2.6 矩陣鍵盤模塊本系統(tǒng)用到的是4*4矩陣鍵盤,行線由8255a芯片pc端口的低四位控制,而列線是由pc端口的高四位來控制的,鍵盤的掃描是動(dòng)態(tài)的低電平掃描,當(dāng)有個(gè)鍵按下時(shí),相應(yīng)的行線為高電平,掃描的結(jié)果由pc口送回8255a.在此系統(tǒng)中矩陣鍵盤的作用是調(diào)整電子日歷的時(shí)間和日期,通過軟件設(shè)計(jì)幾個(gè)鍵的功能。本系統(tǒng)是利用s4來實(shí)現(xiàn)時(shí)間調(diào)整的切換,按第一下是實(shí)現(xiàn)時(shí)間秒的調(diào)整,其后沒按下一次是切換到分、時(shí)、周、日、月、年的調(diào)整,再按下則是滾動(dòng)顯示日歷。軟件設(shè)定s6鍵是實(shí)現(xiàn)時(shí)間調(diào)整中的“+”,s7鍵是實(shí)現(xiàn)時(shí)間調(diào)整中的“-”。按鍵電路圖如下所示: 2.
14、5 led數(shù)碼管顯示電路我們使用的是8段數(shù)碼管顯示(包含小數(shù)點(diǎn)),通常在顯示上我們采用的方法一般包括兩種:一種是靜態(tài)顯示,另一種是動(dòng)態(tài)顯示。其中靜態(tài)顯示的特點(diǎn)是顯示穩(wěn)定不閃爍,程序編寫簡(jiǎn)單,但占用端口資源多,所耗得電能較大。動(dòng)態(tài)顯示的特點(diǎn)是顯示穩(wěn)定性沒靜態(tài)好,程序編寫復(fù)雜,但是相對(duì)靜態(tài)顯示而言占用端口資源少。在本設(shè)計(jì)中,為了減少端口資源,降低電能消耗,采用的是動(dòng)態(tài)顯示方法。考慮到數(shù)碼管的段和位比較多,本系統(tǒng)用8255a作為擴(kuò)展端口芯片。數(shù)碼管有段選和位選控制,在此電路中有6個(gè)位選,8個(gè)段選(每一個(gè)數(shù)碼管的段選進(jìn)行并聯(lián))。分別用8255芯片的pa口和pb口進(jìn)行四位數(shù)碼管的控制,而用單片機(jī)的pb口
15、來控制段。電路中用了六個(gè)pnp來控制數(shù)碼管的位選的開關(guān),pnp在這起開關(guān)的作用。電路如下圖所示。 3系統(tǒng)軟件設(shè)計(jì)3.1主程序流程圖本設(shè)計(jì)中主程序主要實(shí)現(xiàn)顯示的初始化和調(diào)用各子程序工作的功能,讀取時(shí)間的子程序主要實(shí)現(xiàn)初始化,時(shí)間調(diào)整設(shè)置信息的采集和顯示的位與段碼的存取。分別對(duì)各個(gè)器件的功能進(jìn)行編程設(shè)計(jì),根據(jù)主程序流程圖(如下)進(jìn)行全面的分析。時(shí)間調(diào)整主要是通過矩陣鍵盤按鍵來完成,當(dāng)有按鍵按下時(shí),轉(zhuǎn)入相應(yīng)的功能程序,再由數(shù)碼管進(jìn)行動(dòng)態(tài)顯示。其主程序執(zhí)行流程圖如下圖: 3.2鍵盤掃描程序本設(shè)計(jì)采用動(dòng)態(tài)掃描法,動(dòng)態(tài)掃描法不僅掃描鍵陣,也可以實(shí)現(xiàn)顯示,是目前應(yīng)用十分廣泛的一種方法。動(dòng)態(tài)掃描法是采用輸出“
16、移動(dòng)”信號(hào),輪流對(duì)各行按鍵進(jìn)行檢測(cè)來實(shí)現(xiàn)的。設(shè)置行線為輸出,列線為輸入,當(dāng)無按鍵按下時(shí),列輸入全為“1”.設(shè)計(jì)時(shí),將某一行輸出為“0”,讀取列線值,若其中某一位為“0”,則表明行、列交叉處的按鍵按下,否則,無按鍵按下;繼續(xù)掃描下一行(將下一行輸出為“0”),直至全掃描完為止。鍵盤掃描程序流程圖如12圖所示:3.3動(dòng)態(tài)顯示子程序 時(shí)間顯示子程序每次顯示6個(gè)連續(xù)內(nèi)存單元的十進(jìn)制bcd碼數(shù)據(jù),由于采用7段共陽led數(shù)碼管動(dòng)態(tài)掃描實(shí)現(xiàn)數(shù)據(jù)顯示,所以顯示用十近制bcd碼數(shù)據(jù)的對(duì)應(yīng) 段碼存放在rom表中。顯示時(shí),先取出內(nèi)存地址中的要顯示的數(shù)據(jù),然后查得對(duì)應(yīng)的顯示段碼從pb口輸出,pa口將對(duì)應(yīng)的位選將數(shù)碼管
17、選中,就能顯示該地址單元的數(shù)據(jù)值。滾動(dòng)顯示程序同樣可以通過位選和段選的改變可以實(shí)現(xiàn)。數(shù)碼管顯示子程序流程圖如圖所示: 4軟件調(diào)試與測(cè)試5詳細(xì)儀器清單表格1儀器清單儀器名稱數(shù)量8051芯片1塊8255a芯片1塊六位8段數(shù)碼管1組ds1302時(shí)鐘芯片1塊4x4輕觸按鈕開關(guān)1個(gè)32.768晶振1個(gè)12m晶振1個(gè)1k電阻28個(gè)104極性電容1個(gè)30pf電容6個(gè)6 總結(jié)與致謝 課程設(shè)計(jì)是我學(xué)習(xí)過程中一個(gè)十分重要的環(huán)節(jié), 單片機(jī)課程設(shè)計(jì)是對(duì)微機(jī)原理、單機(jī)原理及應(yīng)用的實(shí)踐,我們要學(xué)會(huì)運(yùn)用所學(xué)知識(shí)正確分析和解決實(shí)際問題,我們也希望通過這次課程設(shè)計(jì)學(xué)習(xí)到盡可能多的知識(shí)。 通過這次課程設(shè)計(jì)不僅鞏固了我們的書本知識(shí)
18、,同時(shí)也加強(qiáng)和鍛煉了我們的編程能力。課程設(shè)計(jì)中,對(duì)流程圖的設(shè)計(jì)尤為重要,它直接影響到了我們整個(gè)程序框架,硬件的選擇對(duì)電子日歷功能的實(shí)現(xiàn)也有一定影響。在每一次調(diào)試,我們都能從中發(fā)現(xiàn)了所編程序的漏洞,從而進(jìn)一步改善,接下來的調(diào)試就比較順暢了。這次課程設(shè)計(jì)讓我們學(xué)到很多東西,實(shí)際應(yīng)用能力也進(jìn)一步的得到了提高。這次課程設(shè)計(jì)對(duì)我們來說有著深遠(yuǎn)的意義,在此我們要深深的感謝那些傳授我們知識(shí)的老師們,是你們無私的奉獻(xiàn),才會(huì)有如今掌握一定知識(shí)的我們,還要感謝同學(xué)朋友對(duì)我們的鼓勵(lì)和認(rèn)可,讓我們順利完成了這次課程設(shè)計(jì)。學(xué)無止境,我們現(xiàn)在所做的還只是一個(gè)開始。參考文獻(xiàn)【1】 張?chǎng)危A臻,陳書謙.單片機(jī)原理及應(yīng)用.北京
19、電子工業(yè)出版社,2005【2】 朱定華,戴汝平.單片微機(jī)原理與應(yīng)用.(m) 北京:清華大學(xué)出版社,2003【3】 樓然苗,李光飛.單片機(jī)課程設(shè)計(jì)指導(dǎo).(b).北京航空航天大學(xué)出版社,2007【4】 李鳳霞,劉桂山, 薛慶.c語言程序設(shè)計(jì)(第二版).北京理工大學(xué)出版社,200849附錄一:系統(tǒng)主電路圖附錄二:程序#include#include#include#define uchar unsigned char#define uint unsigned int#define porta xbyte0xd9ff#define portb xbyte0xdbff#define portc xbyt
20、e0xddff#define control xbyte0xdfffsbit rst=p26;sbit sclk=p32;sbit io=p35;uchar code led_code=0xa0,0xbb,0x62,0x2a,0x39,0x2c,0x24,0xba, 0x20,0x28; /不帶點(diǎn)的數(shù)碼管段碼09uchar code led_dot_code=0x80,0x9b,0x42,0x0a,0x19,0x0c,0x04,0x9a,0x00,0x08;/帶點(diǎn)的數(shù)碼管段碼09uchar sec,min,hour,day,mon,year,week;/分別用來指示秒,分,時(shí),日,月,年,星期
21、uchar sec1,sec2,min1,min2,hour1,hour2,day1,day2,mon1,mon2,year1,year2;uchar flag,count,temp;int i;uchar table19;/顯示數(shù)組,保存得到的時(shí)間值/*- us延時(shí)函數(shù),含有輸入?yún)?shù) unsigned char t,無返回值 unsigned char 是定義無符號(hào)字符變量,其值的范圍是 0255 這里使用晶振12m,精確延時(shí)請(qǐng)使用匯編,大致延時(shí) 長(zhǎng)度如下 t=tx2+5 us -*/void delayus(unsigned int t) while(-t);/*- ms延時(shí)函數(shù),含有輸入
22、參數(shù) unsigned char t,無返回值 unsigned char 是定義無符號(hào)字符變量,其值的范圍是 0255 這里使用晶振12m,精確延時(shí)請(qǐng)使用匯編-*/void delayms(unsigned int t) while(t-) /大致延時(shí)1ms delayus(245); delayus(245); /*ds1302驅(qū)動(dòng)程序*/void ds_write_data(uchar date)/寫數(shù)據(jù)uchar i,j;for(j=0;j1;sclk=1;sclk=1;uchar ds_read_data()/讀數(shù)據(jù)uchar t,i;io=1;for(i=0;i1;if(io=1)
23、t=t|0x80;sclk=1;sclk=0;return(t);void set_time(uchar com,uchar date)/時(shí)間設(shè)置函數(shù)sclk=0;rst=0;rst=1;ds_write_data(com);ds_write_data(date);rst=0;uchar get_time(uchar add)/時(shí)間讀取函數(shù)uchar t;sclk=0;rst=0;rst=1;ds_write_data(add);t=ds_read_data();rst=0;return(t);/*/void init()/初始化control=0x81;/8255端口功能設(shè)置set_time
24、(0x8e,0x00); /取消寫保護(hù)set_time(0x80,0x00); /啟動(dòng)時(shí)鐘set_time(0x84,0x00); /設(shè)置24小時(shí)模式 set_time(0x90,0xa5); /時(shí)鐘時(shí)鐘充電模式 set_time(0x8e,0x80); /啟動(dòng)寫保護(hù)void display_time()/第一顯示屏 顯示時(shí),分,秒sec=get_time(0x81);sec1=sec&0x0f;porta=0xdf;portb=led_codesec1;delayms(1);sec=sec4;sec2=sec&0x07;porta=0xef;portb=led_codesec2;delaym
25、s(1);min=get_time(0x83);min1=min&0x0f;porta=0xf7;portb=led_dot_codemin1;delayms(1);min=min4;min2=min&0x07;porta=0xfb;portb=led_codemin2; delayms(1);hour=get_time(0x85);hour1=hour&0x0f;porta=0xfd;portb=led_dot_codehour1;delayms(1);hour=hour4;hour2=hour&0x03;porta=0xfe;portb=led_codehour2;delayms(1);v
26、oid display_date()/第二顯示屏 顯示 月 ,日,星期week=get_time(0x8b);porta=0xdf;portb=led_codeweek;delayms(1);porta=0xef;portb=0x7f;delayms(1);day=get_time(0x87);day1=day&0x0f;porta=0xf7;portb=led_codeday1;delayms(1);day=day4;day2=day&0x03;porta=0xfb;portb=led_codeday2;delayms(1);mon=get_time(0x89);mon1=mon&0x0f;
27、porta=0xfd;portb=led_dot_codemon1;delayms(1);mon=mon4;mon2=mon&0x01;porta=0xfe;portb=led_codemon2;delayms(1);void display_year()/第三顯示屏 顯示年porta = 0xdf;portb = 0xff;year=get_time(0x8d);year1=year&0x0f;porta=0xef;portb=led_codeyear1;delayms(1); year=year4;year2=year&0x0f;porta=0xf7;portb=led_codeyear2
28、;delayms(1);porta=0xfb;portb=0xa0;delayms(1);porta=0xfd;portb=0x62;delayms(1);porta = 0xfe;portb = 0xff;void roll_display() /滾動(dòng)顯示sec = get_time(0x81);sec1 = sec&0x0f;sec = sec4;sec2 = sec&0x07; min = get_time(0x83);min1 = min&0x0f;min = min4;min2 = min&0x07;hour = get_time(0x85);hour1 = hour&0x0f;ho
29、ur = hour4;hour2 = hour&0x03;week = get_time(0x8b);day = get_time(0x87);day1 = day&0x0f;day = day4;day2 = day&0x03;mon = get_time(0x89);mon1 = mon&0x0f;mon = mon4;mon2 = mon&0x01;year = get_time(0x8d);year1 = year&0x0f;year = year4;year2 = year&0x0f;table0 = led_codesec1;table1 = led_codesec2;table2
30、 = led_dot_codemin1;table3 = led_codemin2;table4 = led_dot_codehour1;table5 = led_codehour2;table6 = 0xff;table7 = led_codeweek;table8 = 0x7f;table9 = led_codeday1;table10 = led_codeday2;table11 = led_dot_codemon1;table12 = led_codemon2;table13 = 0xff;table14 = led_codeyear1;table15 = led_codeyear2;
31、table16 = 0xa0;table17 = 0x62;table18 = 0xff;if(i-1&i0&i1&i2&i3&i4&i5&i6&i7&i8&i9&i10&i11&i12&i13)porta = 0xfb;portb = tablei-2;delayms(1);if(i14)porta = 0xf7;portb = tablei-3;delayms(1);if(i15)porta = 0xef;portb = tablei-4;delayms(1);if(i16)porta = 0xdf;portb = tablei-5;delayms(1);if(i17)porta = 0x
32、fe;portb = tablei;delayms(1);void key_set()/按鍵進(jìn)入時(shí)鐘設(shè)置portc=0x10;if(portc=0x18)delayms(10);if(portc=0x18)while(portc=0x18);flag=1;temp=get_time(0x81);set_time(0x8e,0x00); /取消寫保護(hù)set_time(0x80,temp|0x80); /暫停時(shí)鐘set_time(0x8e,0x80); /啟動(dòng)寫保護(hù)count+;/時(shí)間設(shè)置位操作,依次進(jìn)入秒、分、時(shí)、星期、天、月、年的設(shè)置void key_up_down()/時(shí)間加一,減一uchar temp,i,j;if(count=1)/秒portc=0x40;if(portc=0x48) /秒加一delayms(10);if(portc=0x48)while(portc=0x48);tem
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業(yè)自動(dòng)化與智能制造案例分享
- 工業(yè)自動(dòng)化與智能安全系統(tǒng)
- 工業(yè)電機(jī)控制系統(tǒng)的優(yōu)化與升級(jí)
- 工作中的跨部門溝通與合作能力建設(shè)
- 工業(yè)設(shè)計(jì)的前沿探索與實(shí)踐
- 工作效率提升與時(shí)間管理方法論分享
- 工作場(chǎng)所的心理健康建設(shè)
- 工作效率工具使用及技巧分享
- 工作流程優(yōu)化與管理改善方法
- 工程師培訓(xùn)課程中的數(shù)據(jù)統(tǒng)計(jì)知識(shí)
- 數(shù)字智慧方案數(shù)字鄉(xiāng)村信息化建設(shè)及精細(xì)化治理平臺(tái)建設(shè)方案
- 2024年隴南市事業(yè)單位專業(yè)技術(shù)人才引進(jìn)筆試真題
- 2025屆浙江省精誠聯(lián)盟高三下學(xué)期適應(yīng)性聯(lián)考生物試題
- 《中央銀行數(shù)字貨幣基本知識(shí)》課件
- 2025浙江中考:化學(xué)必背知識(shí)點(diǎn)
- 2025年海南省中考模擬語文試題(含答案)
- 煙草行業(yè)智能化生產(chǎn)與監(jiān)管方案
- 2025年山東省德州市樂陵市中考一模生物學(xué)試題(含答案)
- 2025遼寧沈陽水務(wù)集團(tuán)有限公司招聘32人筆試參考題庫附帶答案詳解
- DB63-T 2135-2023 鹽湖資源動(dòng)態(tài)監(jiān)測(cè)技術(shù)規(guī)程
- 院外數(shù)據(jù)共享管理制度
評(píng)論
0/150
提交評(píng)論