版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、畢業(yè)設(shè)計(jì)基于51單片機(jī)的數(shù)字時(shí)鐘的設(shè)計(jì)摘要:現(xiàn)代生活中,對(duì)于數(shù)字電子鐘的使用情況已經(jīng)遠(yuǎn)遠(yuǎn)大于對(duì)于機(jī)械表的使用。數(shù)字時(shí)鐘不僅僅是使用方便,而且由于單片機(jī)的引入,額外增加了自動(dòng)控制和鬧鐘報(bào)時(shí)等功能,十分便利。本次畢業(yè)設(shè)計(jì),是以STC89C52芯片為核心,添加適當(dāng)外圍電路,輔以C語(yǔ)言,所形成的數(shù)字電子鐘。除了51單片機(jī)芯片,還主要用到了時(shí)鐘芯片DS1302和型號(hào)是1602的液晶顯示屏。關(guān)鍵詞:STC89C52;數(shù)字電子鐘;C語(yǔ)言。Design of Digital Clock System Based on MSC-51 SinglechipAbstract:In modern life, the
2、use of digital electronic clock has been far greater than for the use of mechanical watches. Digital Clock is not just easy to use, and because of the introduction of single-chip, additional automatic control and alarm clock timekeeping functions, is very convenient. The graduation project is based
3、STC89C52 chip as the core, adding the appropriate external circuit, supplemented by the C language, the formation of digital electronic clock. In addition to 51 single-chip, is also largely used in the clock chip DS1302 and models are 1602 LCD display.Keywords: STC89C52; digital electronic clock; C
4、language.26 / 29目錄基于51單片機(jī)的數(shù)字時(shí)鐘的設(shè)計(jì)IDesign of Digital Clock System Based on MSC-51 SinglechipII目錄III前言1第1章硬件設(shè)計(jì)方案與各部分簡(jiǎn)述21.1單片機(jī)概述21.2 DS1302時(shí)鐘芯片概述51.3 1602顯示屏71.4 元件清單8第2章硬件電路圖設(shè)計(jì)10Protel硬件開發(fā)與介紹102.2 電路總體設(shè)計(jì)圖11第3章軟件總體設(shè)計(jì)173.1 主流程圖173.2 軟件設(shè)計(jì)分部說(shuō)明18第4章調(diào)試與誤差分析204.1 程序下載與調(diào)試204.2 調(diào)試結(jié)果與誤差分析214.3 誤差分析21總結(jié)22致23參考文獻(xiàn)
5、24前言隨著當(dāng)下時(shí)代的發(fā)展,形式各樣的數(shù)字電子鐘為我們的工作學(xué)習(xí)生活帶來(lái)了極便利。眾所周知,數(shù)字集成電路技術(shù)的發(fā)展并輔以先進(jìn)的石英技術(shù),使數(shù)字鐘具有準(zhǔn)確、穩(wěn)定和攜帶便利等優(yōu)點(diǎn),它還用于計(jì)時(shí)、報(bào)時(shí)與自動(dòng)控制等各個(gè)領(lǐng)域。盡管目前市場(chǎng)上已有比較便宜實(shí)用的數(shù)字電子鐘集成電路芯片出售,但考慮到單片機(jī)的定時(shí)器功能也可以完成對(duì)數(shù)字電子鐘的設(shè)計(jì),因此進(jìn)行數(shù)字電子鐘的設(shè)計(jì)是必要的。在這里我大學(xué)四年學(xué)到的專業(yè)知識(shí)系統(tǒng)的聯(lián)系起來(lái)用于實(shí)際,從而培養(yǎng)我設(shè)計(jì)和分析電路,寫程序、調(diào)試電路的能力。單片機(jī)具有體積小、功能強(qiáng)可靠性高、價(jià)格適當(dāng)、走時(shí)準(zhǔn)確、性能穩(wěn)定、攜帶方便等一系列優(yōu)點(diǎn),不僅已成為工業(yè)測(cè)控領(lǐng)域普遍采用的智能化控制工
6、具,而且已進(jìn)入我們?nèi)藗児ぷ骱秃蜕畹母鱾€(gè)角落,極推動(dòng)了各行業(yè)的技術(shù)改造和升級(jí),應(yīng)用前景廣闊。培養(yǎng)針對(duì)課題需要,選擇和查閱有關(guān)手冊(cè)、圖表與文獻(xiàn)資料的自學(xué)能力,提高組成系統(tǒng)、編程、調(diào)試的動(dòng)手能力;鞏固、加深和擴(kuò)大單片機(jī)應(yīng)用的知識(shí)面,提高綜合與靈活運(yùn)用所學(xué)知識(shí)解決工業(yè)控制的能力;通過(guò)對(duì)課題設(shè)計(jì)方案的分析、選擇、比較、熟悉單片機(jī)用系統(tǒng)開發(fā)、研制的過(guò)程,軟硬件設(shè)計(jì)的方法、容與步驟。第1章 硬件設(shè)計(jì)方案與各部分簡(jiǎn)述隨著石英晶體振蕩器的廣泛應(yīng)用和集成電路的飛速發(fā)展,數(shù)字電子鐘的精度要比平時(shí)常見的機(jī)械表精確一些,為我們的生活帶來(lái)了極大的便利。另一方面,再加上單片機(jī)技術(shù)的純熟,大大擴(kuò)展了鐘表原來(lái)的功能,可以提供
7、定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制與各種定時(shí)電氣的自動(dòng)啟用功能等。因此,研究數(shù)字電子鐘的應(yīng)用,有著非?,F(xiàn)實(shí)的意義。我這次設(shè)計(jì)的畢業(yè)論文,選取的是STC89C52單片機(jī)來(lái)作為我的核心控制部分,整個(gè)電路主要包括芯片、鍵盤、揚(yáng)聲器還有顯示屏這四個(gè)部分來(lái)組成。主要通過(guò)焊接的鍵盤來(lái)調(diào)整時(shí)間,像時(shí)、分、秒還有年、月、日都可以通過(guò)鍵盤來(lái)調(diào)整,為了實(shí)現(xiàn)目的,還需要以C語(yǔ)言編程的幫助。整個(gè)電路比較簡(jiǎn)單,能夠?qū)崿F(xiàn)我想要的所有功能。1.1 單片機(jī)概述(1)單片機(jī)型號(hào):STC89C52芯片,圖 1- 1是其引腳圖。圖 1- 1STC89C52芯片引腳(2)單片機(jī)的特點(diǎn):STC89C52是一種低功耗高性能CM
8、OS8位微控制器,具有 8K 字節(jié)程序存儲(chǔ)空間。在單芯片上,有8 位CPU 和在系統(tǒng)可編程Flash,為眾多嵌入式控制應(yīng)用系統(tǒng)提供靈活有效的解決方案。擁有512字節(jié)數(shù)據(jù)存儲(chǔ)空間,帶2K字節(jié)的EEPROM存儲(chǔ)空間,可直接使用串口下載,方便快捷。 32 位I/O 口線,看門狗定時(shí)器,置4KB EEPROM,MAX810復(fù)位電路,3個(gè)16 位定時(shí)器/計(jì)數(shù)器,4個(gè)外部中斷,一個(gè)7向量4級(jí)的中斷結(jié)構(gòu),還有一個(gè)全雙工類型的串行口??臻e模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電后進(jìn)入保護(hù)方式,RAM容保存下來(lái)后,振蕩器會(huì)被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位
9、為止。最高運(yùn)作頻率35MHz,6T/12T可選。STC89C52使用經(jīng)典的MCS-51核,但做了很多的改進(jìn)使得芯片具有傳統(tǒng)51單片機(jī)不具備的功能1。(3)管腳說(shuō)明:VCC:供電電壓。GND:接地。P0 口:P0口是一個(gè)8位開路的漏極的雙向I/O口。以它為輸出口,每一位都能驅(qū)動(dòng)8個(gè)TTL邏輯電平。當(dāng)端口寫“1”時(shí),這時(shí)候引腳把它當(dāng)作高阻抗來(lái)輸入。在flash編程時(shí),p0口可以用作指令字節(jié)的接收;在查驗(yàn)程序的時(shí)候,可以把指令字節(jié)輸出。當(dāng)訪問數(shù)據(jù)存儲(chǔ)器和外部程序時(shí),P0口也作為低8位地址/數(shù)據(jù)復(fù)用。在此模式下, 在P0的部有上拉電阻。檢驗(yàn)程序時(shí),會(huì)用到外部上拉電阻。P1 口:P1 口是一個(gè)在它部有上
10、拉電阻的8 位雙向I/O 口, 輸出緩沖器可以驅(qū)動(dòng)4 個(gè) TTL 邏輯電平。端口寫“1”時(shí),端口被部上拉電阻所拉高,這時(shí)候它可以當(dāng)做輸入口使用。作為輸入時(shí),被拉低的引腳由于部電阻的存在,會(huì)把電流輸出2。具體端口如下:P1.0 T2定時(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è)在它部有上拉電阻的8 位雙向I/O 口, 輸出緩沖器可以驅(qū)動(dòng)4 個(gè) TTL 邏輯電平。在外部程序存儲(chǔ)器被訪問或用16位地址讀取外部的數(shù)據(jù)存儲(chǔ)
11、器時(shí),P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的部上拉電阻發(fā)送1。在flash編程和檢驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和很多控制信號(hào)。對(duì)P2 端口寫“1”時(shí),這時(shí)候端口會(huì)被上拉電阻拉高,此時(shí)就作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于部電阻的原因,將輸出電流。P3 口:P3 口也是在它的部具有上拉電阻的8 位雙向I/O 口, 輸出緩沖器驅(qū)動(dòng)4 個(gè) TTL邏輯電平。當(dāng)它按輸入口使用時(shí),對(duì)P3 端口寫“1”時(shí),端口被部上拉電阻拉高。P3口亦作為STC89C52特殊功能使用,具體如下表所示:P3.0 RXD串行輸入口P3.1 TXD串行輸出口P3.2 INT0外中斷0P3.3
12、 INT1外中斷1P3.4 TO定時(shí)/計(jì)數(shù)器0P3.5 T1定時(shí)/計(jì)數(shù)器1P3.6 WR外部數(shù)據(jù)存儲(chǔ)器寫選通P3.7 RD外部數(shù)據(jù)存儲(chǔ)器讀選通RST:復(fù)位輸入。ALE/PROG:當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),地址的低8位字節(jié)會(huì)被ALE輸出脈沖鎖存。通常情況下,ALE會(huì)以時(shí)鐘振蕩頻率的1/6作為標(biāo)準(zhǔn)來(lái)輸出脈沖信號(hào),因此它能夠用來(lái)定時(shí)還有對(duì)外的輸出時(shí)鐘來(lái)用。但是有一點(diǎn)值得注意:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器的時(shí)候會(huì)跳過(guò)一個(gè)ALE脈沖。此外,該引腳會(huì)被微弱拉高,單片機(jī)在執(zhí)行程序時(shí),要設(shè)置ALE令位無(wú)效。對(duì)FLASH存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖PROG。PSEN:程序儲(chǔ)存允許。外部程序存儲(chǔ)器
13、的讀信號(hào)可以輸出,在外部程序存儲(chǔ)器取指令時(shí),PSEN在每個(gè)周期兩次有效。但是在這段時(shí)間,訪問外部數(shù)據(jù)存儲(chǔ)器,PSEN會(huì)跳過(guò)兩次信號(hào)。EA/VPP:外部訪問允許。想要僅僅訪問外部存儲(chǔ)器,EA端必須保持低電平有效。當(dāng)EA端是高電平,相應(yīng)地,CPU會(huì)訪問部存儲(chǔ)器。XTAL1:反向振蕩放大器的輸入與部時(shí)鐘工作電路的輸入。 XTAL2:來(lái)自反向振蕩器的輸出3。1.2 DS1302時(shí)鐘芯片概述(1)芯片說(shuō)明DS1302是DALLAS公司開發(fā)的一種低耗能、高性能時(shí)鐘芯片。它有31字節(jié)的靜態(tài)RAM,并通過(guò)SPI三線接口與CPU進(jìn)行同步傳輸,能采用突發(fā)的方式一次就能傳輸數(shù)據(jù)和多個(gè)字節(jié)的時(shí)鐘信號(hào)。芯片使用雙電源供
14、電,同樣還可以用備用電源來(lái)進(jìn)行充電。它的功能可以提供秒、分、時(shí)、星期、月和年,一個(gè)月30與31天時(shí)可以自動(dòng)調(diào)整,同時(shí)還有閏年補(bǔ)償?shù)墓δ?。?)引腳分配與說(shuō)明DS1302外部引腳如圖 1- 2所示。圖 1- 2 DS1302引腳圖VCC1:主電源;VCC2:備份電源。當(dāng)VCC1>VCC2時(shí),VCC1向芯片供電;當(dāng)VCC2>VCC1+0.2V時(shí),由VCC2向芯片供電。 I/O:雙向數(shù)據(jù)線。 SCLK:用于串行時(shí)鐘輸入,能夠控制數(shù)據(jù)輸入和輸出。 CE:它有兩個(gè)功能:一是能夠控制字訪問移位寄存器的控制邏輯,二是對(duì)于單字節(jié)和多字節(jié)數(shù)據(jù)傳輸,CE端都可以為他們提供傳輸方法。此外,在輸入信號(hào)時(shí),
15、要想使讀寫數(shù)據(jù)有效,必須保持高電平4。(3)DS1302工作原理 DS1302工作時(shí),首先要進(jìn)行初始化,相應(yīng)的必須使復(fù)位端RST保持高電平有效,這樣才可以把寄存器中裝入地址和命令信息。在SLK的上升沿時(shí),數(shù)據(jù)串行輸入有效,前8位指出要訪問的地址,將命令字裝入移位寄存器后,在下一個(gè)時(shí)鐘周期中,數(shù)據(jù)在讀操作和寫操作時(shí)都可以被輸出。此時(shí)時(shí)鐘脈沖個(gè)數(shù)是8位地址+8位數(shù)據(jù)類型,最多時(shí)能有248的數(shù)據(jù)。(4)DS1302字節(jié)控制圖 1- 3 字節(jié)控制DS1302控制字如圖 1- 3所示,它總是從最低位開始進(jìn)行讀寫操作的。位7是它的最高有效位,必須保證這一位是邏輯1才能使該芯片能夠運(yùn)行,否則是邏輯0的話,芯
16、片無(wú)法寫入數(shù)據(jù)。當(dāng)位6是邏輯0,就可以存取日歷的時(shí)鐘數(shù)據(jù),如果是邏輯1,就會(huì)存取RAM里面的數(shù)據(jù)。位A4到A0這5位代表操作單元地址。當(dāng)位0即最低位是邏輯1時(shí),開始進(jìn)行讀操作,否則是邏輯0的時(shí)候,就進(jìn)行寫操作。因?yàn)镈S1302時(shí)鐘芯片也是本次設(shè)計(jì)核心之一,所以必須對(duì)它如何尋址進(jìn)行讀寫操作十分熟悉。DS1302可以對(duì)32個(gè)地址尋址為了提高它的尋址速度和準(zhǔn)確性,我們可以把日歷還有RAM寄存器規(guī)定成多字節(jié),方便尋址。由以上可知,位6選擇要尋址的對(duì)象是什么,而最低位來(lái)決定是讀還是寫操作。因?yàn)樽x寫都是從最低位開始的,必須按順序先寫最開始的8個(gè)寄存器。但當(dāng)選擇寫RAM時(shí),不管是不是把所有的31個(gè)字節(jié)都寫進(jìn)
17、去了,都能保證這所有的31個(gè)字節(jié)都能夠送入RAM里面。要想充分利用DS1302芯片的功能,還必須對(duì)它的具體的寄存器和控制字有所了解,部寄存器地址和容詳見表1- 1。寄存器名命令字節(jié)取值圍寄存器容寫讀76543210秒寄存器80H81H0059CH10sSEC分寄存器82H83H0059010minMIN小時(shí)寄存器84H85H0023或011212/24010A/PHRHR日期寄存器86H87H0128,29,30,310010DATEDATE月份寄存器88H89H011200010MMONTH周寄存器8AH8BH010700000DAY年寄存器8CH8DH009910YEARYEAR表1- 1
18、 DS1302部寄存器地址和容 DS1302一共有12個(gè)寄存器,這里面主要有7個(gè)寄存器是和我們所要用到的時(shí)鐘日歷有聯(lián)系的,它們都是按BCD碼的形式來(lái)存放數(shù)據(jù)的。奇數(shù)時(shí)進(jìn)行讀操作,而偶數(shù)時(shí)執(zhí)行寫操作。DS1302是可以暫停工作的,主要受寄存器的位7影響。當(dāng)位7是邏輯0的時(shí)候,DS1302才開始工作,當(dāng)它是邏輯1時(shí),芯片會(huì)停止當(dāng)前工作。通常情況下,都是在DS1302進(jìn)入寫操作時(shí),芯片才會(huì)停止振蕩,進(jìn)入備份模式5。1.3 1602顯示屏(1)顯示屏介紹1602顯示屏實(shí)物如圖 1- 4所示。圖 1- 4 1602顯示屏 LCD1602的顯示容量是16*2個(gè)字符,工作電壓合電流分別是5V和2mA,字符尺
19、寸是2.95*4.35mm。本次畢業(yè)設(shè)計(jì)采用的是無(wú)背光(14引腳)的LCD1602,各引腳說(shuō)明如下:1腳和2腳:VSS和VDD分別接地和5V電源。3腳:用來(lái)調(diào)整顯示器的對(duì)比度,對(duì)比度在接地時(shí)最高,在接電源時(shí)最低,使用過(guò)程中接一個(gè)10K電位器可以合理地對(duì)對(duì)比度進(jìn)行調(diào)整。4腳:RS,對(duì)寄存器具有選擇功能,當(dāng)接高電平時(shí),選擇的是數(shù)據(jù)寄存器,當(dāng)接低電平時(shí),相應(yīng)地選擇指令寄存器。5腳:是選擇讀寫的信號(hào)端,用R/W來(lái)表示。當(dāng)接低電平時(shí)選擇寫操作,當(dāng)接高電平時(shí)選擇的是讀操作。6腳:使能端,用E表示,當(dāng)它從高電平變成低電平有效時(shí),開始執(zhí)行命令。7到14腳:這八個(gè)引腳分別代表8個(gè)8位的雙向數(shù)據(jù)線,用D0到D7表
20、示。(2)數(shù)碼管顯示原理以共陽(yáng)極為例,部結(jié)構(gòu)如圖 1- 5所示。圖 1- 5 數(shù)碼管部結(jié)構(gòu)數(shù)碼管顯示,需要驅(qū)動(dòng)電路的作用,通過(guò)驅(qū)動(dòng)電路,使得不同的碼段發(fā)亮,來(lái)達(dá)到效果。數(shù)碼管顯示有靜態(tài)方式和動(dòng)態(tài)方式兩種: 靜態(tài)顯示:靜態(tài)顯示必須保證每一個(gè)數(shù)碼管的段選端都要接一個(gè)8位數(shù)據(jù)線,字形一旦送入,就能一直保持,當(dāng)下一個(gè)字形再輸入時(shí)才發(fā)生變化。使用靜態(tài)顯示,對(duì)CPU占用少,編程簡(jiǎn)單,但是電路會(huì)比較復(fù)雜,操作性不高。 動(dòng)態(tài)顯示:動(dòng)態(tài)顯示需要把數(shù)碼管所有段選端并聯(lián),通過(guò)位選線來(lái)選擇點(diǎn)亮哪一段。如圖4所示有a到dp8個(gè)端,把這8個(gè)端口并聯(lián)在一條線上,在數(shù)碼管公共級(jí)接上位選通控制電路,每個(gè)端口的I/O線控制自己的
21、選通端。然后工作時(shí),單片機(jī)會(huì)把需要選擇的數(shù)碼管的選通控制打開,沒選中的就不工作,這樣來(lái)實(shí)現(xiàn)需要得到的數(shù)字。動(dòng)態(tài)顯示相比于靜態(tài)顯示,可以節(jié)省更多的I/O端口,功耗低,較為實(shí)用。1.4 元件清單元器件清單見表1- 2 元器件清單。元件名封裝標(biāo)稱值說(shuō)明數(shù)量C1直插10uF電解電容1C2直插20pF1C3直插20pF1C4直插0.1uF1C5直插22uF電解電容1R直插1k、1k、510不等15B1直插蜂鳴器1V1直插8550三極管1Y1直插11.0572M晶振1Y2直插32.768k晶振1K1直插自鎖按鈕電源開關(guān)1K2到K7直插微動(dòng)開關(guān)按鍵1到66U1直插STC89C52單片機(jī)主芯片1U2DIP8D
22、S1302時(shí)鐘芯片1液晶屏LCD1602無(wú)背光顯示屏1紐扣電池CR23023V1J14腳插針1J2SIP16顯示接口16腳插座1單片機(jī)插座DIP401表1- 2 元器件清單第2章 硬件電路圖設(shè)計(jì)Protel硬件開發(fā)與介紹Protel是我們國(guó)目前最流行的通用EDA軟件,它是一個(gè)整體的工作平臺(tái),包含了電路原理圖的設(shè)計(jì)、PCB板設(shè)計(jì)、電路仿真還有PLD設(shè)計(jì)等多個(gè)模塊于一身的設(shè)計(jì)軟件,是第一個(gè)將EDA軟件設(shè)計(jì)成基于Windows系統(tǒng)下的應(yīng)用軟件。Protel的包括了許多功能,在電子電路設(shè)計(jì)領(lǐng)域占有極其重要的地位。它集成了軟件界面、仿真功能和PLD設(shè)計(jì)和信號(hào)完整性分析,在此基礎(chǔ)上Protel 99SE又
23、增加了一些新的功能,使用起來(lái)更加方便靈活。它因?yàn)榫哂泻芎玫膶?shí)用性,而且容易掌握,逐漸獲得廣大硬件設(shè)計(jì)人員的青睞,是目前眾多EDA設(shè)計(jì)軟件中用戶最多的產(chǎn)品之一。Altium Designer 6.0是Protel原廠Altium公司開發(fā)的一款用于板級(jí)設(shè)計(jì)的軟件。該軟件可以支持PCB集成化設(shè)計(jì),嵌入式軟件開發(fā)和FPGA設(shè)計(jì)等多種功能。它以EDA為工作平臺(tái),是第一款將EDA軟件設(shè)計(jì)在Windows下運(yùn)行的產(chǎn)品。它的功能非常強(qiáng)大,主要包括原理圖設(shè)計(jì),信號(hào)仿真,PLD模塊設(shè)計(jì)和完整性分析四個(gè)模塊,在我們電子電路設(shè)計(jì)行業(yè)中發(fā)揮著重大作用。(1) 原理圖設(shè)計(jì) 制作電子器件電路圖是最基本的要素,Protel軟
24、件對(duì)各種電子器件都予以收錄并說(shuō)明,各自用特殊的圖形符號(hào)來(lái)表示。我們可以利用它將這些圖形符號(hào)施以必要的結(jié)點(diǎn)和線路連接起來(lái)得到我們需要的電路圖。(2) PCB設(shè)計(jì)板塊想要得到電子成品,僅有電路圖是不夠的,還需要實(shí)物化,PCB設(shè)計(jì)就是把基本的電路圖轉(zhuǎn)化成電路板的過(guò)程。利用該軟件可以方便對(duì)電路圖做出改動(dòng),具有很強(qiáng)的自動(dòng)功能,制作出符合我們要求的電路板。(3) 信號(hào)仿真電路板設(shè)計(jì)好后,可以通過(guò)軟件進(jìn)行仿真實(shí)驗(yàn),從仿真元件庫(kù)中找到相應(yīng)元件,連接好后,加上電源,就能完成對(duì)電路的仿真,大大提高效率6。2.2 電路總體設(shè)計(jì)圖本次設(shè)計(jì)的核心部分就是單片機(jī)芯片STC89C52,用它來(lái)實(shí)現(xiàn)最主要的控制功能。然后由外部
25、電源對(duì)它供電,還需要對(duì)六鍵鍵盤操作,向芯片部傳遞我們想要實(shí)現(xiàn)的信息,這樣單片機(jī)才能接受信息,開始工作。然后芯片根據(jù)所收到的信息,將我們需要的信息再通過(guò)外部器件傳達(dá)給我們。時(shí)間信息顯示在1602顯示屏上面,當(dāng)時(shí)間走到我們?cè)O(shè)定的鬧鐘時(shí)刻時(shí),單片機(jī)會(huì)向蜂鳴器發(fā)出指令,起到報(bào)警作用,達(dá)到我們想要的鬧鈴效果。當(dāng)所接的外部電源斷開時(shí),DS1302時(shí)鐘芯片在掉電情況下在紐扣電池作用下可以保持繼續(xù)工作,確保走時(shí)的準(zhǔn)確性。所以電路設(shè)計(jì)的總體思路如圖 2- 1。按鍵輸 入電源供 電單片機(jī)主芯片顯示屏?xí)r鐘芯片鬧鐘電路圖 2- 1 電路設(shè)計(jì)流程電路的PCB圖見(1) 圖 2- 2。圖 2- 2 PCB設(shè)計(jì)圖電路的整體
26、布線圖如圖 2- 3。圖 2- 3電路布線圖電路實(shí)物圖如圖 2- 4。圖 2- 4 電路實(shí)物圖如上圖所示,用STC89C52作為主控芯片,然后通過(guò)DS1302來(lái)實(shí)現(xiàn)后臺(tái)計(jì)時(shí)功能,用一片紐扣電池為其供電,使得在掉電時(shí)依然保證時(shí)鐘準(zhǔn)確計(jì)時(shí)。由六鍵鍵盤來(lái)設(shè)定顯示時(shí)間與鬧鐘,通過(guò)顯示屏顯示年、月、日、時(shí)、分、秒各個(gè)信息,當(dāng)走到所定的鬧鐘時(shí)間時(shí),由蜂鳴器報(bào)警提示,來(lái)完成一整套工作。2.3 各部分電路原理圖(1)STC89C52主芯片原理圖如圖 2- 5。圖 2- 5 主芯片設(shè)計(jì)圖在芯片外圍,是左上端復(fù)位電路,由一個(gè)電容和一個(gè)電阻構(gòu)成,利用它使電路可以恢復(fù)到初始狀態(tài)。主芯片的管腳,P00到P07與液晶屏相
27、連,左側(cè)伸出的RXD和TXD兩端,用于單片機(jī)程序的下載。整個(gè)這段電路是這個(gè)電子時(shí)鐘的核心部分。(2)DS1302時(shí)鐘芯片電路原理圖如圖 2- 6。圖 2- 6 時(shí)鐘芯片設(shè)計(jì)圖圖中BT1所示接的是一個(gè)紐扣電池,這樣可以保證在不接通外部電源情況下,時(shí)鐘依然可以后臺(tái)準(zhǔn)確走時(shí),確保它的準(zhǔn)時(shí)性。R10到R12都是上拉電阻。整個(gè)DS1302芯片是通過(guò)RST、I/O還有SCLK三個(gè)管腳和單片機(jī)主芯片連接來(lái)實(shí)現(xiàn)功能的。(3)鬧鐘電路部分如圖 2- 7所示。圖 2- 7 鬧鐘部分設(shè)計(jì)圖 上圖是數(shù)字電子鐘里面關(guān)于鬧鐘部分的電路原理圖,最主要更能就是在到達(dá)設(shè)定時(shí)間時(shí),蜂鳴器會(huì)報(bào)警提醒,達(dá)到鬧鐘的目的。報(bào)警燈需要和單
28、片機(jī)主芯片的管腳驅(qū)動(dòng)蜂鳴器相連,受它控制。(4) 按鍵電路部分原理圖見圖 2- 8。圖 2- 8 按鍵部分設(shè)計(jì)圖 上圖是按鍵驅(qū)動(dòng)電路的組成情況。當(dāng)按下按鍵時(shí)單片機(jī)通過(guò)管腳收到的是低電平,單片機(jī)主芯片是通過(guò)查詢的方式來(lái)得到按鍵驅(qū)動(dòng)電路傳來(lái)的信息,作出決定。當(dāng)按鍵彈回時(shí),發(fā)出高電平,停止工作7。第3章 軟件總體設(shè)計(jì)單片機(jī)想要實(shí)現(xiàn)我們需要的目的,僅僅有硬件不夠的,還需要軟件編程來(lái)運(yùn)行。軟件的設(shè)計(jì)與實(shí)現(xiàn),同樣需要像硬件組成一樣來(lái)規(guī)劃,先從總體進(jìn)行構(gòu)造,然后一部分一部分進(jìn)行分析,使程序簡(jiǎn)單合理,流程清晰。單片機(jī)編程方面,可以采用匯編語(yǔ)言的方式,也可以用C語(yǔ)言的方式,需要對(duì)比選擇,最后采取合適的方案。計(jì)算
29、機(jī)并不能直接識(shí)別我們輸入的指令語(yǔ)言,需要一種程序?qū)⑽覀兊闹噶罡淖兂捎?jì)算機(jī)能識(shí)別的機(jī)器語(yǔ)言,這就是匯編語(yǔ)言。匯編語(yǔ)言是直接面向計(jì)算機(jī)的低級(jí)語(yǔ)言,具有容易讀寫、調(diào)試和修改等優(yōu)點(diǎn),可以直接訪問、控制計(jì)算機(jī)的各類硬件設(shè)備還有各個(gè)接口,占用存少,執(zhí)行速度較快。但是作為一種低級(jí)語(yǔ)言,它的編寫程序復(fù)雜,代碼量很大,而且通用性差,可移植性不高,所以不提倡使用匯編語(yǔ)言的編程方式。反觀C語(yǔ)言,它是一種高級(jí)語(yǔ)言,同時(shí)又具備了匯編語(yǔ)言的全部?jī)?yōu)點(diǎn),所以比較常用。C語(yǔ)言可以對(duì)字節(jié)還有地址進(jìn)行直接操作,而且可移植性很好。同時(shí),C語(yǔ)言是一種結(jié)構(gòu)性語(yǔ)言,程序的各個(gè)部分可以分開,相互之間的層次十分分明,而且在編程時(shí),可以提前定義
30、函數(shù),對(duì)定義的函數(shù)進(jìn)行調(diào)用,中間還可以使用像條件語(yǔ)句、循環(huán)語(yǔ)句、選擇語(yǔ)句等結(jié)構(gòu)化語(yǔ)句,方便了在整個(gè)編寫過(guò)程中的修改和調(diào)試。除此之外,C語(yǔ)言中還引入了指針,這樣可以更好地提高程序的效率,大大提高了它的使用率。綜上所述,決定在本次畢業(yè)設(shè)計(jì)中還是采用我比較熟悉的C語(yǔ)言編程的方式,提高效率。然后先設(shè)計(jì)整體的流程,確定總體設(shè)計(jì)方案,然后再分塊,編寫程序,最后組成合適的程序方案。3.1 主流程圖主流程圖如圖 3- 1所示。開始定時(shí)器與中斷定時(shí)器初始化是否設(shè)定參數(shù)執(zhí)行顯示程序執(zhí)行時(shí)鐘鬧鈴設(shè)定程序NY圖 3- 1 主流程圖3.2 軟件設(shè)計(jì)分部說(shuō)明(1)時(shí)間調(diào)整設(shè)計(jì)說(shuō)明電路板共有六個(gè)按鈕,其中有四個(gè)是用來(lái)調(diào)整時(shí)
31、間的。首先第一個(gè)是用來(lái)選擇要調(diào)整的位數(shù)的。調(diào)整時(shí)間需要一位一位來(lái)調(diào)整,這個(gè)就需要先選擇出來(lái),并且要與其它未改動(dòng)的位區(qū)分出來(lái),所以增加閃爍功能,讓選中待調(diào)整的位閃爍,當(dāng)改動(dòng)好后再移到下一位,讓下一位閃爍。閃爍的時(shí)間間隔我們可以自由設(shè)置。然后就是另外兩個(gè)按鈕,實(shí)現(xiàn)具體的時(shí)間改動(dòng)功能,分別稱作加1鈕和減1鈕。選中一位后,按下加1鈕時(shí)間會(huì)往前調(diào)整,按下減1鈕時(shí)間會(huì)向后退。由于時(shí)間不同單位的進(jìn)制是不一樣的,也需要部分考慮。例如調(diào)整小時(shí)位時(shí),當(dāng)時(shí)間加到23時(shí),就不能再繼續(xù)加了,需要往后減,找到我們想要的數(shù)字即可。同樣的,不僅時(shí)間可以這樣改動(dòng),對(duì)于年月日的調(diào)整也一樣,直到所有的東西都改動(dòng)好就可完成了8。(2
32、)時(shí)間走時(shí)與中斷設(shè)計(jì)時(shí)間的走時(shí),進(jìn)位是按秒、分、時(shí)的順序來(lái)進(jìn)行的。中斷先看1秒到了沒有,到了秒這位就加1,不到的話就繼續(xù)檢測(cè)下一位,分位,如果到了1分鐘,該位就加1,如果到不了1分鐘,就再往下檢測(cè)下一位,就是小時(shí)位,如果到了1個(gè)小時(shí),就把小時(shí)位加1,否則就顯示時(shí)間即可。這樣來(lái)一位一位地實(shí)現(xiàn)時(shí)、分、秒的轉(zhuǎn)換。(3)顯示與鬧鐘模塊設(shè)計(jì) 時(shí)間依次在屏幕顯示之后,芯片部會(huì)每改變一個(gè)時(shí)間就對(duì)我們所設(shè)定的鬧鐘時(shí)間進(jìn)行比較,如果還未到,會(huì)繼續(xù)走時(shí),后臺(tái)還會(huì)繼續(xù)詢問是否到達(dá)設(shè)計(jì)的鬧鐘時(shí)間。如果到了我們?cè)O(shè)定的鬧鐘時(shí)間了,主芯片就會(huì)向蜂鳴器發(fā)出指令,讓它報(bào)警,達(dá)到目的9。第4章 調(diào)試與誤差分析4.1 程序下載與調(diào)
33、試(1)Keil uVision4簡(jiǎn)介Keil uVision4是一款引入了窗口管理系統(tǒng)的,比較人性化的編譯環(huán)境。在里面不僅可以選擇我們所用的芯片和其它硬件元器件,還可以把我們寫好的程序下載進(jìn)來(lái),進(jìn)行仿真調(diào)試,是一款能夠充分提高開發(fā)人員水平且方便實(shí)用的軟件。軟件使用非常簡(jiǎn)單,就是把.c和.hex文件建立好,然后對(duì)他們進(jìn)行編譯,下載之后進(jìn)行調(diào)試就行。下載程序時(shí),需要用到STC單片機(jī)下載軟件。單擊STC-ISP-V481來(lái)運(yùn)行,得到如圖 4- 1 下載界面所示的界面。圖 4- 1 下載界面 選擇好STC89C52類型的芯片后,再打開.hex文件,單擊下載按鈕,就能順利下載。這些準(zhǔn)備都做好后,直接給
34、電路板外部供電后,就能開始運(yùn)行了9。4.2 調(diào)試結(jié)果與誤差分析運(yùn)行過(guò)程中,實(shí)際位選碼的輸出來(lái)自P2口,段選碼是從P0口輸出的,存儲(chǔ)單元部都是以二進(jìn)制數(shù)來(lái)存儲(chǔ)的。我們要想把顯示的數(shù)據(jù)送到P0口,就必須先把我們想要顯示的數(shù)據(jù)轉(zhuǎn)換成BCD碼后,再把轉(zhuǎn)換后的數(shù)據(jù)送到P0口段選端,這樣才能驅(qū)動(dòng)1602的數(shù)碼管顯示器。時(shí)間能否準(zhǔn)確走時(shí),還需要定時(shí)中斷程序?qū)r(shí)、分、秒進(jìn)位調(diào)整。計(jì)數(shù)器T0打開后,先從秒開始,滿一秒后進(jìn)位,夠60 秒后就為1 分鐘, 分鐘單元進(jìn)位,60 分到了后,時(shí)單元進(jìn)位,24 小時(shí)滿后,天單元進(jìn)位。每個(gè)單位進(jìn)制是不一樣的,當(dāng)我們都規(guī)劃好以后,還需要把時(shí)分秒的存儲(chǔ)值進(jìn)行BCD碼轉(zhuǎn)換后,才能使它們顯示在屏幕上。4.3 誤差分析數(shù)字電子鐘是精確度很高的電子產(chǎn)品,因?yàn)樵O(shè)計(jì)的不全面性,難免存在誤差。最容易想到的就是按鍵所帶來(lái)的時(shí)間延時(shí)。如果在程序里面設(shè)定比較合適的按鍵延長(zhǎng)時(shí)間,可以盡量避免此類誤差。因?yàn)殡娮隅娪珊芏嘈酒推渌?/p>
溫馨提示
- 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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度貨運(yùn)司機(jī)勞動(dòng)合同模板(含績(jī)效考核)
- 二零二五年度學(xué)校教師學(xué)生國(guó)際交流與合作聘用合同3篇
- 二零二五年度信息技術(shù)產(chǎn)品軟件售后服務(wù)合同書模板2篇
- 2025年度個(gè)人法律咨詢委托書范本4篇
- 二零二五年度廚房電氣設(shè)備安裝與維護(hù)承包協(xié)議4篇
- 2025版實(shí)習(xí)合同模板:實(shí)習(xí)期間解約與補(bǔ)償3篇
- 二零二五版舊機(jī)動(dòng)車交易車輛售后配件供應(yīng)合同3篇
- 2025版實(shí)習(xí)期員工勞動(dòng)合同-實(shí)習(xí)期間合同解除與續(xù)簽3篇
- 珠海科技學(xué)院《賈平凹文學(xué)創(chuàng)作研究》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年度商業(yè)寫字樓租賃合同樣本
- 運(yùn)動(dòng)技能學(xué)習(xí)與控制課件第十一章運(yùn)動(dòng)技能的練習(xí)
- 蟲洞書簡(jiǎn)全套8本
- 射頻在疼痛治療中的應(yīng)用
- 四年級(jí)數(shù)學(xué)豎式計(jì)算100道文檔
- “新零售”模式下生鮮電商的營(yíng)銷策略研究-以盒馬鮮生為例
- 項(xiàng)痹病辨證施護(hù)
- 職業(yè)安全健康工作總結(jié)(2篇)
- 懷化市數(shù)字經(jīng)濟(jì)產(chǎn)業(yè)發(fā)展概況及未來(lái)投資可行性研究報(bào)告
- 07FD02 防空地下室電氣設(shè)備安裝
- 教師高中化學(xué)大單元教學(xué)培訓(xùn)心得體會(huì)
- 彈簧分離問題經(jīng)典題目
評(píng)論
0/150
提交評(píng)論