智能電子計(jì)時(shí)器系統(tǒng)畢業(yè)論文_第1頁
智能電子計(jì)時(shí)器系統(tǒng)畢業(yè)論文_第2頁
智能電子計(jì)時(shí)器系統(tǒng)畢業(yè)論文_第3頁
智能電子計(jì)時(shí)器系統(tǒng)畢業(yè)論文_第4頁
智能電子計(jì)時(shí)器系統(tǒng)畢業(yè)論文_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、摘摘 要要本設(shè)計(jì)是以 at89s51 單片機(jī)為核心實(shí)現(xiàn)的一個(gè)智能電子計(jì)時(shí)器系統(tǒng)。目前市場上的電子計(jì)時(shí)器,主要有基于 ne555 的電子計(jì)時(shí)器、基于脈沖的電子計(jì)時(shí)器以及基于 at89s51 單片機(jī)的電子計(jì)時(shí)器三種。通過比較,本課題選擇了“基于 at89s51 單片機(jī)的電子計(jì)時(shí)器”的設(shè)計(jì)方案。該方案利用了 at89s51 單片機(jī)為主控芯片,實(shí)現(xiàn)了時(shí)間顯示、定時(shí)中斷以及記錄比分等功能。具有簡單易操作、時(shí)間可以任意設(shè)定等優(yōu)點(diǎn),適合目前人們對(duì)智能小家電的需求。本設(shè)計(jì)主要從總體設(shè)計(jì)、硬件設(shè)計(jì)、軟件設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)等方面來對(duì)智能電子計(jì)時(shí)器進(jìn)行詳細(xì)的介紹。硬件主要由顯示模塊、按鍵模塊、復(fù)位模塊、晶振電路等組成;

2、軟件是用 c 語言編程,再利用 keil 軟件進(jìn)行仿真,最后將軟硬件結(jié)合起來實(shí)現(xiàn)電子計(jì)時(shí)器的功能。本設(shè)計(jì)主要是完成定時(shí)時(shí)功能,該計(jì)時(shí)器系統(tǒng)簡單易操作,定時(shí)時(shí)間也較長,適合在 999 秒以內(nèi)的定時(shí),比如豆?jié){機(jī)、榨汁機(jī)等的定時(shí)。關(guān)鍵詞關(guān)鍵詞:at89s51, led 數(shù)碼管,電子計(jì)時(shí)器, c 語言abstractthis design is based on at89s51 as the core implementation of an intelligent electronic timer system. currently on the market of electronic timer

3、, are mainly based on the electronic timer ne555, based on the pulse of the electronic timer and electronic timer based on at89s51 3 kinds. by comparison, chose the topic electronic timer based on at89s51 design. the scheme takes advantage of the at89s51 as the main control chip, implement the time

4、display, timing interrupt and record the score. with a simple easy to operate, the advantages of time can be set arbitrary, meet requirements of intelligent household appliances. this design mainly from the overall design, hardware design, software design, system implementation, etc to intelligent e

5、lectronic timer is introduced in detail. hardware is mainly composed of display module, keys module, reset module, a crystal vibration circuit and so on; software is written in c language programming, using the keil software simulation, electronic timer function is realized by combining software and

6、 hardware.timing of the completion of this design is mainly the function, the timer system easy to operate, simple timing time is longer, suitable time within 999 seconds, such as timing doujiangji, juicer and so on.keywords: at89s51, led digital tube, electronic timer, the c language目目 錄錄第一章緒論.1第二章

7、 電子計(jì)時(shí)器及 at89s51 單片機(jī)的簡介.22.1 電子計(jì)時(shí)器的的功能以及工作原理.22.1.1 電子計(jì)時(shí)器的功能簡述.22.1.2 電子計(jì)時(shí)器的工作原理及組成.22.2 at89s51 單片機(jī)的簡介 .32.2.1 at89s51 功能特性概述.32.2.2 at89s51 的引腳圖及說明.4第三章 系統(tǒng)的總體設(shè)計(jì).83.1 方案比較 .83.2 功能設(shè)計(jì).103.3 功能實(shí)現(xiàn)流程.10第四章 硬件設(shè)計(jì).124.1 單片機(jī)最小系統(tǒng) .124.2 電子計(jì)時(shí)的功能模塊 .144.3 繼電器模塊.144.4 按鈕模塊.154.5 顯示模塊.16第五章 軟件設(shè)計(jì).195.1 c 語言簡介.195

8、.2 軟件模塊規(guī)劃.205.3 程序?qū)崿F(xiàn).215.3.1 程序的功能模塊.225.3.2 主程序設(shè)計(jì).225.3.3 中斷程序設(shè)計(jì).235.3.4 其他子程序的設(shè)計(jì).24第六章 系統(tǒng)實(shí)現(xiàn).266.1 硬件實(shí)現(xiàn).266.2 軟件調(diào)試.276.3 系統(tǒng)功能測試.29結(jié) 論.30致 謝.31參考文獻(xiàn).32附錄 1:計(jì)時(shí)繼電器設(shè)計(jì)總電路圖:.33附錄 2:pcb 電路圖.34附錄 3:元器件清單.35附錄 4:電子計(jì)時(shí)器源程序.36第一章第一章緒論緒論我國廣泛采用的攪拌機(jī)是強(qiáng)制式攪拌機(jī)和傾卸式攪拌機(jī)1。這兩類攪拌機(jī)對(duì)混凝土的水灰比、強(qiáng)度、坍落度的適應(yīng)性比較寬。我國在攪拌機(jī)的研究和發(fā)展上在向大容量的方向

9、發(fā)展和提高,但是隨著人們生活水平的提高,攪拌機(jī)也逐漸進(jìn)入到老百姓的生活中。而且是智能小型的攪拌機(jī),比如說豆?jié){機(jī)和榨汁機(jī)等都用到了攪拌機(jī),把人們從紛繁的家務(wù)勞動(dòng)中解放出來而且將中國美食做的更美味。隨著計(jì)算機(jī)在社會(huì)領(lǐng)域的滲透, 微型單片機(jī)的應(yīng)用2正在不斷地走向深入。在實(shí)時(shí)檢測和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往是作為一個(gè)核心部件來使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象特點(diǎn)的軟件 結(jié)合。有時(shí)還會(huì)用到運(yùn)用 c 語言3進(jìn)行編程,簡化了源程序,簡單易懂,再利用 keil 軟件進(jìn)行仿真編譯,最后軟硬件相結(jié)合實(shí)現(xiàn)功能。本次設(shè)計(jì)的攪拌機(jī)智能電子計(jì)時(shí)器是以 at89s51

10、單片機(jī)為核心的計(jì)時(shí)系統(tǒng),由硬件和軟件兩部分組成。進(jìn)行軟件仿真時(shí),再跟硬件相結(jié)合。設(shè)計(jì)一個(gè)更加簡單以及靈敏的計(jì)時(shí)器,用于小型家電中,還可以作為籃球計(jì)分器使用。計(jì)時(shí)時(shí)間從 000-999 秒的小型電子計(jì)時(shí)器,計(jì)時(shí)間隔是 1s,時(shí)間可以在這個(gè)范圍內(nèi)任意設(shè)置,簡單,方便,靈敏度高等優(yōu)點(diǎn),就是在時(shí)間設(shè)置這一塊存在不能直接輸入,而必須要用按鍵加減才能實(shí)現(xiàn)。第二章第二章 電子計(jì)時(shí)器及電子計(jì)時(shí)器及 at89s51at89s51 單片機(jī)的簡介單片機(jī)的簡介2.12.1 電子計(jì)時(shí)器的的功能以及工作原理電子計(jì)時(shí)器的的功能以及工作原理2.1.12.1.1 電子計(jì)時(shí)器的功能簡述電子計(jì)時(shí)器的功能簡述電子計(jì)時(shí)器的功能是以單片

11、機(jī)4的硬件設(shè)計(jì)為基礎(chǔ)的,通過硬件模塊化的設(shè)計(jì),再結(jié)合軟件系統(tǒng),最后實(shí)現(xiàn)整體的功能。電子計(jì)時(shí)器的系統(tǒng)可以分為三個(gè)部分:復(fù)位模塊、顯示模塊以及控制模塊。電子計(jì)時(shí)器是由單片機(jī)為核心的器件組成的一個(gè)倒計(jì)時(shí)系統(tǒng)。系統(tǒng)顯示器是由 3 個(gè) 8 位數(shù)共陽型數(shù)碼管組成,還有復(fù)位模塊、按鍵模塊等組成。目前電子計(jì)時(shí)器應(yīng)用廣泛用于各種場合,如籃球比賽,廣告牌定時(shí)翻轉(zhuǎn)以及本次最重要的是用于家庭小型攪拌機(jī)的定時(shí)。這次畢業(yè)設(shè)計(jì)的電子計(jì)時(shí)器計(jì)時(shí)時(shí)間是0999 秒,開始計(jì)時(shí)時(shí)顯示器通過單片機(jī)控制,數(shù)碼管顯示倒計(jì)時(shí)的時(shí)間,通過按鍵控制倒計(jì)時(shí)的開始和停止,當(dāng)?shù)褂?jì)時(shí)結(jié)束時(shí),會(huì)聽到滴的一聲以及數(shù)碼管顯示為 000 并不再變化來提醒倒計(jì)

12、時(shí)結(jié)束。本設(shè)計(jì)是基于 at89s51 單片機(jī)控制的智能電子計(jì)時(shí)系統(tǒng),該系統(tǒng)以單片機(jī)為核心,c 語言為程序基礎(chǔ),采用單片機(jī)軟件、硬件相結(jié)合的方式,實(shí)現(xiàn)定時(shí)計(jì)時(shí)的功能。本次的設(shè)計(jì)能夠?qū)崿F(xiàn) 999 秒以內(nèi)的時(shí)間定時(shí),利用 c 語言編程,實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)的控制,完成相應(yīng)所需的功能。不僅成本低而且制作簡單,實(shí)現(xiàn)功能齊全,在平時(shí)的籃球比賽的倒計(jì)時(shí)中也可以運(yùn)用,而且可以復(fù)位,能夠多次設(shè)定以及任意設(shè)定計(jì)時(shí)的時(shí)間。2.1.22.1.2 電子計(jì)時(shí)器的工作原理及組成電子計(jì)時(shí)器的工作原理及組成本方案采用單片機(jī)程序設(shè)計(jì)制作,它是利用芯片 at89s51 的特殊功能,p3口控制按鍵開關(guān),當(dāng)按下開關(guān) s1,三個(gè)數(shù)碼管將顯示

13、999,然后通過 p2.0 和p2.1 對(duì)控制數(shù)碼管的兩個(gè)三極管進(jìn)行位選,p1 口輸出段碼經(jīng) 74ls373 鎖存來驅(qū)動(dòng)數(shù)碼管進(jìn)行倒計(jì)時(shí),同時(shí)能實(shí)現(xiàn)復(fù)位、暫停、任意調(diào)整時(shí)間的功能。其系統(tǒng)框圖如圖下圖所示。圖 2-1 系統(tǒng)原理框圖圖 2-1 是電子計(jì)時(shí)器的工作原理框圖,計(jì)時(shí)器的工作原理是以硬件為基礎(chǔ),采用模塊化設(shè)計(jì)的方法進(jìn)行控制的系統(tǒng)。由圖可以看出計(jì)時(shí)器的核心部件是單片機(jī),以單片機(jī)為核心,利用系統(tǒng)的軟件5程序控制硬件電路,從而實(shí)現(xiàn)計(jì)時(shí)的功能。通過按鍵向單片機(jī)設(shè)定時(shí)間,然后通過內(nèi)部程序的處理之后,由單片機(jī)輸出信號(hào),最后由數(shù)碼管顯示出結(jié)果。單片機(jī)是整個(gè)計(jì)時(shí)器的控制部分,它不僅將輸入與輸出連接起來了,

14、同時(shí)完成了信號(hào)處理部分。單片機(jī)的內(nèi)部軟件部分的設(shè)計(jì)6是采用 c 語言編寫的,它完成了時(shí)間參數(shù)的設(shè)定、計(jì)時(shí)功能、保存、顯示、輸出及計(jì)時(shí)倒計(jì)時(shí)等功能。2.22.2 at89s51at89s51 單片機(jī)的簡介單片機(jī)的簡介2.2.12.2.1 at89s51at89s51功能特性概述功能特性概述at89s51 是美國 atmel 公司生產(chǎn)的低功耗, 高性能 cmos8 位單片機(jī), 片內(nèi)含 4k bytes 的可系統(tǒng)編程的 flash 只讀程序存儲(chǔ)器,器件采用 atmel 公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn), 兼容標(biāo)準(zhǔn) 8051 指令系統(tǒng)及引腳。它集flash 程序存儲(chǔ)器既可在線編程(isp) 也可用傳

15、統(tǒng)方法進(jìn)行編程及通用 8 位按鍵輸入復(fù)位電路at89s51驅(qū)動(dòng)電路顯示電路振蕩電路微處理器于單片芯片中,atmel 公司的功能強(qiáng)大,低價(jià)位 at89s51 單片機(jī)可為您提供許多高性價(jià)比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。at89s51 提供以下標(biāo)準(zhǔn)功能:4k 字節(jié)flash 閃速存儲(chǔ)器,128 字節(jié)內(nèi)部ram,32 個(gè)io 口線,看門狗(wdt),兩個(gè)數(shù)據(jù)指針,兩個(gè)16 位定時(shí) 計(jì)數(shù)器,一個(gè)5 向量兩級(jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口, 片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),at89s51 可降至0hz 的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。空閑方式停止cpu 的工作,但允許ram, 定時(shí)

16、計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存ram 中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。at89s51 單片機(jī)的主要特點(diǎn)如下:(1) 控制功能強(qiáng)。為了滿足工業(yè)控制的要求,一般單片機(jī)的指令系統(tǒng)均有及豐富的轉(zhuǎn)移指令、i/o 口的邏輯操作以及位處理的功能。(2) 集成度高、體積小、有很高的可靠性。單機(jī)機(jī)把各功能部件集成在一塊芯片上,內(nèi)部采用總線結(jié)構(gòu),減少了芯片內(nèi)部之間的連線,大大提高了單片機(jī)的可靠性與抗干擾能力。另外,其體積小,對(duì)于強(qiáng)磁場環(huán)境易于采取屏蔽措施,適合于在惡劣環(huán)境下工作。(3) 有優(yōu)異的性能價(jià)格比。(4) 低功耗、低電壓、便于生產(chǎn)便攜式產(chǎn)品。(5)

17、增加了 i2c 串行總線方式、spi 串行接口等,進(jìn)一步縮小了體積,簡化了結(jié)構(gòu)。(6) 單片機(jī)的系統(tǒng)擴(kuò)展、系統(tǒng)配置較典型、規(guī)范,容易構(gòu)成各種規(guī)格的應(yīng)用系統(tǒng)。目前單片機(jī)正朝著高性能和多品種的方向發(fā)展,今后單片機(jī)的發(fā)展趨勢將進(jìn)一步向著 cmos 化、低功耗、小體積、大容量、高性能、低價(jià)格和外圍電路內(nèi)裝化等幾個(gè)方面發(fā)展。2.2.22.2.2 at89s51at89s51的的引腳圖及說明引腳圖及說明要掌握了解單片機(jī)就必須先從最基本的引腳開始學(xué)習(xí)和掌握,圖2-2就是at89s51單片機(jī)的四十個(gè)引腳圖,從圖中可以看出單片機(jī)四十個(gè)引腳的各個(gè)名稱和功能。再根據(jù)各個(gè)引腳的介紹就可以基本熟練地掌握各個(gè)引腳的作用了

18、。圖 2-2 at89s51 單片機(jī)的引腳圖 p0p0 口口:p0 口是一組 8 位漏極開路型雙向 i0 口,也即地址數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能驅(qū)動(dòng) 8 個(gè) ttl 邏輯門電路,對(duì)端口寫“l(fā)”可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低 8 位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在f1ash 編程時(shí),p0 口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。p1p1 口口:pl 是一個(gè)帶內(nèi)部上拉電阻的 8 位雙向 io 口,pl 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè) ttl 邏輯門電路。對(duì)端口寫“l(fā)” ,通過

19、內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(iil) 。在 flash 編程和程序校驗(yàn)期間,p1 接收低 8 位地址。部分端口還有第二功能,如表 2-1 所示。表 2-1 p1 口部分引腳的第二功能端口引腳端口引腳第二功能第二功能p1.5mosi(用于 isp 編程)p1.6miso(用于 isp 編程)p1.7sck (用于 isp 編程)p2p2 口口:p2 是一個(gè)帶有內(nèi)部上拉電阻的 8 位雙向 io 口,p2 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè) ttl 邏輯門電路。對(duì)端口寫“1” ,通過內(nèi)部的上拉電

20、阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(iil) 。在訪問外部程序存儲(chǔ)器或 16 位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行 movxdptr 指令)時(shí),p2 口送出高 8 位地址數(shù)據(jù)。flash 編程或校驗(yàn)時(shí),p2 亦接收高位地址和其它控制信號(hào)。p3p3 口:口: p3 口是一組帶有內(nèi)部上拉電阻的 8 位雙向 i0 口。p3 口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè) ttl 邏輯門電路。對(duì) p3 口寫入“l(fā)”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。p3 口更重要的用途是它的第二功能,p3 口還接收一些用于 flash 閃速

21、存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。如下表 2-2 所示:表 2-2 p3 口的特殊功能端口引腳端口引腳第二功能第二功能p3.0rxd (串行輸入口)p3.1txd (串行輸出口)p3.2int0 (外部中斷 0)p3.3int1 (外部中斷 1)p3.4t0 (計(jì)時(shí)器 0 外部輸入)p3.5t1 (計(jì)時(shí)器 1 外部輸入)p3.6wr (外部數(shù)據(jù)存儲(chǔ)器寫選通)p3.7rd (外部數(shù)據(jù)存儲(chǔ)器讀選通)rstrst:復(fù)位輸入。當(dāng)振蕩器工作時(shí),rst 引腳出現(xiàn)兩個(gè)機(jī)器周期以上的高電平時(shí)間將使單片機(jī)復(fù)位。wdt 溢出將使該引腳輸出高電平,設(shè)置 sfr auxr 的disrto 位(地址 8eh)可打開或關(guān)閉

22、該功能。 disrto 位缺省為 reset 輸出高電平打開狀態(tài)。 xtal1xtal1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。xtal2xtal2:來自反向振蕩器的輸出。第三章第三章 系統(tǒng)的總體設(shè)計(jì)系統(tǒng)的總體設(shè)計(jì)3.13.1 方案比較方案比較(1 1)基于)基于 ne555ne555 的電子計(jì)時(shí)器的電子計(jì)時(shí)器采用動(dòng)態(tài)顯示的方法來實(shí)現(xiàn) led 顯示器的數(shù)字顯示。內(nèi)部主要采用了ne555 集成電路,實(shí)現(xiàn)其他的擴(kuò)充功能。它體積小,無外觀修飾,完全裸露內(nèi)部元件,操作方便,便于安裝、拆卸與維修。ne555 是一種應(yīng)用特別廣泛的集成電路,屬于小規(guī)模的集成電路,在很多電子產(chǎn)品中都有應(yīng)用。ne555

23、 的作用是用內(nèi)部的定時(shí)器來構(gòu)成時(shí)基電路,給其他的電路提供時(shí)序脈沖。ne555 內(nèi)部含有兩個(gè)電壓比較器,一個(gè)分壓器,一個(gè) rs 觸發(fā)器,一個(gè)放電晶體管和一個(gè)功率輸出級(jí)。由 ne555 構(gòu)成的電子計(jì)時(shí)器,具有體積小,成本低,抗干擾能力強(qiáng),面向控制等優(yōu)點(diǎn)。它廣泛應(yīng)用于各種繼電器,電磁開關(guān),控制器,延時(shí)器,定時(shí)器等的時(shí)間測試。目前所使用的電秒表大多是指針式或集成電路型的,節(jié)后相對(duì)復(fù)雜,測試功能單一。(2 2)基于脈沖的電子計(jì)時(shí)器)基于脈沖的電子計(jì)時(shí)器基于脈沖的電子計(jì)時(shí)器由計(jì)時(shí)電路、譯碼顯示電路、脈沖發(fā)生電路、校分電路、清零電路和報(bào)時(shí)電路這幾部分組成。脈沖發(fā)生電路為電子計(jì)時(shí)器提供計(jì)數(shù)脈沖,需要產(chǎn)生 1h

24、z 的脈沖信號(hào)。采用 ne555 集成電路和分頻器 cd4040 構(gòu)成脈沖發(fā)生器。ne555 定時(shí)器構(gòu)成多諧振蕩器,波形穩(wěn)定,上升沿和下降沿小,振幅大,占空比可調(diào),而后通過 cd4040k 可以輸出 20211hz 幾種頻率供后面使用。計(jì)時(shí)電路采用二-十進(jìn)制加法計(jì)數(shù)器由 cd4518 實(shí)現(xiàn)。60 秒為 1 分,將分秒的個(gè)位、十位分別在七段數(shù)碼顯示器上顯示出來,從 0 分 0 秒到 59 分 59 秒,然后重新計(jì)數(shù)。校分電路設(shè)計(jì)有一個(gè)開關(guān),當(dāng)開關(guān)打到高電位檔時(shí),計(jì)數(shù)器正常計(jì)數(shù);當(dāng)開關(guān)打到低電位檔時(shí),分計(jì)數(shù)器進(jìn)行快速校分(即分計(jì)數(shù)器可以不受秒計(jì)數(shù)器的進(jìn)位信號(hào)控制,而通過 2hz 頻率的校分信號(hào)進(jìn)行

25、校分) ,而秒計(jì)數(shù)器保持。在任何時(shí)候,撥動(dòng)校分開關(guān),可以進(jìn)行快速校分。采用 74ls74 d 觸發(fā)器,由于d 觸發(fā)器的輸出端只在時(shí)鐘的上升沿變化,而其他時(shí)刻保持上一次的電平,故可以用其構(gòu)成防顫抖電路,在校分電路中有其應(yīng)用。(3 3)基于)基于 at89s51at89s51 單片機(jī)的電子計(jì)時(shí)器單片機(jī)的電子計(jì)時(shí)器本次設(shè)計(jì)以 at89s51 單片機(jī)為核心設(shè)計(jì)一個(gè)智能電子計(jì)時(shí)器,計(jì)時(shí)時(shí)間從000-999 秒。本設(shè)計(jì)硬件部分包括電源電路、復(fù)位電路、按鍵電路、振蕩電路、數(shù)碼管顯示電路五部分電路,軟件程序部分有定時(shí)中斷程序、外部中斷程序、顯示子程序和延時(shí)子程序等。軟件仿真工具采用 keil 軟件。硬件采用萬

26、用板把元件焊接在一起從而實(shí)現(xiàn)預(yù)期的功能。該設(shè)計(jì)具有計(jì)時(shí)精確、使用方便、可以任意設(shè)定計(jì)時(shí)時(shí)間以及可以作籃球電子計(jì)時(shí)器用等優(yōu)點(diǎn);但存在不能在高溫的環(huán)境下使用以及不穩(wěn)定等缺點(diǎn),還有待改進(jìn)。(4 4)綜合分析)綜合分析根據(jù)以上兩種方案可以看出基于 ne555 的電子計(jì)時(shí)器的設(shè)計(jì)具有體積小,無外觀修飾,完全裸露內(nèi)部元件,操作方便,便于安裝、拆卸與維修的優(yōu)點(diǎn)。但目前所使用的電秒表大多是指針式或集成電路型的,相對(duì)于數(shù)字電子計(jì)時(shí)器測試結(jié)果不準(zhǔn)確,測試內(nèi)容單一,所以本次設(shè)計(jì)不適用這個(gè)設(shè)計(jì)?;诿}沖的電子計(jì)時(shí)器的設(shè)計(jì)采用 ne555 集成電路和分頻器 cd4040 構(gòu)成脈沖發(fā)生器兩個(gè)組合設(shè)計(jì)成的,設(shè)計(jì)比較復(fù)雜,操

27、作也比較復(fù)雜,報(bào)時(shí)是每隔一秒都會(huì)報(bào)時(shí),不適合家庭操作,這樣也就不適合本次設(shè)計(jì)。所以綜合以上分析還是基于 at89s51 單片機(jī)的電子計(jì)時(shí)器的方案更加適合,簡單易操作、多功能而且時(shí)間可以任意設(shè)定。第三章開始將仔細(xì)介紹這次設(shè)計(jì)的軟件和硬件設(shè)計(jì)以及調(diào)試等內(nèi)容。3.23.2 功能設(shè)計(jì)功能設(shè)計(jì)此電子計(jì)時(shí)器系統(tǒng)是采用 at89s51 單片機(jī)為核心元件,結(jié)合數(shù)碼管、晶振、二極管、按鍵等元件構(gòu)成一個(gè)簡易的電子計(jì)時(shí)器器。利用了單片機(jī)的振蕩電路、按鍵復(fù)位電路、時(shí)鐘電路、定時(shí)中斷等電路,實(shí)現(xiàn)單片機(jī)系統(tǒng)的功能。本次設(shè)計(jì)的電子計(jì)時(shí)器具有實(shí)時(shí)顯示及定時(shí)的功能,能有多種用處。比如:該電子計(jì)時(shí)器應(yīng)具有基本倒時(shí)功能;具有啟動(dòng),

28、暫停復(fù)位功能;時(shí)間可以任意調(diào)整;時(shí)間用數(shù)碼顯示,初始值為 000 秒,最大值為 999s 掃描時(shí)間間隔為 1s 還可以作為籃球計(jì)分表使用。3.33.3 功能實(shí)現(xiàn)流程功能實(shí)現(xiàn)流程本課題利用at8s51單片機(jī)及其豐富的外圍接口實(shí)現(xiàn)了計(jì)時(shí)系統(tǒng)的設(shè)計(jì),該電子計(jì)時(shí)器增加了新功能、提高了系統(tǒng)的可靠性、簡化了電路結(jié)構(gòu)、節(jié)約了成本,使用方便,只需要按加減按鈕設(shè)定一個(gè)時(shí)間,最后按下確認(rèn)按鈕即可,到時(shí)會(huì)自動(dòng)中斷,停止工作,是一個(gè)實(shí)用的工程設(shè)計(jì),下圖3-1是硬件的實(shí)現(xiàn)流程圖: 是圖 3-1 功能實(shí)現(xiàn)流程圖本次設(shè)計(jì)的攪拌機(jī)智能電子計(jì)時(shí)器就是本著智能簡單方便的原則,所以功能實(shí)現(xiàn)非常簡單,只要按加減鍵設(shè)定時(shí)間然后按確認(rèn)鍵

29、就可以了,時(shí)間到時(shí)就會(huì)自動(dòng)停止。開始設(shè)定時(shí)間確認(rèn)計(jì)時(shí)完成復(fù)位重新設(shè)定時(shí)間完成否第四章第四章 硬件設(shè)計(jì)硬件設(shè)計(jì)4.14.1 單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)是單片機(jī)在發(fā)揮具體測控功能時(shí)所必須的組成部分。單片機(jī)最小應(yīng)用系統(tǒng)方框圖,如圖 4-1 所示。 圖4-1 單片機(jī)最小系統(tǒng)應(yīng)用框圖(a)(a)復(fù)位電路復(fù)位電路單片機(jī)在開機(jī)時(shí)都需要復(fù)位,以便 cpu 及其他功能部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。單片機(jī)復(fù)位電路工作原理:當(dāng)通電瞬間穩(wěn)壓電源給電容充電。reset 為復(fù)位輸入端,當(dāng) reset 引腳持續(xù)兩個(gè)機(jī)器周期以上的高電平時(shí),使單片機(jī)完成復(fù)位操作,隨著電容充電結(jié)束,將使電容

30、與電阻之間將呈現(xiàn)低電平,單片機(jī)復(fù)位結(jié)束。復(fù)位操作的主要功能是把 pc 初始化為0x0000,使單片機(jī)程序存儲(chǔ)器從 0x0000 單元開始執(zhí)行程序。本次設(shè)計(jì)以單片機(jī) at89s51 作為主控芯片,控制整個(gè)電路的運(yùn)行。采用at89s51 上的復(fù)位引腳。單片機(jī)外圍需要一個(gè)復(fù)位電路,復(fù)位電路的功能是:系統(tǒng)上電時(shí)提供復(fù)位信號(hào),直至系統(tǒng)電源穩(wěn)定后,撤消復(fù)位信號(hào)。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷復(fù)位信號(hào),以防電源開關(guān)或電源插頭分-合過程中引起的抖動(dòng)而影響復(fù)位。該設(shè)計(jì)采用含有二極管的復(fù)位電路,復(fù)位電路可以有效的解決電源毛刺和電源緩慢下降(電池電壓不足)等引起的問題,在電源電壓瞬間下降時(shí)可以使電容迅

31、速放電,一定寬度的電源毛刺也可令系統(tǒng)可靠復(fù)位。復(fù)位電路的設(shè)計(jì)圖如圖 4-2 所示:圖 4-2 單片機(jī)復(fù)位電路圖(b)(b)晶振電路晶振電路本設(shè)計(jì)選擇的方案中采用的是內(nèi)部振蕩方式。采用內(nèi)部方式時(shí)在xtal1和xtal2引腳上接石英晶體和微調(diào)電容可以構(gòu)成振蕩器,如圖4-3所示。圖中c1、c2起穩(wěn)定振蕩頻率、快速起振的作用。內(nèi)部振蕩方式所得的時(shí)鐘信號(hào)比較穩(wěn)定,實(shí)用電路中使用較多。振蕩頻率的選擇范圍為1mhz12mhz。圖4-3 晶振電路圖4.24.2 電子計(jì)時(shí)的功能模塊電子計(jì)時(shí)的功能模塊用 p0 口、p1 口、p2 口分別連接三個(gè)顯示管;p3 口的 p3.0、p3.1、p3.2分別連接加 1 鍵、減

32、 1 鍵、確定鍵;復(fù)位引腳連接復(fù)位按鈕。如圖 4-4 所示:p0.00.7p3.3p3.03.2p1.01.7at89s51rstp2.02.7數(shù)碼管一數(shù)碼管二數(shù)碼管三按鍵模塊繼電器模塊復(fù)位模塊圖 4-4 計(jì)時(shí)繼電器的功能框圖4.34.3 繼電器模塊繼電器模塊現(xiàn)代自動(dòng)控制設(shè)備中,都存在一個(gè)電子電路與電氣電路的互相連接問題,一方面要使電子電路的控制信號(hào)能夠控制電氣電路的執(zhí)行元件(電動(dòng)機(jī),電磁鐵,電燈等) ,另一方面又要為電子線路的電氣電路提供良好的電隔離,以保護(hù)電子電路和人身的安全。電子繼電器便能完成這一橋梁作用。繼電器電路中一般都要在繼電器的線圈兩頭加一個(gè)二極管以吸收繼電器線圈斷電時(shí)產(chǎn)生的反電

33、勢,防止干擾。本設(shè)計(jì)的控制端為 p3.3,當(dāng) p3.3 為高電平時(shí),繼電器不工作,當(dāng) p3.3 為低電平時(shí),繼電器工作,常開觸點(diǎn)吸合,起到保護(hù)電路以及保護(hù)人身的安全。利用 p3.3 口輸出高低,控制繼電器的開合,實(shí)現(xiàn)對(duì)外部裝置的控制。連接如圖 4-5 所示:圖 4-5 繼電器模塊圖4.44.4 按鈕按鈕模塊模塊按鍵是微機(jī)應(yīng)用系統(tǒng)中使用最廣泛的一種數(shù)據(jù)輸入設(shè)備,按照鍵盤按鍵的結(jié)構(gòu)形式,可分為獨(dú)立式鍵盤和矩陣式鍵盤。本設(shè)計(jì)主要采用獨(dú)立式鍵盤,此鍵盤控制電路主要是用于調(diào)整時(shí)間,其電路結(jié)構(gòu)圖如圖 4-6 所示。圖 4-6 按鈕模塊圖(1)獨(dú)立式鍵盤的掃描識(shí)別原理獨(dú)立式鍵盤就是各個(gè)按鍵是相互獨(dú)立的,分別

34、接一根輸入線,各條輸入線上的按鍵工作狀態(tài)不會(huì)影響其他輸入線的工作狀態(tài)。因此,通過檢測輸入線的電平狀態(tài),可以判斷哪個(gè)按鍵被按下,若檢測是低電平則鍵盤閉合。就像本次設(shè)計(jì)共用到四個(gè)按鍵,分別負(fù)責(zé)調(diào)整時(shí)間(加一減一) 、開始(確認(rèn))以及復(fù)位的功能,互不干擾。 (2)獨(dú)立式鍵盤的消抖原理一般采用觸點(diǎn)式鍵盤,由于機(jī)械觸點(diǎn)的彈性作用,在閉合及斷開的瞬間,電壓信號(hào)伴隨有一點(diǎn)時(shí)間的抖動(dòng),抖動(dòng)時(shí)間與按鍵的機(jī)械特性有關(guān),一般在 5-10ms。為保證 cpu 一次按鍵動(dòng)作,必須消除抖動(dòng)的影響,消除抖動(dòng)的措施有硬件消除和軟件消除。本文根據(jù)抖動(dòng)信號(hào)特點(diǎn),采用軟件消抖的方法,主要是在程序中調(diào)用延時(shí)子程序,判斷前后兩次讀值是

35、否相等,相等則為鍵盤閉合,反之鍵盤斷開。本次設(shè)計(jì)主要用到四個(gè)按鍵,每個(gè)按鍵都是獨(dú)立的。其中有兩個(gè)是用來設(shè)定時(shí)間的,一個(gè)加一,一個(gè)減一,可以實(shí)現(xiàn) 1-999 秒時(shí)間內(nèi)的任意時(shí)間的設(shè)定,還有一個(gè)是用來確定的即開始按鈕。最后一個(gè)是用來復(fù)位的,每次計(jì)時(shí)完成后按下復(fù)位鍵就可以將以前的數(shù)據(jù)都清除,重新回到 000,可以消除一部分干擾。4.54.5 顯示模塊顯示模塊八段數(shù)碼顯示管有兩種,一種是共陽數(shù)碼管;另一種是共陰數(shù)碼管。二者原理不同但功能相同。每個(gè)數(shù)碼管都有 a、b、c、d、e、f、g 七個(gè)筆劃和一個(gè)小數(shù)點(diǎn) dp,這八個(gè)聯(lián)對(duì)應(yīng)二極管陽極,陽極都連在一起稱為共陽。電路圖 4-7:圖 4-7 共陽數(shù)碼管圖本

36、設(shè)計(jì)的時(shí)間顯示選用 3 個(gè)八段(共陽)數(shù)碼管 led,經(jīng)過三次降壓后連接到數(shù)碼管的 vcc。其外形和內(nèi)部結(jié)構(gòu)如圖 4-8 所示: 圖 4-8 八段數(shù)碼管圖數(shù)碼管共陽與共陰數(shù)碼管正好相反。它是當(dāng) p0 為低電平時(shí)亮。當(dāng) p00=0時(shí),a 亮。當(dāng) p00=0,p01=0,p02=0,p03=0,p04=0,p05=0 時(shí),該數(shù)碼管則顯示 0。數(shù)碼管顯示方式有靜態(tài)顯示和動(dòng)態(tài)顯示兩種。靜態(tài)顯示是指在顯示器顯示某個(gè)字符時(shí)相應(yīng)的段(發(fā)光二極管)一直導(dǎo)通或截止,直至變換為其它字符,特點(diǎn)是顯示穩(wěn)定不閃爍,程序編寫簡單,但占用端口資源多;而動(dòng)態(tài)顯示是把顯示器相同段選線并聯(lián)在一起,由一個(gè) 8 位 i/o 口控制,

37、其字選端由其它相應(yīng)的 i/o 口控制,然后采用掃描方式輪流點(diǎn)亮各位 led,使每位分時(shí)顯示該位應(yīng)該顯示的字符,特點(diǎn)是顯示穩(wěn)定性沒靜態(tài)好,程序編寫復(fù)雜,但是相對(duì)靜態(tài)顯示而言占用端口資源少。該方式是分時(shí)輪流選通數(shù)碼管的公共端,這不僅能提高數(shù)碼管的發(fā)光效率,并且由于各個(gè)數(shù)碼管的字段線是并聯(lián)使用的,從而大大簡化了硬件線路。在本設(shè)計(jì)中根據(jù)實(shí)際情況采用的是動(dòng)態(tài)顯示方法,通過每 5毫秒選通數(shù)碼管,然后顯示對(duì)應(yīng)的字段,由于人眼分辨率達(dá)不到 5 毫秒,因此整個(gè)數(shù)碼顯示用肉眼看是一直亮的。第五章第五章 軟件設(shè)計(jì)軟件設(shè)計(jì)5.15.1 c c 語言簡介語言簡介在 c 語言誕生之前,系統(tǒng)軟件主要是采用匯編語言編寫的。由

38、于匯編語言程序依賴于計(jì)算機(jī)硬件,其可讀性和可移植性都很差,但一般的高級(jí)語言又難以實(shí)現(xiàn)對(duì)計(jì)算機(jī)硬件的直接操作,于是出現(xiàn)了兼有匯編語言和高級(jí)語言特性的新語言即 c 語言。c 語言是一種計(jì)算機(jī)程序設(shè)計(jì)語言。它既具有高級(jí)語言的特點(diǎn),又具有匯編語言的特點(diǎn)。它可以作為工作系統(tǒng)設(shè)計(jì)語言,編寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語言,編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序。因此,它的應(yīng)用范圍廣泛,不僅僅是在軟件開發(fā)上,而且各類科研都需要用到 c 語言,具體應(yīng)用比如單片機(jī)以及嵌入式系統(tǒng)開發(fā)。c 語言的功能強(qiáng)大,使用簡單,有豐富的庫函數(shù),運(yùn)算速度快,編程效率高,可移植性好。c 語言既具有一般高級(jí)語言的特點(diǎn),也具有對(duì)計(jì)算機(jī)

39、硬件直接進(jìn)行操作的函數(shù),包括了多種高級(jí)語言的優(yōu)點(diǎn),其最主要的優(yōu)點(diǎn)是能與匯編語言混合編程,可直接操作硬件端口,這正是單片機(jī)應(yīng)用所需要的。其語言簡潔,使用方便靈活,與匯編語言相比,主要有如下優(yōu)點(diǎn): 對(duì)單片機(jī)的指令系統(tǒng)不要求十分熟悉,僅要求對(duì)單片機(jī)的基本硬件結(jié)構(gòu)有一定了解; c 語言可直接訪問單片機(jī)的物理地址,包括寄存器、不同存儲(chǔ)器以及外部接口器件; 具有豐富的數(shù)據(jù)結(jié)構(gòu)類型及多種運(yùn)算符,易于表達(dá),使用方便; 源代碼可讀性較強(qiáng),容易理解和編程,源文件簡短; 具有豐富的庫函數(shù),其中包括許多標(biāo)準(zhǔn)共用函數(shù),具有較強(qiáng)的數(shù)據(jù)處理能力; 模塊化編程技術(shù)使程序容易移植,可以把需要的功能模塊方便地移植到一個(gè)新程序或另

40、一種單片機(jī)上。許多計(jì)算機(jī)都支持對(duì) c 語言的應(yīng)用,因而可以方便地在微型計(jì)算機(jī)上直接編寫和測試部分程序。多數(shù)情況,調(diào)試正常的代碼段可以直接移植到目標(biāo)單片機(jī)上,這樣可以在沒有硬件的情況下開始編寫和調(diào)試程序。減少在硬件上的調(diào)試,可加快開發(fā)過程,也可大大縮短編程和調(diào)試時(shí)間,從而提高編程效率。5.25.2 軟件軟件模塊規(guī)劃模塊規(guī)劃 如圖 5-1 所示是軟件系統(tǒng)的結(jié)構(gòu)框圖,軟件設(shè)計(jì)和硬件電路設(shè)計(jì)是相互結(jié)合進(jìn)行的,由硬件電路的結(jié)構(gòu)決定軟件部分能夠?qū)崿F(xiàn)的功能,該系統(tǒng)軟件設(shè)計(jì)的編程是采用 c 語言,通過模塊化的方式編寫設(shè)計(jì)的,由圖可以看出軟件設(shè)計(jì)部分可以分為復(fù)位、定時(shí)中斷、按鍵處理三個(gè)模塊,其中定時(shí)中斷模塊是整

41、個(gè)軟件設(shè)計(jì)的核心模塊,設(shè)計(jì)寫出各個(gè)模塊的子程序,然后在主程序中調(diào)用,從而實(shí)現(xiàn)整個(gè)系統(tǒng)的計(jì)時(shí)功能。程序開始倒計(jì)時(shí)時(shí)間到繼電器工作確認(rèn)鍵按下減1鍵按下數(shù)碼管顯示999數(shù)碼管顯示001開始初始化加1鍵按下數(shù)碼管顯示000圖 5-1 軟件系統(tǒng)的結(jié)構(gòu)框圖本設(shè)計(jì)利用單片機(jī) at89s51 自身的電子計(jì)時(shí)器進(jìn)行設(shè)計(jì)。由于 at89s51 的晶振頻率是 12mhz,即 1s。具體安排如下:(1)用 at89s51 的工作方式 1(即十六位定時(shí)器)和中斷 1。十六位電子計(jì)時(shí)器最大可計(jì)時(shí) 65536。電子計(jì)時(shí)器的初始值為 50 微妙。(2)數(shù)碼管(共陽)顯示用靜態(tài)顯示,三個(gè)數(shù)碼管分別占用 p0,p1,p2。其中,

42、p0 為百位、p1 為十位顯示、p2 為個(gè)位顯示。數(shù)碼管采用共陰顯示,也就是說當(dāng)其值為 0 時(shí),數(shù)碼管亮;讓其顯示 09 共十個(gè)數(shù)字,故它們的值分別是:0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8, 0 x80,0 x90(3)按鈕的分配:加 1 按鈕定義為 p3.0,減 1 按鈕定義為 p3.1,確認(rèn)按鈕定義為 p3.2,復(fù)位按鈕芯片的 rst 引腳,p3.3 引腳連接繼電器。(見附錄 1)(4)因?yàn)轱@示時(shí)間太短時(shí),人眼無法看清,所以在三個(gè)數(shù)碼管和三個(gè)按鈕前都加上一段延時(shí)程序。軟件任務(wù)規(guī)劃環(huán)節(jié)是為軟件設(shè)計(jì)做一個(gè)總體規(guī)劃。從軟件的功能來看可分為

43、兩大類:一類是執(zhí)行軟件,它能完成各種實(shí)質(zhì)性的功能,如中斷,計(jì)時(shí),顯示,控制等;另一類是監(jiān)控軟件,它是專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系,在系統(tǒng)軟件中充當(dāng)組織調(diào)度角色的軟件。這兩類軟件的設(shè)計(jì)方法各有特色,執(zhí)行軟件的設(shè)計(jì)偏重算法效率,與硬件關(guān)系密切,千變?nèi)f化。軟件進(jìn)行設(shè)計(jì)時(shí),應(yīng)將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義(輸入輸出定義) 。在各執(zhí)行模塊進(jìn)行定義時(shí),將要牽扯到的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型問題也一并規(guī)劃好。各執(zhí)行模塊規(guī)劃好后,就可以監(jiān)控程序了。首先根據(jù)系統(tǒng)功能和鍵盤設(shè)置選擇一種最適合的監(jiān)控程序結(jié)構(gòu)。通過設(shè)置標(biāo)志位,然后利用標(biāo)志位的變化,從而實(shí)現(xiàn)程序的監(jiān)控。5.5.3 3 程

44、序?qū)崿F(xiàn)程序?qū)崿F(xiàn)在本設(shè)計(jì)中軟件部分的程序分為以下幾個(gè)部分:主程序、按鍵控制子程序、延時(shí)子程序、時(shí)鐘設(shè)計(jì)子程序、定時(shí)器中斷子程序以及 led 顯示子程序。具體c 語言源程序設(shè)計(jì)見附錄 4。下面對(duì)主要程序進(jìn)行分析介紹。5.3.15.3.1 程序的功能模塊程序的功能模塊本設(shè)計(jì)的軟件程序主要包括:代碼初始化、數(shù)碼管顯示程序、按鍵接收程序、繼電器控制程序和中斷計(jì)時(shí)程序。如下圖 5-2 所示:圖 5-2 程序的功能模塊圖5.3.25.3.2 主程序設(shè)計(jì)主程序設(shè)計(jì)圖 5-3 所示是主程序流程圖,由圖中可以看出主程序模塊的設(shè)計(jì)比較簡單,它主要實(shí)現(xiàn)的功能:首先需要完成對(duì)各個(gè)數(shù)碼管、發(fā)光二極管檢測,檢測對(duì)應(yīng)的元件是

45、否是好的;然后進(jìn)行系統(tǒng)的初始化,包括內(nèi)部各寄存器單元的初始化、外接電路端口的初始化、內(nèi)部定時(shí)器的初始化、定時(shí)器中斷的初始化數(shù)碼管顯示及發(fā)光二極管的初始化。以上工作是電子計(jì)時(shí)器工作的前期準(zhǔn)備,完成這些以后,電子計(jì)時(shí)器進(jìn)入工作,調(diào)用顯示子程序以及按鍵處理子程序,通過按鍵子程序的處理,實(shí)現(xiàn)對(duì)各個(gè)按鍵的輸入信號(hào)進(jìn)行處理,然后再通過顯示子程序輸出。進(jìn)行不斷的循環(huán)執(zhí)行,最終實(shí)現(xiàn)計(jì)時(shí)功能。中斷計(jì)時(shí)程序按鍵接收程序繼電器控制程序主程序數(shù)碼管顯示程序調(diào)用鍵值處理程序調(diào)用顯示程序系統(tǒng)初始化檢測相關(guān)元件是否正常工作開始圖 5- 3 主程序流程圖5.3.35.3.3 中斷程序設(shè)計(jì)中斷程序設(shè)計(jì)定時(shí)器 0 的定時(shí)時(shí)間是

46、1ms,用作掃描數(shù)碼管顯示,在定時(shí)器 0 開啟時(shí),定時(shí)器 0 開始定時(shí),此時(shí)主程序正常運(yùn)行,當(dāng)定時(shí)器 0 的定時(shí)時(shí)間到時(shí),主程序不再執(zhí)行,開始進(jìn)入中斷程序,在中斷程序中,對(duì) 8 位數(shù)碼管進(jìn)行動(dòng)態(tài)掃描。中斷程序執(zhí)行完后返回主程序。當(dāng)計(jì)時(shí)完成后就會(huì)執(zhí)行到中斷程序,單片機(jī)具有能實(shí)現(xiàn)中斷及返回,所以計(jì)時(shí)完成后數(shù)碼管就會(huì)顯示為 000 且不繼續(xù)工作。如圖 5-4 所示。執(zhí)行一條指令 定時(shí)器 0 有中斷請(qǐng)求?否取下一條指令保護(hù)現(xiàn)場和斷點(diǎn)定時(shí)器 0 中斷服務(wù)程序(完成數(shù)碼管各位的掃描)恢復(fù)現(xiàn)場返回圖 5-4 定時(shí)器 0 的中斷程序流程圖5.3.45.3.4 其他子程序的設(shè)計(jì)其他子程序的設(shè)計(jì)(1 1) 顯示子

47、程序顯示子程序顯示子程序是采用動(dòng)態(tài)掃描的方式編寫的,利用循環(huán)掃描的方式每 5 毫秒輪流選通數(shù)碼管 led1,led2 及 led3,由于掃描的速度較快,人眼分辨不出,從而使得所看到的數(shù)碼管顯示看上去是同時(shí)亮的。(2)延時(shí)和定時(shí)中斷子程序延時(shí)和定時(shí)中斷子程序執(zhí)行主程序延時(shí)子程序的函數(shù)定義為 delay(i),當(dāng)調(diào)用此程序時(shí),表示延時(shí) i 毫秒。主要用于按鍵消抖及數(shù)碼管循環(huán)顯示時(shí)使用。定時(shí)中斷服務(wù)程序,在此設(shè)計(jì)中,選用的是定時(shí)器 t0,設(shè)置 t0 工作于方式1,即 16 位定時(shí)器模式,定時(shí)時(shí)間為 50 毫秒,每 50 毫秒溢出一次,實(shí)現(xiàn)一次中斷,并判斷倒計(jì)時(shí)時(shí)間是否到。第六章第六章 系統(tǒng)實(shí)現(xiàn)系統(tǒng)實(shí)

48、現(xiàn) 6.16.1 硬件實(shí)現(xiàn)硬件實(shí)現(xiàn)如圖 6-1 所示,是此次畢業(yè)設(shè)計(jì)硬件實(shí)物圖,本設(shè)計(jì)中,需要 3 個(gè)數(shù)碼管,4 個(gè)按鍵,另外還需要 13 個(gè)發(fā)光二極管,電池盒,繼電器,電解電容,電阻等就可以將系統(tǒng)的硬件電路實(shí)現(xiàn)。本次焊接是買的 pcb 板回來自己焊的,但是由于是手工布線很多跳線沒有布,自己對(duì)著 pcb 線路圖一個(gè)個(gè)查找加上跳線。然后經(jīng)過老師的多次指導(dǎo)加了一個(gè)電池盒采用直流供電就不需要電腦供電了,之后又加了一開關(guān)可以控制電源的通和斷,使功能更完全,使用更方便。該電子計(jì)時(shí)器主要包括:專用電源一個(gè),有單片機(jī) at89s51 的電路板一個(gè)、四個(gè)按鈕、三個(gè)數(shù)碼管和一個(gè)繼電器。硬件實(shí)物圖如 6-1 所示

49、。焊接完出現(xiàn)問題及解決方法:焊接完出現(xiàn)問題及解決方法:1 1、 (1 1) 問題:問題:硬件完成后接上電源,數(shù)碼管一點(diǎn)反應(yīng)也沒有。 (2 2)原因分析:)原因分析:可能是那一塊沒焊好導(dǎo)致電路斷路,電源接不進(jìn)去。(3 3)解決方法:)解決方法:仔細(xì)對(duì)照 pcb 圖,一條一條線找問題,發(fā)現(xiàn)是有一個(gè)地方?jīng)]焊好,導(dǎo)致斷路。 2 2、 問題:問題: 第二個(gè)數(shù)碼管的 e 腳不亮。 原因分析:原因分析: 應(yīng)該是數(shù)碼管的引腳接斷路了。 解決方法:解決方法:仔細(xì)找了好久才發(fā)現(xiàn)是因?yàn)橛幸稽c(diǎn)錫沾到布好的銅線上,導(dǎo)致 e 腳被短路,把錫吸掉即可。 3 3、 問題:問題:系統(tǒng)接上電后,發(fā)現(xiàn)第一個(gè)數(shù)碼管有點(diǎn)接觸不良。 原

50、因分析:原因分析:可能電壓不穩(wěn)定。 解決方法:解決方法:少接了一根短路線。圖 6-1 硬件實(shí)物圖正面圖6.26.2 軟件調(diào)試軟件調(diào)試軟件設(shè)計(jì)完成后,首先進(jìn)行軟件調(diào)試。利用 keil 軟件對(duì) c 語言編寫的源程序進(jìn)行編譯仿真,keil 軟件是目前最流行開發(fā) mcs-51 系列單片機(jī)的軟件,它提供了包括 c 編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uvision)將這些部分組合在一起。等程序在 keil 軟件中,調(diào)試成功后,將源程序經(jīng) keil 編譯后生成的十六進(jìn)制的 hex 文件,燒制到硬件電路中即單片機(jī)中,進(jìn)行軟硬件結(jié)合調(diào)試。利用 k

51、eil 軟件進(jìn)行代碼的調(diào)試。按照程序流程圖將代碼寫好。下面圖 6-2是編譯成功后的畫面。圖 6-2 編譯成功圖經(jīng)過認(rèn)真的調(diào)試,終于完成,但是在調(diào)試過程中遇到不少問題,仍然值得注意??偨Y(jié)如下:(1) 源文件的擴(kuò)展名必須是.asm 的;(2) 每句代碼后須寫分號(hào);(3) 確保輸入的關(guān)鍵字正確;硬件實(shí)現(xiàn)和程序調(diào)試完成后,就可以將程序燒寫到單片機(jī)中了,然后進(jìn)行系統(tǒng)調(diào)試。一、具體的測試步驟一、具體的測試步驟接通電源后,三個(gè)數(shù)碼管將顯示 000;按下復(fù)位按鈕仍顯示 000。(1)按一次加 1 鍵,數(shù)碼管則顯示 001,按確定鍵后,開始計(jì)時(shí),當(dāng)顯示000 時(shí),有“嘭”的響聲;(2)復(fù)位后,按減 1 鍵,數(shù)碼

52、管則顯示 999(說明最大計(jì)時(shí)為 999 秒) ,此時(shí)按下加 1 鍵,數(shù)碼管則顯示 000;(3)先設(shè)定時(shí)間為 7 秒,即數(shù)碼管則顯示 007,按確定鍵后開始倒計(jì)時(shí),此時(shí)再按下加 1 鍵,電子計(jì)時(shí)器繼續(xù)加 1;(4)在任何時(shí)候都對(duì)電子計(jì)時(shí)器進(jìn)行復(fù)位,均顯示 000;(5)加時(shí)或減時(shí)后,在沒有確定之前,數(shù)碼管則顯示設(shè)定的時(shí)間。故可用于記錄比分。二、實(shí)現(xiàn)功能二、實(shí)現(xiàn)功能作為電子計(jì)時(shí)器使用:正確接通電源后,三個(gè)數(shù)碼管顯示:000。按下復(fù)位鍵復(fù)位,按下加 1 鍵加時(shí)到預(yù)定時(shí)間,若時(shí)間太長可按減 1 鍵;按確定鍵開始計(jì)時(shí),數(shù)碼管則顯示當(dāng)前時(shí)間,當(dāng)時(shí)間為 0 時(shí),發(fā)出響聲并觸發(fā)繼電器開始工作。作為記錄比分

53、:本設(shè)計(jì)亦可用于記錄體育比賽中的比分。此時(shí),只要按下加 1 鍵或減 1 鍵即可。三、功能測試三、功能測試總結(jié)總結(jié)本設(shè)計(jì)可用于現(xiàn)代自動(dòng)化的工業(yè)控制中,例如攪拌機(jī)的控制,設(shè)定好時(shí)間后,時(shí)間到攪拌機(jī)馬上開始工作。時(shí)間可精確到 1s。能夠進(jìn)行最大 999 秒的計(jì)時(shí)功能,設(shè)置外部操作開關(guān),有+鍵、- 鍵、確認(rèn)鍵和復(fù)位鍵??刂齐娮佑?jì)時(shí)器的啟動(dòng)和加時(shí)/減時(shí)功能。電子計(jì)時(shí)器遞減/加時(shí)的時(shí)間間隔為 1 秒。當(dāng)時(shí)間遞減為零時(shí),引腳 p3.3 有效,控制繼電器開始工作。通過以上的功能測試數(shù)據(jù),可以得出該設(shè)計(jì)所要求的基本功能通過測試達(dá)到了預(yù)期的要求,實(shí)現(xiàn)了計(jì)時(shí)功能。只要在 0999 秒內(nèi)都能計(jì)時(shí),并且能任意設(shè)定時(shí)間,

54、功能基本實(shí)現(xiàn)。6.36.3 系統(tǒng)功能測試系統(tǒng)功能測試將軟件和硬件結(jié)合起來,構(gòu)成電子計(jì)時(shí)器的整體系統(tǒng),待軟硬件調(diào)試成功后,對(duì)電子計(jì)時(shí)器的各個(gè)功能進(jìn)行檢測。 通過以上的功能測試數(shù)據(jù),可以得出該設(shè)計(jì)所要求的基本功能通過測試達(dá)到了預(yù)期的要求,實(shí)現(xiàn)了一個(gè) 0-999 秒的電子計(jì)時(shí)器的功能。并由以上的數(shù)據(jù)可以總結(jié)出該電子計(jì)時(shí)器系統(tǒng)實(shí)際實(shí)現(xiàn)的功能還可以作為籃球比賽的計(jì)分工具。調(diào)試方便,使用簡單完全符合智能這個(gè)要求,在未來人類生活中將會(huì)有很大的用處,但若要時(shí)間進(jìn)一步延長以及更加精確到秒以下的單位就要進(jìn)一步地加強(qiáng)以及改進(jìn)。在功能測試的過程中各個(gè)模塊基本都能達(dá)到預(yù)期的效果,就是按鍵的次數(shù)不能太頻繁這樣會(huì)造成系統(tǒng)不

55、穩(wěn)定,有時(shí)甚至?xí)霈F(xiàn)加二的情況,在未來進(jìn)行改進(jìn)的過程中這方面也需要不斷地改進(jìn),讓計(jì)時(shí)更精準(zhǔn),誤差更小。結(jié)結(jié) 論論本設(shè)計(jì)利用單片機(jī) at89s51 設(shè)計(jì)的一個(gè)智能電子計(jì)時(shí)器,本設(shè)計(jì)中電子計(jì)時(shí)器計(jì)時(shí)的最小單位是 1 秒,最長可計(jì)時(shí) 999 秒,約等于 16 分鐘。真正實(shí)現(xiàn)了時(shí)間的隨意設(shè)定,在實(shí)際的工業(yè)控制和生活中具有很多的優(yōu)點(diǎn),這些優(yōu)點(diǎn)解決了目前實(shí)時(shí)控制中時(shí)間不能靈活控制和時(shí)間難以精確等缺點(diǎn)。該電子計(jì)時(shí)器功能強(qiáng)大、使用方便,并在攪拌機(jī)的控制中得到了應(yīng)用。本設(shè)計(jì)將整個(gè)程序劃分為五大模塊:初始化程序、靜態(tài)顯示程序、按鍵接收程序、中斷計(jì)時(shí)程序和繼電器控制程序。五大模塊之間的關(guān)系是:當(dāng)無按鍵按下時(shí),顯示管則顯示當(dāng)前時(shí)間;當(dāng)有按鍵按下時(shí),進(jìn)入按鍵接收程序;處理完畢后,再顯示當(dāng)前時(shí)間;當(dāng)確認(rèn)鍵按下時(shí),開始倒計(jì)時(shí),時(shí)間到繼電器則開始工作;按下復(fù)位鍵后,繼電器就停止工作。同時(shí),由于單片機(jī)自身的原因,不宜在溫度較高的場合使用,會(huì)使電路出現(xiàn)記時(shí)不準(zhǔn)、紊亂等問題,還

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論