已閱讀5頁(yè),還剩28頁(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)介
基于單片機(jī)的數(shù)字電子鐘設(shè)計(jì)學(xué) 生:劉冰波指導(dǎo)老師:劉旭紅(湖南農(nóng)業(yè)大學(xué)東方科技學(xué)院,長(zhǎng)沙 410128)摘 要:本文詳細(xì)介紹了基于單片機(jī)的數(shù)字電子鐘的設(shè)計(jì),本電子鐘可以實(shí)現(xiàn)日期、時(shí)間的顯示和調(diào)整,帶有整點(diǎn)語(yǔ)音播報(bào)和一個(gè)鬧鐘,并且可以顯示當(dāng)前氣溫。本設(shè)計(jì)包括硬件設(shè)計(jì)和軟件設(shè)計(jì)兩部分。主要硬件有:AT89S51單片機(jī)、DS1302時(shí)鐘芯片、LCD1602顯示管、DS18B20溫度傳感器、若干按鍵等。軟件部分采用模塊化的設(shè)計(jì),包括中斷模塊、鬧鐘模塊、語(yǔ)音模塊、時(shí)間調(diào)整模塊設(shè)計(jì),并采用簡(jiǎn)單流通性強(qiáng)的C語(yǔ)言編寫(xiě)實(shí)現(xiàn)。用數(shù)字溫度計(jì)DS18B20測(cè)量當(dāng)前氣溫,在把實(shí)時(shí)數(shù)據(jù)顯示在LCD1602上的同時(shí),不斷掃描按鍵,如果有按鍵按下,則對(duì)按鍵做出相應(yīng)的響應(yīng)。關(guān)鍵詞:AT89S51單片機(jī);數(shù)字鐘;溫度測(cè)量The Design of Digital Electronic Clock Base on SCMStudent:Liu Bing-boTutor:Liu Xu-hong(Oriental Science Technology College of Hunan Agricultural University, Changsha 410128)Abstract:This paper focuses on introducing the design of single chip processor based digital electronic clock, it can show and regulate time and date and bacause of integral point,voice broadcast and an alarm clock, it can also display the current temperature.The design consist of hardware and software design . The main hardware: AT89S51 MCU DS1302 clock chip, the LCD1602 display tube, DS18B20 temperature sensor, a number of buttons and so on. The software part of adopts modularization, including the interrupt module, alarm clock module, voice module, and adjusting time modular design, and simple liquid written in C language to achieve. Measuring the current temperature with digital thermometer DS18B20, it can show the current-time information in the LCD1602,at the same time, it constantly scan button, if the button is pressed, then it will make the appropriate response.Key words :AT89S51 microcontroller; Digital clock; Temperature measurement 1 前言“一寸光陰一寸金,寸金難買(mǎi)寸光陰”!時(shí)間對(duì)于我們每一個(gè)人都是非常寶貴的,所以鐘表作為人們掌握時(shí)間的工具就顯得十分重要!鐘表的出現(xiàn)已經(jīng)有幾百年歷史,尤其是擺鐘和后來(lái)的懷表,可以稱作鐘表中的經(jīng)典,不僅大方實(shí)用,而且制作精美。但近幾十年,由于微電子的迅猛發(fā)展,這樣的鐘表已經(jīng)銷聲匿跡,取而代之的則是電子時(shí)鐘。電子時(shí)鐘不僅精確度更高、外觀小巧、功能更加完善,制作成本也是非常低。數(shù)字電子鐘一個(gè)無(wú)處不在的電子產(chǎn)品,經(jīng)過(guò)多年的發(fā)展技術(shù)已經(jīng)相當(dāng)成熟了。目前應(yīng)用廣泛的數(shù)字鐘大多用AT89S51單片機(jī)為核心控制部件制作的,可以實(shí)現(xiàn)對(duì)年、月、日、時(shí)、分、秒的數(shù)字顯示,通過(guò)擴(kuò)展還可實(shí)現(xiàn)對(duì)電子鐘所在地點(diǎn)的溫度顯示、定時(shí)鬧鐘功能和定時(shí)開(kāi)關(guān)控制,廣泛應(yīng)用于車站、醫(yī)院、機(jī)場(chǎng)、廁所等公共場(chǎng)所的時(shí)間顯示。與機(jī)械鐘表和3V電源半機(jī)械鐘表相比,數(shù)字電子鐘具有時(shí)間精確、停電不用校準(zhǔn)、減少汞電池的使用等優(yōu)點(diǎn)?,F(xiàn)代社會(huì),守時(shí)已不僅關(guān)系到一個(gè)人的職業(yè)生涯,還成了衡量一個(gè)人道德的標(biāo)準(zhǔn)。自從有了時(shí)間的概念,人們就開(kāi)始研究如何計(jì)時(shí)。隨著時(shí)代的發(fā)展,尤其是近些年來(lái)科學(xué)技術(shù)的飛速發(fā)展,計(jì)時(shí)的方式有了很大的進(jìn)步,并且,這種技術(shù)日趨完善,現(xiàn)在以被廣泛的應(yīng)用在我們的生活、生產(chǎn)的方方面面。例如奧運(yùn)會(huì)倒計(jì)時(shí)顯示屏、鐵路安全日顯示屏、生產(chǎn)線看板、體育比賽計(jì)時(shí)屏、大型室外高亮度時(shí)鐘等,這類產(chǎn)品覆蓋銀行、醫(yī)院、地鐵車站、體育運(yùn)動(dòng)、電視臺(tái)、監(jiān)控系統(tǒng)、高大建筑物等行業(yè)。通過(guò)一系列硬軟件的設(shè)計(jì)一個(gè)基于AT89S51單片機(jī)的數(shù)字電子鐘能實(shí)現(xiàn)日期、時(shí)間的顯示和調(diào)整,帶有整點(diǎn)語(yǔ)音播報(bào)和一個(gè)鬧鐘,并且可以顯示當(dāng)前氣溫?,F(xiàn)在我國(guó)數(shù)字電子鐘產(chǎn)業(yè)已經(jīng)經(jīng)過(guò)了30多年的發(fā)展已形成了近百家的產(chǎn)業(yè)規(guī)模,其中具有一定設(shè)計(jì)規(guī)模的單位有20多家,在國(guó)內(nèi)電子鐘行業(yè)中處于領(lǐng)先地位的數(shù)字電子鐘品牌有漳州吉美電子有限公司電子鐘;歐西亞電子鐘;煙臺(tái)未來(lái)塔鐘有限公司電子鐘。經(jīng)過(guò)幾十年的發(fā)展,數(shù)字電子鐘衍生出各種各樣類型和功能的電子鐘,比如:LCD 數(shù)字鐘、萬(wàn)年歷、電波鐘、多功能氣像站鐘、RF+RCC天氣預(yù)報(bào)鐘和霓虹鐘等。中國(guó)數(shù)字電子鐘在國(guó)內(nèi)外市場(chǎng)上占據(jù)一席之地并贏得了廣泛的贊譽(yù)。2 整體設(shè)計(jì)方案由于本系統(tǒng)要求具有語(yǔ)音播報(bào)功能,所以需采用十六位可處理語(yǔ)音信號(hào)的單片機(jī)。其主要設(shè)計(jì)思想是:整個(gè)系統(tǒng)用單片機(jī)為中央控制器,由單片機(jī)執(zhí)行采集時(shí)鐘芯片的時(shí)間信號(hào)并通過(guò)顯示模塊來(lái)輸出信號(hào)及相關(guān)的控制功能。時(shí)鐘芯片產(chǎn)生時(shí)鐘信號(hào),利用單片機(jī)的I/O口傳給單片機(jī);并通過(guò)I/O口實(shí)現(xiàn)LCD的顯示。系統(tǒng)設(shè)有4個(gè)按鍵可以對(duì)時(shí)間星期年月日進(jìn)行調(diào)整,還可以設(shè)置鬧鐘。整體框架如圖1所示。語(yǔ)音模塊LCD顯示單片機(jī)電源模塊復(fù)位電路時(shí)鐘模塊按鍵模塊溫度模塊圖1 系統(tǒng)整體框圖Fig l System overall block diagram2.1 單片機(jī)的選擇AT89S51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫(xiě)1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造1,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。 AT89S51具有如下特點(diǎn):40個(gè)引腳,4k Bytes Flash片內(nèi)程序存儲(chǔ)器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門(mén)狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。此外,AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過(guò)軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位2。 主要功能特性為:兼容MCS-51指令系統(tǒng);4k可反復(fù)擦寫(xiě)(1000次)ISP Flash ROM;32個(gè)雙向I/O口;4.5-5.5V工作電壓;2個(gè)16位可編程定時(shí)/計(jì)數(shù)器;時(shí)鐘頻率0-33MHz;全雙工UART串行中斷口線;128x8bit內(nèi)部RAM;2個(gè)外部中斷源;低功耗空閑和省電模式;中斷喚醒省電模式;看門(mén)狗(WDT)電路;靈活的ISP字節(jié)和分頁(yè)編程;雙數(shù)據(jù)寄存器指針。AT89S51單片機(jī)與其他品牌單片機(jī)相比有著性價(jià)比高,性能穩(wěn)定的特點(diǎn)。(1) 51單片機(jī)的優(yōu)點(diǎn)如果是作低成本的智能產(chǎn)品,51構(gòu)架單片機(jī)的成本優(yōu)勢(shì),還是無(wú)人能敵的。比如一片AT89S51和AT89S52單片機(jī)的批量?jī)r(jià)格大概是5元左右,STC89C52單片機(jī)的批量?jī)r(jià)格大概是6元多,這樣的芯片價(jià)格是很低的。一片簡(jiǎn)單的74系列通用數(shù)字邏輯芯片還要1元左右,而一片51單片機(jī)內(nèi)部集成有成千上萬(wàn)個(gè)晶體管開(kāi)關(guān)電路。51構(gòu)架已經(jīng)誕生很多年了,到目前依然有著強(qiáng)大的生命力和實(shí)用性,從1976年51構(gòu)架成功面市,多少年過(guò)去了,從90年代初全新閃存結(jié)構(gòu)的AT89C51要90元一片,到現(xiàn)在AT89S51只要5元多一片,51依然大量的使用著。使用51單片機(jī)能夠有效的控制智能產(chǎn)品整機(jī)的成本, 51系列還是有著無(wú)法替代的重要地位。(2) AT89S51與AT89C51的比較AT89S51相對(duì)與AT89C51新增加了很多功能,性能有了較大提升,價(jià)格基本不變,甚至比89C51更低! AT89S51具有ISP在線編程功能,這個(gè)功能的優(yōu)勢(shì)在于改寫(xiě)單片機(jī)存儲(chǔ)器內(nèi)的程序不需要把芯片從工作環(huán)境上拔除,可以在線燒寫(xiě)。AT89S51的最高工作頻率為33MHz, 89C51的極限工作頻率是24M,就是說(shuō)S51具有更高工作頻率,從而具有了更快的計(jì)算速度。AT89S51具有雙工UART串行通道。AT89S51內(nèi)部集成看門(mén)狗計(jì)時(shí)器,不再需要像89C51那樣外接看門(mén)狗計(jì)時(shí)器單元電路。 AT89S51具有雙數(shù)據(jù)指示器。 AT89S51具有電源關(guān)閉標(biāo)識(shí)。 AT89S51具有全新的加密算法,這使得對(duì)于89S51的解密變?yōu)椴豢赡?,程序的保密性大大加?qiáng),這樣就可以有效的保護(hù)知識(shí)產(chǎn)權(quán)不被侵犯。 在兼容性方面,AT89S51向下完全兼容51全部字系列產(chǎn)品。比如8051、89C51等產(chǎn)品。也就是說(shuō)不論教科書(shū)上采用的單片機(jī)是8051還是89C51還是MCS-51等等。在89S51上一樣可以照常運(yùn)行,這就是所謂的向下兼容。 AT89S51與AT89C51就如同INTEL的P3向P4升級(jí)一樣,雖然都可以跑Windows98,不過(guò)速度是不同的。總之,無(wú)論是比其他品牌同類產(chǎn)品相比,還是與同品牌產(chǎn)品相比都顯示出了AT89S51優(yōu)良的性能,更高的性價(jià)比。所以AT89S51芯片成為了本系統(tǒng)的首選。2.2 單片機(jī)的基本結(jié)構(gòu)AT89S51單片機(jī)基本結(jié)構(gòu)主要包括了以下主要部件:(1) 控制器控制器是單片機(jī)的指揮控制部件,控制器的主要任務(wù)是識(shí)別指令,并根據(jù)指令的性質(zhì)控制單片機(jī)各功能部件,從而保證單片機(jī)各部分能自動(dòng)而協(xié)調(diào)地工作。單片機(jī)執(zhí)行指令是在控制器的控制下進(jìn)行的。首先從程序存儲(chǔ)器中讀出指令,送指令寄存器保存,然后送至指令譯碼器進(jìn)行譯碼,譯碼結(jié)果送定時(shí)控制邏輯電路,由定時(shí)控制邏輯產(chǎn)生各種定時(shí)信號(hào)和控制信號(hào),再送到單片機(jī)的各個(gè)部件去進(jìn)行相應(yīng)的操作。這就是執(zhí)行一條指令的全過(guò)程,執(zhí)行程序就是不斷重復(fù)這一過(guò)程??刂破髦饕ǔ绦蛴?jì)數(shù)器、程序地址寄存器、指令寄存器IR、指令譯碼器、條件轉(zhuǎn)移邏輯電路及時(shí)序控制邏輯電路。(2) 存儲(chǔ)器AT89S51單片機(jī)存儲(chǔ)器采用的是哈佛結(jié)構(gòu),即程序存儲(chǔ)器空間和數(shù)據(jù)存儲(chǔ)器空間截然分開(kāi),程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器各有自己的尋址方式,尋址空間和控制系統(tǒng)。這種結(jié)構(gòu)對(duì)于單片機(jī)面向控制的實(shí)際應(yīng)用極為方便,有利.在8051/8751彈片擊中,不僅在片內(nèi)集成了一定容量的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器及眾多的特殊功能寄存器,而且還具有極強(qiáng)的外存儲(chǔ)器的擴(kuò)展能力,尋址能力分別可達(dá)64KB,尋址和操作簡(jiǎn)單方便。(3) 并行I/O口MCS-51單片機(jī)共有4個(gè)雙向的8位并行I/O端口(Port),分別記作P0-P3,共有32根口線,各口的每一位均由鎖存器、輸出驅(qū)動(dòng)器和輸入緩沖器所組成。實(shí)際上P0-P3已被歸入特殊功能寄存器之列。這四個(gè)口除了按字節(jié)尋址以外,還可以按位尋址。由于它們?cè)诮Y(jié)構(gòu)上有一些差異,故各口的性質(zhì)和功能有一些差異。(4) 時(shí)鐘電路與時(shí)序時(shí)鐘電路用于產(chǎn)生MCS-51單片機(jī)工作時(shí)所必需的時(shí)鐘信號(hào)。MCS-51單片機(jī)本身就是一個(gè)復(fù)雜的同步時(shí)序電路,為保證同步工作方式的實(shí)現(xiàn),MCS-51單片機(jī)應(yīng)在唯一的時(shí)鐘信號(hào)控制下,嚴(yán)格地按時(shí)序執(zhí)行進(jìn)行工作,而時(shí)序所研究的是指令執(zhí)行中各個(gè)信號(hào)的關(guān)系。3 數(shù)字鐘的硬件設(shè)計(jì)3.1 最小系統(tǒng)設(shè)計(jì)單片機(jī)要正常運(yùn)行,必須具備一定的硬件條件,其中最主要的就是三個(gè)基本條件:(1)電源正常;(2)時(shí)鐘正常;(3)復(fù)位正常。AT89S51的引腳如圖2所示。在AT89S51單片機(jī)的40個(gè)引腳中,電源引腳2根,晶振引腳2根,控制引腳4根,可編程輸入輸出引腳32根3。(1) 工作電源電源是單片機(jī)工作的動(dòng)力源泉,對(duì)應(yīng)的接線方法為;40腳(VCC)電源引腳,工作時(shí)接5電源,20腳(GND)為接地線。(2) 時(shí)鐘電路時(shí)鐘電路為單片機(jī)產(chǎn)生時(shí)序脈沖,單片機(jī)所有運(yùn)算與控制過(guò)程都是在統(tǒng)一的時(shí)序脈沖的驅(qū)動(dòng)下進(jìn)行的,時(shí)鐘電路就好比人的心臟一樣重要。當(dāng)采用內(nèi)部時(shí)鐘時(shí),連接方法如圖2所示,在晶振引腳XTAL1(19腳)和XTAL2(18腳)引腳之間接入一個(gè)晶振,兩個(gè)引腳對(duì)地分別再接入一個(gè)電容即可產(chǎn)生所需的時(shí)鐘信號(hào),電容的容量一般在幾十皮法,如30PF。圖2 AT89S51的最小系統(tǒng)Fig 2 The AT89S51 minimum system (3) 復(fù)位電路在復(fù)位引腳(9腳)持續(xù)出現(xiàn)24個(gè)振蕩器脈沖周期(即2個(gè)機(jī)器周期)的高電平信號(hào)將使單片機(jī)復(fù)位4。如圖1所示電容C和電阻R構(gòu)成了單片機(jī)上電自動(dòng)復(fù)位電路。復(fù)位后,單片機(jī)從0000H單元開(kāi)始執(zhí)行程序,并初始化一些專用寄存器為復(fù)位狀態(tài)值,受影響的專用寄存器如表1所示。表1 復(fù)位寄存器狀態(tài)表Table 1 Reset register status table寄存器 狀態(tài) 寄存器 狀態(tài)PC ACCPSWSPDPTRP0P3IPIETMOD000H00H00H07H0000HFFHXXX00000HOXX00000H00HTC0NTL0TH0TL1TH1SCONSBUFPCON00H00H00H00H00H00H不確定0XXX0000HEA/VPP(31腳)為內(nèi)外程序存儲(chǔ)器選擇控制引腳,當(dāng)EA為低電位時(shí)單片機(jī)從外部程序存儲(chǔ)器取指令;當(dāng)EA接高電平時(shí)單片機(jī)從內(nèi)部程序存儲(chǔ)器取指令。AT89S51單片機(jī)內(nèi)部有4KB可反復(fù)擦寫(xiě)1000次以上的程序存儲(chǔ)器,因此要把EA接+5V高電平,讓單片機(jī)運(yùn)行內(nèi)部的程序,這樣就可以通過(guò)反復(fù)燒寫(xiě)來(lái)驗(yàn)證程序了。這就是AT89S51單片機(jī)最小化系統(tǒng)的連接,只要把編寫(xiě)好的程序燒寫(xiě)到單片機(jī)內(nèi)部,并接上5V電源就可以正常運(yùn)行了,在17腳接上的發(fā)光二極管可以用來(lái)驗(yàn)證系統(tǒng)是否正常。3.2 數(shù)字鐘的外圍電路設(shè)計(jì)3.2.1 時(shí)鐘電路(1) 單片機(jī)時(shí)鐘時(shí)鐘是單片機(jī)的心臟,單片機(jī)各功能部件的運(yùn)行都是以時(shí)鐘頻率為基準(zhǔn),有條不紊的一拍一拍地工作。因此,時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。常用的時(shí)鐘電路有兩種方式:一種是內(nèi)部時(shí)鐘方式,另一種為外部時(shí)鐘方式。本文用的是內(nèi)部時(shí)鐘方式。電路設(shè)計(jì)如圖3所示。AT89S51單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,該高增益反向放大器的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。這兩個(gè)引腳跨接石英晶體振蕩器和微調(diào)電容,就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器5。圖3 單片機(jī)時(shí)鐘Fig 3 MCU clock(2) 時(shí)鐘芯片采用帶RAM的時(shí)鐘芯片DS1302。該芯片可以進(jìn)行時(shí)分秒的計(jì)數(shù),具有100年日歷,可編程接口,還具有報(bào)警功能和掉電保存功能,并且可以對(duì)其方便的進(jìn)行程序控制【6】。DS1302它通過(guò)串行方式與單片機(jī)進(jìn)行數(shù)據(jù)傳送,向單片機(jī)提供包括秒、分、時(shí)、日、月、年等在內(nèi)的實(shí)時(shí)時(shí)間信息,并可對(duì)月末日期、閏年天數(shù)自動(dòng)進(jìn)行調(diào)整;還擁有用于主電源和備份電源的雙電源引腳,在主電源關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。另外,它還能提供31字節(jié)的用于高速數(shù)據(jù)暫存的RAM。有了這些特點(diǎn),DS1302已在許多單片機(jī)系統(tǒng)中得到應(yīng)用。 圖4 DS1302引腳排列圖Fig 4 The DS1302 pin arrangement diagramDS1302的引腳排列如圖4所示,各引腳的功能見(jiàn)表2。表2 DS1302功能表Table 2 The DS1302function table引腳功能X1,X232768HZ晶振引腳端RST復(fù)位端I/O數(shù)據(jù)輸入/輸出端SCLK串行時(shí)終端GND地VCC2,VCC1主電源與后備電源引腳端DS1302時(shí)鐘芯片內(nèi)主要包括移位寄存器、控制邏輯電路、振蕩器、實(shí)時(shí)時(shí)鐘電路以及用于高速暫存的31字節(jié)RAM。DS1302與單片機(jī)系統(tǒng)的數(shù)據(jù)傳送依靠RST,I/O,SCLK三根端線即可完成。其工作過(guò)程可概括為:首先系統(tǒng)RST引腳驅(qū)動(dòng)至高電平,然后在作用于SCLK時(shí)鐘脈沖的作用下,通過(guò)I/O引腳向DS1302輸入地址/命令字節(jié),隨后再在SCLK時(shí)鐘脈沖的配合下,從I/O引腳寫(xiě)入或讀出相應(yīng)的數(shù)據(jù)字節(jié)【7】。因此,其與單片機(jī)之間的數(shù)據(jù)傳送是十分容易實(shí)現(xiàn)的。DS1302與單片機(jī)電路相連如圖5所示。圖5 DS1302與單片機(jī)接口圖Fig 5 DS1302and MCU interface diagram3.2.2 LCD顯示電路液晶顯示模塊具有體積小、功耗低、顯示內(nèi)容豐富等特點(diǎn),現(xiàn)在字符型液晶顯示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件了。 1602B可以顯示2行16個(gè)字符,有8位數(shù)據(jù)總線D0-D7,和RS、R/W、EN三個(gè)控制端口,工作電壓為5V,并且?guī)в凶址麑?duì)比度調(diào)節(jié)和背光【8】。該模塊也可以只用D4-D7作為四位數(shù)據(jù)分兩次傳送。這樣的話可以節(jié)省MCU的I/O口資源。各引腳的功能見(jiàn)表3。表3 LCD引腳功能圖Table3 The LCD pin function diagram編號(hào)符號(hào)引腳說(shuō)明編號(hào)符號(hào)引腳說(shuō)明1VSS電源地9D2雙向數(shù)據(jù)口2VDD電源正極10D3雙向數(shù)據(jù)口3VL對(duì)比度調(diào)節(jié)11D4雙向數(shù)據(jù)口4RS數(shù)據(jù)/命令選擇12D5雙向數(shù)據(jù)口5R/W讀/寫(xiě)選擇13D6雙向數(shù)據(jù)口6E模塊使能端14D7雙向數(shù)據(jù)口7D0雙向數(shù)據(jù)口15BLK背光源地8D1雙向數(shù)據(jù)口16BLA背光源正極 從該模塊的正面看,引腳排列從右向左為:15腳、16腳,然后才是114腳。VDD:電源正極,4.55.5V,通常使用5V電壓;VL:LCD對(duì)比度調(diào)節(jié)端,電壓調(diào)節(jié)范圍為05V。接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,但對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,因此通常使用一個(gè)10K的電位器來(lái)調(diào)整對(duì)比度,或者直接串接一個(gè)電阻到地;RS:MCU寫(xiě)入數(shù)據(jù)或者指令選擇端。MCU要寫(xiě)入指令時(shí),使RS為低電平;MCU要寫(xiě)入數(shù)據(jù)時(shí),使RS為高電平【9】;R/W:讀寫(xiě)控制端。R/W為高電平時(shí),讀取數(shù)據(jù);R/W為低電平時(shí),寫(xiě)入數(shù)據(jù);E:LCD模塊使能信號(hào)控制端。寫(xiě)數(shù)據(jù)時(shí),需要下降沿觸發(fā)模塊。D0D7:8位數(shù)據(jù)總線,三態(tài)雙向。如果MCU的I/O口資源緊張的話,該模塊也可以只使用4位數(shù)據(jù)線D4D7接口傳送數(shù)據(jù)。本充電器就是采用4位數(shù)據(jù)傳送方式;BLA: LED背光正極。需要背光時(shí),BLA串接一個(gè)限流電阻接VDD,BLK接地,實(shí)測(cè)該模塊的背光電流為50mA左右;BLK: LED背光地端。它與單片機(jī)的連接如圖6所示。 圖6 LCD與單片機(jī)接口Fig 6 LCD and MCU interface3.2.3 語(yǔ)音錄放電路系統(tǒng)要求能夠有鬧鐘、語(yǔ)音播報(bào)、按鍵報(bào)時(shí)等功能。由單片語(yǔ)音錄放芯片來(lái)做比較方便簡(jiǎn)單。ISD2500芯片,可以錄放時(shí)間60秒??梢詽M足本設(shè)計(jì)的要求,性能良好所以選用【10】。ISD2500和1400語(yǔ)音電路一樣,具有抗斷電、音質(zhì)好,使用方便等優(yōu)點(diǎn)。它的最大特點(diǎn)在于片內(nèi)E2PROM容量為480K(1400系列為128K),所以錄放時(shí)間長(zhǎng);有10個(gè)地址輸入端(1400系列僅為8個(gè)),尋址能力可達(dá)1024位;最多能分600段;設(shè)有OVF(溢出)端,便于多個(gè)器件級(jí)聯(lián)。其封裝如圖7所示。系統(tǒng)要求能夠有鬧鐘、語(yǔ)音播報(bào)、按鍵報(bào)時(shí)等功能。由單片語(yǔ)音錄放芯片來(lái)做比較方便簡(jiǎn)單。ISD2500芯片,可以錄放時(shí)間60秒??梢詽M足本設(shè)計(jì)的要求,但是ISD2500芯片的價(jià)格比較昂貴,在現(xiàn)有的條件下還不能實(shí)現(xiàn)。所以只作簡(jiǎn)單介紹以便做相關(guān)擴(kuò)展應(yīng)用,本設(shè)計(jì)只用簡(jiǎn)單的語(yǔ)音模塊。圖7 ISD封裝圖Fig 7 The ISD package diagram3.2.4 電源電路電源電路包括變壓器、橋式整流器、電容和穩(wěn)壓器。通過(guò)變壓器變壓,使得220V電壓變?yōu)?2 V,在通過(guò)橋式整流,電容的濾波作用,穩(wěn)壓器的穩(wěn)壓作用,可輸出5V的穩(wěn)定電壓【11】。如圖8所示。圖8 系統(tǒng)電源電路Fig 8 System power circuit在系統(tǒng)中要用到2個(gè)電源:?jiǎn)纹瑱C(jī)電源與DS1302時(shí)鐘芯片電源所以有2路電源VCC和VCC1。 3.2.5 相關(guān)控制電路(1) 按鍵電路按鍵電路如圖9所示,按鍵的開(kāi)關(guān)狀態(tài)通過(guò)一定的電路轉(zhuǎn)換為高、低電平狀態(tài)。按鍵閉合過(guò)程在相應(yīng)的I/O端口形成一個(gè)負(fù)脈沖。閉合和釋放過(guò)程都要經(jīng)過(guò)一定的過(guò)程才能達(dá)到穩(wěn)定,這一過(guò)程是處于高、低電平之間的一種不穩(wěn)定狀態(tài),稱為抖動(dòng)。抖動(dòng)持續(xù)時(shí)間的常長(zhǎng)短與開(kāi)關(guān)的機(jī)械特性有關(guān),一般在5-10ms之間。為了避免CPU多次處理按鍵的一次閉合,應(yīng)采用措施消除抖動(dòng)。本文采用的是獨(dú)立式按鍵,直接用I/O口線構(gòu)成單個(gè)按鍵電路,每個(gè)按鍵占用一條I/O口線,每個(gè)按鍵的工作狀態(tài)不會(huì)產(chǎn)生互相影響。圖9 按鍵電路圖Fig 9 Key circuit diagramP1.0口:表示功能移位鍵,按鍵選擇要調(diào)整的時(shí)十位、時(shí)個(gè)位、分十位或分個(gè)位。 P1.1口:表示數(shù)字“+”鍵,按一下則對(duì)應(yīng)的數(shù)字加1。 P1.2口:表示數(shù)字“-”鍵,按一下則對(duì)應(yīng)的數(shù)字減1。 P1.3口:表示時(shí)間表的切換,程序默認(rèn)為日常時(shí)間表,當(dāng)按下該開(kāi)關(guān),使輸入為低電平時(shí),表示當(dāng)前執(zhí)行的是考試時(shí)間表。再按鍵,使按鍵抬起,輸入維高電平時(shí),表示當(dāng)前執(zhí)行的是日常作息時(shí)間表。(2) 復(fù)位電路 AT89S51單片機(jī)的復(fù)位是由外部的復(fù)位電路來(lái)實(shí)現(xiàn)的。復(fù)位引腳RST通過(guò)一個(gè)斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來(lái)抑制噪聲,在每個(gè)機(jī)器周期的S5P2,斯密特觸發(fā)器的輸出電平由復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號(hào)【12】。上電復(fù)位:上電復(fù)位電路是種簡(jiǎn)單的復(fù)位電路,只要在RST復(fù)位引腳接一個(gè)電容到VCC,接一個(gè)電阻到地就可以了。上電復(fù)位是指在給系統(tǒng)上電時(shí),復(fù)位電路通過(guò)電容加到RST復(fù)位引腳一個(gè)短暫的高電平信號(hào),這個(gè)復(fù)位信號(hào)隨著VCC對(duì)電容的充電過(guò)程而回落,所以RST引腳復(fù)位的高電平維持時(shí)間取決于電容的充電時(shí)間。為了保證系統(tǒng)安全可靠的復(fù)位,RST引腳的高電平信號(hào)必須維持足夠長(zhǎng)的時(shí)間。圖 10 復(fù)位電路Fig 10 Reset circuit如圖 10所示,上電自動(dòng)復(fù)位是通過(guò)外部復(fù)位電路的電容充電來(lái)實(shí)現(xiàn)的。只要Vcc的上升時(shí)間不超過(guò)1ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位。3.2.6 溫度測(cè)量電路(1)DS18B20的特性DS18B20 “一線總線”數(shù)字化溫度傳感器是DAAS最新單線數(shù)字溫度傳感器,同DS1820一樣,DS18B20也支持“一線總線”接口,測(cè)量溫度范圍為-55+125,在-10+85范圍內(nèi),精度為0.5。DS1822的精度較差為2。現(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量,與前一代產(chǎn)品不同,新的產(chǎn)品支持3V5.5V的電壓范圍,使系統(tǒng)設(shè)計(jì)更靈活、方便。而且新一代產(chǎn)品更便宜,體積更小。DS18B20可以程序設(shè)定912位的分辨率,精度為0.5??蛇x更小的封裝方式,更寬的電壓適用范圍。分辨率設(shè)定,及用戶設(shè)定的報(bào)警溫度存儲(chǔ)在EEPROM中,掉電后依然保存。DS18B20的性能是新一代產(chǎn)品中最好的!性能價(jià)格比也非常出色!DS1822與DS18B20軟件兼容,是DS18B20的簡(jiǎn)化版本。省略了存儲(chǔ)用戶定義報(bào)警溫度、分辨率參數(shù)的EEPROM,精度降低為2,適用于對(duì)性能要求不高,成本控制嚴(yán)格的應(yīng)用,是經(jīng)濟(jì)型產(chǎn)品。繼“一線總線”的早期產(chǎn)品后,DS18B20開(kāi)辟了溫度傳感器技術(shù)的新概念。DS18B20使電壓、特性及封裝有更多的選擇,讓我們可以構(gòu)建適合自己的經(jīng)濟(jì)的測(cè)溫系統(tǒng)【13】。(2)封裝圖及其引腳說(shuō)明DS18B20的引腳封裝圖如圖11所示。圖11 DS18B20引腳封裝圖Fig 11 The DS18B20pin package diagram表4所示為引腳說(shuō)明。表4 DS18B20引腳說(shuō)明Table 4 the pin of DS18B20 Instruction引腳號(hào)符號(hào)引腳說(shuō)明1GND接地2DQ單線運(yùn)用的數(shù)據(jù)輸入/輸出引腳3VDD可選VDD引腳(3)溫度測(cè)量DS18B20通過(guò)門(mén)開(kāi)通期間內(nèi)低溫度系數(shù)振蕩器經(jīng)歷的時(shí)鐘周期個(gè)數(shù)計(jì)數(shù)來(lái)測(cè)量溫度,而門(mén)開(kāi)通期由高溫度系數(shù)振蕩器決定。計(jì)數(shù)器予置對(duì)應(yīng)于-55的基數(shù),如果在門(mén)開(kāi)通期結(jié)束前計(jì)數(shù)器達(dá)到零,那么溫度寄存器它也被予置到-55的數(shù)值將增量,指示溫度高于-55。同時(shí)計(jì)數(shù)器用斜率累加器電路所決定的值進(jìn)行予置。為了對(duì)遵循拋物線規(guī)律的振蕩器溫度特性進(jìn)行補(bǔ)償,這種電路是必需的。時(shí)鐘再次使計(jì)數(shù)器計(jì)值至它達(dá)到零。如果門(mén)開(kāi)通時(shí)間仍未結(jié)束,那么此過(guò)程再次重復(fù)。斜率累加器用于補(bǔ)償振蕩器溫度特性的非線性,以產(chǎn)生高分辯率的溫度測(cè)量。通過(guò)改變溫度每升高一度,計(jì)數(shù)器必須經(jīng)歷的計(jì)數(shù)個(gè)數(shù)來(lái)實(shí)行補(bǔ)償。因此,為了獲得所需的分辯率,計(jì)數(shù)器的數(shù)值以及在給定溫度處每一攝氏度的計(jì)數(shù)個(gè)數(shù)斜率累加器的值二者都必須知道。此計(jì)算在DS18B20內(nèi)部完成以提供0.5的分辯率。溫度讀數(shù)以16位、符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供。數(shù)據(jù)在單線接口上串行發(fā)送,DS18B20可以以0.5的增量值,在0.5至+125的范圍內(nèi)測(cè)量溫度。對(duì)于應(yīng)用華氏溫度的場(chǎng)合,必須使用查找表或變換系數(shù)。(4)單總線系統(tǒng)硬件接法單線總線是一種具有一個(gè)總線主機(jī)和一個(gè)或若干個(gè)從機(jī)從屬器件的系統(tǒng),DS18B20起從機(jī)的作用。根據(jù)定義,單線總線只有一根線,這一點(diǎn)是重要的,即線上的第一個(gè)器件能在適當(dāng)?shù)臅r(shí)間驅(qū)動(dòng)。該總線為了做到這一點(diǎn),第一個(gè)連接到單線總線上的器件必須具有漏極開(kāi)路或三態(tài)輸出。DS18B20的單線接口(I/O引腳是漏極開(kāi)路的)。多站總線由單線總線和多個(gè)與之相連的從屬器件組成。單線總線要求近似等于5k的上拉電阻。單線總線的空閑狀態(tài)是高電平。不管任何原因,如果執(zhí)行需要被掛起,那么若要重新恢復(fù)執(zhí)行,總線必須保持在空閑狀態(tài)。如果不滿足這一點(diǎn),且總線保持在低電平時(shí)間大于480us,那么總線上所有器件均被復(fù)位。存在脈沖使總線主機(jī)知道DS18B20在總線上,并已準(zhǔn)備好工作。4 數(shù)字鐘的軟件設(shè)計(jì)4.1 系統(tǒng)軟件設(shè)計(jì)內(nèi)容本設(shè)計(jì)的軟件程序包括主程序、中斷子程序、鬧鐘設(shè)定子程序、時(shí)鐘顯示子程序以及延時(shí)子程序等。在整個(gè)系統(tǒng)中,在單片機(jī)的30H、31H和32H中存儲(chǔ)當(dāng)前時(shí)間的小時(shí)、分鐘和秒。用LCD顯示當(dāng)前的時(shí)間,必須用到分字和合字,因此在33H、34H、35H、36H、37H和38H中存儲(chǔ)當(dāng)前時(shí)間的時(shí)十位、時(shí)個(gè)位、分十位、分個(gè)位、秒十位和秒個(gè)位,方便顯示【14】。本設(shè)計(jì)有由四個(gè)輕觸按鍵組成的小鍵盤(pán),這些按鍵可以任意改變當(dāng)前的狀態(tài)。按功能移位鍵一次,表示當(dāng)前要校對(duì)小時(shí)的十位;按第二次,表示當(dāng)前校對(duì)的是小時(shí)的個(gè)位;按第三次,則表示校對(duì)的是分鐘的十位;第四次,表示的校對(duì)的是分鐘的個(gè)位。按下數(shù)字“+” 鍵和數(shù)字“-”鍵可在當(dāng)前校對(duì)的數(shù)字上相應(yīng)加上1或者減去1。系統(tǒng)軟件采用C語(yǔ)言編寫(xiě)。時(shí)鐘的最小計(jì)時(shí)單位是秒,但使用定時(shí)器的方式1,最大的定時(shí)時(shí)間也只能達(dá)到131ms。我們可把定時(shí)器的定時(shí)時(shí)間定為50ms。這樣,計(jì)數(shù)溢出20次即可得到時(shí)鐘的最小計(jì)時(shí)單位:秒。而計(jì)數(shù)20次可以用軟件實(shí)現(xiàn)。秒計(jì)時(shí)是采用中斷方式進(jìn)行溢出次數(shù)的累積,計(jì)滿20次,即得到秒計(jì)時(shí)。從秒到分,從分到時(shí)是通過(guò)軟件累加并進(jìn)行比較的方法來(lái)實(shí)現(xiàn)的。要求每滿1秒,則“秒”單元中的內(nèi)容加1;“秒”單元滿60,則“分”單元中的內(nèi)容加1;“分”單元滿60,則“時(shí)”單元中的內(nèi)容加1;“時(shí)”單元滿24,則將時(shí)、分、秒的內(nèi)容全部清零。實(shí)時(shí)時(shí)鐘程序設(shè)計(jì)步驟:(1)選擇工作方式,計(jì)算初值;(2)采用中斷方式進(jìn)行溢出次數(shù)累計(jì);(3)從秒分時(shí)的計(jì)時(shí)是通過(guò)累加和數(shù)值比較實(shí)現(xiàn)的;(4)時(shí)鐘顯示緩沖區(qū):時(shí)鐘時(shí)間在方位數(shù)碼管上進(jìn)行顯示,為此在內(nèi)部RAM中要設(shè)置顯示緩沖區(qū),共6個(gè)地址單元。顯示緩沖區(qū)從左到右依次存放時(shí)、分、秒數(shù)值;(5)主程序:主要進(jìn)行定時(shí)器/計(jì)數(shù)器的初始化編程【15】,然后反復(fù)調(diào)用顯示子程序的方法等待中斷的到來(lái),流程如圖4-1所示;(6)中斷服務(wù)程序:進(jìn)行計(jì)時(shí)操作;(7)加1子程序:用于完成對(duì)時(shí)、分、秒的加操作,中斷服務(wù)程序在秒、分、時(shí)加1時(shí)共三次調(diào)用加1子程序,包括:合字、加1并進(jìn)行進(jìn)制調(diào)整、分字。4.2 主程序主程序主要由main()組成通過(guò)對(duì)相關(guān)子程序的調(diào)用,實(shí)現(xiàn)了對(duì)時(shí)間的設(shè)置與修改、鬧鐘的設(shè)置與修改、LCD顯示等主要功能。相關(guān)的調(diào)整是靠對(duì)功能鍵的判斷來(lái)實(shí)現(xiàn)的。如對(duì)set鍵的判斷,對(duì)up鍵的判斷。主程序流程框圖如圖12所示。主要程 圖12 主程序MAIN流程框圖Fig 12 MAIN main program flow diagram 序段如下:void main(void) /d_to_b();/ds1302_write_time(); /對(duì)DS1302寫(xiě)數(shù)據(jù) initTimer(); TR0=1; ET0=1; EA=1; LCD_init(); LCD_write_string(0,0,Wellcome to xnkd); LCD_write_string(0,1,123456789-mysy); while(1) if(sethour=timereg4)&(setmin=timereg5)&!fspk&timereg6=0) fspk=1; if(!set) /功能鍵判斷.if(fset) if(!up) /調(diào)用1鍵子程序 if(!down) /調(diào)用1鍵子程序if(!enter)4.3 時(shí)鐘設(shè)置子程序時(shí)鐘的修改首先要按功能鍵并停止時(shí)間的輸出顯示【16】,否則系統(tǒng)繼續(xù)刷新時(shí)間則無(wú)法修改,所以時(shí)間是不輸出到LCD的。修改的部分以修改的為準(zhǔn),沒(méi)有修改的通過(guò)中斷保護(hù)起來(lái)。等修改成功后繼續(xù)顯示。主要流程圖如圖13所示,小時(shí)設(shè)置程序段如下:if(keycou=5) /設(shè)置小時(shí)LCD_write_string(0,0,Hour:); /將現(xiàn)在時(shí)間保存LCD_set_xy(5,0); /對(duì)小時(shí)重新設(shè)置LCD_write_char(0,timereg4/10+0x30); /設(shè)置完成后顯示修改后的小時(shí)部分LCD_write_char(0,timereg4%10+0x30); 圖13 時(shí)鐘設(shè)置功能子程序流程框圖Fig 12 Clock set function subprogram flow chart在時(shí)間修改功能中要用到1個(gè)數(shù)字加減的問(wèn)題,把它做成1個(gè)子程序,流程如圖14所示。通過(guò)判斷功能鍵的狀態(tài)也就是記錄值來(lái)確定【17】。主功能鍵SET是采用循環(huán)的方式來(lái)實(shí)現(xiàn)的,當(dāng)標(biāo)識(shí)為相應(yīng)的值時(shí)執(zhí)行相應(yīng)的操作。if(keycou=5)/小時(shí)加一if(timereg423) timereg4+;else timereg4=23;LCD_set_xy(5,0);LCD_write_char(0,timereg4/10+0x30);LCD_write_char(0,timereg4%10+0x30);圖14 加1鍵修改子程序流程框圖Fig 14 1key to modify the subprogram flow chart圖15 時(shí)鐘修改中斷服務(wù)子程序流程框圖Fig 15 Clock interrupt service subprogram flow chart modifications4.4 中斷子程序MCS-51系列單片機(jī)有5個(gè)中斷源,中斷分為2個(gè)中斷優(yōu)先級(jí),即高優(yōu)先級(jí)和低優(yōu)先級(jí),每個(gè)中斷源的優(yōu)先級(jí)都可以由軟件來(lái)設(shè)定【18】。中斷地址如表5所示。程序中的中斷流程框圖如圖15所示。表5 中斷地址表、Table5 Interrupt address table五個(gè)中斷源入口地址外部中斷0(/INT0)0003HT0溢出中斷000BH外部中斷1(/INT1)0013HT1溢出中斷001BH串口中斷0023H/*/*Function: 外部中斷1中斷服務(wù)子程序*parameter:*Return:*Modify:/*/void Interrupt1 (void) interrupt 2Int1Flag = 1;/*/*Function: 定時(shí)器0中斷服務(wù)子程序*parameter:*Return:*Modify:/*/void InterruptTime0(void) interrupt 1 TH0 = 0x06; /8msTL0 = 0xed;Time0Count+;/*/*Function: 定時(shí)器1中斷服務(wù)子程序*parameter:*Return:*Modify:4.5 LCD顯示子程序LCD顯示子程序可對(duì)DS1302的時(shí)間進(jìn)行設(shè)置和讀取DS1302內(nèi)部的時(shí)間、連續(xù)的讀寫(xiě)操作、RAM的應(yīng)用、充電部分的應(yīng)用、寫(xiě)保護(hù)、抗干擾等可以實(shí)現(xiàn)上述功能。在編寫(xiě)中應(yīng)注意的是進(jìn)制的轉(zhuǎn)換,下面是BCD碼到十進(jìn)制數(shù)的轉(zhuǎn)換函數(shù)。/*/* 函數(shù)名:BCD_to_INT();/* 參 數(shù):無(wú)/* 功 能:用于將時(shí)間BCD碼轉(zhuǎn)換為十進(jìn)制碼/*/ void BCD_to_INT() uchar i; for(i=0;i7;i+) bcd_int(timercuri); 4.5 ISD2500語(yǔ)音播報(bào)軟件程序2500系列最多可分為600段,只要在分段錄/放操作前(不少于300納秒),給地址A0-A9賦值,錄音及放音功能均從設(shè)定的起始地址開(kāi)始,錄音結(jié)束由停止鍵操作決定,芯片內(nèi)部自動(dòng)在該段的結(jié)束位置插入結(jié)束標(biāo)志(EOM);而放音芯片遇到EOM標(biāo)志即自動(dòng)停止放音。2500系列地址空間是這樣分配的:地址0-599作為分段用(見(jiàn)表6),地址600-767來(lái)使用,地址768-1023為工作模式選擇。本設(shè)計(jì)主要通過(guò)單片機(jī)對(duì)ISD2560的控制實(shí)現(xiàn)指定地址入口的錄音和循環(huán)播放。程序要實(shí)現(xiàn)下面的過(guò)程:開(kāi)始”鍵按下后,即系統(tǒng)上電后,系統(tǒng)初始化,然后判斷開(kāi)始鍵是否按下,如表6 ISD2500 地址空間分配Table6 ISD2500 address space allocation十進(jìn)制二進(jìn)制信息時(shí)間(秒)A9A8A7A6A5A4A3A2A1A0256025752590000000000000005000001100105.06.257.50100000110010010.012.5015.00250001111101025.031.2537.503000010010110030.037.5045.00400011001000040.050.0060.00500011111010050.062.5075.00599100101011159.974.8489.85“果按下則單片機(jī)控制PD,P/R引腳低電平,并指向錄音地址,啟動(dòng)錄音過(guò)程。調(diào)用錄音函數(shù),錄音函數(shù)為:/*錄音函數(shù)*/Void record(void) CE = 0; /片選有效 PD = 0; /非節(jié)電模式 PR = 0 ; /錄音當(dāng)CE=0 時(shí)芯片使能輸入引腳,使能所有的的錄音操作。當(dāng)PD=0 時(shí)使芯片開(kāi)始工作,而進(jìn)入非節(jié)電模式。當(dāng)PR=0 時(shí)開(kāi)始錄音,錄音時(shí),由地址線提供起始地址,直到錄音持續(xù)到CE或PD變高,或自動(dòng)溢出。在預(yù)先設(shè)定的時(shí)間內(nèi),(小于60s)結(jié)束錄音,松開(kāi)“開(kāi)始”鍵單片機(jī)控制P/R引腳回到高電平,即完成一段語(yǔ)音的錄制。之后打開(kāi)外部中斷0,指定放音地址,啟動(dòng)放音程序,其放音函數(shù)為:/*放音函數(shù)*/ Void playback(void) CE = 0; / 片選有效 PD = 0; / 非節(jié)電模式 PR = 1; / 放音當(dāng)CE=0 時(shí)芯片使能輸入引腳,使能所有的的放音操作。當(dāng)PD=0 時(shí)使芯片開(kāi)始工作,而進(jìn)入非節(jié)電模式。當(dāng) PR=1時(shí)為高電平,這時(shí)選擇放音,這時(shí)由地址輸入提供起始地址,放音持續(xù)到EOM位標(biāo)志。5 調(diào)試與功能說(shuō)明5.1 硬件調(diào)試在實(shí)際使用中,我們發(fā)現(xiàn)DS1302的工作情況不夠穩(wěn)定,主要表現(xiàn)在實(shí)時(shí)時(shí)間的傳送有時(shí)會(huì)出現(xiàn)誤差,有時(shí)甚至整個(gè)芯片停止工作。我們對(duì)DS1302的工作電路進(jìn)行了分析,其與單片機(jī)系統(tǒng)的連接如圖16所示。從圖中可以看出,DS1302的外部電路十分簡(jiǎn)單,惟一外接的元件是32768Hz的晶振。通過(guò)實(shí)驗(yàn)我們發(fā)現(xiàn):當(dāng)外接晶振電路振蕩時(shí),DS1302計(jì)時(shí)正確;當(dāng)外接晶振電路停振時(shí),DS1302計(jì)時(shí)停止。因此,可能是32768Hz晶振是造成 DS1302工作不穩(wěn)定的主要原因。圖16 DS1302與單片機(jī)系統(tǒng)的連接圖Fig 16 DS1302 and SCM system connection diagramDS1302時(shí)鐘的產(chǎn)生基于外接的晶體振蕩器,振蕩器的頻率為32768Hz。該晶振通過(guò)引腳X1、X2直接連接至DS1302,即DS1302是依靠外部晶振與其內(nèi)部的電容配合來(lái)產(chǎn)生時(shí)鐘脈沖的。由于DS1302在芯片本身已經(jīng)集成了6pF的電容,所以,為了獲得穩(wěn)定可靠的時(shí)鐘,必須選用具有6pF負(fù)載電容的晶振。然而,許多人在選用晶振時(shí)僅僅注意了晶振的額定頻率值,而忽視了晶振的負(fù)載電容大小,甚至連許多經(jīng)銷商也不能提供所售晶振的負(fù)載電容。所以即使在使用中選用了符合32768Hz的晶振,但如果該晶振的負(fù)載電容與DS1302提供的6pF不一致時(shí),就會(huì)影響晶振的起振或?qū)е抡袷庮l率的偏移,出現(xiàn)問(wèn)題。利用輔助電容實(shí)現(xiàn)負(fù)載匹配的方法來(lái)解決當(dāng)所選的晶振負(fù)載電容不是6pF時(shí),可以采用增加輔助電容的方法提高或降低DS1302振蕩器的電容性負(fù)載,使之與晶體所需的電容值
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024約定子女探望權(quán)及離婚后財(cái)產(chǎn)分割與子女教育協(xié)議3篇
- 2025年農(nóng)業(yè)科技產(chǎn)品研發(fā)與推廣合同3篇
- 二零二五年度民宿餐飲服務(wù)員勞動(dòng)協(xié)議范本3篇
- 2024年04月新疆興業(yè)銀行烏魯木齊分行春季校園招考筆試歷年參考題庫(kù)附帶答案詳解
- 專業(yè)司機(jī)招聘協(xié)議2024版示例一
- 2025年度廠房租賃合同標(biāo)準(zhǔn)版(含租賃保證金)3篇
- 臨時(shí)崗位:2024政府工作人員協(xié)議版
- 二零二四全新鋼材供應(yīng)鏈居間管理服務(wù)協(xié)議3篇
- 2025年度產(chǎn)業(yè)園區(qū)場(chǎng)商位租賃合作合同4篇
- 2025年農(nóng)膜生產(chǎn)設(shè)備租賃與維修服務(wù)合同3篇
- 申根簽證申請(qǐng)表模板
- 企業(yè)會(huì)計(jì)準(zhǔn)則、應(yīng)用指南及附錄2023年8月
- 諒解書(shū)(標(biāo)準(zhǔn)樣本)
- 2022年浙江省事業(yè)編制招聘考試《計(jì)算機(jī)專業(yè)基礎(chǔ)知識(shí)》真題試卷【1000題】
- 認(rèn)養(yǎng)一頭牛IPO上市招股書(shū)
- GB/T 3767-2016聲學(xué)聲壓法測(cè)定噪聲源聲功率級(jí)和聲能量級(jí)反射面上方近似自由場(chǎng)的工程法
- GB/T 23574-2009金屬切削機(jī)床油霧濃度的測(cè)量方法
- 西班牙語(yǔ)構(gòu)詞.前后綴
- 動(dòng)物生理學(xué)-全套課件(上)
- 河北省衡水市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)
- DB32-T 2665-2014機(jī)動(dòng)車維修費(fèi)用結(jié)算規(guī)范-(高清現(xiàn)行)
評(píng)論
0/150
提交評(píng)論