版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Abstract 北京工業(yè)大學(xué)耿丹學(xué)院(xuyun)畢業(yè)設(shè)計(jì)(b y sh j)(論文) 題目(tm): 電子倒計(jì)時(shí)定時(shí)器設(shè)計(jì)摘要隨著時(shí)代的進(jìn)步,電子技術(shù)的發(fā)展,倒計(jì)時(shí)定時(shí)器得到了越來越廣泛的應(yīng)用,給人們?nèi)粘5纳?、學(xué)習(xí)、工作、娛樂帶來便利,電子定時(shí)器相比普通的定時(shí)器來事具有體積小、重量輕、造價(jià)低、精度高等特點(diǎn)。本設(shè)計(jì)主要采用51系列單片機(jī),通過硬件電路設(shè)計(jì)和軟件編程設(shè)計(jì)來實(shí)現(xiàn),硬件主要包括主控模塊,時(shí)間顯示模塊,鍵盤設(shè)置模塊,報(bào)警器模塊的設(shè)計(jì),軟件編程主要采用C語言,雖然程序條數(shù)比較多,但是設(shè)計(jì)起來比較方便,可通過Keils軟件進(jìn)行調(diào)試。此次倒計(jì)時(shí)定時(shí)器采用單片機(jī)AT89S52為核心,利用時(shí)
2、鐘芯片DS1302來顯示一天的時(shí)間,系統(tǒng)通電后利用數(shù)碼管自動(dòng)顯示當(dāng)前時(shí)間,通過鍵盤可以調(diào)整時(shí)間,分別對(duì)時(shí)、分、秒進(jìn)行加減,也可以通過鍵盤轉(zhuǎn)換成倒計(jì)時(shí)模式,最大倒計(jì)時(shí)時(shí)間為59分59秒,而且誤差很小,當(dāng)?shù)褂?jì)時(shí)為零時(shí)蜂鳴器進(jìn)行報(bào)警,指示燈變亮,倒計(jì)時(shí)功能關(guān)閉則顯示當(dāng)前時(shí)間,操作簡(jiǎn)單方便。關(guān)鍵詞:時(shí)鐘芯片;AT89S52;倒計(jì)時(shí);DS1302AbstractWith the progress of the development of electronic technology, the countdown timer has been more and more widely to peoples
3、 daily life, study, work, entertainment convenience, electronic timer timer compared to ordinary things havesmall size, light weight, low cost and high accuracy.The design is mainly 51 series microcontroller, hardware design and software programming design, hardware control module, display module, k
4、eyboard settings module, the alarm module design, software programming using C language, although the program Articlenumber, but it was easier to design, Keils software debugging.The countdown timer microcontroller AT89S52 as the core, DS1302 clock chip to display the time of day, the system is powe
5、red on use of digital control automatically displays the current time, the time can be adjusted via the keyboard, hours, minutes, seconds plus or minus, but alsokeyboard converted into countdown mode, the maximum countdown time of 59 minutes 59 seconds, and the error is very small, the buzzer alarm
6、when the countdown to zero, the light is on, the countdown function Close to display the current time, simple operation.Key Words:Clock chip;AT89S52;Countdown;DS1302目 錄PAGE - -PAGE 3目 錄PAGE 53目錄 TOC o 1-3 h z u HYPERLINK l _Toc356160157 摘 要 PAGEREF _Toc356160157 h 1 HYPERLINK l _Toc356160158 Abstrac
7、t PAGEREF _Toc356160158 h 2 HYPERLINK l _Toc356160159 第1章緒論(xln) PAGEREF _Toc356160159 h 5 HYPERLINK l _Toc356160160 1.1課題(kt)的學(xué)術(shù)背景及其實(shí)際意義 PAGEREF _Toc356160160 h 5 HYPERLINK l _Toc356160161 1.2相關(guān)(xinggun)領(lǐng)域的成果及存在的不足 PAGEREF _Toc356160161 h 5 HYPERLINK l _Toc356160162 1.3課題來源及主要研究?jī)?nèi)容 PAGEREF _Toc35616
8、0162 h 5 HYPERLINK l _Toc356160163 第2章倒計(jì)時(shí)定時(shí)器的結(jié)構(gòu)、原理及設(shè)計(jì)方案 PAGEREF _Toc356160163 h 7 HYPERLINK l _Toc356160164 2.1 單片機(jī)的發(fā)展概況 PAGEREF _Toc356160164 h 7 HYPERLINK l _Toc356160165 2.2 51單片機(jī)的內(nèi)部結(jié)構(gòu) PAGEREF _Toc356160165 h 7 HYPERLINK l _Toc356160166 2.3 設(shè)計(jì)要求、方案及框圖 PAGEREF _Toc356160166 h 9 HYPERLINK l _Toc356
9、160167 2.1.1設(shè)計(jì)要求 PAGEREF _Toc356160167 h 9 HYPERLINK l _Toc356160168 2.1.2設(shè)計(jì)方案 PAGEREF _Toc356160168 h 9 HYPERLINK l _Toc356160169 2.1.3設(shè)計(jì)框圖 PAGEREF _Toc356160169 h 10 HYPERLINK l _Toc356160170 第3章硬件電路設(shè)計(jì) PAGEREF _Toc356160170 h 11 HYPERLINK l _Toc356160171 3.1ATS89C52單片機(jī)介紹 PAGEREF _Toc356160171 h 11
10、 HYPERLINK l _Toc356160172 3.2時(shí)鐘模塊 PAGEREF _Toc356160172 h 13 HYPERLINK l _Toc356160173 3.2.1DS1302簡(jiǎn)介 PAGEREF _Toc356160173 h 13 HYPERLINK l _Toc356160174 3.2.2DS1302電路設(shè)計(jì) PAGEREF _Toc356160174 h 14 HYPERLINK l _Toc356160175 3.2.3時(shí)鐘電路設(shè)計(jì) PAGEREF _Toc356160175 h 15 HYPERLINK l _Toc356160176 3.2.4時(shí)鐘復(fù)位電路
11、 PAGEREF _Toc356160176 h 15 HYPERLINK l _Toc356160177 3.3鍵盤模塊 PAGEREF _Toc356160177 h 16 HYPERLINK l _Toc356160178 3.4顯示模塊 PAGEREF _Toc356160178 h 17 HYPERLINK l _Toc356160179 3.4.1LED數(shù)碼管介紹 PAGEREF _Toc356160179 h 17 HYPERLINK l _Toc356160180 3.4.2LED數(shù)碼管電路設(shè)計(jì) PAGEREF _Toc356160180 h 19 HYPERLINK l _T
12、oc356160181 3.5報(bào)警模塊 PAGEREF _Toc356160181 h 21 HYPERLINK l _Toc356160182 第4章軟件程序設(shè)計(jì) PAGEREF _Toc356160182 h 22 HYPERLINK l _Toc356160183 4.1Keil軟件介紹 PAGEREF _Toc356160183 h 22 HYPERLINK l _Toc356160184 4.2軟件程序流程圖 PAGEREF _Toc356160184 h 22 HYPERLINK l _Toc356160185 第5章系統(tǒng)調(diào)試 PAGEREF _Toc356160185 h 25
13、HYPERLINK l _Toc356160186 結(jié) 論 PAGEREF _Toc356160186 h 30 HYPERLINK l _Toc356160187 參考文獻(xiàn) PAGEREF _Toc356160187 h 31 HYPERLINK l _Toc356160188 附 錄 PAGEREF _Toc356160188 h 32 HYPERLINK l _Toc356160189 附錄(fl)1 主程序 PAGEREF _Toc356160189 h 32 HYPERLINK l _Toc356160190 附錄(fl) 2 電路(dinl)原理圖 PAGEREF _Toc3561
14、60190 h 49 HYPERLINK l _Toc356160191 附錄3 PCB圖 PAGEREF _Toc356160191 h 50 HYPERLINK l _Toc356160192 致 謝 PAGEREF _Toc356160192 h 51北京工業(yè)大學(xué)耿丹學(xué)院2012屆畢業(yè)設(shè)計(jì)(論文) PAGE 4 北京工業(yè)大學(xué)耿丹學(xué)院2012屆畢業(yè)設(shè)計(jì)(論文)PAGE 54緒論(xln) 課題(kt)的學(xué)術(shù)背景及其實(shí)際意義倒計(jì)時(shí)定時(shí)器已經(jīng)成為人們?nèi)粘I钪斜夭豢缮俚奈锲罚S著技術(shù)的發(fā)展,廣泛(gungfn)的應(yīng)用于各個(gè)公共場(chǎng)所,給人們?nèi)粘5纳?、學(xué)習(xí)、工作、娛樂帶來便利,但是由于原先簡(jiǎn)單的
15、報(bào)時(shí)功能已經(jīng)不能夠被人們所滿足,希望出一些新的功能新的產(chǎn)品來滿足人們的需要,例如重要日子的倒計(jì)時(shí)、秒表等等,這些都能帶來更大的方便。而所有的這些都是以倒計(jì)時(shí)定時(shí)器為基礎(chǔ)的。因此,研究倒計(jì)時(shí)定時(shí)器有著非常重要的意義和實(shí)用價(jià)值。電子定時(shí)器在家用電器中經(jīng)常用于延時(shí)自動(dòng)關(guān)機(jī)、定時(shí)。延時(shí)自動(dòng)關(guān)機(jī)可用于:收音機(jī)、電視機(jī)、錄音機(jī)、催眠器、門燈、路燈、汽車頭燈、轉(zhuǎn)彎燈以及其他電器的延時(shí)斷電及延時(shí)自停電源等。定時(shí)可用于:照相定時(shí)曝光、定時(shí)閃光、定時(shí)放大、定時(shí)調(diào)速、定時(shí)烘箱、冰箱門開定時(shí)報(bào)警、水位定時(shí)報(bào)警、延時(shí)催眠器、延時(shí)電鈴、延時(shí)電子鎖、觸摸定時(shí)開關(guān)等。例如:空調(diào)中的定時(shí)器,在工作一段時(shí)間之后便能自動(dòng)切斷電源停
16、止工作。夏季夜間使用,入睡前先頂好時(shí)間,等睡熟后到了預(yù)定時(shí)間,空調(diào)自動(dòng)關(guān)機(jī),方便節(jié)能。定時(shí)器除了應(yīng)用于家用電器外,還廣泛地用于工業(yè)農(nóng)業(yè)生產(chǎn)和服務(wù)設(shè)施等等。相關(guān)領(lǐng)域的成果及存在的不足在電子技術(shù)突飛猛進(jìn)的今天,電子倒計(jì)時(shí)定時(shí)器也慢慢的被廣大的家庭所接受,這些都方便了每個(gè)人的生活和工作。傳統(tǒng)的定時(shí)器絕大多數(shù)都是發(fā)條驅(qū)動(dòng)式、電機(jī)傳動(dòng)式或電鐘式等機(jī)械定時(shí)器,部分電子器械中也有用時(shí)間繼電器的。相對(duì)于傳統(tǒng)的定時(shí)器,電子定時(shí)器的體積小、重量輕、造價(jià)低、精度高、壽命長(zhǎng)、而且安全可靠、調(diào)整方便、適于頻繁使用。所以電子定時(shí)器的發(fā)展必定大有前途。同時(shí)隨著現(xiàn)代電子技術(shù)的發(fā)展,電子定時(shí)器也在不斷的進(jìn)步,朝向著更多用途、更
17、高精度、更小體積發(fā)展著。 課題來源及主要研究?jī)?nèi)容本課題是通過老師挑選的幾個(gè)課題當(dāng)中自主選擇的,雖然倒計(jì)時(shí)定時(shí)器已經(jīng)很常見了,但是自己親自動(dòng)手制作,把所學(xué)到的知識(shí)應(yīng)用的實(shí)際操作中,通過這個(gè)過程一定會(huì)有很大的收獲,鞏固加深了單片機(jī)應(yīng)用的知識(shí)面,提高了自己的動(dòng)手能力和解決問題的能力。本課題主要研究的內(nèi)容要了解電子倒計(jì)時(shí)定時(shí)器的基本結(jié)構(gòu)原理,調(diào)研并查找相關(guān)資料,選擇實(shí)現(xiàn)電子倒計(jì)時(shí)定時(shí)器的方案,進(jìn)行完整的倒計(jì)時(shí)的硬件電路、系統(tǒng)軟件以及實(shí)物結(jié)構(gòu)的設(shè)計(jì)并進(jìn)行電路仿真、軟件編程、系統(tǒng)調(diào)試。北京工業(yè)大學(xué)耿丹學(xué)院2012屆畢業(yè)設(shè)計(jì)(論文) 倒計(jì)時(shí)定時(shí)器的結(jié)構(gòu)(jigu)、原理及設(shè)計(jì)方案2.1 單片機(jī)的發(fā)展(fzh
18、n)概況 微型計(jì)算機(jī)的出現(xiàn)是電子數(shù)字計(jì)算機(jī)廣泛應(yīng)用到人們?nèi)粘?rchng)工作和生活領(lǐng)域中去的一個(gè)重大轉(zhuǎn)折點(diǎn)。它已經(jīng)深入應(yīng)用到非微型計(jì)算機(jī)所無法應(yīng)用的領(lǐng)域,對(duì)社會(huì)產(chǎn)生了極大的影響。單片微型計(jì)算機(jī)是微型計(jì)算機(jī)發(fā)展的一個(gè)重要分支,它以其獨(dú)特的機(jī)構(gòu)和性能,越來越普遍的應(yīng)用到國(guó)民經(jīng)濟(jì)建設(shè)的各個(gè)領(lǐng)域。單片機(jī)全稱為單片微型計(jì)算機(jī)(Single Chip Microcomputer)。因?yàn)閱纹瑱C(jī)主要用于控制系統(tǒng)中,所以又稱微控制器(Microcontroller Unit,MCU)或嵌入式控制器(Embedded Controller)。它具有嵌入式應(yīng)用系統(tǒng)所要求的體系結(jié)構(gòu),微處理器,指令系統(tǒng),總線方式,管
19、理模式等。他把計(jì)算機(jī)的基本部件都微型化集成到一塊芯片上了,通常片內(nèi)部都含有中央處理部件(CPU),數(shù)據(jù)存儲(chǔ)器(RAM),程序存儲(chǔ)器(ROM,EPROM,F(xiàn)lsh ROM),定時(shí)器/計(jì)數(shù)器和各種輸入/輸出(I/O)接口他們之間的相互連接結(jié)構(gòu)2.2 51單片機(jī)的內(nèi)部結(jié)構(gòu)51單片機(jī)內(nèi)部有一個(gè)8位的CPU,同時(shí)CPU內(nèi)部包含了運(yùn)算器,控制器及若干寄存器。1、運(yùn)算器(ALU)的主要功能A)算術(shù)和邏輯運(yùn)算,可對(duì)半字節(jié)(一個(gè)字節(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)部
20、沒有寄存器,參加運(yùn)算的操作數(shù),必須放在累加器A中。累加器A也用于存放運(yùn)算結(jié)果。例如:執(zhí)行指令 ADD A,B執(zhí)行這條指令時(shí),累加器A中的內(nèi)容通過輸入口In_1輸入ALU,寄存器B通過內(nèi)部數(shù)據(jù)總線經(jīng)輸入口In_2輸入ALU,A+B的結(jié)果通過ALU的輸出口Out、內(nèi)部數(shù)據(jù)總線,送回到累加器A。2、程序計(jì)數(shù)器PCPC的作用是用來存放將要執(zhí)行的指令地址,共16位,可對(duì)64K ROM直接尋址,PC低8位經(jīng)P0口輸出,高8位經(jīng)P2口輸出。也就是說,程序執(zhí)行到什么地方,程序計(jì)數(shù)器PC就指到哪里,它始終是跟躥著程序的執(zhí)行。我們知道,用戶程序是存放在內(nèi)部的ROM中的,我們要執(zhí)行程序就要從ROM中一個(gè)個(gè)字節(jié)的讀出
21、來,然后到CPU中去執(zhí)行,那么ROM具體執(zhí)行到哪一條呢?這就需要我們的程序計(jì)數(shù)器PC來指示。程序計(jì)數(shù)器PC具有自動(dòng)(zdng)加1的功能,即從存儲(chǔ)器中讀出一個(gè)字節(jié)的指令碼后,PC自動(dòng)加1(指向下一個(gè)存儲(chǔ)單元)。 3、指令寄存器IR指令(zhlng)寄存器的作用就是用來存放即將執(zhí)行的指令代碼。在這里我們先簡(jiǎn)單的了解(lioji)下CPU執(zhí)行指令的過程,首先由程序存儲(chǔ)器(ROM)中讀取指令代碼送入到指令寄存器,經(jīng)譯碼器譯碼后再由定時(shí)與控制電路發(fā)出相應(yīng)的控制信號(hào),從而完成指令的功能。關(guān)于指令在單片機(jī)內(nèi)部的執(zhí)行過程,我們?cè)诤竺鎸?huì)以另一節(jié)課來進(jìn)行詳細(xì)的講解。 4、指令譯碼器ID用于對(duì)送入指令寄存器中的
22、指令進(jìn)行譯碼,所謂譯碼就是把指令轉(zhuǎn)變成執(zhí)行此指令所需要的電信號(hào)。當(dāng)指令送入譯碼器后,由譯碼器對(duì)該指令進(jìn)行譯碼,根據(jù)譯碼器輸出的信號(hào),CPU控制電路定時(shí)地產(chǎn)生執(zhí)行該指令所需的各種控制信號(hào),使單片機(jī)正確的執(zhí)行程序所需要的各種操作。5、地址寄存器AR(16位)AR的作用是用來存放將要尋址的外部存儲(chǔ)器單元的地址信息,指令碼所在存儲(chǔ)單元的地址編碼,由程序計(jì)數(shù)器PC產(chǎn)生,而指令中操作數(shù)所在的存儲(chǔ)單元地址碼,由指令的操作數(shù)給定。從上圖中我們可以看到,地址寄存器AR通過地址總線AB與外部存儲(chǔ)器相連。6、數(shù)據(jù)寄存器DR用于存放寫入外部存儲(chǔ)器或I/O端口的數(shù)據(jù)信息??梢?,數(shù)據(jù)寄存器對(duì)輸出數(shù)據(jù)具有鎖存功能。數(shù)據(jù)寄存
23、器與外部數(shù)據(jù)總線DB直接相連。7、程序狀態(tài)字PSW用于記錄運(yùn)算過程中的狀態(tài),如是否溢出、進(jìn)位等。例如,累加器A的內(nèi)容83H,執(zhí)行:ADD A,#8AH ;累加器A與立即數(shù)8AH相加,并把結(jié)果存放在A中。指令后,將產(chǎn)生和的結(jié)果為10DH,而累加器A只有8位,只能存放低8位,即0DH,元法存放結(jié)果中的最高位B8。為些,在CPU內(nèi)設(shè)置一個(gè)進(jìn)位標(biāo)志位C,當(dāng)執(zhí)行加法運(yùn)算出現(xiàn)進(jìn)位時(shí),進(jìn)位標(biāo)志位C為1。8、時(shí)序部件由時(shí)鐘電路和脈沖分配器組成,用于產(chǎn)生微操作控制部件所需的定時(shí)脈沖信號(hào)。2.3 設(shè)計(jì)要求、方案及框圖設(shè)計(jì)要求 這個(gè)倒計(jì)時(shí)定時(shí)器的設(shè)計(jì)采用倒計(jì)時(shí)的方式,初始值由鍵盤設(shè)定,最大定時(shí)為59分59秒,4位L
24、ED顯示時(shí)間,定時(shí)到進(jìn)行聲光報(bào)警。設(shè)計(jì)方案主控模塊(1)采用(ciyng)AT89C51單片機(jī)為核心,通過程序來實(shí)現(xiàn)時(shí)間的顯示,用定時(shí)器實(shí)現(xiàn)鬧鐘功能的設(shè)定,通過LED數(shù)碼管顯示時(shí)間。如圖2-1:鍵盤模塊顯示模塊電源模塊報(bào)警模塊圖2-1系統(tǒng)(xtng)框圖本設(shè)計(jì)采用AT89C51單片機(jī)不如AT89S52精確高,長(zhǎng)時(shí)間工作會(huì)導(dǎo)致(dozh)誤差很大,并且C語言設(shè)計(jì)起來相當(dāng)麻煩,調(diào)整起來麻煩而且不方便實(shí)現(xiàn)對(duì)系統(tǒng)的擴(kuò)展。(2)采用AT89S52單片機(jī)為核心,倒計(jì)時(shí)功能采用C語言編程利用單片機(jī)內(nèi)部定時(shí)器來實(shí)現(xiàn),通過時(shí)鐘芯片DS1302利用LED數(shù)碼管顯示當(dāng)前時(shí)間,并通過鍵盤控制模式的轉(zhuǎn)換和時(shí)間的調(diào)整,當(dāng)
25、時(shí)間到了經(jīng)行報(bào)警,這個(gè)設(shè)計(jì)使整個(gè)系統(tǒng)可編程,靈活性大大增加了,雖然多了個(gè)芯片但是加大了精度,因此選擇這個(gè)方案。 設(shè)計(jì)框圖利用單片機(jī)定時(shí)器及計(jì)數(shù)器產(chǎn)生定時(shí)效果通過編程形成倒計(jì)時(shí)效果,在通過LED數(shù)碼管顯示數(shù)據(jù)。系統(tǒng)供電后,實(shí)現(xiàn)小時(shí)、分鐘、秒的顯示,通過按鍵校對(duì)時(shí)間、倒計(jì)時(shí)的設(shè)定和顯示,當(dāng)定時(shí)時(shí)間到的時(shí)候,單片機(jī)通過報(bào)警器實(shí)現(xiàn)聲光報(bào)警。如圖2-2:時(shí)鐘模塊主控模塊報(bào)警模塊鍵盤模塊顯示模塊電源模塊圖2-2系統(tǒng)框圖硬件(yn jin)電路設(shè)計(jì)ATS89C52單片機(jī)介紹(jisho)AT89S52 是一種低功耗、高性能CMOS8位微控制器,具有(jyu) 8K 在系統(tǒng)可編程Flash存儲(chǔ)器。使用Atme
26、l 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完 全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于 常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng) 可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。 AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位 定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口, 片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏 輯操作,支持2種 HYPERLINK /view/37.
27、htm t _blank 軟件可選擇節(jié)電模式。空閑模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工 作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。如圖3-1圖3-1 AT89S52引腳圖P1 口:P1 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動(dòng)4 個(gè) TTL 邏輯電平。對(duì)P1 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入 口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外(cwi),P1.0和P1.1分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1
28、.0/T2)和定時(shí)器/計(jì)數(shù)器2 的觸發(fā)輸入(P1.1/T2EX)。 在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。引腳號(hào)第二(d r)功能:P1.0 T2(定時(shí)器/計(jì)數(shù)(j sh)器T2的外部計(jì)數(shù)輸入),時(shí)鐘輸出P1.1 T2EX(定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號(hào)和方向控制)P1.5 MOSI(在系統(tǒng)編程用)P1.6 MISO(在系統(tǒng)編程用)P1.7 SCK(在系統(tǒng)編程用)P2 口:P2 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動(dòng)4個(gè) TTL 邏輯電平。對(duì)P2端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入 口使用。作為輸入使用時(shí),被外部拉低的引
29、腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 在訪問外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX DPTR) 時(shí),P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用 8位地址(如MOVX RI)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。 在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。P3 口:P3 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p3 輸出緩沖器能驅(qū)動(dòng)4 個(gè) TTL 邏輯電平。對(duì)P3 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入 口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,
30、將輸出電流(IIL)。 P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。 在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。端口引腳第二功能:P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 INTO(外中斷0)P3.3 INT1(外中斷1)P3.4 TO(定時(shí)/計(jì)數(shù)器0)P3.5 T1(定時(shí)/計(jì)數(shù)器1)P3.6 WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7 RD(外部數(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)訪問外部
31、程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ALE脈沖。對(duì)FLASH存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無效。PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT
32、89S52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期(zhuq)兩次PSEN有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,將跳過兩次PSEN信號(hào)。EA/VPP:外部(wib)訪問允許,欲使CPU僅訪問外部程序存儲(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í)鐘(shzhng)發(fā)生電路的輸入
33、端。XTAL2:振蕩器反相放大器的輸出端。時(shí)鐘模塊DS1302簡(jiǎn)介DS1302 是美國(guó)DALLAS公司推出的一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為2.5V5.5V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)318的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。DS1302是DS1202的升級(jí)產(chǎn)品,與DS1202兼容,但增加了主電源/后備電源雙電源引腳,同時(shí)提供了對(duì)后備電源進(jìn)行涓細(xì)電流充電的能力。如圖3-2圖3-2 DS1302引腳圖DS1302的引腳排列,其
34、中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ù)位/片選線,通過把RST輸入驅(qū)動(dòng)置高電平來啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)傳送的方法。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過程中RS
35、T置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。DS1302電路設(shè)計(jì)本設(shè)計(jì)要求在不進(jìn)行倒計(jì)時(shí)的時(shí)候可以顯示(xinsh)一天的時(shí)間,所以采用的時(shí)鐘芯片DS1302為核心來實(shí)現(xiàn)這個(gè)問題,DS1302的X1、X2端口連接一個(gè)32.768kHz的晶振,Vcc1、Vcc2連接電源,串行數(shù)據(jù)IO端口連接單片機(jī)的P1.5引腳,串行時(shí)鐘SCLK端口連接單片機(jī)的P1.6引腳,復(fù)位RST端口連接單片機(jī)的P1.4引腳。電路圖3-3:圖3-3 DS1302電路設(shè)計(jì)時(shí)鐘(shzhng)電路設(shè)計(jì)時(shí)鐘電路對(duì)單片機(jī)是不可缺的,單片機(jī)的每個(gè)功能都要以時(shí)鐘電路為基礎(chǔ)工作。單片機(jī)內(nèi)部自帶一個(gè)時(shí)鐘電路,外部接入定時(shí)(dn
36、 sh)控制元件即可構(gòu)成一個(gè)穩(wěn)定的自己振蕩器。其中機(jī)器周期共有12個(gè)振蕩脈沖周期,因此,機(jī)器周期是時(shí)鐘周期的12倍。本實(shí)驗(yàn)使用的晶振是12MHz,則時(shí)鐘周期為(1/12)us,機(jī)器周期為1us。兩個(gè)端口分別連在單片機(jī)XLAL1、XLAL2引腳上實(shí)驗(yàn)圖3-4:圖3-4 時(shí)鐘電路時(shí)鐘復(fù)位電路復(fù)位操作有上電自動(dòng)復(fù)位、按鍵電平復(fù)位和外部脈沖復(fù)位三種方式,本次實(shí)驗(yàn)用的是按鍵電平復(fù)位,利用電容的充放電公式來選擇所需的電容、電阻,能保證復(fù)位信號(hào)高電平持續(xù)時(shí)間大于2個(gè)機(jī)器周期。電路圖3-4:圖3-5 復(fù)位(f wi)電路設(shè)計(jì)鍵盤(jinpn)模塊本設(shè)計(jì)(shj)要用數(shù)碼管顯示當(dāng)前時(shí)間和倒計(jì)時(shí)時(shí)間,這就需要由鍵
37、盤來設(shè)定,鍵盤分為獨(dú)立連接式和矩陣式,本實(shí)驗(yàn)采用五個(gè)獨(dú)立的鍵盤設(shè)計(jì),連在單片機(jī)的P3口,第一個(gè)按鍵控制工作模式的選擇,系統(tǒng)通電后顯示當(dāng)前時(shí)間,按下則顯示倒計(jì)時(shí)狀態(tài),第二個(gè)按鍵為設(shè)置模式選擇,不管是倒計(jì)時(shí)還是顯示時(shí)間都能對(duì)當(dāng)前的時(shí)間進(jìn)行設(shè)置,第三、四個(gè)按鍵主要是對(duì)時(shí)、分、秒進(jìn)行加減,第五個(gè)按鍵主要的功能是啟動(dòng)和停止倒計(jì)時(shí)。電路設(shè)計(jì)如圖3-5:圖3-6 鍵盤(jinpn)模塊設(shè)計(jì)顯示(xinsh)模塊LED數(shù)碼管介紹(jisho)數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本元件是發(fā)光二極管。圖3-7 LED數(shù)碼管數(shù)碼管的分類(fn li)數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)(
38、y )發(fā)光二極管單元(多一個(gè)小數(shù)點(diǎn)顯示);按能顯示多少個(gè)“8”可分為1位、2位、4位等等(dn dn)數(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)
39、字段就不亮。數(shù)碼管的驅(qū)動(dòng)方式 數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動(dòng)方式的不同,可以分為靜態(tài)式和動(dòng)態(tài)式兩類。 靜態(tài)顯示驅(qū)動(dòng):靜態(tài)驅(qū)動(dò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端口來驅(qū)動(dòng),要知道一個(gè)89S521單片機(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)顯示接
40、口是單片機(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ù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會(huì)亮。通過分時(shí)輪流控制各個(gè)數(shù)碼管的的COM端,就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝
41、效應(yīng),盡管實(shí)際上各位數(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ī)的IO口連接,但是單片機(jī)的IO口電流有限,只有幾毫安,但是數(shù)碼管的驅(qū)動(dòng)電流要幾十毫安到幾百毫安,所以在實(shí)驗(yàn)中選擇了單片機(jī)74LS245和單片機(jī)74LS138進(jìn)行(jnxng)驅(qū)動(dòng)和段選。單片機(jī)74LS245介紹(jisho)和電路設(shè)計(jì)74LS245是我們常用的芯片(xn pin),用來驅(qū)動(dòng)led或者其他的設(shè)備,它是8路同相三態(tài)雙向總線收發(fā)器,可雙向
42、傳輸數(shù)據(jù),還具有雙向三態(tài)功能,既可以輸出,也可以輸入數(shù)據(jù)。當(dāng)單片機(jī)AT89SC52單片機(jī)的P0口總線負(fù)載達(dá)到或超過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.
43、1D1),其它時(shí)間處于輸出(P0.1D1)。通過單片機(jī)74LS245來擴(kuò)大電流輸出來給數(shù)碼管進(jìn)行驅(qū)動(dòng),電路設(shè)計(jì)如圖3-7:圖3-8 74LS245電路設(shè)計(jì)譯碼器74LS138介紹和電路設(shè)計(jì)74LS138為3線到8線譯碼器,共有54LS138和74LS138兩種線路結(jié)構(gòu)模式。當(dāng)一個(gè)選通端(E1)為高電平,另兩個(gè)選通端((/E2)和/(E3))為低電平時(shí),可將地址端(A0、A1、A2)的二進(jìn)制編碼在Y0至Y7對(duì)應(yīng)的輸出端以低電平譯出。比如:A2A1A0=110時(shí),則Y6輸出端輸出低電平信號(hào)。利用 E1、E2和E3可級(jí)聯(lián)擴(kuò)展成 24 線譯碼器;若外接一個(gè)反相器還可級(jí)聯(lián)擴(kuò)展成 32 線譯碼器。若將選通
44、端中的一個(gè)作為數(shù)據(jù)輸入端時(shí),74LS138還可作數(shù)據(jù)分配器??捎迷?086的譯碼電路中,擴(kuò)展內(nèi)存。因?yàn)?yn wi)本設(shè)計(jì)采用的8位數(shù)碼管為共陰極數(shù)碼管,單片機(jī)74LS138的IO口輸出是低電平,所以單片機(jī)和數(shù)碼管可以配合在一起使用,來完成數(shù)碼管的段選。它的電路設(shè)計(jì)如圖3-7:圖3-9單片機(jī)74LS138電路設(shè)計(jì)報(bào)警(bo jng)模塊本設(shè)計(jì)(shj)在倒計(jì)時(shí)時(shí)間到的時(shí)候?yàn)榱颂嵝延脩舳捎玫穆暪鈭?bào)警,電路主要有一個(gè)蜂鳴器、一個(gè)三極管組成,在倒計(jì)時(shí)完成時(shí)通過控制端口P3.0給三極管送入低電平使其導(dǎo)通,報(bào)警器報(bào)警,指示燈點(diǎn)亮。如圖3-6:圖3-10 聲光報(bào)警電路設(shè)計(jì)軟件(run jin)程序設(shè)計(jì)K
45、eil軟件(run jin)介紹圖4-1 Keil軟件(run jin)2009年2月發(fā)布Keil uVision4,Keil uVision4引入靈活的窗口管理系統(tǒng),使開發(fā)人員能夠使用多臺(tái)監(jiān)視器。新的用戶界面可以更好地利用屏幕空間和更有效地組織多個(gè)窗口,提供一個(gè)整潔,高效的環(huán)境來開發(fā)應(yīng)用程序。新版本支持更多最新的ARM芯片,還添加了一些其他新功能。2011年3月ARM公司發(fā)布最新集成開發(fā)環(huán)境RealView MDK開發(fā)工具中集成了最新版本的Keil uVision4,其編譯器、調(diào)試工具實(shí)現(xiàn)與ARM器件的最完美匹配。最新的Keil uVision4 IDE,旨在提高開發(fā)人員的生產(chǎn)力,實(shí)現(xiàn)更快,
46、更有效的程序開發(fā)。uVision4引入了靈活的窗口管理系統(tǒng),能夠拖放到視圖內(nèi)的任何地方,包括支持多顯示器窗口。uVision4在Vision3 IDE的基礎(chǔ)上,增加了更多大眾化的功能。 多顯示器和靈活的窗口管理系統(tǒng) 系統(tǒng)瀏覽器窗口的顯示設(shè)備外設(shè)寄存器信息調(diào)試還原視圖,創(chuàng)建并保存多個(gè)調(diào)試窗口布局, 多項(xiàng)目工作區(qū)簡(jiǎn)化與眾多的項(xiàng)目軟件程序流程圖主程序開始初始化變量初始化定時(shí)器顯示子函數(shù)鍵盤子函數(shù)判斷鍵盤是否按下報(bào)警器報(bào)警、指示燈閃亮啟動(dòng)停止倒計(jì)時(shí)中斷1中斷2定時(shí)器中斷圖4-2 軟件(run jin)流程圖系統(tǒng)(xtng)中設(shè)置了五個(gè)按鍵,當(dāng)程序(chngx)掃描到“復(fù)位”鍵時(shí),單片機(jī)重新讀入撥碼盤數(shù)
47、據(jù),意即新的一輪計(jì)時(shí)開始,當(dāng)程序掃描到“走”鍵時(shí),若原計(jì)時(shí)停止,則啟動(dòng)計(jì)時(shí),否則無效,同樣,當(dāng)程序掃描到“?!辨I時(shí),若原計(jì)時(shí)已啟動(dòng),則停止計(jì)時(shí),否則無效。對(duì)于本系統(tǒng)來說,秒計(jì)時(shí)的準(zhǔn)確性和主從機(jī)的通信的可靠性是程序的關(guān)鍵,以下分別對(duì)這兩個(gè)程序的設(shè)計(jì)進(jìn)行描述。在硬件電路中因未設(shè)計(jì)硬件計(jì)時(shí)功能,秒的產(chǎn)生只有依靠軟件來完成。本系統(tǒng)中采用系統(tǒng)定時(shí)P計(jì)數(shù)器T0 來產(chǎn)生。最大定時(shí)時(shí)間計(jì)算方法如下:TMAX = 216 12foscs ,其中fosc 為系統(tǒng)時(shí)鐘頻率,本系統(tǒng)中的時(shí)鐘頻率為1110592MHz , 經(jīng)計(jì)算TMAX 為7111ms ,為了計(jì)算的方便,取TMAX = 50ms ,軟件計(jì)數(shù)至20 次為
48、1s。系統(tǒng)(xtng)調(diào)試本次倒計(jì)時(shí)定時(shí)器設(shè)計(jì)包括硬件電路設(shè)計(jì)和軟件設(shè)計(jì),軟件主要是通過(tnggu)C語言進(jìn)行編程,將程序編輯編譯完成后,將生成的hex文件通過串口下載軟件下載到STC89C52單片機(jī)芯片中去。通過Proteus軟件進(jìn)行仿真,實(shí)驗(yàn)過程中仿真可以正常運(yùn)行,但是總是比現(xiàn)實(shí)顯示的時(shí)間慢,而且報(bào)警(bo jng)的時(shí)候聲音也是一卡一卡的,檢查各個(gè)端口也沒有發(fā)現(xiàn)問題,通過與老師的溝通,覺得是Proteus軟件的問題,結(jié)果還是很好的完成了仿真的工作。如下圖所示:圖5-1 時(shí)間顯示模式(msh)仿真圖圖5-2 倒計(jì)時(shí)模式(msh)仿真圖硬件(yn jin)設(shè)計(jì)首先檢查印制板及焊接的質(zhì)量情況
49、,在檢查無誤后通電檢查數(shù)碼管的點(diǎn)亮狀況。至于鍵盤的調(diào)試,關(guān)鍵是把握好按鍵的去抖效果。當(dāng)出現(xiàn)按鍵“不靈”情況,一般是由于程序中用于按鍵去抖的延時(shí)時(shí)間不夠。在進(jìn)行LED數(shù)碼管焊接的時(shí)候,也出現(xiàn)的點(diǎn)問題,因?yàn)槿蝿?wù)書要求的是8位數(shù)碼管,做板子的時(shí)候是兩個(gè)四位的連在一起,數(shù)碼管引腳就比較混亂,做過了一個(gè)板子但是沒有正常工作,經(jīng)過了一些調(diào)試還是沒有顯示出來時(shí)間,決定直接買了一個(gè)數(shù)碼管模塊,直接與單片機(jī)的幾個(gè)引腳連接就可以完成實(shí)驗(yàn)要求的功能,最后連接一起通電試了試,可以完成現(xiàn)在的要求,雖然板子有點(diǎn)簡(jiǎn)陋看起來有點(diǎn)省事,但是過程還是學(xué)到了不少的東西。不過現(xiàn)在還有個(gè)問題就是誤差有點(diǎn)大,準(zhǔn)備弄得更加精確。圖5-3
50、硬件時(shí)間顯示(xinsh)狀態(tài)圖5-4 硬件(yn jin)倒計(jì)時(shí)狀態(tài)系統(tǒng)開始調(diào)試,通電后數(shù)碼管顯示時(shí)間,在通過鍵盤進(jìn)行(jnxng)時(shí)間的調(diào)整和工作模式的選擇,下表是對(duì)系統(tǒng)倒計(jì)時(shí)時(shí)間的測(cè)試結(jié)果?,F(xiàn)實(shí)時(shí)間實(shí)驗(yàn)時(shí)間誤差5分鐘4分55秒5秒10分鐘9分43秒17秒15分鐘14分18秒42秒表1 系統(tǒng)(xtng)倒計(jì)時(shí)時(shí)間測(cè)試表誤差分析:本設(shè)計(jì)的計(jì)時(shí)和倒計(jì)時(shí)功能主要是通過單片機(jī)內(nèi)部的計(jì)時(shí)器來完成,而且程序設(shè)計(jì)也使用的延時(shí)語句,不可避免的會(huì)出現(xiàn)一些誤差。但是本設(shè)計(jì)的時(shí)間顯示的誤差很小,倒計(jì)時(shí)時(shí)間越長(zhǎng)誤差就越大,電路板也已經(jīng)從手焊的換成印制板,還在尋找原因。 結(jié) 論P(yáng)AGE 24結(jié) 論本文主要先對(duì)核心芯
51、片做了個(gè)概述,并且簡(jiǎn)單的介紹了各個(gè)管腳的功能,闡述了設(shè)計(jì)要求、選擇的方案(fng n)以及最后能夠完成的功能。然后通過硬件和軟件部分的介紹,詳細(xì)的說明了我做畢設(shè)的步驟以及各個(gè)部分的選擇,如何實(shí)現(xiàn)的,用什么軟件實(shí)現(xiàn)的,最后列出了實(shí)驗(yàn)的誤差以及PCB、原理圖等等的實(shí)驗(yàn)過程。雖然畢業(yè)設(shè)計(jì)可以完成實(shí)驗(yàn)要求,但是這僅僅是一小部分,還有很多問題沒有解決,硬件設(shè)計(jì)的過于簡(jiǎn)單,導(dǎo)致了誤差的出現(xiàn),這都是我以后要努力(n l)地方向。從這次畢業(yè)論文設(shè)計(jì)中,無論對(duì)于單片機(jī)還是定時(shí)器,都進(jìn)一步清晰了設(shè)計(jì)概念、學(xué)習(xí)了專業(yè)理論、掌握了芯片知識(shí),而且還增長(zhǎng)了實(shí)踐經(jīng)驗(yàn),提高(t go)了認(rèn)知水平,促進(jìn)了自學(xué)能力。從諸多方面獲
52、得了很大的收益。參考文獻(xiàn)PAGE 25參考文獻(xiàn)1 李群芳.單片微型計(jì)算機(jī).電子(dinz)工業(yè)出版社,20102 孫景琪, 曹小秋.通信廣播電路原理(yunl)與應(yīng)用.北京工業(yè)大學(xué)出版社,20103 徐士良, 葛兵.計(jì)算機(jī)軟件技術(shù)(jsh)基礎(chǔ).清華大學(xué)出版社,20104 劉明亮, 郭云.數(shù)字信號(hào)處理基礎(chǔ)教程.北京航空航天大學(xué)出版社,20115 王劃一, 楊西峽.自動(dòng)控制原理.國(guó)防工業(yè)出版社,20106 鄭步生,吳渭Multisim200l電路設(shè)計(jì)及仿真入門與應(yīng)用M北京:電子工業(yè)出版社,20027 樓然苗,李光飛51系列單片機(jī)設(shè)計(jì)實(shí)例M北京:北京航空航天大學(xué)出版社,20038 梁純,王軍基于M
53、CS一51單片機(jī)的LED點(diǎn)陣圖文顯示屏設(shè)計(jì)J工礦自動(dòng)化,2005(6)9夏路易、石宗義編著 電路原理圖與電路板設(shè)計(jì)教程 北京希望電子出版社 200210吳國(guó)經(jīng)主編 單片機(jī)應(yīng)用技術(shù) 中國(guó)電力出版社 200411徐泳龍主編 單片機(jī)原理及應(yīng)用 機(jī)械工業(yè)出版社 2004附 錄PAGE 41附 錄附錄(fl)1 主程序#include#include ds1302.h / DS1302的驅(qū)動(dòng)(q dn)頭文件#define uchar unsigned char#define uint unsigned int/ 設(shè)置模式(msh)選擇sbit key1=P13;/ +sbit key2=P14;/ -
54、sbit key3=P15;/ 系統(tǒng)工作模式選擇sbit key4=P16;/ 倒計(jì)時(shí)開始/停止sbit key5=P17;/ 報(bào)警sbit BEEP = P37;/ LEDsbit LED = P34;unsigned char ll = 0;unsigned char kk,i;/ 臨時(shí)變量/共陰數(shù)碼管0-9,滅,-編碼uchar code dis=0 x3F,0X30,0X5b,0X4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x00,0 x40;/位選編碼(bin m)uchar code wei=0 x80,0 x81,0 x82,0 x83,0
55、x84,0 x85,0 x86,0 x87;/時(shí)分秒顯示(xinsh)緩沖區(qū)uchar data dis1=0 x00,0 x00,0 x0b,0 x00,0 x00,0 x0b,0 x00,0 x00;/時(shí)分秒初值uchar data chuzhi=0 x23,0 x59,0 x50;/送十六進(jìn)制(sh li jn zh)數(shù)/ 讀取的時(shí)間值uchar data time1302=0 x00,0 x00,0 x00;/ 倒計(jì)時(shí)的分鐘,秒signed char Count_minutes = 0;signed char Count_seconds = 0;/ 系統(tǒng)工作模式選擇位1: 時(shí)間顯示模式
56、 0:倒計(jì)時(shí)模式bit Work_Flag = 1;/延時(shí)1ms子程序void delay(uint z)uint x,y;for(x=z;z0;z-)for(y=110;y0;y-);/ 顯示子函數(shù)void display()uchar k;if(Work_Flag)/ 時(shí)間模式下的顯示dis17=chuzhi2%10;/ 秒的十位(sh wi)dis16=chuzhi2/10;/ 秒的個(gè)位(gwi)dis14=chuzhi1%10;/ 分的十位(sh wi)dis13=chuzhi1/10;/ 分的個(gè)位dis11=chuzhi0%10;/ 時(shí)的十位dis10=chuzhi0/10;/ 時(shí)的
57、個(gè)位for(k=0;k8;k+) / 循環(huán)刷新各個(gè)位P2 = weik;P0 = disdis1k;delay(1);/讓數(shù)碼管正常顯示出來else/ 倒計(jì)時(shí)模式下的顯示dis13 = Count_seconds/10;/ 得到分鐘的1十位dis14 = Count_seconds%10;/ 得到分鐘的個(gè)位dis10 = Count_minutes/10;dis11 = Count_minutes%10;for(k=0;k5;k+)P2 = weik;P0 = disdis1k;delay(1);/鍵盤掃描子函數(shù)void kscan()uchar temp;/ 系統(tǒng)(xtng)工作模式選擇if
58、(key4 = 0) delay(10);if(key4 = 0) while(key4 = 0);Work_Flag = !Work_Flag; / 按下鍵 在兩個(gè)(lin )工作模式間切換 if(key1=0)/ 時(shí)間(shjin)顯示模式下的選擇鍵按下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 = chuzhi2/10*16+chuzhi2%10;Write1302 (0 x8e,0X00); /禁止寫保護(hù)Write1302 (0 x80,0 x80|te
59、mp); /時(shí)鐘暫停Write1302 (0 x8e,0 x80); /允許寫保護(hù)elsell +;if(ll = 2)ll = 0;if(!Work_Flag)/ 設(shè)置倒計(jì)時(shí)的初始(ch sh)時(shí)間 / 倒計(jì)時(shí)秒設(shè)置(shzh)模式 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_minut
60、es = 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 -;elseif(Count_seconds)Count_seconds -;elseCount_seconds = 0; / 倒計(jì)時(shí)模式(msh)下,分設(shè)置模式if(ll = 1)if(key2 = 0)/ +delay(10);if(key2 = 0)while(key2 = 0);Count_minutes
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高考物理總復(fù)習(xí)專題九磁場(chǎng)第3講帶電粒子在勻強(qiáng)磁場(chǎng)、復(fù)合場(chǎng)中的運(yùn)動(dòng)練習(xí)含答案
- 生產(chǎn)車間承包設(shè)備租賃
- 高中化學(xué) 第三冊(cè) 第九章 初識(shí)元素周期律 9.2 元素周期表教學(xué)設(shè)計(jì)1 滬科版
- 2024年四年級(jí)品德與社會(huì)上冊(cè) 第三單元 生活在這里真好 第11課《我家來了新鄰居》教案 粵教版
- 2024秋七年級(jí)英語上冊(cè) Unit 5 Family and Home Lesson 28 A Family Picnic教學(xué)設(shè)計(jì) (新版)冀教版
- 2023一年級(jí)數(shù)學(xué)下冊(cè) 五 認(rèn)識(shí)人民幣 1認(rèn)識(shí)人民幣教案 西師大版
- 2023九年級(jí)道德與法治下冊(cè) 第一單元 我們共同的世界 第一課 同住地球村第2課時(shí) 復(fù)雜多變的關(guān)系說課稿 新人教版
- 文書模板-建設(shè)工程施工分包合同
- 外匯存款代辦委托書
- 銀行合同范本(2篇)
- 2024-2030年中國(guó)天然蜂蜜市場(chǎng)競(jìng)爭(zhēng)狀況與盈利前景預(yù)測(cè)報(bào)告
- 文書模板-《企業(yè)防靜電方案》
- 油氣田開發(fā)工程車輛租賃合同
- 中國(guó)廚房電器行業(yè)消費(fèi)態(tài)勢(shì)及銷售狀況分析研究報(bào)告(2024-2030版)
- 2024年國(guó)家公務(wù)員考試行測(cè)真題卷行政執(zhí)法答案和解析
- 冬季施工惡劣天氣應(yīng)急預(yù)案
- 2024年安徽省投資集團(tuán)控股限公司社會(huì)招聘高頻難、易錯(cuò)點(diǎn)練習(xí)500題附帶答案詳解
- 海南省海口市海南省華僑中學(xué)2024-2025年八年級(jí)上期中考試物理試題(含答案)
- 賽力斯招聘在線測(cè)評(píng)題
- SL-T+62-2020水工建筑物水泥灌漿施工技術(shù)規(guī)范
- 《漢字輸入一點(diǎn)通》課件
評(píng)論
0/150
提交評(píng)論