數(shù)字時(shí)鐘計(jì)時(shí)器.doc_第1頁(yè)
數(shù)字時(shí)鐘計(jì)時(shí)器.doc_第2頁(yè)
數(shù)字時(shí)鐘計(jì)時(shí)器.doc_第3頁(yè)
數(shù)字時(shí)鐘計(jì)時(shí)器.doc_第4頁(yè)
數(shù)字時(shí)鐘計(jì)時(shí)器.doc_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)字時(shí)鐘計(jì)時(shí)器的設(shè)計(jì)摘要本文介紹了基于單片機(jī)技術(shù)原理完成對(duì)數(shù)字時(shí)鐘計(jì)時(shí)器的設(shè)計(jì)。系統(tǒng)以單片機(jī)芯片AT89C52為核心控制器,由單片機(jī)控制LCD1602的顯示,修改設(shè)置時(shí)間采用操作方便的按鍵開關(guān),通過硬件電路的制作和軟件程序的編制來實(shí)現(xiàn)數(shù)字時(shí)鐘計(jì)時(shí)器的設(shè)計(jì)。論文詳細(xì)敘述了系統(tǒng)硬件、軟件設(shè)計(jì)的具體實(shí)現(xiàn)過程,重點(diǎn)闡述了時(shí)鐘模塊、顯示模塊及相關(guān)控制模塊等模塊化設(shè)計(jì)思路與制作。軟件部分同樣也采用模塊化的設(shè)計(jì)思路,包括中斷模塊、時(shí)間調(diào)整模塊設(shè)計(jì),并采用簡(jiǎn)單流通性強(qiáng)的C語(yǔ)言編程實(shí)現(xiàn)。該系統(tǒng)能實(shí)現(xiàn)對(duì)日期、時(shí)、分、秒24小時(shí)制輸出顯示,使用按鍵進(jìn)行時(shí)、分、秒的調(diào)整等功能。關(guān)鍵詞:AT89C52單片機(jī) 數(shù)字鐘 時(shí)間Digital clock timerAbstract: This paper introduces the technical principle based on single chip microcomputer to complete digital clock timer design. Based on the single chip computer chip system as the core of AT89C52 controller, the single-chip computer control LCD1602 display, modify set a time of the convenient operation button switches, through the hardware circuit and software production procedure formulation to realize digital clock timer design. Paper narrates the system hardware and software design of the implementation, and expounds the clock display module, and related control module module design and modular production. Software is also part of the modular design, including interrupt module, time to adjust module design, and using simple liquidity strong to realize the C programming language. The system can realize to the date, time, minutes and seconds 24 hours to make the output shown, the use of buttons, minutes and seconds adjustment etc. Function. Key Words:AT89C52 microcontroller Digital clock time目 錄一、緒論11.1課題的目的和意義11.2單片機(jī)的應(yīng)用11.3小組成員及分工2二、方案論證與選擇22.1方案論證22.2各模塊方案論證與選擇32.2.1單片機(jī)控制模塊32.2.2時(shí)鐘信號(hào)電路32.2.3電源電路32.2.4顯示電路4三、設(shè)計(jì)過程論述43.1主要硬件介紹43.1.1 AT89C52單片機(jī)43.2硬件電路設(shè)計(jì)及工作原理63.2.1單片機(jī)主控模塊的設(shè)計(jì)時(shí)鐘信號(hào)電路63.2.2復(fù)位電路63.2.3獨(dú)立按鍵電路73.2.4 1602LCD顯示電路73.2.5電源電路103.2.6蜂鳴器電路113.3電子元器件的安裝與焊接123.3.1安裝與焊接工藝要求123.3.2焊接后的檢測(cè)與調(diào)試133.4系統(tǒng)程序的設(shè)計(jì)133.4.1主程序的設(shè)計(jì)133.4.2液晶驅(qū)動(dòng)子程序143.4.3按鍵控制子程序15四、結(jié)果分析16五、總結(jié)16六、致謝17七、附錄18八、參考文獻(xiàn)25安徽財(cái)貿(mào)職業(yè)學(xué)院畢業(yè)設(shè)計(jì)一、緒論1.1課題的目的和意義單片機(jī)自20世紀(jì)70年代問世以來,以其極高的性能價(jià)格比,受到人們的重視和關(guān)注。作為微型計(jì)算機(jī)的一個(gè)分支,經(jīng)過二三十年的發(fā)展,在各行各業(yè)中已經(jīng)得到廣泛應(yīng)用。單片機(jī)體積小,重量輕,抗干擾能力強(qiáng),對(duì)環(huán)境要求不高,價(jià)格低廉,可靠性高,靈活性好,開發(fā)較為容易。由于具有上述優(yōu)點(diǎn),在我國(guó),單片機(jī)已廣泛的應(yīng)用在工業(yè)自動(dòng)化控制、自動(dòng)檢測(cè)、智能儀器儀表、家用電器、電力電子、機(jī)電一體化設(shè)備等各個(gè)方面。隨著時(shí)間的推移,科學(xué)技術(shù)的不斷發(fā)展,人們對(duì)時(shí)間計(jì)量的精度要求越來越高,傳統(tǒng)的機(jī)械表,由于做工的高精細(xì)要求,造價(jià)的昂貴,材料的限制,時(shí)間指示精度的限制,以及使用壽命等方面的限制,已不能滿足人們的要求。如今,高精度的計(jì)時(shí)工具大多數(shù)都使用了石英晶體振蕩器。由于電子鐘、石英表、石英鐘都采用了石英技術(shù),由此走時(shí)精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校。這次畢業(yè)設(shè)計(jì),通過對(duì)它的學(xué)習(xí)、應(yīng)用,以AT89C52芯片為核心,外加輔助電路,設(shè)計(jì)和制作了一個(gè)簡(jiǎn)易的電子時(shí)鐘,它由直流電源供電,通過LCD準(zhǔn)確顯示時(shí)間。數(shù)字時(shí)鐘是現(xiàn)代社會(huì)應(yīng)用廣泛的計(jì)時(shí)工具,在航天、電子等科研單位,工廠、醫(yī)院、學(xué)校等企事業(yè)單位,以及我們每個(gè)人的日常生活中都發(fā)揮著重要的作用。本系統(tǒng)是基于AT89C52單片機(jī)設(shè)計(jì)的一個(gè)具有LCD1602顯示的數(shù)字時(shí)鐘計(jì)時(shí)器,該系統(tǒng)同時(shí)具有硬件設(shè)計(jì)簡(jiǎn)單、工作穩(wěn)定性高、價(jià)格低廉等優(yōu)點(diǎn)。單片機(jī)的技術(shù)進(jìn)步反映在內(nèi)部結(jié)構(gòu)、功率消耗、外部電壓等級(jí)以及制造工藝上。另外單片機(jī)應(yīng)用的重要意義還在于,它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思想和設(shè)計(jì)方法。從前必須使用數(shù)字電路和模擬電路實(shí)現(xiàn)的大部分功能,現(xiàn)在都可以用單片機(jī)通過軟件方法來實(shí)現(xiàn)了。1.2單片機(jī)的應(yīng)用(1)單片機(jī)在智能儀表中的應(yīng)用單片機(jī)廣泛的應(yīng)用于各種儀表儀器,使儀表儀器智能化,提高它們的測(cè)量速度、精度,加強(qiáng)控制功能。(2)單片機(jī)在機(jī)電一體化的應(yīng)用單片機(jī)的出現(xiàn)促進(jìn)了機(jī)電一體化,它作為機(jī)電產(chǎn)品的控制器,充分的發(fā)揮了體積小、可靠性高、功能強(qiáng)、現(xiàn)場(chǎng)安裝靈活方便等優(yōu)點(diǎn),大大強(qiáng)化了機(jī)器的功能,提高了機(jī)器的精度,自動(dòng)化和智能化的水平。(3)單片機(jī)在實(shí)時(shí)控制中的應(yīng)用對(duì)于過程控制中的各種物理參數(shù),如轉(zhuǎn)速、流量、位移、壓力、溫度、濕度、化學(xué)成分的測(cè)量和控制。將測(cè)量技術(shù)、自動(dòng)控制技術(shù)和計(jì)算機(jī)技術(shù)相結(jié)合,充分發(fā)揮數(shù)據(jù)處理和實(shí)時(shí)控制功能,是系統(tǒng)工作在最佳狀態(tài)。(4)單片機(jī)在分布式多機(jī)系統(tǒng)中的應(yīng)用單片機(jī)在這種多機(jī)系統(tǒng)中,往往作為一個(gè)終端機(jī),安裝在系統(tǒng)的某些節(jié)點(diǎn)上,對(duì)現(xiàn)場(chǎng)信息進(jìn)行實(shí)時(shí)的測(cè)量和控制。隨著科學(xué)技術(shù)的進(jìn)步,單片機(jī)的功能也會(huì)日益增強(qiáng),那么數(shù)字電子時(shí)鐘也可以發(fā)展成一項(xiàng)新的技術(shù)。時(shí)鐘也可以由單一的定時(shí)、計(jì)數(shù)、報(bào)警等功能,開發(fā)成低成本、通用應(yīng)用及高性能數(shù)據(jù)通信、光纖網(wǎng)絡(luò)和存儲(chǔ)系統(tǒng)應(yīng)用的各類高級(jí)時(shí)鐘。1.3小組成員及分工我們小組由彭會(huì)平和董昉琦兩人組成,按照指導(dǎo)老師給的計(jì)劃,在九月二十五號(hào)之前,我們確定了選題以及所需要的元器件和相關(guān)資料。和同學(xué)一起購(gòu)買元器件后,由我們兩人共同完成了電路板的焊接。之后,彭會(huì)平負(fù)責(zé)查詢資料以及對(duì)程序的設(shè)計(jì),董昉琦負(fù)責(zé)編寫設(shè)計(jì)報(bào)告和排版。在完成電路板的焊接后,再對(duì)電路板進(jìn)行了檢測(cè)及調(diào)試。二、方案論證與選擇2.1方案論證該課題主要有兩種方案:一種是用數(shù)字電路通過硬件實(shí)現(xiàn),另一種是用單片機(jī)通過軟件編程實(shí)現(xiàn)。在以上兩種方案中:第一種直接采用的是數(shù)字電路,但是在外圍電路和控制比較麻煩,需要比較多的器件來控制。它的功能都由硬件實(shí)現(xiàn),幾乎沒有軟件編程,但電路復(fù)雜、芯片多及硬件調(diào)試麻煩而且成本高。第二種是采用軟件來實(shí)現(xiàn)一些特定功能,硬件電路只需要一些顯示部件和控制部件,其它的都有軟件來實(shí)現(xiàn),而且電路簡(jiǎn)單、芯片少、成本低。所以選擇使用單片機(jī)方案來實(shí)現(xiàn)。2.2各模塊方案論證與選擇2.2.1單片機(jī)控制模塊方案一:采用AT89C51芯片作為硬件核心,采用FlashROM,內(nèi)部具有4KBROM存儲(chǔ)空間,能于3V的超低壓工作,而且與MCS-51系列單片機(jī)安全兼容,但是運(yùn)用于電路設(shè)計(jì)中時(shí)由于不具備ISP在線編程技術(shù),當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),對(duì)芯片的多次拔插會(huì)對(duì)芯片造成一定的損壞。方案二:采用AT89C52,片內(nèi)ROM全部采用FlashROM;能以3V的超低壓工作;該芯片內(nèi)部存儲(chǔ)器為8KBROM存儲(chǔ)空間,同樣具有AT89C51的功能,且具有在線編程可擦除技術(shù),當(dāng)在對(duì)電路進(jìn)行調(diào)試時(shí),由于程序的錯(cuò)誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r(shí),不需要對(duì)芯片多次插拔,所以不會(huì)對(duì)芯片造成損壞。所以選擇采用AT89C52作為主控制系統(tǒng)。2.2.2時(shí)鐘信號(hào)電路方案一:采用DS1302時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘,DS1302芯片是一種高性能的時(shí)鐘芯片,可自動(dòng)對(duì)分、秒、時(shí)、日、周、月、年以及閏年補(bǔ)償?shù)哪赀M(jìn)行技術(shù),精度高,但是價(jià)格較高,所以不采用此方案。方案二:用軟件編程實(shí)現(xiàn)設(shè)計(jì)中的時(shí)鐘控制功能,實(shí)現(xiàn)時(shí)、分、秒計(jì)數(shù)。此種方案夠減少芯片的使用,節(jié)約成本,而且可以在編寫程序的過程中學(xué)到更多,故采用這種方案。2.2.3電源電路在電源設(shè)計(jì)中我們可以有以下兩種選擇:方案一:用可調(diào)穩(wěn)壓電路,主要有4007二極管、穩(wěn)壓管和電位器組成,或者是通過用穩(wěn)壓集成塊LM723,內(nèi)部含有啟動(dòng)電路、恒流源、基準(zhǔn)穩(wěn)壓源、過流保護(hù)等電路。配合大功率調(diào)整管,可輸出020V連續(xù)可調(diào)的穩(wěn)定電壓,最大輸出電流可達(dá)2A,并且具有過流保護(hù)功能。這種穩(wěn)壓集成塊價(jià)格昂貴,所以不采用此方案。方案二:做一個(gè)固定直流穩(wěn)壓電源,因?yàn)楸敬卧O(shè)計(jì)需要的只是+5V直流電壓。查看相關(guān)資料后我們選擇通過LM7805芯片得到+5V電壓,此電路首先要通過變壓器降壓,再通過整流橋得到直流電壓,最后通過LM7805得到+5V電壓。方案二與方案一相比,方案二的電源顯得簡(jiǎn)單、穩(wěn)定、實(shí)用,所以采用此方案。2.2.4顯示電路為了實(shí)現(xiàn)對(duì)測(cè)量數(shù)據(jù)的觀察,需要一個(gè)顯示模塊便于觀察。方案一:采用數(shù)碼管。此方法接線復(fù)雜,而且不美觀,不易于控制,容易出錯(cuò)。所以不采用此方案。方案二:采用1602液晶顯示,可以直接顯示字符,便于觀察所需要的數(shù)值,直觀、明了,接線比較簡(jiǎn)單,具有減少功耗的特點(diǎn)。故選用此方案。三、設(shè)計(jì)過程論述3.1主要硬件介紹3.1.1 AT89C52單片機(jī)AT89C52是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256k bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,AT89C52單片機(jī)在電子行業(yè)中有著廣泛的應(yīng)用,如圖3-1。圖3-1AT89C52單片機(jī)主要功能特性:(1)兼容MCS51指令系統(tǒng);(2)8k可反復(fù)擦寫(大于1000次)FlashROM;(3)32個(gè)雙向I/O口;(4)2568bit內(nèi)部ROM;(5)3個(gè)16位可編程定時(shí)、計(jì)數(shù)器中斷;(6)時(shí)鐘頻率0-24MHz;(7)2個(gè)串行中斷,可編程UART串行通道;(8)2個(gè)外部中斷源,共8個(gè)中斷源;(9)2個(gè)讀寫中斷口線,3級(jí)加密位;(10)低功耗空閑和掉電模式,軟件設(shè)置睡眠和喚醒功能。引腳功能:AT89C52單片機(jī)采用40條引腳雙列直插式器件,引腳除5V(Vcc40腳)接地(GND20腳)外,其功能分為時(shí)鐘電路、控制信號(hào)、輸入/輸出三大部分。如圖3-1所示。(1)VCC:供電電壓;(2)GND:接地;(3)時(shí)鐘電路;XTAL1(19腳)芯片內(nèi)部振蕩電路輸入端;XTAL2(18腳)芯片內(nèi)部振蕩電路輸出端;(4)控制信號(hào)RST(9腳)復(fù)位信號(hào):時(shí)鐘電路工作后,在此引腳上將出現(xiàn)兩個(gè)機(jī)器周期的高電平,芯片內(nèi)部進(jìn)行初始復(fù)位,P0口P3口輸出高電平,將初值07H寫入堆棧指針。(5)I/O引腳共有4個(gè)8位并行I/O端口,共32個(gè)可編程I/O引腳。4個(gè)I/O口各有各的功能,在一般情況下,P0口專用于分時(shí)傳送低8位地址信號(hào)和8位數(shù)據(jù)信號(hào),P2口專用于傳送高8位地址信號(hào),P3口大部分時(shí)間用于第二功能。當(dāng)然所有的I/O口都可以作為普通的輸入/輸出端口用。3.2硬件電路設(shè)計(jì)及工作原理3.2.1單片機(jī)主控模塊的設(shè)計(jì)時(shí)鐘信號(hào)電路單片機(jī)的時(shí)鐘電路是產(chǎn)生CPU校準(zhǔn)時(shí)序,是單片機(jī)的控制核心。AT89C52的時(shí)鐘信號(hào)可通過內(nèi)部振蕩方式和外部振蕩方式兩種方式得到。本次設(shè)計(jì)使用的是片內(nèi)振蕩方式,通過外接12MHz的晶振來實(shí)現(xiàn)時(shí)鐘電路的時(shí)序控制。在使用片內(nèi)振蕩器時(shí),XTAL1和XTAL2分別為反向放大器的輸入端和輸出端。外接晶體以及電容C1和C2構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。當(dāng)使用外部時(shí)鐘驅(qū)動(dòng)時(shí),XTAL2引腳應(yīng)懸空,而由XTAL1引腳上的信號(hào)驅(qū)動(dòng),或者XTAL1引腳應(yīng)懸空,而由XTAL2引腳上的信號(hào)驅(qū)動(dòng)。外部振蕩器再通過一個(gè)2分頻的觸發(fā)器來形成內(nèi)部時(shí)鐘所需要的信號(hào)。在電容器C1、C2選擇時(shí)方面,一般選擇其值為530pF。本系統(tǒng)中所使用的電容值為22pF,具體電路如圖3-2所示。圖3-2 時(shí)鐘電路3.2.2復(fù)位電路復(fù)位是單片機(jī)的初始化操作,只要給RESET引腳加上兩個(gè)機(jī)器周期以上的高電平信號(hào),就可以使AT89C52單片機(jī)復(fù)位。復(fù)位的主要功能是把程序計(jì)數(shù)器(PC)初始化0000H,使單片機(jī)從0000H單元開始執(zhí)行程序,同時(shí)復(fù)位操作還對(duì)一些寄存器有影響。AT89C52的復(fù)位是由外部的按鍵復(fù)位方式來實(shí)現(xiàn)的。其電路圖如圖3-3所示。圖3-3 復(fù)位電路3.2.3獨(dú)立按鍵電路此部分是按鍵掃描控制部分,用來控制時(shí)間的調(diào)整、鬧鐘的設(shè)定。采用獨(dú)立按鍵控制方式,且所用按鍵均為彈性小按鍵,即按下為低電平接通,松手時(shí)即彈起變?yōu)楦唠娖剑總€(gè)按鍵依據(jù)其按下的次數(shù)有不同的作用。獨(dú)立按鍵電路如圖3-4所示。圖3-4獨(dú)立按鍵電路3.2.4 1602LCD顯示電路為了實(shí)現(xiàn)對(duì)測(cè)量數(shù)據(jù)的觀察,需要一個(gè)顯示模塊,便于觀察。LCD1602顯示電路如圖3-5所示。下面簡(jiǎn)單介紹一下1602LCD:液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣式LCD,目前常用16*1,16*2,20*2和40*2行等模塊。1602LCD采用標(biāo)準(zhǔn)的14腳(無(wú)背光)或16腳(帶背光)接口,各引腳接口說明如下表3-1所示:表3-1編號(hào)符號(hào)引腳說明編號(hào)符號(hào)引腳說明1VSS電源地9D2數(shù)據(jù)2VDD電源正極10D3數(shù)據(jù)3VL液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù)5R/W讀/寫選擇13D6數(shù)據(jù)6E使能信號(hào)14D7數(shù)據(jù)7D0數(shù)據(jù)15BLA背光源正極8D1數(shù)據(jù)16BLK背光源負(fù)極第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱, 接地時(shí)對(duì)比度最高,對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度。第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第5腳:R/W為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫入指令或者顯示地址, 當(dāng) RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W 為低電平時(shí)可以寫入數(shù)據(jù)。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向數(shù)據(jù)線。第15腳:背光源正極。第16腳:背光源負(fù)極。1602LCD的指令說明及時(shí)序:1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表3-2所示:表3-2序號(hào)指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001I/DS4顯示開/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/CR/L*6置功能00001DLNF*7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01BF計(jì)數(shù)器地址10寫數(shù)到CGRAM或DDRAM)10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。(說明:1為高電平、0為低電平)指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。指令3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無(wú)效。指令4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標(biāo)或顯示移位 S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。指令6:功能設(shè)置命令 DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線 N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示 F: 低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符。指令7:字符發(fā)生器RAM地址設(shè)置。指令8:DDRAM地址設(shè)置。指令9:讀忙信號(hào)和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。圖3-5LCD1602顯示3.2.5電源電路要想電子鐘正常工作得到+5V的輸出電壓,就需要將220V的電壓經(jīng)過變壓器、整流電路、濾波電路和穩(wěn)壓電路四個(gè)部分來實(shí)現(xiàn),電源電路如圖3-7所示。電源電路框圖如圖3-6所示:交流電源變壓器整流電路濾波電路穩(wěn)壓電路圖3-6 直流穩(wěn)壓電源基本電路框圖圖3-7 電源電路3.2.6蜂鳴器電路蜂鳴器與普通揚(yáng)聲器相比,最重要一個(gè)特點(diǎn)是,只要按照極性要求加上合適的直流壓,就可以發(fā)出固有頻率的聲音,因此使用起來比較簡(jiǎn)單。蜂鳴器是一個(gè)感性負(fù)載,一般不建議用單片機(jī)I/O口直接對(duì)它進(jìn)行操作,所以通常加一個(gè)驅(qū)動(dòng)三極管,在要求較高的場(chǎng)合還會(huì)加上反相保護(hù)二極管。通過硬件原理圖可知,三極管用了PNP型,所以要使蜂鳴器發(fā)聲只要給單片機(jī)P2.7置低電平就可。這就是單片機(jī)系統(tǒng)中的蜂鳴器的編程原理。下圖3-8是該蜂鳴器電路。圖3-8蜂鳴器電路3.3電子元器件的安裝與焊接3.3.1安裝與焊接工藝要求安裝元器件時(shí),要遵循先安裝低矮的和耐熱的元件(如電阻),然后在安裝大一點(diǎn)的元件,最后安裝怕熱的元件(如三極管、集成電路等)。在安裝電阻時(shí),要注意根據(jù)兩孔的距離確定電阻是臥式安裝還是立式安裝,盡量保持色環(huán)方向一致。對(duì)于二極管主要辨別其正負(fù)極方向,二極管帶有色環(huán)的一端為負(fù)極。晶體三極管安裝時(shí)要注意E、B、C三級(jí)的對(duì)應(yīng)方向,不可倒置。對(duì)于無(wú)極性電容,可直接插在電路板上,而對(duì)電解電容要注意其方向性,引腳長(zhǎng)的一端為電解電容的的正極。按鍵開關(guān)沒有方向,可以自由安裝。所有焊接的元器件全部插入電路板對(duì)應(yīng)的位置,要注意立式安裝和臥式安裝的元件,并對(duì)它們?cè)诤附忧暗母叨冗M(jìn)行調(diào)整,以使安裝和焊接的效果達(dá)到最佳。在焊接前要準(zhǔn)備2040W的電烙鐵一把,松香、錫條、剪刀、鑷子 、尖嘴鉗、吸錫器等,在焊接前要把元器件的引線刮干凈。焊點(diǎn)上的焊料要適量,不能過多或過少,焊料過多,既增加成本,又容易造成焊點(diǎn)橋連(短路),過少會(huì)使強(qiáng)度不夠,導(dǎo)電性較弱,受外力時(shí)元器件容易短路。焊點(diǎn)的表面應(yīng)光亮且色澤均勻,無(wú)針孔、無(wú)夾渣,而且不應(yīng)有毛刺、空隙,因?yàn)楹更c(diǎn)表面存在毛刺、空隙,不僅不美觀,還會(huì)給電子產(chǎn)品帶來危害,另外焊點(diǎn)的表面也要清潔。3.3.2焊接后的檢測(cè)與調(diào)試焊接完成后,將焊點(diǎn)周圍的焊劑清潔干凈,并對(duì)焊接好的電路板進(jìn)行目測(cè)檢查有無(wú)漏焊、虛焊、錯(cuò)焊等現(xiàn)象,可用鑷子將每一個(gè)元器件拉一拉,看有無(wú)松動(dòng)現(xiàn)象。還要參照電路原理圖檢查元件的接地和接電源是否接對(duì),是否漏接等,確保所有的引腳連線正常連接,再用數(shù)字萬(wàn)用表檢查各個(gè)引腳之間是否連通。硬件調(diào)試很重要也很麻煩,由于本次設(shè)計(jì)硬件非PCB制板,而是手工焊板,焊點(diǎn)質(zhì)量、布線是否合理等對(duì)系統(tǒng)的影響比較大,這無(wú)疑增加硬件調(diào)試的難度。由于此前沒有很多的練習(xí),本次設(shè)計(jì)我所制作的液晶顯示電子鐘在質(zhì)量工藝上很難達(dá)到滿意程度。在確保檢查無(wú)誤后,再接入電源進(jìn)行調(diào)試,將燒錄入程序的芯片插在電路板上,看結(jié)果的顯示情況。如果未達(dá)到想要的結(jié)果,再進(jìn)行調(diào)試,直到輸出結(jié)果正確。3.4系統(tǒng)程序的設(shè)計(jì)3.4.1主程序的設(shè)計(jì)本設(shè)計(jì)中主程序循環(huán)調(diào)用顯示子程序和按鍵子程序,當(dāng)端口有按鍵按下時(shí),轉(zhuǎn)入相應(yīng)功能程序。其主程序流程圖如圖3-9所示。開始初始化讀時(shí)間顯示子程序開關(guān)控制子程序時(shí)間修改子程序顯示結(jié)果返回圖3-9主程序流程圖3.4.2液晶驅(qū)動(dòng)子程序LCD使用之前須它進(jìn)行初始化,初始化可通過復(fù)位完成,也可在復(fù)位后完成,初始化過程如下:(1)清屏。將顯示緩沖區(qū)DDRAM的內(nèi)容全部寫入空格(ASC1120H)。(2)功能設(shè)置。(3)開/關(guān)顯示控制??刂骑@示的開關(guān),當(dāng)D=1時(shí)顯示,D=0時(shí)不顯示??刂乒鈽?biāo)開關(guān),當(dāng)C=1時(shí)光標(biāo)顯示,C=0時(shí)光標(biāo)不顯示。控制字符是否閃爍,當(dāng)B=0時(shí)字符閃爍,當(dāng)B=1時(shí)字符不閃爍。(4)輸入方式設(shè)置。本系統(tǒng)中液晶顯示的初始化程序流程圖如圖3-10所示。初始化過程:(1)延時(shí)15ms;(2)寫指令38H(不檢測(cè)忙信號(hào));(3)延時(shí)5ms;(4)寫指令38H(不檢測(cè)忙信號(hào));(5)延時(shí)5ms;(6)寫指令38H(不檢測(cè)忙信號(hào));(7)以后每次寫指令、讀/寫數(shù)據(jù)操作均需要檢測(cè)忙信號(hào);(8)寫指令38H:顯示模式設(shè)置(9)寫指令08H:顯示關(guān)閉;(10)寫指令01H:顯示清屏;(11)寫指令06H:顯示光標(biāo)移動(dòng)設(shè)置;(12)寫指令0CH:顯示開及光標(biāo)設(shè)置。子程序入口設(shè)置第一行顯示位置寫指令數(shù)據(jù)顯示第二行內(nèi)容設(shè)置顯示位置顯示第一行內(nèi)容子程序退出圖3-10顯示子程序3.4.3按鍵控制子程序本程序的三個(gè)獨(dú)立按鍵,用于模式的設(shè)置選擇和時(shí)間的調(diào)整,程序流程圖如圖3-11所示。子程序入口控制鍵有效,進(jìn)入小時(shí)調(diào)整程序等待按鍵程序加鍵有效減鍵有效小時(shí)加一小時(shí)減一控制鍵有效,進(jìn)入分鐘調(diào)整程序等待按鍵程序加鍵有效減鍵有效分鐘加一分鐘減一控制鍵有效,進(jìn)入秒調(diào)整程序等待按鍵程序加鍵有效減鍵有效秒加一秒減一按鍵有效,跳出時(shí)間調(diào)整程序,進(jìn)入主循環(huán)程序圖3-11按鍵控制子程序四、結(jié)果分析在設(shè)計(jì)完成后,進(jìn)行調(diào)試,包括硬件和軟件的調(diào)試。調(diào)試結(jié)果完成后,也可以進(jìn)行仿真。開始我們是使用6位數(shù)碼管顯示,但是數(shù)碼管焊接完成后,數(shù)碼管無(wú)法顯示。在多次檢查后,發(fā)現(xiàn)電路連接有錯(cuò)誤。重新修改連接后,數(shù)碼管可以正常顯示。由于只有6位數(shù)碼管,不能實(shí)現(xiàn)多位數(shù)據(jù)的顯示,所以使用1602液晶顯示。在測(cè)試中也遇到LCD液晶顯示屏不顯示,要對(duì)電路進(jìn)行檢測(cè)。檢測(cè)電路的元器件是否連接好,觀察是否存在漏焊,虛焊或者元器件的損壞等,檢查電路的連接是否存在問題。電路連接沒有問題,也會(huì)出現(xiàn)液晶顯示屏無(wú)法顯示的情況,在不斷的調(diào)試后,LCD可以正常顯示。該程序主要實(shí)現(xiàn)了日期、時(shí)、分、秒的顯示,對(duì)時(shí)間的調(diào)整,在對(duì)程序的編寫和調(diào)試中,也會(huì)遇到很多問題,由于C語(yǔ)言的知識(shí)薄弱及程序的繁瑣,所以在編寫程序的時(shí)候會(huì)出現(xiàn)許多程序編寫語(yǔ)法上的錯(cuò)誤,需要我們耐心的尋找錯(cuò)誤根源并改正;在調(diào)試的過程中也會(huì)遇到很多問題,可能因?yàn)樯俳尤胍桓娫淳€,就讓我浪費(fèi)很多時(shí)間來查找原因。所以在焊接的時(shí)候一定要細(xì)心,否則會(huì)給后來的工作帶來很多麻煩。經(jīng)過多次的調(diào)試和分析,我們對(duì)電路的原理更加熟悉,同時(shí)對(duì)所學(xué)的編程知識(shí)有所提高。程序該系統(tǒng)實(shí)現(xiàn)的功能相對(duì)較簡(jiǎn)單,只能實(shí)現(xiàn)時(shí)間的顯示,好多功能不能正常使用,在以后的學(xué)習(xí)中,還可以利用它實(shí)現(xiàn)更多的功能。五、總結(jié)這次設(shè)計(jì)的課題是數(shù)字時(shí)鐘計(jì)時(shí)器,雖然畢業(yè)設(shè)計(jì)的內(nèi)容繁多、過程繁瑣,做的數(shù)字時(shí)鐘比其他同學(xué)做的較簡(jiǎn)單,但我們從中收獲了很多。通過這次對(duì)數(shù)字鐘的設(shè)計(jì),擺脫了單純的理論知識(shí)學(xué)習(xí)狀態(tài),通過自己購(gòu)買元器件、動(dòng)手焊接電路板,學(xué)習(xí)了許多焊接方面的知識(shí),在焊接的過程中,我們不斷地學(xué)習(xí)和總結(jié),理論與實(shí)際的結(jié)合鍛煉了我們。通過綜合運(yùn)用所學(xué)的專業(yè)基礎(chǔ)知識(shí),解決實(shí)際操作過程中存在的問題,同時(shí)也提高了我查閱文獻(xiàn)資料、設(shè)計(jì)規(guī)范以及利用Protel99se繪制電路原理圖等其他專業(yè)能力水平。通過整體的設(shè)計(jì),局部的取舍,以及對(duì)細(xì)節(jié)的斟酌處理,都使我們的能力得到鍛煉,并且使我們的意志力、耐力都得到不同程度的提升。我們是小組合作,一個(gè)設(shè)計(jì)的完成,需要我們的共同努力,在設(shè)計(jì)期間,遇到問題我們會(huì)相互討論,也增強(qiáng)了我們的團(tuán)結(jié)合作能力。通過對(duì)系統(tǒng)的分析與設(shè)計(jì),讓我知道了自己的不足和知識(shí)的欠缺,在程序的編寫和調(diào)試過程中遇到很多問題,通過共同的努力,反復(fù)的分析和總結(jié),學(xué)到了許多新的知識(shí),并且使學(xué)過的電子方面的專業(yè)知識(shí)得到鞏固。在以后的工作學(xué)習(xí)中,會(huì)注意增加專業(yè)知識(shí)的學(xué)習(xí)。本次畢業(yè)設(shè)計(jì)的順利完成,讓我們對(duì)本專業(yè)的發(fā)展前景更加充滿信心。畢業(yè)設(shè)計(jì)完成后,我們就要踏上工作的路,在以后工作的過程中,會(huì)鞏固專業(yè)知識(shí),增強(qiáng)和別人的合作能力,在工作中使自己不斷得到提高。六、致謝本課題在選題以及研究的過程中得到了陳祥生和張世平老師的悉心指導(dǎo)。在設(shè)計(jì)的開始,我們通過查閱資料,在老師的指引下,確定元器件清單,然后購(gòu)買,最后完成電路板的焊接。在焊接電路板的過程中,遇到問題同學(xué)之間相互討論,使電路板順利焊接完成。在這期間,也得到了同學(xué)的幫助。程序的編寫和調(diào)試的過程比較繁瑣,其中遇到很多問題,在同學(xué)的幫助下順利完成。在完成論文的初稿,交由老師修改,給我們提出一些寶貴的建議。在他們的幫助下,論文得到不斷的完善,最終完成了整個(gè)論文。在做畢業(yè)設(shè)計(jì)期間,學(xué)校也給我們提供了好的環(huán)境和氛圍,在實(shí)驗(yàn)室里我們順利完成了電路板的焊接和調(diào)試。在此,感謝我們的老師和同學(xué)!七、附錄1、電路原理圖2、數(shù)字時(shí)鐘計(jì)時(shí)器元器件清單序號(hào)元件名稱型號(hào)及規(guī)格數(shù)量單位1LCD16021只2電阻R1 R6:1K6只R8 R12:1K5只R24 變位器1只R7:10K1只3晶振Y1:12MHz1只4單片機(jī)芯片AT89C521只5按鍵SWPB5只6電容C1-C2:22PF2只C:0.1uF4只7電解電容C:10uF3只C:2200uF2只9蜂鳴器1只10發(fā)光二極管LED2只11三端穩(wěn)壓塊LM7805CT1只LM7905CT1只12萬(wàn)能板2塊13二極管40074只14變壓器輸入220V輸出9V1只3、源程序代碼#include #define uchar unsigned char#define uint unsigned intsbit RS=P20; sbit RW=P21; sbit EN=P22; sbit key1=P30; sbit key2=P31; sbit key3=P32; uchar num,t0,keynum,hour,min,sec; uchar code line1= 2011-10-21;uchar code line2= Time-13:00:00;/*延時(shí)子程序*/void delay(uint z) uint x,y; for(x=z;x0;x-) for(y=110;y0;y-); /*寫命令*/void write_com(cmd) RS=0; RW=0; EN=0; P1=cmd; EN=1; delay(15); EN=0; /*寫數(shù)據(jù)*/void write_data(dat) RS=1; RW=0; EN=0; P1=dat; EN=1; delay(15); EN=0; /*初始化程序*/void init() delay(15); write_com(0x38); delay(5); write_com(0x0c); delay(5); write_com(0x06); delay(5); write_com(0x01); delay(5); write_com(0x80); delay(5); for(num=0;num第二行 for(num=0;num14;num+) write_data(line2num); /顯示第二行 delay(20); /*定時(shí)器初始化*/ TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; /*顯示位*/ void write_clock(uchar add,uchar dat) uchar first,second; second=dat/10; first=dat%10; write_com(0x80+0x40+add); write_data(0x30+second); write_data(0x30+first);/*鍵控*/void keyscan() if(key1=0) /時(shí)鐘設(shè)置/key1按下 delay(5); if(key1=0) /key1真的按下 keynum+; while(!key1) /去鍵抖 TR0=0; /時(shí)鐘暫停 if(keynum=1) /key1按下第一次 write_com(0x80+0x40+13); write_com(0x0f); if(keynum=2) /key1按下第二次 write_com(0x80+0x40+10); if(keynum=3) /key1按下第三次 write_com(0x80+0x40+7); if(keynum=4) /key1按下第四次 keynum=0; /按鍵次數(shù)清零 TR0=1; /繼續(xù)運(yùn)行時(shí)鐘 /*按鍵加*/ if(keynum!=0) /秒加設(shè)置/key1是否按下 if(key2=0&keynum=1) /key2按下并且key1按下第一次 delay(5); if(key2=0&keynum=1) /key2是否真的按下并且key1按下第一次 sec+; while(!key2); /去鍵抖 if(sec=60) sec=0; write_clock(12,sec); write_com(0x80+0x40+13); if(key2=0&keynum=2) /分加設(shè)置/key2真的按下并且key1按第二次 delay(5); if(key2=0&keynum=2) /key2是否真的按下并且key1按下第二次 min+; while(!key2); /去鍵抖 if(min=60) min=0; write

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論