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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論