畢業(yè)設(shè)計(jì)(論文)基于51單片機(jī)的9999秒倒計(jì)時(shí)器設(shè)計(jì)_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于51單片機(jī)的9999秒倒計(jì)時(shí)器設(shè)計(jì)_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于51單片機(jī)的9999秒倒計(jì)時(shí)器設(shè)計(jì)_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于51單片機(jī)的9999秒倒計(jì)時(shí)器設(shè)計(jì)_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于51單片機(jī)的9999秒倒計(jì)時(shí)器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩26頁(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)介

1、基于51單片機(jī)的9999秒倒計(jì)時(shí)器設(shè)計(jì)鄭州科技學(xué)院專科畢業(yè)設(shè)計(jì)(論文) 題 目 _基于51單片機(jī)的 9999秒倒計(jì)時(shí)器設(shè)計(jì) 學(xué)生姓名 陳利丹 專業(yè)班級(jí) 10計(jì)通 學(xué) 號(hào) 201019009 所 在 系 信息工程學(xué)院 指導(dǎo)教師 邢烥巖 完成時(shí)間 2013 年3月 5 日 30目 錄一引言2二總體設(shè)計(jì)方案32.1設(shè)計(jì)的目的與要求:3三、硬件設(shè)計(jì)43.1at89c52的芯片概述43.2 89c52單片機(jī)4四復(fù)位電路工作原理74.1復(fù)位電路74.2上電自動(dòng)復(fù)位電路8五數(shù)碼管顯示電路105.1 顯示電路105.2 led數(shù)碼顯示器的介紹與結(jié)構(gòu)115.3led數(shù)碼管顯示器概述11七軟件設(shè)計(jì)167.1 程序

2、設(shè)計(jì)187.2 原理圖257.3 pcb圖277.4 元件清單27八結(jié)束語(yǔ)29九.參考文獻(xiàn)30基于51單片機(jī)的9999秒倒計(jì)時(shí)器設(shè)計(jì)信息工程學(xué)院 通信技術(shù) 陳利丹(201019009)指導(dǎo)老師:邢烥巖摘 要倒計(jì)時(shí)器應(yīng)用十分廣泛,在制作倒計(jì)時(shí)器時(shí)多采用純數(shù)字電路和模擬電路,電路復(fù)雜功能單一。如今微控技術(shù)應(yīng)用十分廣泛,采用單片機(jī)控制器制作倒計(jì)時(shí)器電路十分簡(jiǎn)單,功能齊全并且可以擴(kuò)展其它功能。氣短數(shù)碼顯示電路采用直接與單片機(jī)接口連接方式更加節(jié)省電路。成本低、功能靈活、使用方便等優(yōu)勢(shì),更加鞏固了單片機(jī)技術(shù)在電子產(chǎn)品制作中的不可替代的作用。本論文針對(duì)倒計(jì)時(shí)系統(tǒng)的設(shè)計(jì)的需求,介紹了mcs-51單片機(jī)的部分基

3、本原理,如51單片機(jī)的接口功能、中斷、定時(shí)器等等。倒計(jì)時(shí)系統(tǒng)需要用到鎖存器、led數(shù)碼顯示器等主要模塊,通過(guò)不同的模塊之間相互作用,完成倒計(jì)時(shí)的初步硬件結(jié)構(gòu)。對(duì)于倒計(jì)時(shí)器中的led數(shù)碼顯示器來(lái)說(shuō),采用以軟件為主的接口方法,即采用keil uvision4軟件程序進(jìn)行譯碼。【關(guān)鍵詞】倒計(jì)時(shí)器 單片機(jī) 矩陣鍵盤 keil uvision3 led數(shù)碼顯示器 9999 seconds countdown timerdesign based on 51 single chip microcomputername:chen lidan no. :201019009 teacher: xing cheny

4、an(institute of information engineering network technology)countdown timer is widely used, the pure digital circuit and analog circuit in the countdown timer, complex functions of a single circuit. now micro control technology is widely used, using single chip microcomputer controller making countdo

5、wn timer circuit is very simple, complete functions and can be extended to other functions. shortness of breath and digital display circuit is directly connected with the microcontroller interface mode more saving circuit. low cost, flexible functions, convenient use and other advantages, consolidat

6、e the single-chip technology plays an irreplaceable role in the production of electronic productsin this paper, aiming at the requirement of the countdown system design, introduces the basic principle of mcs-51 scm, such as interface function, 51 scm interrupt, timer and so on. the countdown system

7、needs to use latch, led digital display module, through interaction between different modules, complete the countdown to the initial hardware. for led digital display timer in the interface, the method based on software, which uses keil uvision4 software decoding. keyword countdown timer singlechip

8、keyboard matrix keil uvision3 led digital display一.引言單片機(jī)自20世紀(jì)70年代問(wèn)世以來(lái),以其極高的性能價(jià)格比,受到人們的重視和關(guān)注,應(yīng)用很廣、發(fā)展很快。單片機(jī)體積小、重量輕、抗干擾能力強(qiáng)、環(huán)境要求不高、價(jià)格低廉、可靠性高、靈活性好、開(kāi)發(fā)較為容易。由于具有上述優(yōu)點(diǎn),在我國(guó),單片機(jī)已廣泛地應(yīng)用在工業(yè)自動(dòng)化控制、自動(dòng)檢測(cè)、智能儀器儀表、家用電器、電力電子、機(jī)電一體化設(shè)備等各個(gè)方面,而51單片機(jī)是各單片機(jī)中最為典型和最有代表性的一種。這次畢業(yè)設(shè)計(jì)通過(guò)對(duì)它的學(xué)習(xí)、應(yīng)用,以at89s51芯片為核心,輔以必要的電路,設(shè)計(jì)了一個(gè)簡(jiǎn)易的電子時(shí)鐘,它由4.5v直

9、流電源供電,通過(guò)數(shù)碼管能夠準(zhǔn)確顯示時(shí)間,調(diào)整時(shí)間,從而到達(dá)學(xué)習(xí)、設(shè)計(jì)、開(kāi)發(fā)軟、硬件的能力。單片機(jī)的應(yīng)用有利于產(chǎn)品的小型化、多功能化和智能化,有助于提高勞動(dòng)效率,減輕勞動(dòng)強(qiáng)度,提高產(chǎn)品質(zhì)量,改善勞動(dòng)環(huán)境,減少能源和材料消耗,保證安全等。 但是,單片機(jī)應(yīng)用的意義絕不僅限于它的廣闊范圍以及所帶來(lái)的經(jīng)濟(jì)效益上,更重要的意義還在于:?jiǎn)纹瑱C(jī)的應(yīng)用正從根本上改變著傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須有模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能使用單片機(jī)通過(guò)軟件(編程序)方法實(shí)現(xiàn)了。這種以軟件取代硬件并提高系統(tǒng)性能的控制系統(tǒng)“軟化”技術(shù),稱之為微控制技術(shù)。微控制技術(shù)是一種全新的概念,是對(duì)傳統(tǒng)控制技術(shù)的

10、一次革命。隨著單片機(jī)應(yīng)用的推廣普及,微控制技術(shù)必將不斷發(fā)展、日益完善和更加充實(shí)。二總體設(shè)計(jì)方案2.1設(shè)計(jì)的目的與要求:本次課程設(shè)計(jì)的主要概況是了解單片機(jī)控制的倒計(jì)時(shí)的過(guò)程。是利用定時(shí)器和計(jì)數(shù)器的原理將倒計(jì)時(shí)過(guò)程顯示在led數(shù)碼管上。最后應(yīng)用軟件設(shè)計(jì),仿真基于市場(chǎng)他89c52單片機(jī)的倒計(jì)時(shí)實(shí)驗(yàn)。通過(guò)做一個(gè)綜合性訓(xùn)練題目,達(dá)到對(duì)內(nèi)容的消化、理解并提高解決問(wèn)題的能力的目的。是配合單片機(jī)課程內(nèi)容掌握、應(yīng)用得的專門性實(shí)踐類課程。通過(guò)典型實(shí)際問(wèn)題的實(shí)際,訓(xùn)練學(xué)生的軟硬件的綜合設(shè)計(jì)、調(diào)試能力以及文字組織能力,建立系統(tǒng)設(shè)計(jì)概念,加強(qiáng)工程應(yīng)用思維方式的訓(xùn)練,同時(shí)對(duì)教學(xué)內(nèi)容做一定的擴(kuò)充。對(duì)單片機(jī)9999秒倒計(jì)時(shí)要

11、求如下: (1) 倒計(jì)時(shí)器以at89c52單片機(jī)為核心,起著控制作用。系統(tǒng)包括四位數(shù)碼管顯示電路,按鍵電路,復(fù)位電路,時(shí)鐘電路。倒計(jì)時(shí)的總體設(shè)計(jì)思路分為五個(gè)模塊:按鍵電路模塊,復(fù)位電路,晶振電路模塊,at89c52,數(shù)碼管顯示電路模塊。利用鍵盤與四位led數(shù)碼顯示倒計(jì)時(shí)。 (2)硬件設(shè)計(jì)根據(jù)設(shè)計(jì)的任務(wù)選定單片機(jī),根據(jù)控制對(duì)象設(shè)計(jì)接口電路。設(shè)計(jì)的單元電路必須有工作原理,器件的作用,分析和計(jì)算過(guò)程。 (3)軟件設(shè)計(jì)根據(jù)電路工作過(guò)程,畫出軟件流程圖,根據(jù)流程圖編寫相應(yīng)的程序,進(jìn)行調(diào)試并打印程序清單。 (4)原理圖設(shè)計(jì)根據(jù)所確定的設(shè)計(jì)電路,利用protel等有關(guān)工具軟件繪制電路原理圖、pcb板圖、提供

12、元器件清單。三、硬件設(shè)計(jì)3.1at89c52的芯片概述 at89c52是一個(gè)低功耗,高性能cmos 8位單片機(jī),片內(nèi)含4k bytes isp(in-system programmable)的可反復(fù)擦寫1000次的flash只讀程序存儲(chǔ)器,器件采用atmel公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng)及80c51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和isp flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的at89c51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。at89c單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。 其工作電壓在4.5v,一般我們選用5v電

13、壓。3.2 89c52單片機(jī)89c52 芯片內(nèi)部集成了 cpu、ram、rom、定時(shí)/計(jì)數(shù)器和i/o口等各功能部件,并由內(nèi)部總線把這些部件連接在一起。89c52引腳圖以及各引腳功能vcc:供電電壓。gnd:接地。p0口:p0口為一個(gè)8位漏級(jí)開(kāi)路雙向i/o口,每腳可吸收8ttl門電流。當(dāng)p1口的管腳第一次寫1時(shí),被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。p1口:p1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故

14、。在匯編編程和校驗(yàn)時(shí),p1口作為第八位地址接收。 p2口:p2口為一個(gè)內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個(gè)ttl門電流,當(dāng)p2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),p2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),p2口輸出其特殊功能寄存器的內(nèi)容。p3口:p3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個(gè)ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉

15、為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。(1).并行i/o口引腳p3.0 rxd(串行輸入口)p3.1 txd(串行輸出口)p3.2 /int0(外部中斷0)p3.3 /int1(外部中斷1)p3.4 t0(記時(shí)器0外部輸入)p3.5 t1(記時(shí)器1外部輸入)p3.6 /wr(外部數(shù)據(jù)存儲(chǔ)器寫選通)p3.7 /rd(外部數(shù)據(jù)存儲(chǔ)器讀選通)(2)控制引腳rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持rst腳兩個(gè)機(jī)器周期的高電平時(shí)間。ale/prog:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在匯編編程期間,此引腳用

16、于輸入編程脈沖。/psen:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/psen有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/psen信號(hào)將不出現(xiàn)。/ea / vpp:當(dāng)/ea保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000h-ffffh),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/ea將內(nèi)部鎖定為reset;當(dāng)/ea端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在匯編編程期間,此引腳也用于施加12v編程電源(vpp)。(3)時(shí)鐘引腳:xtal1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。xtal2:來(lái)自反向振蕩器的輸出。內(nèi)部介紹:一個(gè)8位cpu;1. 32可編程i/

17、o線2. 兩個(gè)16位定時(shí)器/計(jì)數(shù)器3. 5個(gè)中斷源 4. 可編程串行通道5. 低功耗的閑置和掉電模式6. 片內(nèi)振蕩器和時(shí)鐘電路 7. 21個(gè)特殊功能寄存器;四復(fù)位電路工作原理4.1復(fù)位電路復(fù)位是單片機(jī)的初始化操作,只需給at89c52的復(fù)位引腳rst加上大于2個(gè)機(jī)器周期(即24個(gè)時(shí)鐘振蕩周期)的高電平就可得單片機(jī)復(fù)位.復(fù)位時(shí),pc初始化為0000h,使單片機(jī)從out單元開(kāi)始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤而使系統(tǒng)處于死鎖狀態(tài)。為擺脫死鎖狀態(tài),也需按復(fù)位鍵使得rst腳為高電平,使單片機(jī)重新啟動(dòng)。在系統(tǒng)中,有時(shí)會(huì)出現(xiàn)顯示不正常。為了調(diào)試方便,需要設(shè)計(jì)一個(gè)復(fù)位電路。

18、at89c52單片機(jī)復(fù)位電路共有上電復(fù)位、按鍵電平復(fù)位和按鍵脈沖復(fù)位。本系統(tǒng)的復(fù)位電路主要完成系統(tǒng)的上電復(fù)位和系統(tǒng)在運(yùn)行時(shí)用戶的按鍵復(fù)位功能。復(fù)位電路可由簡(jiǎn)單的rc電路構(gòu)成,也可使用其它的相對(duì)復(fù)雜,但功能更完善的電路。本系統(tǒng)采用的電路工作原理是:上電瞬間,rc電路充電,reset引腳端出現(xiàn)正脈沖,只要reset保持10ms以上高電平,就能使單片機(jī)有效的復(fù)位。當(dāng)時(shí)鐘頻率選用12mhz時(shí),c取10uf,r取10k,上電自動(dòng)復(fù)位電路由上電瞬間c與r構(gòu)成充電電路,reset端的電位與電源vcc相同,隨著充電電流的減少,reset的電位逐漸下降。rc時(shí)間常數(shù)越大,上電時(shí)reset端保持高電平的時(shí)間越長(zhǎng),

19、這組參數(shù)足以保證復(fù)位操作。若復(fù)位電路失效,加電后cpu從一個(gè)隨機(jī)的狀態(tài)開(kāi)始工作,系統(tǒng)就不能正常運(yùn)行。按鍵s5的功能是按鍵復(fù)位,按下s5鍵時(shí)rst為高電平,只要保持10ms以上的高電平,就可以使單片機(jī)復(fù)位。按鍵復(fù)位用在系統(tǒng)運(yùn)行時(shí)的復(fù)位,使系統(tǒng)重新運(yùn)行。4.2上電自動(dòng)復(fù)位電路rst 引腳是復(fù)位信號(hào)的輸入端,只要高電平的復(fù)位信號(hào)持續(xù)兩個(gè)機(jī)器周期以上的有效時(shí)間,就可以使單片機(jī)上電復(fù)位。上電自動(dòng)復(fù)位是通過(guò)電容充電實(shí)現(xiàn)的,上電瞬間,rst 端電位與vcc 相同,隨充電電流的減少,rst 的電位逐漸下降,直到復(fù)位信號(hào)無(wú)效。按鍵復(fù)位在此不在作過(guò)多的介紹,其原理和上電復(fù)位是相同的。但其采用的是脈沖復(fù)位電路和電平

20、復(fù)位電路兩種。本電路應(yīng)用定時(shí)器0方式1工作方式:該方式是一個(gè)16 位計(jì)數(shù)器的計(jì)時(shí)中斷法。所以工作方式寄存器tmod的m1m0兩位為01。設(shè)置定時(shí)器模式時(shí):加1計(jì)數(shù)器是對(duì)內(nèi)部機(jī)器周期計(jì)數(shù)(1個(gè)機(jī)器周期等于12個(gè)振蕩周期,即計(jì)數(shù)頻率為晶振頻率的1/12)。比如,12m的晶振每秒可產(chǎn)生1m的機(jī)器周期1,50ms就是50000個(gè)機(jī)器周期,定時(shí)器0工作方式1工作,計(jì)數(shù)長(zhǎng)度為=65536個(gè)外部脈沖,65536-50000周期=初值15536,從15536開(kāi)始計(jì)數(shù),總共累加50000次計(jì)數(shù)器產(chǎn)生一次溢出,所以定時(shí)器的高八位和低八位th0和tl0的值為:th0 = (65536-time)/256;tl0 =

21、 (65536-time)%256;其中time=50000;其中tl0是低八位當(dāng)達(dá)到256的時(shí)候,向高八位進(jìn)1,然后低八位重新計(jì)數(shù),所以高八位對(duì)差值求整,低八位對(duì)差值求余。由于采用的是定時(shí)器0所以tmod的高四位為0000;選通控制只要用軟件使tr0就啟動(dòng)了定時(shí)器,所以門控位gate為0;表示設(shè)置為定時(shí)方式。所以工作方式tmod=0000 0001h=0x01h。復(fù)位電路:五數(shù)碼管顯示電路5.1 顯示電路通常在顯示上采用的方法一般包括兩種:一種是靜態(tài)顯示,另一種是動(dòng)態(tài)顯示。其中靜態(tài)顯示的特點(diǎn)是顯示穩(wěn)定不閃爍,程序編寫簡(jiǎn)單,但占用端口資源多,所耗得電能較大;動(dòng)態(tài)顯示的特點(diǎn)是顯示穩(wěn)定性沒(méi)靜態(tài)好,

22、程序編寫復(fù)雜,但是相對(duì)靜態(tài)顯示而言占用端口資源少。在本設(shè)計(jì)中,為了減少端口資源,降低電能消耗,采用的是動(dòng)態(tài)顯示方法。本系統(tǒng)的倒計(jì)時(shí)時(shí)間的最大范圍是9999秒,要求精確到秒,顯示格式是9999/999/99/9。從格式可知數(shù)碼管顯示電路要用到4位數(shù)碼管??紤]到數(shù)碼管的段和位比較多,本系統(tǒng)選了兩個(gè)4位一體的共陽(yáng)數(shù)碼管和一個(gè)一位的共陽(yáng)數(shù)碼管。數(shù)碼管有段選和位選控制,在此電路中有8個(gè)位選,8個(gè)段選,分別用單片機(jī)的p0口和p1進(jìn)行8個(gè)位的控制。 5.2 led數(shù)碼顯示器的介紹與結(jié)構(gòu) 顯示器是最常用的輸出設(shè)備,其種類繁多,但在單片機(jī)系統(tǒng)設(shè)計(jì)中最常用的是發(fā)光二極管顯示器(led)和液晶顯示器(lcd)兩種。

23、由于這兩種顯示器結(jié)構(gòu)簡(jiǎn)單,價(jià)格便宜,接口容易實(shí)現(xiàn),因而得到廣泛的應(yīng)用。 液晶顯示器分很多種類,按顯示方式可分為段式,行點(diǎn)陣式和全點(diǎn)陣式。段式與數(shù)碼管類似,行點(diǎn)陣式一般是英文字符,全點(diǎn)陣式可顯示任何信息, 如漢字、圖形、圖表等。 兩者之間的區(qū)別: (1)二極本身發(fā)光, 液晶本身不發(fā)光,只是透射光。 (2)二極管體積大,圖像質(zhì)量一般,適合作室外大屏幕,價(jià)格較低。液晶成本較高,面積無(wú)法做得很大,但圖像質(zhì)量很好,適合做顯示器。 (3)二極管耗電大,液晶耗電小。 (4)二極管圖像刷新率低,液晶的高 二者的檔次相差比較大。而液晶一般都是作計(jì)算機(jī)顯示器,在這里就以有多個(gè)發(fā)光二極管組成的led來(lái)完成倒計(jì)時(shí)器的

24、設(shè)計(jì)。 5.3led數(shù)碼管顯示器概述本設(shè)計(jì)中采用的是7segcom anode型號(hào)數(shù)碼管,它是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管。實(shí)物如圖3所示:圖3 7segcom anode型號(hào)數(shù)碼管數(shù)碼管的分類數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(多一個(gè)小數(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í),相應(yīng)字段就點(diǎn)亮。當(dāng)

25、某一字段的陰極為高電平時(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)字段就不亮。 led 數(shù)碼顯示器是一種有 led 發(fā)光二極管組合顯示字符的顯示器件。它使用了 8 個(gè) led 發(fā)光二極管,其中 7 個(gè)用于顯示字符,剩下的一個(gè)用于顯示小數(shù)點(diǎn),故通常稱之為 7 段發(fā)光二極管數(shù)碼器。在數(shù)碼管中,若將二極管的陽(yáng)極連在一起,稱為共陽(yáng)極數(shù)碼管;若將二極管的陰極連在一起,稱為共陰極數(shù)碼管。如圖3.7所示。圖3.7 (a)

26、為a到g在數(shù)碼管的編排,(b)分別為共陰極、共陽(yáng)極電路當(dāng)發(fā)光二極管導(dǎo)通時(shí),它就會(huì)發(fā)光。每個(gè)二極管就是一個(gè)筆畫,若干個(gè)二極管發(fā)光時(shí),就構(gòu)成了一個(gè)顯示字符。若將單片機(jī)的i/o口與數(shù)碼管的ag及h相連,高電平的位對(duì)應(yīng)的發(fā)光二極管亮,即i/o輸出不同的代碼,就可以控制數(shù)碼管顯示不同的字符。例如:當(dāng)i/o輸出得代碼為0011 1111時(shí),數(shù)碼管顯示的字符為0。這樣形成的顯示字符的代碼稱為顯示代碼或者段選碼。本次設(shè)計(jì)的實(shí)驗(yàn)板用的共陰led顯示器,根據(jù)電路連接圖16進(jìn)制數(shù)字的顯示代碼如表3.1所示2。表3.1 16進(jìn)制數(shù)字的顯示代碼16進(jìn)制hgfedcba顯示代碼0001111113fh1000001100

27、6h2010110115bh3010011114fh40110011066h5011011016dh6011111017dh70000011107h8011111117fh9011011116fha0111011177hb011111007chc0011100139hd010111105ehe0111100179hf0111000171h.1000000080h5.4 led 數(shù)碼管顯示方式led顯示器工作方式有兩種:靜態(tài)顯示方式和動(dòng)態(tài)顯示方式。靜態(tài)顯示的特點(diǎn)是每個(gè)數(shù)碼管的段選必須接一個(gè)8位數(shù)據(jù)線來(lái)保持顯示的字形碼。當(dāng)送入一次字形碼后,顯示字形可一直保持,直到送入新字形碼為止。這種方法的優(yōu)點(diǎn)是

28、占用cpu時(shí)間少,顯示便于監(jiān)測(cè)和控制。缺點(diǎn)是硬件電路比較復(fù)雜,成本較高。本次設(shè)計(jì)采用的是動(dòng)態(tài)顯示方式。動(dòng)態(tài)顯示的特點(diǎn)是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。選亮數(shù)碼管采用動(dòng)態(tài)掃描顯示。所謂動(dòng)態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺(jué)暫留作用,使人的感覺(jué)好像各位數(shù)碼管同時(shí)都在顯示。動(dòng)態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時(shí)應(yīng)略小于靜態(tài)顯示電路中的。 六時(shí)鐘電路模塊時(shí)鐘是單片機(jī)的心臟,單片機(jī)各功能部件的運(yùn)行都是以時(shí)鐘頻率為基準(zhǔn)有條不紊地一拍一拍地工作的。因此,時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)

29、得穩(wěn)定性。常用的時(shí)鐘電路有兩種方式:一種是內(nèi)部時(shí)鐘方式,另一種是外部時(shí)鐘方式。單片機(jī)必須在時(shí)鐘的驅(qū)動(dòng)下才能工作。在單片機(jī)內(nèi)部有一個(gè)時(shí)鐘振蕩電路,只要外界一個(gè)振蕩源就能產(chǎn)生一定的時(shí)鐘信號(hào)送到單片機(jī)內(nèi)部的各個(gè)單元,決定單片機(jī)的工作速度。本系統(tǒng)使用的是內(nèi)部時(shí)鐘方式。一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在xtal2引腳產(chǎn)生幅度為3v左右的正弦波時(shí)鐘信號(hào),其振蕩頻率主要由石英晶振的頻率確定。電路中兩個(gè)電容的作用有兩個(gè):一是幫助振蕩器起振;二是對(duì)振蕩器的頻率進(jìn)行微調(diào)。 本系統(tǒng)使用的是內(nèi)部時(shí)鐘方式。一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在xtal2引

30、腳產(chǎn)生幅度為3v左右的正弦波時(shí)鐘信號(hào),其振蕩頻率主要由石英晶振的頻率確定。電路中兩個(gè)電容的作用有兩個(gè):一是幫助振蕩器起振;二是對(duì)振蕩器的頻率進(jìn)行微調(diào)。七軟件設(shè)計(jì) 3.3.2軟件設(shè)計(jì)方法圖5 程序框圖定時(shí)/計(jì)數(shù)器初值計(jì)算(1)本電路應(yīng)用timer0 mode 16位計(jì)數(shù)器的計(jì)時(shí)中斷法。 (2)1秒等于1000000微秒,而每一計(jì)時(shí)脈沖是1微秒,因此需輸入100000個(gè)計(jì)時(shí)脈沖,方可達(dá)到1秒的時(shí)間。本設(shè)計(jì)中,設(shè)定中斷每次溢出時(shí)間50ms。(3)由上式得知,循環(huán)20次即可達(dá)到1秒定時(shí),即: n=t/tcy=0.05s/0.000001=5000x=65536-5000=15536=3cb0h(4)由

31、上式得知5000個(gè)脈沖,首先需設(shè)定tl0=3ch,th0=0b0h,此時(shí)第1次只要輸入5000個(gè)脈沖輸入,就會(huì)溢出;第2次至第20次,則需每1000000個(gè)計(jì)時(shí)脈沖,定時(shí)1秒。(5)上電時(shí),顯示60,開(kāi)始倒數(shù)計(jì)時(shí)按下開(kāi)關(guān)實(shí)現(xiàn)復(fù)位。 7.1 程序設(shè)計(jì)#includesbit key1=p32;sbit key2=p33;sbit key3=p34;sbit key4=p35;unsigned char keyv,tempkeyv; sbit p34=p13;sbit p35=p12;sbit p36=p11;sbit p37=p10;sbit jdq=p20;sbit beep=p21;unsi

32、gned int js;unsigned int ds;unsigned char jsflag;static unsigned int i;unsigned char code leddis=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf;unsigned char code table =0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void delay(unsigned int ii)unsigned i

33、nt jj;for(;ii0;ii-)for(jj=0;jj0;iii-)for(jjj=0;jjj60;jjj+);void main()ea = 1;/允許cpu中斷et0 = 1; /定時(shí)器0中斷打開(kāi)tmod = 0x1;/設(shè)定時(shí)器0為模式1,16位模式th0=0xb1;tl0=0xdf;/設(shè)定時(shí)值為tr0 = 1;ds=0;keyv = 0;tempkeyv = 0;jsflag=0;while(1);void keyanddis_time0(void) interrupt 1 using 2th0=0xb1;tl0=0xdf;/設(shè)定時(shí)值為if (!key1)keyv = 1;if (

34、!key2)keyv = 2;if (keyv!= 0) /有鍵按下delay(10); /延時(shí)防抖 按下10ms再測(cè)if (!key1)tempkeyv = 1;if (!key2)tempkeyv = 2;if (keyv = tempkeyv) if (keyv = 1)jsflag=0;if(ds=0)ds=600; if(key1=1)ds=9999;if(key2=1)ds=999;if(key3=1)ds=99;if(key4=1)ds=9;js=js+1;jdq=0; if(js=45)beep=0;if(js=50)js=0;ds=ds-1;beep=1;if(keyv=2)

35、jsflag=1;if(jsflag=1)jdq=1;if(ds=0)jdq=1;jsflag=1;keyv=0;p0=leddisds/1000;p34=0;delay500(5);p34=1;p0=leddisds/100%10;p35=0;delay500(5);p35=1;p0=leddisds/10%10;p36=0;delay500(5);p36=1;p0=leddisds%10;p37=0;delay500(5);p37=1;軟件調(diào)試過(guò)程系統(tǒng)調(diào)試工具keil c51 keil c51 仿真器是一款利用keil c51 的ide 集成開(kāi)發(fā)環(huán)境作為仿真環(huán)境的廉價(jià)仿真器,是利用sst公

36、司具有iap功能的單片機(jī)sst89c58制作而成,主要是利用了sst89c58的iap功能,所謂iap功能是in application program 的英文縮寫,是在應(yīng)用編程的意思,通俗一點(diǎn)講就是:它可以通過(guò)串口將用戶的程序下載到單片機(jī)中,可以通過(guò)串口對(duì)單片機(jī)進(jìn)行編程。它之所以具有這種功能,實(shí)際上它有兩塊程序flash區(qū),其中一塊flash中運(yùn)行的程序可以更改另外的一塊程序flash區(qū)中的程序,正是利用這一特性才用它作成了仿真器,我們把仿真器的監(jiān)控程序事先燒入sst89c58,監(jiān)控程序通過(guò)sst89c58的串口和pc通訊,當(dāng)使用keil c51的ide環(huán)境仿真時(shí),用戶的程序通過(guò)串口被監(jiān)控程

37、序?qū)懭雈lash程序區(qū)中,當(dāng)用戶設(shè)置斷點(diǎn)等操作仿真程序時(shí),flash程序中的用戶程序也在相應(yīng)的更改,從而實(shí)現(xiàn)了仿真功能 。調(diào)試的主要方法 :1. 啟動(dòng)keil c51 2. 新建一個(gè)工程。project菜單new project ,選擇好我們要保存的文件夾后,鍵入frist 保存。接著彈出cpu類型選擇框,我們選擇最常用的at89c51,按確定。3. 在工程中加入文件。新建一個(gè)文件,文件菜單filenew,我們?cè)龠x擇:文件菜單filesave as? (另存為)彈出 對(duì)話框后,我們文件名框中鍵入first.c(注意文件后綴名是 .c)保存。c文件建好啦。現(xiàn)在我們把文件加入到工程中去。 點(diǎn)擊ta

38、rget 1前面的+號(hào),右鍵單擊source group 1選擇add files to group,source group 1,選擇添加 add。編譯運(yùn)行,檢查程序是否有錯(cuò)誤。系統(tǒng)調(diào)試工具proteus proteus是一款eda軟件,該軟件具有模擬電路仿真,數(shù)字電路仿真,單片機(jī)以及外圍電路組成的系統(tǒng)的仿真,rs-232動(dòng)態(tài)仿真,i2c調(diào)試器,spi調(diào)試器,鍵盤和lcd系統(tǒng)的仿真,以及各種虛擬儀器,如示波器,邏輯分析儀,信號(hào)發(fā)生器等。該軟件目前支持的單片機(jī)類型有:68000系列、8051系列、avr系列、pic12系列、pic16系列、pic18系列、z80系列、hc11系列、arm以及各種外圍芯片。該軟件還支持大量的存儲(chǔ)器和外圍芯片,所以,該軟件是一款集單片機(jī)和spice分析于一身的仿真軟件。調(diào)試方法:首先用keil軟件將c編譯成hex文件,打開(kāi)keil軟件,新建一個(gè)文檔,輸入c程序,保存成c格式文件,然后新建工程,連接單片機(jī)為at89c51,選擇options for target,選擇output子菜單,在create hex fi前打鉤,debug子菜單中,settings選

溫馨提示

  • 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)論