電子倒計時定時器設(shè)計畢業(yè)設(shè)計論文_第1頁
電子倒計時定時器設(shè)計畢業(yè)設(shè)計論文_第2頁
電子倒計時定時器設(shè)計畢業(yè)設(shè)計論文_第3頁
電子倒計時定時器設(shè)計畢業(yè)設(shè)計論文_第4頁
電子倒計時定時器設(shè)計畢業(yè)設(shè)計論文_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

北京工業(yè)大學(xué)耿丹學(xué)院畢業(yè)設(shè)計(論文)題目:電子倒計時定期器設(shè)計摘 要伴隨時代的進(jìn)步,電子技術(shù)的發(fā)展,倒計時定期器得到了越來越廣泛的應(yīng)用,給人們平常的生活、學(xué)習(xí)、工作、娛樂帶來便利,電子定期器相比一般的定期器來事具有體積小、重量輕、造價低、精度高等特點(diǎn)。本設(shè)計重要采用51系列單片機(jī),通過硬件電路設(shè)計和軟件編程設(shè)計來實(shí)現(xiàn),硬件重要包括主控模塊,時間顯示模塊,鍵盤設(shè)置模塊,報警器模塊的設(shè)計,軟件編程重要采用C語言,雖然程序條數(shù)比較多,不過設(shè)計起來比較以便,可通過Keils軟件進(jìn)行調(diào)試。本次倒計時定期器采用單片機(jī)AT89S52為關(guān)鍵,運(yùn)用時鐘芯片DS1302來顯示一天的時間,系統(tǒng)通電后運(yùn)用數(shù)碼管自動顯示目前時間,通過鍵盤可以調(diào)整時間,分別對時、分、秒進(jìn)行加減,也可以通過鍵盤轉(zhuǎn)換成倒計時模式,最大倒計時時間為59分59秒,并且誤差很小,當(dāng)?shù)褂嫊r為零時蜂鳴器進(jìn)行報警,指示燈變亮,倒計時功能關(guān)閉則顯示目前時間,操作簡樸以便。關(guān)鍵詞:時鐘芯片;AT89S52;倒計時;DS1302AbstractWiththeprogressofthedevelopmentofelectronictechnology,thecountdowntimerhasbeenmoreandmorewidelytopeople'sdailylife,study,work,entertainmentconvenience,electronictimertimercomparedtoordinarythingshavesmallsize,lightweight,lowcostandhighaccuracy.Thedesignismainly51seriesmicrocontroller,hardwaredesignandsoftwareprogrammingdesign,hardwarecontrolmodule,displaymodule,keyboardsettingsmodule,thealarmmoduledesign,softwareprogrammingusingClanguage,althoughtheprogramArticlenumber,butitwaseasiertodesign,Keilssoftwaredebugging.ThecountdowntimermicrocontrollerAT89S52asthecore,DS1302clockchiptodisplaythetimeofday,thesystemispoweredonuseofdigitalcontrolautomaticallydisplaysthecurrenttime,thetimecanbeadjustedviathekeyboard,hours,minutes,secondsplusorminus,butalsokeyboardconvertedintocountdownmode,themaximumcountdowntimeof59minutes59seconds,andtheerrorisverysmall,thebuzzeralarmwhenthecountdowntozero,thelightison,thecountdownfunctionClosetodisplaythecurrenttime,simpleoperation.KeyWords:Clockchip;AT89S52;Countdown;DS1302目 錄摘 要 1Abstract 2第1章 緒論 51.1 課題的學(xué)術(shù)背景及其實(shí)際意義 51.2 有關(guān)領(lǐng)域的成果及存在的局限性 51.3 課題來源及重要研究內(nèi)容 5第2章 倒計時定期器的構(gòu)造、原理及設(shè)計方案 72.1單片機(jī)的發(fā)展概況 72.251單片機(jī)的內(nèi)部構(gòu)造 72.3設(shè)計規(guī)定、方案及框圖 92.1.1 設(shè)計規(guī)定 92.1.2 設(shè)計方案 92.1.3 設(shè)計框圖 10第3章 硬件電路設(shè)計 113.1 ATS89C52單片機(jī)簡介 113.2 時鐘模塊 133.2.1 DS1302簡介 133.2.2 DS1302電路設(shè)計 143.2.3 時鐘電路設(shè)計 153.2.4 時鐘復(fù)位電路 153.3 鍵盤模塊 163.4 顯示模塊 173.4.1 LED數(shù)碼管簡介 173.4.2 LED數(shù)碼管電路設(shè)計 193.5 報警模塊 21第4章 軟件程序設(shè)計 224.1 Keil軟件簡介 224.2 軟件程序流程圖 22第5章 系統(tǒng)調(diào)試 25結(jié)論 30參照文獻(xiàn) 31附錄 32附錄1主程序 32附錄2電路原理圖 49附錄3PCB圖 50致謝 51緒論課題的學(xué)術(shù)背景及其實(shí)際意義倒計時定期器已經(jīng)成為人們平常生活中必不可少的物品,伴隨技術(shù)的發(fā)展,廣泛的應(yīng)用于各個公共場所,給人們平常的生活、學(xué)習(xí)、工作、娛樂帶來便利,不過由于原先簡樸的報時功能已經(jīng)不可以被人們所滿足,但愿出某些新的功能新的產(chǎn)品來滿足人們的需要,例如重要日子的倒計時、秒表等等,這些都能帶來更大的以便。而所有的這些都是以倒計時定期器為基礎(chǔ)的。因此,研究倒計時定期器有著非常重要的意義和實(shí)用價值。電子定期器在家用電器中常常用于延時自動關(guān)機(jī)、定期。延時自動關(guān)機(jī)可用于:收音機(jī)、電視機(jī)、錄音機(jī)、催眠器、門燈、路燈、汽車頭燈、轉(zhuǎn)彎燈以及其他電器的延時斷電及延時自停電源等。定期可用于:攝影定期曝光、定期閃光、定期放大、定期調(diào)速、定期烘箱、冰箱門開定期報警、水位定期報警、延時催眠器、延時電鈴、延時電子鎖、觸摸定期開關(guān)等。例如:空調(diào)中的定期器,在工作一段時間之后便能自動切斷電源停止工作。夏季夜間使用,入睡前先頂好時間,等睡熟后到了預(yù)定期間,空調(diào)自動關(guān)機(jī),以便節(jié)能。定期器除了應(yīng)用于家用電器外,還廣泛地用于工業(yè)農(nóng)業(yè)生產(chǎn)和服務(wù)設(shè)施等等。有關(guān)領(lǐng)域的成果及存在的局限性在電子技術(shù)突飛猛進(jìn)的今天,電子倒計時定期器也慢慢的被廣大的家庭所接受,這些都以便了每個人的生活和工作。老式的定期器絕大多數(shù)都是發(fā)條驅(qū)動式、電機(jī)傳動式或電鐘式等機(jī)械定期器,部分電子器械中也有用時間繼電器的。相對于老式的定期器,電子定期器的體積小、重量輕、造價低、精度高、壽命長、并且安全可靠、調(diào)整以便、適于頻繁使用。因此電子定期器的發(fā)展必然大有前途。同步伴隨現(xiàn)代電子技術(shù)的發(fā)展,電子定期器也在不停的進(jìn)步,朝向著更多用途、更高精度、更小體積發(fā)展著。課題來源及重要研究內(nèi)容本課題是通過老師挑選的幾種課題當(dāng)中自主選擇的,雖然倒計時定期器已經(jīng)很常見了,不過自己親自動手制作,把所學(xué)到的知識應(yīng)用的實(shí)際操作中,通過這個過程一定會有很大的收獲,鞏固加深了單片機(jī)應(yīng)用的知識面,提高了自己的動手能力和處理問題的能力。本課題重要研究的內(nèi)容要理解電子倒計時定期器的基本構(gòu)造原理,調(diào)研并查找有關(guān)資料,選擇實(shí)現(xiàn)電子倒計時定期器的方案,進(jìn)行完整的倒計時的硬件電路、系統(tǒng)軟件以及實(shí)物構(gòu)造的設(shè)計并進(jìn)行電路仿真、軟件編程、系統(tǒng)調(diào)試。倒計時定期器的構(gòu)造、原理及設(shè)計方案2.1單片機(jī)的發(fā)展概況微型計算機(jī)的出現(xiàn)是電子數(shù)字計算機(jī)廣泛應(yīng)用到人們平常工作和生活領(lǐng)域中去的一種重大轉(zhuǎn)折點(diǎn)。它已經(jīng)深入應(yīng)用到非微型計算機(jī)所無法應(yīng)用的領(lǐng)域,對社會產(chǎn)生了極大的影響。單片微型計算機(jī)是微型計算機(jī)發(fā)展的一種重要分支,它以其獨(dú)特的機(jī)構(gòu)和性能,越來越普遍的應(yīng)用到國民經(jīng)濟(jì)建設(shè)的各個領(lǐng)域。單片機(jī)全稱為單片微型計算機(jī)(SingleChipMicrocomputer)。由于單片機(jī)重要用于控制系統(tǒng)中,因此又稱微控制器(MicrocontrollerUnit,MCU)或嵌入式控制器(EmbeddedController)。它具有嵌入式應(yīng)用系統(tǒng)所規(guī)定的體系構(gòu)造,微處理器,指令系統(tǒng),總線方式,管理模式等。他把計算機(jī)的基本部件都微型化集成到一塊芯片上了,一般片內(nèi)部都具有中央處理部件(CPU),數(shù)據(jù)存儲器(RAM),程序存儲器(ROM,EPROM,F(xiàn)lshROM),定期器/計數(shù)器和多種輸入/輸出(I/O)接口他們之間的互相連接構(gòu)造2.251單片機(jī)的內(nèi)部構(gòu)造51單片機(jī)內(nèi)部有一種8位的CPU,同步CPU內(nèi)部包括了運(yùn)算器,控制器及若干寄存器。1、運(yùn)算器(ALU)的重要功能A)算術(shù)和邏輯運(yùn)算,可對半字節(jié)(一種字節(jié)是8位,半個字節(jié)就是4位)和單字節(jié)數(shù)據(jù)進(jìn)行操作。B)加、減、乘、除、加1、減1、比較等算術(shù)運(yùn)算。C)與、或、異或、求補(bǔ)、循環(huán)等邏輯運(yùn)算。D)位處理功能(即布爾處理器)。由于ALU內(nèi)部沒有寄存器,參與運(yùn)算的操作數(shù),必須放在累加器A中。累加器A也用于寄存運(yùn)算成果。例如:執(zhí)行指令A(yù)DDA,B

執(zhí)行這條指令時,累加器A中的內(nèi)容通過輸入口In_1輸入ALU,寄存器B通過內(nèi)部數(shù)據(jù)總線經(jīng)輸入口In_2輸入ALU,A+B的成果通過ALU的輸出口Out、內(nèi)部數(shù)據(jù)總線,送回到累加器A。2、程序計數(shù)器PCPC的作用是用來寄存將要執(zhí)行的指令地址,共16位,可對64KROM直接尋址,PC低8位經(jīng)P0口輸出,高8位經(jīng)P2口輸出。也就是說,程序執(zhí)行到什么地方,程序計數(shù)器PC就指到哪里,它一直是跟躥著程序的執(zhí)行。我們懂得,顧客程序是寄存在內(nèi)部的ROM中的,我們要執(zhí)行程序就要從ROM中一種個字節(jié)的讀出來,然后到CPU中去執(zhí)行,那么ROM詳細(xì)執(zhí)行到哪一條呢?這就需要我們的程序計數(shù)器PC來指示。程序計數(shù)器PC具有自動加1的功能,即從存儲器中讀出一種字節(jié)的指令碼后,PC自動加1(指向下一種存儲單元)。3、指令寄存器IR指令寄存器的作用就是用來寄存即將執(zhí)行的指令代碼。在這里我們先簡樸的理解下CPU執(zhí)行指令的過程,首先由程序存儲器(ROM)中讀取指令代碼送入到指令寄存器,經(jīng)譯碼器譯碼后再由定期與控制電路發(fā)出對應(yīng)的控制信號,從而完畢指令的功能。有關(guān)指令在單片機(jī)內(nèi)部的執(zhí)行過程,我們在背面將會以另一節(jié)課來進(jìn)行詳細(xì)的講解。4、指令譯碼器ID用于對送入指令寄存器中的指令進(jìn)行譯碼,所謂譯碼就是把指令轉(zhuǎn)變成執(zhí)行此指令所需要的電信號。當(dāng)指令送入譯碼器后,由譯碼器對該指令進(jìn)行譯碼,根據(jù)譯碼器輸出的信號,CPU控制電路定期地產(chǎn)生執(zhí)行該指令所需的多種控制信號,使單片機(jī)對的的執(zhí)行程序所需要的多種操作。5、地址寄存器AR(16位)AR的作用是用來寄存將要尋址的外部存儲器單元的地址信息,指令碼所在存儲單元的地址編碼,由程序計數(shù)器PC產(chǎn)生,而指令中操作數(shù)所在的存儲單元地址碼,由指令的操作數(shù)給定。從上圖中我們可以看到,地址寄存器AR通過地址總線AB與外部存儲器相連。6、數(shù)據(jù)寄存器DR用于寄存寫入外部存儲器或I/O端口的數(shù)據(jù)信息。可見,數(shù)據(jù)寄存器對輸出數(shù)據(jù)具有鎖存功能。數(shù)據(jù)寄存器與外部數(shù)據(jù)總線DB直接相連。7、程序狀態(tài)字PSW

用于記錄運(yùn)算過程中的狀態(tài),如與否溢出、進(jìn)位等。例如,累加器A的內(nèi)容83H,執(zhí)行:ADDA,#8AH

;累加器A與立即數(shù)8AH相加,并把成果寄存在A中。指令后,將產(chǎn)生和的成果為[1]0DH,而累加器A只有8位,只能寄存低8位,即0DH,元法寄存成果中的最高位B8。為些,在CPU內(nèi)設(shè)置一種進(jìn)位標(biāo)志位C,當(dāng)執(zhí)行加法運(yùn)算出現(xiàn)進(jìn)位時,進(jìn)位標(biāo)志位C為1。8、時序部件由時鐘電路和脈沖分派器構(gòu)成,用于產(chǎn)生微操作控制部件所需的定期脈沖信號。2.3設(shè)計規(guī)定、方案及框圖設(shè)計規(guī)定這個倒計時定期器的設(shè)計采用倒計時的方式,初始值由鍵盤設(shè)定,最大定期為59分59秒,4位LED顯示時間,定期到進(jìn)行聲光報警。設(shè)計方案主控模塊(1)采用AT89C51單片機(jī)為關(guān)鍵,通過程序來實(shí)現(xiàn)時間的顯示,用定期器實(shí)現(xiàn)鬧鐘功能的設(shè)定,通過LED數(shù)碼管顯示時間。如圖2-1:主控模塊鍵盤模塊顯示模塊鍵盤模塊顯示模塊電源模塊報警模塊電源模塊報警模塊圖2-1系統(tǒng)框圖本設(shè)計采用AT89C51單片機(jī)不如AT89S52精確高,長時間工作會導(dǎo)致誤差很大,并且C語言設(shè)計起來相稱麻煩,調(diào)整起來麻煩并且不以便實(shí)現(xiàn)對系統(tǒng)的擴(kuò)展。(2)采用AT89S52單片機(jī)為關(guān)鍵,倒計時功能采用C語言編程運(yùn)用單片機(jī)內(nèi)部定期器來實(shí)現(xiàn),通過時鐘芯片DS1302運(yùn)用LED數(shù)碼管顯示目前時間,并通過鍵盤控制模式的轉(zhuǎn)換和時間的調(diào)整,當(dāng)時間到了經(jīng)行報警,這個設(shè)計使整個系統(tǒng)可編程,靈活性大大增長了,雖然多了個芯片不過加大了精度,因此選擇這個方案。設(shè)計框圖運(yùn)用單片機(jī)定期器及計數(shù)器產(chǎn)生定期效果通過編程形成倒計時效果,在通過LED數(shù)碼管顯示數(shù)據(jù)。系統(tǒng)供電后,實(shí)現(xiàn)小時、分鐘、秒的顯示,通過按鍵校對時間、倒計時的設(shè)定和顯示,當(dāng)定期時間到的時候,單片機(jī)通過報警器實(shí)現(xiàn)聲光報警。如圖2-2:時鐘模塊主控模塊時鐘模塊主控模塊報警模塊報警模塊鍵盤模塊鍵盤模塊顯示模塊顯示模塊電源模塊電源模塊圖2-2系統(tǒng)框圖硬件電路設(shè)計ATS89C52單片機(jī)簡介AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash

存儲器。使用Atmel企業(yè)高密度非

易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash容許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有機(jī)靈的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的處理方案。AT89S52具有如下原則功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定期器,2個數(shù)據(jù)指針,三個16位定期器/計數(shù)器,一種6向量2級中斷構(gòu)造,全雙工串行口,片內(nèi)晶振及時鐘電路。此外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,容許RAM、定期器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保留,振蕩器被凍結(jié),

單片機(jī)一切工作停止,直到下一種中斷或硬件復(fù)位為止。如圖3-1圖3-1AT89S52引腳圖P1口:P1口是一種具有內(nèi)部上拉電阻的8位雙向I/O口,p1輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P1端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.1分別作定期器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和定期器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX)。在flash編程和校驗(yàn)時,P1口接受低8位地址字節(jié)。引腳號第二功能:P1.0T2(定期器/計數(shù)器T2的外部計數(shù)輸入),時鐘輸出P1.1T2EX(定期器/計數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制)P1.5MOSI(在系統(tǒng)編程用)P1.6MISO(在系統(tǒng)編程用)P1.7SCK(在系統(tǒng)編程用)P2口:P2口是一種具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動4

個TTL邏輯電平。對P2端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX@DPTR)時,P2口送出高八位地址。在這種應(yīng)用中,P2口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX@RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時,P2口也接受高8位地址字節(jié)和某些控制信號。P3口:P3口是一種具有內(nèi)部上拉電阻的8位雙向I/O口,p3輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P3端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。在flash編程和校驗(yàn)時,P3口也接受某些控制信號。端口引腳

第二功能:P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INTO(外中斷0)P3.3INT1(外中斷1)P3.4TO(定期/計數(shù)器0)P3.5T1(定期/計數(shù)器1)P3.6WR(外部數(shù)據(jù)存儲器寫選通)P3.7RD(外部數(shù)據(jù)存儲器讀選通)此外,P3口還接受某些用于FLASH閃存編程和程序校驗(yàn)的控制信號。RST:復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機(jī)器周期以上高電平將是單片機(jī)復(fù)位。ALE/PROG:當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存容許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般狀況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定期目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一種ALE脈沖。對FLASH存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可嚴(yán)禁ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單片機(jī)執(zhí)行外部程序時,應(yīng)設(shè)置ALE嚴(yán)禁位無效。PSEN:程序儲存容許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)AT89S52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機(jī)器周期兩次PSEN有效,即輸出兩個脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。EA/VPP:外部訪問容許,欲使CPU僅訪問外部程序存儲器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:假如加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器的指令。FLASH存儲器編程時,該引腳加上+12V的編程容許電源Vpp,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。XTAL1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。時鐘模塊DS1302簡介DS1302是美國DALLAS企業(yè)推出的一種高性能、低功耗、帶RAM的實(shí)時時鐘電路,它可以對年、月、日、周日、時、分、秒進(jìn)行計時,具有閏年賠償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多種字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一種31×8的用于臨時性寄存數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級產(chǎn)品,與DS1202兼容,但增長了主電源/后備電源雙電源引腳,同步提供了對后備電源進(jìn)行涓細(xì)電流充電的能力。如圖3-2圖3-2DS1302引腳圖DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關(guān)閉的狀況下,也能保持時鐘的持續(xù)運(yùn)行。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)。DS1302電路設(shè)計本設(shè)計規(guī)定在不進(jìn)行倒計時的時候可以顯示一天的時間,因此采用的時鐘芯片DS1302為關(guān)鍵來實(shí)現(xiàn)這個問題,DS1302的X1、X2端口連接一種32.768kHz的晶振,Vcc1、Vcc2連接電源,串行數(shù)據(jù)I\O端口連接單片機(jī)的P1.5引腳,串行時鐘SCLK端口連接單片機(jī)的P1.6引腳,復(fù)位RST端口連接單片機(jī)的P1.4引腳。電路圖3-3:圖3-3DS1302電路設(shè)計時鐘電路設(shè)計時鐘電路對單片機(jī)是不可缺的,單片機(jī)的每個功能都要以時鐘電路為基礎(chǔ)工作。單片機(jī)內(nèi)部自帶一種時鐘電路,外部接入定期控制元件即可構(gòu)成一種穩(wěn)定的自己振蕩器。其中機(jī)器周期共有12個振蕩脈沖周期,因此,機(jī)器周期是時鐘周期的12倍。本試驗(yàn)使用的晶振是12MHz,則時鐘周期為(1/12)us,機(jī)器周期為1us。兩個端口分別連在單片機(jī)XLAL1、XLAL2引腳上試驗(yàn)圖3-4:圖3-4時鐘電路時鐘復(fù)位電路復(fù)位操作有上電自動復(fù)位、按鍵電平復(fù)位和外部脈沖復(fù)位三種方式,本次試驗(yàn)用的是按鍵電平復(fù)位,運(yùn)用電容的充放電公式來選擇所需的電容、電阻,能保證復(fù)位信號高電平持續(xù)時間不小于2個機(jī)器周期。電路圖3-4:圖3-5復(fù)位電路設(shè)計鍵盤模塊本設(shè)計要用數(shù)碼管顯示目前時間和倒計時時間,這就需要由鍵盤來設(shè)定,鍵盤分為獨(dú)立連接式和矩陣式,本試驗(yàn)采用五個獨(dú)立的鍵盤設(shè)計,連在單片機(jī)的P3口,第一種按鍵控制工作模式的選擇,系統(tǒng)通電后顯示目前時間,按下則顯示倒計時狀態(tài),第二個按鍵為設(shè)置模式選擇,不管是倒計時還是顯示時間都能對目前的時間進(jìn)行設(shè)置,第三、四個按鍵重要是對時、分、秒進(jìn)行加減,第五個按鍵重要的功能是啟動和停止倒計時。電路設(shè)計如圖3-5:圖3-6鍵盤模塊設(shè)計顯示模塊LED數(shù)碼管簡介數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本元件是發(fā)光二極管。圖3-7LED數(shù)碼管數(shù)碼管的分類數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一種發(fā)光二極管單元(多一種小數(shù)點(diǎn)顯示);按能顯示多少個“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時,對應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時,對應(yīng)字段就不亮。。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時,對應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽極為低電平時,對應(yīng)字段就不亮。數(shù)碼管的驅(qū)動方式數(shù)碼管要正常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動方式的不一樣,可以分為靜態(tài)式和動態(tài)式兩類。①靜態(tài)顯示驅(qū)動:靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一種段碼都由一種單片機(jī)的I/O端口進(jìn)行驅(qū)動,或者使用如BCD碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動。靜態(tài)驅(qū)動的長處是編程簡樸,顯示亮度高,缺陷是占用I/O端口多,如驅(qū)動5個數(shù)碼管靜態(tài)顯示則需要5×8=40根I/O端口來驅(qū)動,要懂得一種89S521單片機(jī)可用的I/O端口才32個呢:),實(shí)際應(yīng)用時必須增長譯碼驅(qū)動器進(jìn)行驅(qū)動,增長了硬件電路的復(fù)雜性。②動態(tài)顯示驅(qū)動:數(shù)碼管動態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,此外為每個數(shù)碼管的公共極COM增長位選通控制電路,位選通由各自獨(dú)立的I/O線控制,當(dāng)單片機(jī)輸出字形碼時,所有數(shù)碼管都接受到相似的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機(jī)對位選通COM端電路的控制,因此我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過度時輪番控制各個數(shù)碼管的的COM端,就使各個數(shù)碼管輪番受控顯示,這就是動態(tài)驅(qū)動。在輪番顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為1~2ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同步點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是同樣的,可以節(jié)省大量的I/O端口,并且功耗更低。LED數(shù)碼管電路設(shè)計本設(shè)計重要采用8位LED數(shù)碼管顯示,與單片機(jī)的I\O口連接,不過單片機(jī)的I\O口電流有限,只有幾毫安,不過數(shù)碼管的驅(qū)動電流要幾十毫安到幾百毫安,因此在試驗(yàn)中選擇了單片機(jī)74LS245和單片機(jī)74LS138進(jìn)行驅(qū)動和段選。單片機(jī)74LS245簡介和電路設(shè)計74LS245是我們常用的芯片,用來驅(qū)動led或者其他的設(shè)備,它是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳播數(shù)據(jù),還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。當(dāng)單片機(jī)AT89SC52單片機(jī)的P0口總線負(fù)載到達(dá)或超過P0最大負(fù)載能力時,必須接入74LS245等總線驅(qū)動器。當(dāng)片選端/CE低電平有效時,DIR=“0”,信號由B向A傳播;(接受)DIR=“1”,信號由A向B傳播;(發(fā)送)當(dāng)CE為高電平時,A、B均為高阻態(tài)。由于P2口一直輸出地址的高8位,接口時74LS245的三態(tài)控制端1G和2G接地,P2口與驅(qū)動器輸入線對應(yīng)相連。P0口與74LS245輸入端相連,E端接地,保證數(shù)據(jù)線暢通。8051的/RD和/PSEN相與后接DIR,使得RD且PSEN有效時,74LS245輸入(P0.1←D1),其他時間處在輸出(P0.1→D1)。通過單片機(jī)74LS245來擴(kuò)大電流輸出來給數(shù)碼管進(jìn)行驅(qū)動,電路設(shè)計如圖3-7:圖3-874LS245電路設(shè)計譯碼器74LS138簡介和電路設(shè)計74LS138為3線到8線譯碼器,共有54LS138和74LS138兩種線路構(gòu)造模式。當(dāng)一種選通端(E1)為高電平,另兩個選通端((/E2))和/(E3))為低電平時,可將地址端(A0、A1、A2)的二進(jìn)制編碼在Y0至Y7對應(yīng)的輸出端以低電平譯出。例如:A2A1A0=110時,則Y6輸出端輸出低電平信號。運(yùn)用E1、E2和E3可級聯(lián)擴(kuò)展成24線譯碼器;若外接一種反相器還可級聯(lián)擴(kuò)展成32線譯碼器。若將選通端中的一種作為數(shù)據(jù)輸入端時,74LS138還可作數(shù)據(jù)分派器??捎迷?086的譯碼電路中,擴(kuò)展內(nèi)存。由于本設(shè)計采用的8位數(shù)碼管為共陰極數(shù)碼管,單片機(jī)74LS138的I\O口輸出是低電平,因此單片機(jī)和數(shù)碼管可以配合在一起使用,來完畢數(shù)碼管的段選。它的電路設(shè)計如圖3-7:圖3-9單片機(jī)74LS138電路設(shè)計報警模塊本設(shè)計在倒計時時間到的時候?yàn)榱颂嵝杨櫩投捎玫穆暪鈭缶?,電路重要有一種蜂鳴器、一種三極管構(gòu)成,在倒計時完畢時通過控制端口P3.0給三極管送入低電平使其導(dǎo)通,報警器報警,指示燈點(diǎn)亮。如圖3-6:圖3-10聲光報警電路設(shè)計軟件程序設(shè)計Keil軟件簡介圖4-1Keil軟件2月公布KeiluVision4,KeiluVision4引入靈活的窗口管理系統(tǒng),使開發(fā)人員可以使用多臺監(jiān)視器。新的顧客界面可以更好地運(yùn)用屏幕空間和更有效地組織多種窗口,提供一種整潔,高效的環(huán)境來開發(fā)應(yīng)用程序。新版本支持更多最新的ARM芯片,還添加了某些其他新功能。3月ARM企業(yè)公布最新集成開發(fā)環(huán)境RealViewMDK開發(fā)工具中集成了最新版本的KeiluVision4,其編譯器、調(diào)試工具實(shí)現(xiàn)與ARM器件的最完美匹配。最新的KeiluVision4IDE,意在提高開發(fā)人員的生產(chǎn)力,實(shí)現(xiàn)更快,更有效的程序開發(fā)。uVision4引入了靈活的窗口管理系統(tǒng),可以拖放到視圖內(nèi)的任何地方,包括支持多顯示屏窗口。uVision4在μVision3IDE的基礎(chǔ)上,增長了更多大眾化的功能。多顯示屏和靈活的窗口管理系統(tǒng)系統(tǒng)瀏覽器窗口的顯示設(shè)備外設(shè)寄存器信息調(diào)試還原視圖,創(chuàng)立并保留多種調(diào)試窗口布局,多項(xiàng)目工作區(qū)簡化與眾多的項(xiàng)目軟件程序流程圖主程序開始主程序開始初始化變量初始化變量初始化定期器初始化定期器顯示子函數(shù)顯示子函數(shù)鍵盤子函數(shù)鍵盤子函數(shù)判斷鍵盤與否按下判斷鍵盤與否按下報警器報警、指示燈閃亮報警器報警、指示燈閃亮啟動\停止倒計時中斷1啟動\停止倒計時中斷1中斷2定期器中斷中斷2定期器中斷圖4-2軟件流程圖系統(tǒng)中設(shè)置了五個按鍵,當(dāng)程序掃描到“復(fù)位”鍵時,單片機(jī)重新讀入撥碼盤數(shù)據(jù),意即新的一輪計時開始,當(dāng)程序掃描到“走”鍵時,若原計時停止,則啟動計時,否則無效,同樣,當(dāng)程序掃描到“?!辨I時,若原計時已啟動,則停止計時,否則無效。對于本系統(tǒng)來說,秒計時的精確性和主從機(jī)的通信的可靠性是程序的關(guān)鍵,如下分別對這兩個程序的設(shè)計進(jìn)行描述。在硬件電路中因未設(shè)計硬件計時功能,秒的產(chǎn)生只有依托軟件來完畢。本系統(tǒng)中采用系統(tǒng)定期P計數(shù)器T0來產(chǎn)生。最大定期時間計算措施如下:TMAX=216×12foscs,其中fosc為系統(tǒng)時鐘頻率,本系統(tǒng)中的時鐘頻率為1110592MHz,經(jīng)計算TMAX為7111ms,為了計算的以便,取TMAX=50ms,軟件計數(shù)至20次為1s。系統(tǒng)調(diào)試本次倒計時定期器設(shè)計包括硬件電路設(shè)計和軟件設(shè)計,軟件重要是通過C語言進(jìn)行編程,將程序編輯編譯完畢后,將生成的hex文獻(xiàn)通過串口下載軟件下載到STC89C52單片機(jī)芯片中去。通過Proteus軟件進(jìn)行仿真,試驗(yàn)過程中仿真可以正常運(yùn)行,不過總是比現(xiàn)實(shí)顯示的時間慢,并且報警的時候聲音也是一卡一卡的,檢查各個端口也沒有發(fā)現(xiàn)問題,通過與老師的溝通,覺得是Proteus軟件的問題,成果還是很好的完畢了仿真的工作。如下圖所示:圖5-1時間顯示模式仿真圖圖5-2倒計時模式仿真圖硬件設(shè)計首先檢查印制板及焊接的質(zhì)量狀況,在檢查無誤后通電檢查數(shù)碼管的點(diǎn)亮狀況。至于鍵盤的調(diào)試,關(guān)鍵是把握好按鍵的去抖效果。當(dāng)出現(xiàn)按鍵“不靈”狀況,一般是由于程序中用于按鍵去抖的延時時間不夠。在進(jìn)行LED數(shù)碼管焊接的時候,也出現(xiàn)的點(diǎn)問題,由于任務(wù)書規(guī)定的是8位數(shù)碼管,做板子的時候是兩個四位的連在一起,數(shù)碼管引腳就比較混亂,做過了一種板子不過沒有正常工作,通過了某些調(diào)試還是沒有顯示出來時間,決定直接買了一種數(shù)碼管模塊,直接與單片機(jī)的幾種引腳連接就可以完畢試驗(yàn)規(guī)定的功能,最終連接一起通電試了試,可以完畢目前的規(guī)定,雖然板子有點(diǎn)簡陋看起來有點(diǎn)省事,不過過程還是學(xué)到了不少的東西。不過目前尚有個問題就是誤差有點(diǎn)大,準(zhǔn)備弄得愈加精確。圖5-3硬件時間顯示狀態(tài)圖5-4硬件倒計時狀態(tài)系統(tǒng)開始調(diào)試,通電后數(shù)碼管顯示時間,在通過鍵盤進(jìn)行時間的調(diào)整和工作模式的選擇,下表是對系統(tǒng)倒計時時間的測試成果?,F(xiàn)實(shí)時間試驗(yàn)時間誤差5分鐘4分55秒5秒10分鐘9分43秒17秒15分鐘14分18秒42秒表1系統(tǒng)倒計時時間測試表誤差分析:本設(shè)計的計時和倒計時功能重要是通過單片機(jī)內(nèi)部的計時器來完畢,并且程序設(shè)計也使用的延時語句,不可防止的會出現(xiàn)某些誤差。不過本設(shè)計的時間顯示的誤差很小,倒計時時間越長誤差就越大,電路板也已經(jīng)從手焊的換成印制板,還在尋找原因。 結(jié)論本文重要先對關(guān)鍵芯片做了個概述,并且簡樸的簡介了各個管腳的功能,論述了設(shè)計規(guī)定、選擇的方案以及最終可以完畢的功能。然后通過硬件和軟件部分的簡介,詳細(xì)的闡明了我做畢設(shè)的環(huán)節(jié)以及各個部分的選擇,怎樣實(shí)現(xiàn)的,用什么軟件實(shí)現(xiàn)的,最終列出了試驗(yàn)的誤差以及PCB、原理圖等等的試驗(yàn)過程。雖然畢業(yè)設(shè)計可以完畢試驗(yàn)規(guī)定,不過這僅僅是一小部分,尚有諸多問題沒有處理,硬件設(shè)計的過于簡樸,導(dǎo)致了誤差的出現(xiàn),這都是我后來要努力地方向。。從這次畢業(yè)論文設(shè)計中,無論對于單片機(jī)還是定期器,都深入清晰了設(shè)計概念、學(xué)習(xí)了專業(yè)理論、掌握了芯片知識,并且還增長了實(shí)踐經(jīng)驗(yàn),提高了認(rèn)知水平,增進(jìn)了自學(xué)能力。從諸多方面獲得了很大的收益。參照文獻(xiàn)[1]李群芳.單片微型計算機(jī).電子工業(yè)出版社,[2]孫景琪,曹小秋.通信廣播電路原理與應(yīng)用.北京工業(yè)大學(xué)出版社,[3]徐士良,葛兵.計算機(jī)軟件技術(shù)基礎(chǔ).清華大學(xué)出版社,[4]劉明亮,郭云.數(shù)字信號處理基礎(chǔ)教程.北京航空航天大學(xué)出版社,[5]王劃一,楊西峽.自動控制原理.國防工業(yè)出版社,[6]鄭步生,吳渭.Multisim200l電路設(shè)計及仿真入門與應(yīng)用[M].北京:電子工業(yè)出版社,[7]樓然苗,李光飛.51系列單片機(jī)設(shè)計實(shí)例[M].北京:北京航空航天大學(xué)出版社,[8]梁純,王軍.基于MCS一51單片機(jī)的LED點(diǎn)陣圖文顯示屏設(shè)計[J].工礦自動化,(6)[9]夏路易、石宗義編著電路原理圖與電路板設(shè)計教程北京但愿電子出版社[10]吳國經(jīng)主編單片機(jī)應(yīng)用技術(shù)中國電力出版社[11]徐泳龍主編單片機(jī)原理及應(yīng)用機(jī)械工業(yè)出版社附錄附錄1主程序#include<reg52.h>#include"ds1302.h" //DS1302的驅(qū)動頭文獻(xiàn)#defineucharunsignedchar#defineuintunsignedint//設(shè)置模式選擇sbitkey1=P1^3;//+sbitkey2=P1^4;//-sbitkey3=P1^5;//系統(tǒng)工作模式選擇sbitkey4=P1^6;//倒計時開始/停止sbitkey5=P1^7;//報警sbitBEEP=P3^7;//LEDsbitLED=P3^4;unsignedcharll=0;unsignedcharkk,i; //臨時變量//共陰數(shù)碼管"0-9","滅","-"編碼ucharcodedis[]={0x3F,0X30,0X5b,0X4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};//位選編碼ucharcodewei[]={0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87};//時分秒顯示緩沖區(qū)uchardatadis1[]={0x00,0x00,0x0b,0x00,0x00,0x0b,0x00,0x00};//時分秒初值uchardatachuzhi[]={0x23,0x59,0x50};//送十六進(jìn)制數(shù)//讀取的時間值uchardatatime1302[]={0x00,0x00,0x00};//倒計時的分鐘,秒signedcharCount_minutes=0;signedcharCount_seconds=0;//系統(tǒng)工作模式選擇位 1:時間顯示模式0:倒計時模式bitWork_Flag=1; //延時1ms子程序voiddelay(uintz){ uintx,y; for(x=z;z>0;z--) for(y=110;y>0;y--) ;}//顯示子函數(shù)voiddisplay(){ uchark; if(Work_Flag) //時間模式下的顯示 { dis1[7]=chuzhi[2]%10; //秒的十位 dis1[6]=chuzhi[2]/10; //秒的個位 dis1[4]=chuzhi[1]%10; //分的十位 dis1[3]=chuzhi[1]/10; //分的個位 dis1[1]=chuzhi[0]%10; //時的十位 dis1[0]=chuzhi[0]/10; //時的個位 for(k=0;k<8;k++)//循環(huán)刷新各個位 { P2=wei[k]; P0=dis[dis1[k]]; delay(1); //讓數(shù)碼管正常顯示出來 } } else //倒計時模式下的顯示 { dis1[3]=Count_seconds/10; //得到分鐘的1十位 dis1[4]=Count_seconds%10; //得到分鐘的個位 dis1[0]=Count_minutes/10; dis1[1]=Count_minutes%10; for(k=0;k<5;k++) { P2=wei[k]; P0=dis[dis1[k]]; delay(1); } }}//鍵盤掃描子函數(shù)voidkscan(){ uchartemp; //系統(tǒng)工作模式選擇 if(key4==0) { delay(10); if(key4==0) { while(key4==0); Work_Flag=!Work_Flag;//按下鍵在兩個工作模式間切換 } } if(key1==0) //時間顯示模式下的選擇鍵按下 { delay(10); if(key1==0) { while(key1==0); //等待釋放 if(Work_Flag) { kk++; //模式標(biāo)識 if(kk==1) //為1,則對時進(jìn)行設(shè)置 { temp=chuzhi[2]/10*16+chuzhi[2]%10; Write1302(0x8e,0X00); //嚴(yán)禁寫保護(hù) Write1302(0x80,0x80|temp); //時鐘暫停 Write1302(0x8e,0x80); //容許寫保護(hù) } } else { ll++; if(ll==2) ll=0; } } } if(!Work_Flag) //設(shè)置倒計時的初始時間 { //倒計時秒設(shè)置模式 if(ll==0) { if(key2==0) //+ { delay(10); if(key2==0) { while(key2==0); Count_seconds++; if(Count_seconds==60) //加到60,分加1,秒為 { Count_seconds=0; Count_minutes++; if(Count_minutes==60) Count_minutes=0; } } } if(key3==0) { delay(10); if(key3==0) { while(key3==0); if(Count_minutes) { Count_seconds--; if(Count_seconds<0) { Count_seconds=59; Count_minutes--; } } else { if(Count_seconds) Count_seconds--; else Count_seconds=0; } } } } } //倒計時模式下,分設(shè)置模式 if(ll==1) { if(key2==0) //+ { delay(10); if(key2==0) { while(key2==0); Count_minutes++; if(Count_minutes==60) Count_minutes=0; } } if(key3==0) //- { delay(10); if(key3==0) { while(key3==0); Count_minutes--; if(Count_minutes<0) Count_minutes=59; } } } switch(kk) //工作模式選擇 { case1: //秒設(shè)模式 if(key2==0) //假如‘+’按下 { delay(10); //防抖 if(key2==0) // { while(key2==0); //等待按鍵釋放 temp=(chuzhi[2]+1)/10*16+(chuzhi[2]+1)%10;//10進(jìn)制轉(zhuǎn)BCD if(temp>=96)//96對應(yīng)16進(jìn)制60 temp=0; Write1302(0x8e,0X00);//嚴(yán)禁寫保護(hù) Write1302(0x80,0x80|temp);//秒初始化 Write1302(0x8e,0x80);//容許寫保護(hù) } } if(key3==0) //‘-’按下 { delay(10); //防抖 if(key3==0) { while(key3==0); //等待按鍵釋放 temp=(chuzhi[2]-1)/10*16+(chuzhi[2]-1)%10;//10進(jìn)制轉(zhuǎn)BCD if(chuzhi[2]==0) temp=89; Write1302(0x8e,0X00); //嚴(yán)禁寫保護(hù) Write1302(0x80,0x80|temp);//秒初始化 Write1302(0x8e,0x80); //容許寫保護(hù) } } break; case2: //分設(shè)置模式 if(key2==0) //‘+’鍵按下 { delay(10); if(key2==0) { while(key2==0); temp=(chuzhi[1]+1)/10*16+(chuzhi[1]+1)%10;//10進(jìn)制轉(zhuǎn)BCD if(temp>=96)//96對應(yīng)16進(jìn)制60 temp=0; Write1302(0x8e,0X00);//嚴(yán)禁寫保護(hù) Write1302(0x82,temp);//分初始化 Write1302(0x8e,0x80);//容許寫保護(hù) } } if(key3==0) //'-'按下 { delay(10); if(key3==0) { while(key3==0); temp=(chuzhi[1]-1)/10*16+(chuzhi[1]-1)%10;//10進(jìn)制轉(zhuǎn)BCD if(chuzhi[1]==0) temp=89; Write1302(0x8e,0X00);//嚴(yán)禁寫保護(hù) Write1302(0x82,temp);//分初始化 Write1302(0x8e,0x80);//容許寫保護(hù) } } break; case3: //時設(shè)置模式 if(key2==0) //'+'按下 { delay(10); if(key2==0) { while(key2==0) ; temp=(chuzhi[0]+1)/10*16+(chuzhi[0]+1)%10;//10進(jìn)制轉(zhuǎn)BCD if(temp>=36)//36對應(yīng)16進(jìn)制24 temp=0; Write1302(0x8e,0X00);//嚴(yán)禁寫保護(hù) Write1302(0x84,temp);//時初始化 Write1302(0x8e,0x80);//容許寫保

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論