基于單片機(jī)的智能數(shù)字鐘設(shè)計(jì)實(shí)現(xiàn)電氣自動(dòng)化專業(yè)
《基于單片機(jī)的智能數(shù)字鐘設(shè)計(jì)實(shí)現(xiàn)電氣自動(dòng)化專業(yè)》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于單片機(jī)的智能數(shù)字鐘設(shè)計(jì)實(shí)現(xiàn)電氣自動(dòng)化專業(yè)(49頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、) 摘 要 本設(shè)計(jì)論文介紹了應(yīng)用STC90C516RD+單片機(jī)作為主控芯片的智能數(shù)字鐘的軟、硬件設(shè)計(jì),給出了C語言源程序。此數(shù)字鐘可以將時(shí)間、日期、溫度、重大節(jié)日等顯示于液晶屏上。它采用24時(shí)計(jì)時(shí)法,另外設(shè)有校時(shí)功能,可以調(diào)整其時(shí)間。電路由控制芯片CPU、時(shí)鐘信號(hào)發(fā)生模塊、顯示模塊、溫度檢測(cè)模塊及時(shí)鐘調(diào)整電路組成。運(yùn)用時(shí)鐘芯片產(chǎn)生標(biāo)準(zhǔn)時(shí)鐘信號(hào),從時(shí)鐘芯片直接讀出時(shí)間、日期等數(shù)據(jù),分別經(jīng)處理后送顯示模塊。選用LCD液晶屏作為顯示器件,顯示出清晰、直觀的數(shù)字符號(hào)與漢字。由于時(shí)鐘芯片長時(shí)間工作會(huì)產(chǎn)生誤差,在電路中設(shè)計(jì)有時(shí)鐘調(diào)整電路,方便校時(shí)。 關(guān)鍵詞:?jiǎn)纹瑱C(jī);STC90C516R
2、D+;數(shù)字鐘;LCD Abstract This paper introduces the application of STC90C516RD+ microcontroller as the main control chip of the intelligent digital clock software, hardware design, gives the C language source code. The digital clock can display the time, date, temperature, major f
3、estivals, etc. on the LCD screen. It uses 24 time method, in addition with the school function, you can adjust the time. The circuit is composed of a control chip CPU, a clock signal generating module, a display module, a temperature detection module and a clock adjusting circuit. Use the clock chip
4、 to produce the standard clock signal, from clock chip directly read time and date data, respectively the evacuation display module. LCD screen as a display device, showing a clear, intuitive digital symbols and Chinese characters. Due to the clock chip long time work will produce error, in the circ
5、uit design of the clock circuit, the convenience of school. Key words:Single-chip microcomputer; STC90C516RD+; Digital clock; LCD 目錄 第一章 緒 論 1 1.1前言 1 1.2?課題來源 1 第二章 數(shù)字鐘的功能實(shí)現(xiàn)與設(shè)計(jì)方案 3 2.1 數(shù)字鐘的功能及設(shè)計(jì)要求 3 2.2數(shù)字鐘的實(shí)現(xiàn)形式 3 2.2.1用NE555電路的形式 3 2.2.2采用基于單片機(jī)的實(shí)現(xiàn)形式 4 2.2.3采用石英鐘專用芯片的實(shí)現(xiàn)形式
6、 4 2.3 方案的確定 4 2.3.1 微處理器 4 2.3.2時(shí)鐘信號(hào)模塊 5 2.3.3顯示電路 5 2.3.4 按鍵電路 5 2.3.5溫度檢測(cè)電路 6 第三章 數(shù)字鐘的硬件系統(tǒng)設(shè)計(jì) 7 3.1 數(shù)字時(shí)鐘的硬件系統(tǒng)框架 7 3.2 數(shù)字時(shí)鐘的主機(jī)電路設(shè)計(jì) 7 3.2.1 系統(tǒng)控制芯片CPU(STC90C516RD+)的選擇 8 3.2.2 系統(tǒng)震蕩電路設(shè)計(jì) 12 3.2.3 系統(tǒng)復(fù)位電路設(shè)計(jì) 14 3.2.4 按鍵與按鈕電路設(shè)計(jì) 15 3.2.5 數(shù)字鐘的顯示電路設(shè)計(jì) 15 3.2.6電源設(shè)計(jì) 21 3.2.7時(shí)鐘信號(hào)發(fā)生電路設(shè)計(jì) 24 3.2.8溫度
7、檢測(cè)電路設(shè)計(jì) 26 第四章 程序設(shè)計(jì) 28 4.1軟件開發(fā)語言及平臺(tái) 28 4.1.1 單片機(jī)開發(fā)語言的選擇 28 4.2軟件設(shè)計(jì) 29 4.2.1主程序設(shè)計(jì) 29 4.2.2顯示模塊程序設(shè)計(jì) 30 4.2.3時(shí)鐘信號(hào)發(fā)生模塊程序設(shè)計(jì) 32 第五章 系統(tǒng)的調(diào)試與結(jié)果 34 5.1 系統(tǒng)調(diào)試環(huán)境及設(shè)備 34 5.2 軟件調(diào)試 34 5.2.1軟件調(diào)試環(huán)境 34 5.2.3軟件調(diào)試中遇到的主要問題 36 5.3硬件調(diào)試 37 第六章 總結(jié)與展望 38 6.1總結(jié) 38 6.2展望 38 致謝 40 44 第一章
8、 緒 論 1.1前言 自1976由英特爾公司推出MCS-48,已經(jīng)超過20年了。由于單片機(jī)具有集成度高、功能強(qiáng)、可靠性高、體積小、功耗低、使用方便、價(jià)格低廉等優(yōu)點(diǎn),已經(jīng)滲透到人們的工作和生活中,幾乎無處不在,應(yīng)有盡有。單片機(jī)的應(yīng)用范圍包括工業(yè)控制、通信交通、智能儀表、家用消費(fèi)品、辦公自動(dòng)化、汽車電子、電腦及外圍通訊等各大領(lǐng)域。? 單片機(jī)的基本結(jié)構(gòu)形式有兩種:一是在通用微型計(jì)算機(jī)中廣泛采用的,程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器合用同一存儲(chǔ)空間的結(jié)構(gòu),稱為普林斯頓結(jié)構(gòu)。另一種是將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的分別設(shè)置存儲(chǔ)單元,分別進(jìn)行尋址的結(jié)構(gòu),此種結(jié)構(gòu)將提供較大的程序存儲(chǔ)空間,目前的單片機(jī)多采用第二
9、種結(jié)構(gòu)[1]。? 本文使用當(dāng)前性價(jià)比較高,應(yīng)用較為方便的51系列單片機(jī),配置必要的外圍部件,組成一個(gè)可調(diào)節(jié)的、集多功能于一身的數(shù)字鐘系統(tǒng),具有體積小,性價(jià)比高,功能強(qiáng)大,安全可靠等特點(diǎn)??梢酝耆珴M足此設(shè)計(jì)要求,并且可以擴(kuò)展更多的功能,有著廣泛的應(yīng)用領(lǐng)域和發(fā)展前景。 20世紀(jì)80年代中期以后,Intel公司以專利轉(zhuǎn)讓的形式把8051內(nèi)核技術(shù)轉(zhuǎn)讓給許多半導(dǎo)體芯片生產(chǎn)廠家,如ATMEL、PHILIPS、ANALOG、DEVICES、DALLAS等。這些廠家生產(chǎn)的芯片是MCS-51系列的兼容產(chǎn)品,準(zhǔn)確地說是與MCS-51指令系統(tǒng)兼容的單片機(jī)。這些兼容機(jī)與8051的系統(tǒng)結(jié)構(gòu)(主要是指令系統(tǒng))相同,采
10、用CMOS工藝,因而,常用80C51系列來稱呼所有具有8051指令系統(tǒng)的單片機(jī),它們對(duì)8051單片機(jī)一般都作了一些擴(kuò)充,更有特點(diǎn)[2]。其功能和市場(chǎng)競(jìng)爭(zhēng)力更強(qiáng),不該把它們直接稱呼為MCS-51系列單片機(jī),因?yàn)镸CS只是Intel公司專用的單片機(jī)系列型號(hào)。MCS-51系列及80C51單片機(jī)有多種品種。它們的引腳及指令系統(tǒng)相互兼容,主要在內(nèi)部結(jié)構(gòu)上有些區(qū)別。目前使用的MCS-51系列單片機(jī)及其兼容產(chǎn)品通常分成以下幾類:基本型、增強(qiáng)型、低功耗型、專用型、超8位型、片內(nèi)閃爍存儲(chǔ)器型。? 1.2?課題來源? 在日常生活工作中,時(shí)鐘的應(yīng)用非常廣泛,定時(shí)控制在工業(yè)生產(chǎn)中也發(fā)揮著重要作用,如混凝土
11、攪拌的時(shí)間等。在早期,大多數(shù)時(shí)間控制單元都用模擬電路設(shè)計(jì),定時(shí)精度和穩(wěn)定性都較差,現(xiàn)在可以運(yùn)用基于數(shù)字技術(shù)的新型集成控制芯片,隨著單片機(jī)技術(shù)的發(fā)展,單片機(jī)的性能不斷提高,單片機(jī)系統(tǒng)可以完成各種各樣的工作。它體積小,質(zhì)量輕,功能強(qiáng)大,性價(jià)比高,具有豐富的外圍芯片、接口配置,可以構(gòu)成各種形式功能強(qiáng)大的微電子產(chǎn)品。? 隨著社會(huì)生產(chǎn)生活的發(fā)展,對(duì)時(shí)間準(zhǔn)確性的要求越來越高,對(duì)時(shí)鐘的性能,體積穩(wěn)定性的要求也在提高。根據(jù)這一情況,設(shè)計(jì)了一個(gè)單片機(jī)智能數(shù)字鐘,它可以準(zhǔn)確的進(jìn)行計(jì)時(shí),同時(shí)有重大節(jié)日提醒功能,同時(shí)又可以進(jìn)行時(shí)鐘校準(zhǔn)與當(dāng)前溫度的顯示。它可以執(zhí)行不同的計(jì)時(shí)法(12時(shí)和24時(shí)),可以任意設(shè)置時(shí)間。這種
12、便于攜帶的智能數(shù)字鐘為人們的生活提供了便捷,同時(shí)擴(kuò)大了數(shù)字技術(shù)的應(yīng)用范圍。 第二章 數(shù)字鐘的功能實(shí)現(xiàn)與設(shè)計(jì)方案 2.1 數(shù)字鐘的功能及設(shè)計(jì)要求 顯示時(shí)/分/秒,可以隨時(shí)調(diào)節(jié)時(shí)間 顯示日期與溫度 使用LCD顯示 可以顯示重要節(jié)日 2.2數(shù)字鐘的實(shí)現(xiàn)形式 數(shù)字鐘實(shí)現(xiàn)形式多種多樣,根據(jù)時(shí)鐘信號(hào)產(chǎn)生的方式劃分,通常有三鐘形式: 2.2.1用NE555電路的形式 采用NE555時(shí)鐘電路或其他震蕩電路產(chǎn)生秒脈沖信號(hào),作為微處理器的外部中斷信號(hào),實(shí)現(xiàn)秒信號(hào)計(jì)時(shí),可構(gòu)成電子時(shí)鐘。由555構(gòu)成的秒脈沖發(fā)生器電路如圖2.1所示。輸出的脈沖信號(hào)V0的頻率F=1.443/(RA
13、+2RB)×C,可通過調(diào)節(jié)RA ,RB ,C這3個(gè)參數(shù),得到精確的脈沖信號(hào)。 圖2.1 基于555的秒脈沖發(fā)生器 2.2.2采用基于單片機(jī)的實(shí)現(xiàn)形式 利用單片機(jī)自身攜帶的定時(shí)計(jì)數(shù)器,采用對(duì)微處理器系統(tǒng)自身標(biāo)準(zhǔn)時(shí)鐘震蕩信號(hào)進(jìn)行計(jì)時(shí)的方式產(chǎn)生秒信號(hào)。產(chǎn)生秒信號(hào)后再運(yùn)用累加器等產(chǎn)生時(shí)鐘信號(hào)。此種方法不需要外接專用芯片即可實(shí)現(xiàn),硬件簡(jiǎn)單,但是計(jì)時(shí)精度較差。 2.2.3采用石英鐘專用芯片的實(shí)現(xiàn)形式 采用石英鐘專用計(jì)時(shí)芯片實(shí)現(xiàn)的電子鐘具有體積小、計(jì)時(shí)精度高、方便穩(wěn)定的特點(diǎn)。石英計(jì)時(shí)芯片(機(jī)芯)比較多,常見的有DS1302、3252和LM8560等[3]。使用DS1302的輸出時(shí)間信號(hào),可實(shí)
14、現(xiàn)電子時(shí)鐘。DS1302的引腳如圖2.2圖2.2 DS1302引腳圖 所示。 其中,引腳1接主電源正極,電源為5V,引腳2、3為外接晶振及振蕩電路,引腳5為復(fù)位引腳,引腳6為數(shù)據(jù)輸入輸出引腳,引腳7為串行傳輸?shù)臅r(shí)鐘信號(hào)引腳,引腳8接備用電源。 2.3 方案的確定 本設(shè)計(jì)從以下幾個(gè)方面確定智能數(shù)字鐘的設(shè)計(jì)方案: 2.3.1 微處理器 采用宏晶科技的STC90C516RD+微處理器,是基于以下幾個(gè)因素: 處理器內(nèi)自帶Flash 存儲(chǔ)器,在系統(tǒng)的開發(fā)過程中, 可以修改調(diào)試程序,編程錯(cuò)誤可以重新修改,沒有浪費(fèi),大大縮短了開發(fā)周期;同時(shí)在系統(tǒng)的工作過程中能有效保存數(shù)據(jù)信息[4]; 采
15、用靜態(tài)時(shí)鐘方式,功耗低 ,可以有效降低系統(tǒng)整體功耗; 是以8051內(nèi)核構(gòu)成的,兼容MCS51系列單片機(jī),具有豐富的仿真調(diào)試資源,包含眾多庫函數(shù),使用方便。 性價(jià)比高,貨源充足; DIP40封裝,體積小,使產(chǎn)品便于攜帶; 具有空閑模式和掉電模式兩種工作模式,便于進(jìn)行低功耗設(shè)計(jì); 具有較寬的工作電壓范圍: 5.5V - 3.8V(5V 單片機(jī)),便于交直流供電。 2.3.2時(shí)鐘信號(hào)模塊 DS1302是一種高性能,低功耗的集成時(shí)鐘芯片,可以對(duì)年、月、日、時(shí)、分、秒進(jìn)行計(jì)時(shí),計(jì)時(shí)精度較高。工作電壓寬:2V~5.5V,剛好與單片機(jī)電源系統(tǒng)相匹配。采用同步串行通信,與單片機(jī)連接簡(jiǎn)單,節(jié)約I/
16、O資源[5]。同時(shí),DS1302在DS1202的基礎(chǔ)上,增加了備用電源引腳,并可對(duì)其進(jìn)行涓流充電,提高了它的適應(yīng)性,可以更加方便的應(yīng)用于各種電子產(chǎn)品中。選擇DS1302作為時(shí)鐘信號(hào)產(chǎn)生模塊,可精確提供日期與時(shí)間,滿足設(shè)計(jì)要求,同時(shí)其使用方便,信價(jià)比高,故本設(shè)計(jì)采用DS1302產(chǎn)生時(shí)鐘信號(hào)。 2.3.3顯示電路 智能數(shù)字鐘的顯示電路,通??刹捎脭?shù)碼管顯示或LCD液晶顯示兩種方式。若采取數(shù)碼管,需要專門的譯碼驅(qū)動(dòng)電路,占用IO口較多且無法顯示漢字,顯示效果相對(duì)較差;采用集成了驅(qū)動(dòng)電路的液晶顯示模塊,無需自行設(shè)計(jì)驅(qū)動(dòng)電路,集成度高?,F(xiàn)在大多LCD都自帶字庫,可以方便的顯示漢字。LCD多采用并行接
17、口,程序簡(jiǎn)潔,顯示效果較好,性價(jià)比較高。因此,本設(shè)計(jì)采用了液晶顯示的方式。 2.3.4 按鍵電路 由于正常使用中按鍵使用頻率較低,本設(shè)計(jì)設(shè)置四個(gè)獨(dú)立按鍵,完成校時(shí)和日期設(shè)定功能。 (1) SET鍵,在正常工作狀態(tài)下,按下SET鍵,進(jìn)入時(shí)間日期設(shè)定界面。 (2) 加一鍵,每按一次,當(dāng)前設(shè)定位數(shù)值加一,根據(jù)其24小時(shí)工作模式和正在編輯的當(dāng)前位的含義(年、月、日、時(shí)、分、秒)自動(dòng)進(jìn)行數(shù)據(jù)的上限和下限判斷。例如,分鐘位只能是00到59,如果當(dāng)前值為59,則按+1鍵后為00,再按+1鍵后為01,再按+1鍵后為02。 (3) 減一鍵,每按一次,當(dāng)前設(shè)定位數(shù)值減一。 (4) 確認(rèn)鍵,用于時(shí)間和日
18、期修改后返回正常工作狀態(tài) 2.3.5溫度檢測(cè)電路 常規(guī)的溫度檢測(cè)方式較多,如熱電偶,熱電阻,金屬應(yīng)變片等??紤]到本設(shè)計(jì)使用條件,只需測(cè)量日常生活中的溫度變化,因此,可以考慮使用集成式溫度傳感器。綜合考慮性能、穩(wěn)定性、性價(jià)比等,最終選定使用DS18B20實(shí)時(shí)檢測(cè)溫度。 DS18B20是一種常用的溫度傳感器,具有體積小,精度高的特點(diǎn)。開發(fā)出的產(chǎn)品硬件成本低,使用方便,穩(wěn)定可靠。DS18B20數(shù)字溫度傳感器接線非常方便,由于其獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。其測(cè)溫范圍為?-55℃~+125℃,足以滿足設(shè)計(jì)需求,并且
19、在使用過程中不需要任何外圍原件,使用非常方便。 第三章 數(shù)字鐘的硬件系統(tǒng)設(shè)計(jì) 本設(shè)計(jì)硬件部分包括控制電路、顯示電路、時(shí)鐘信號(hào)產(chǎn)生電路、溫度檢測(cè)電路、按鍵電路、電源電路等幾部分。 3.1 數(shù)字時(shí)鐘的硬件系統(tǒng)框架 電子時(shí)鐘的系統(tǒng)框架入圖3.1所示。 3.2 數(shù)字時(shí)鐘的主機(jī)電路設(shè)計(jì) 數(shù)字鐘的系統(tǒng)框架圖如圖3.1所示,主體設(shè)計(jì)部分分為 (1) 主控芯片的選擇; (2) 按鍵電路設(shè)計(jì); (3) 時(shí)鐘信號(hào)產(chǎn)生電路的設(shè)計(jì); (4) 液晶顯示電路設(shè)計(jì); (5) 溫度檢測(cè)電路設(shè)
20、計(jì); (6) 電源系統(tǒng)設(shè)計(jì)。 3.2.1 系統(tǒng)控制芯片CPU(STC90C516RD+)的選擇 STC90C516RD+系列單片機(jī)是宏晶科技推出的新一代高速/低功耗的單片機(jī),指令代碼完全兼容傳統(tǒng)8051單片機(jī),12時(shí)鐘/機(jī)器周期和6時(shí)鐘/機(jī)器周期可任意選擇,內(nèi)部集成MAX810專用復(fù)位電路,時(shí)鐘頻率在12MHz以下時(shí),復(fù)位腳可直接接地。 (1)STC90C516RD+的主要性能: AT89C516RD+是宏晶科技推出的帶64KB閃速可編程可擦除只讀存儲(chǔ)器(PEROM)的單片機(jī),它具有一下突出特點(diǎn): 1.增強(qiáng)型6 時(shí)鐘/ 機(jī)器周期,12 時(shí)鐘/ 機(jī)器周期 8051 CPU 2.工作
21、電壓:3.8V~5.5V(5V 單片機(jī)) 3.工作頻率范圍:0-40MHz,工作頻率寬,適應(yīng)性強(qiáng)。 4.提供 64K的用戶程序存儲(chǔ)空間 5.片上集成1280字節(jié) RAM 6.通用I/O口復(fù)位后為: P1/P2/P3 是準(zhǔn)雙向口/ 弱上拉(普通8051 傳統(tǒng)I/O 口) P0口是開漏輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為I/O 口用時(shí),需加上拉電阻。 7.ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器 / 仿真器。 可通過串口(P3.0/P3.1)直接下載用戶程序,下載方便快捷。 8.EEPROM 功能。 9.看門狗功能,可提高產(chǎn)品穩(wěn)定性。 10.內(nèi)部集
22、成MAX810專用復(fù)位電路,外部晶體頻率12M以下時(shí),不需特別設(shè)置外部復(fù)位電路,復(fù)位腳可直接接地[6]。 (2)STC90C516RD+內(nèi)部結(jié)構(gòu)及引腳描述 STC90C516RD+引腳配置如圖3.2所示。 它是一個(gè)有40個(gè)引腳排列直插式的芯片,其引腳描述如下: VCC:+5V電源; GND:電源地; RST:復(fù)位輸入。當(dāng)RST變?yōu)楦唠娖讲⒈3?個(gè)機(jī)器周期時(shí),單片機(jī)復(fù)位。單片機(jī)內(nèi)部集成MAX810專用復(fù)位電路,外部晶體12M以下時(shí),可省外部復(fù)位電路,RST可直接接地。 XTAL1:外部晶體振蕩器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。 XTAL2:外部晶體振蕩器的輸出。 EA /VPP
23、: 外部訪問允許;如果要訪問外部程序存儲(chǔ)器,必須是EA接低電平,才能夠選通外部程序存儲(chǔ)器。如果EA接高電平,則單片機(jī)選擇內(nèi)部程序存儲(chǔ)器執(zhí)行指令。如果鎖定LB1,則單片機(jī)內(nèi)部鎖定EA為高電平,無法訪問外部程序存儲(chǔ)器[7]。 PSEN:程序儲(chǔ)存允許(PSEN)輸出;PSEN有效才能訪問外部程序存儲(chǔ)器。當(dāng)STC90C516RD+需要從外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí), 每個(gè)機(jī)器周期兩次PSEN有信號(hào),即輸出兩個(gè)脈沖[8]。 P0口:8位雙向I/O口,開漏輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻。若用來訪問外部程序或數(shù)據(jù)存儲(chǔ)器,則P0口作為地址、數(shù)據(jù)復(fù)用口,在訪問期間激活內(nèi)部上拉電阻。 圖3.2
24、STC90C516RD+引腳配置圖 在FIash 編程時(shí),P0 口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),此時(shí),必須接外部上拉電阻。 P1/P2/P3 是準(zhǔn)雙向口/ 弱上拉(普通8051 傳統(tǒng)I/O 口) P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能: 表3.1 P3口引腳的特殊功能 上述P3口第二功能腳提供了擴(kuò)展外部存儲(chǔ)器、I/O設(shè)備時(shí)所必須的各類引腳,因此,該單片機(jī)可以方便的進(jìn)行外圍設(shè)備的擴(kuò)展。既可以之使用本單片機(jī)構(gòu)成最小系統(tǒng),也可以配合其他外部設(shè)備,構(gòu)成復(fù)雜的控制系統(tǒng),完成更為復(fù)雜的工作。P3口第二功能腳的引入,使得單片機(jī)的應(yīng)用范圍大大增加
25、。 (3)振蕩器 單片機(jī)外部振蕩器接口:XTAL1和XTAL2分別是片內(nèi)反向放大器的兩端口,如圖3.3所示。選擇一振蕩器,接電容后分別連接兩端口。此振蕩器可以選擇晶體振蕩器或者陶瓷振蕩器。若不使用外部振蕩器,改用外部時(shí)鐘信號(hào)直接驅(qū)動(dòng),則XTAL2懸空,XTAL1的驅(qū)動(dòng)如圖3.4所示。由于單片機(jī)內(nèi)部設(shè)計(jì)有二分頻電路,故對(duì)外部時(shí)鐘信號(hào)的頻率沒有特殊要求,只需滿足最基礎(chǔ)的時(shí)間規(guī)范即可[9]。 圖3.3 振蕩的外部連接方法 圖3.4 外部時(shí)鐘驅(qū)動(dòng)結(jié)構(gòu) (4) 特殊功能寄存器SFR 繼承了8051單片機(jī)的設(shè)計(jì)思路,STC90C516RD+片內(nèi)同樣設(shè)置有19個(gè)特殊功能寄存器,被
26、稱為特殊功能寄存器塊SFR,這些寄存器分布于80H~0F0H的地址空間內(nèi),完成單片機(jī)運(yùn)行控制過程中的重要功能[10]。 (5)低功耗工作模式 STC90C516RD+具有優(yōu)良的中低功耗工作模式:空閑方式與掉電方式。 空閑方式(休眠方式) 將IDL/PCON.0置為1,可以使單片機(jī)進(jìn)入空閑模式。在空閑模式下,單片機(jī)內(nèi)部時(shí)鐘停止工作,使自身功耗大幅度降低。但是外部中斷、定時(shí)計(jì)數(shù)器等部件仍然正常工作,以保證發(fā)生各種突發(fā)情況時(shí)能夠快速恢復(fù)單片機(jī)的工作??臻e模式下,看門狗定時(shí)器是否工作取決于空間狀態(tài)的模式位,若此位置“1”,則看門狗在空閑模式下不再計(jì)數(shù),停止工作。反之,看門狗定時(shí)器正常工作,以
27、保證程序運(yùn)行異常時(shí)能夠快速恢復(fù)工作。 有兩種方式可以退出空閑模式。一,任何中斷的產(chǎn)生都會(huì)使單片機(jī)退出空閑模式,轉(zhuǎn)向正常工作狀態(tài)。二,可以通過外部復(fù)位腳RST來使單片機(jī)退出復(fù)位模式。當(dāng)外部復(fù)位腳被施加24個(gè)時(shí)鐘周期以上的高電平,可以使此狀態(tài)下的單片機(jī)復(fù)位。單片機(jī)復(fù)位成功,用戶程序從0000H執(zhí)行。 掉電方式 掉電方式即停機(jī)方式,進(jìn)入掉電模式后,單片機(jī)內(nèi)部時(shí)鐘停止工作。由于缺少時(shí)鐘源,單片機(jī)的大部分模塊,如:CPU、定時(shí)計(jì)數(shù)器、串行口等停止工作,但是外部中斷口仍然保持正常的工作。進(jìn)入本模式時(shí),所有I/O口、特殊功能寄存器保持進(jìn)入本狀態(tài)前的工作狀態(tài)。 (6) 閃速存儲(chǔ)器的編程 STC90
28、C516RD+單片機(jī)內(nèi)部自帶64K的用戶存儲(chǔ)器,該存儲(chǔ)器初始狀態(tài)均為“1”,此時(shí)可以對(duì)其進(jìn)行編程。 編程時(shí),STC90C516RD+ 單片機(jī)利用內(nèi)部攜帶的地址指針控制器完成地址指針的修改工作。 (7) 在線編程 STC90C516RD+編程需要懸空RST,使用P1、P3口提供編程所必須的控制信號(hào)與數(shù)據(jù)信號(hào),這就對(duì)用戶程序提出要求,即用戶設(shè)計(jì)不與這些引腳沖突。因此,在線編程需要與用戶電路分開,由專用電路實(shí)現(xiàn)。例如,圖3.5顯示了在線編程的一個(gè)例子,它使用2選1器件74LS357來實(shí)現(xiàn)芯片的選擇信號(hào),實(shí)現(xiàn)在線編程。利用XTAL1選擇SW
29、加載,產(chǎn)生控制信號(hào)的選擇,2選1器件74LS157和三態(tài)緩沖器74LS244裝置的開關(guān)線。正常工作時(shí)的STC90C516RD+單片機(jī),選擇控制信號(hào)(selecg = 0)所有74LS157輸入端和輸出連接控制,輸出74ls244-1有效,74ls244-2三態(tài)輸出使STC90C516RD+可以控制用戶電路;當(dāng)STC90C516RD+需要編程,選擇控制信號(hào)(E= 1)都74LS157 輸入端輸出端連接到控制,和74ls244-1三態(tài)輸出,輸出74ls244-2有效,使STC90C516RD+被編程電路選中,接受編程電路控制,進(jìn)行編程操作。 3.2.2 系統(tǒng)振蕩電路設(shè)計(jì) 單片機(jī)系統(tǒng)利用晶體振蕩
30、器產(chǎn)生標(biāo)準(zhǔn)時(shí)鐘信號(hào),以驅(qū)動(dòng)其各部分工作。根據(jù)晶振不同的使用條件和環(huán)境,主要有以下幾種:普通晶振、溫補(bǔ)晶振、壓控晶振等。在設(shè)計(jì)晶振電路時(shí),應(yīng)注意晶振在電路中是重要的干擾源,抗干擾設(shè)計(jì)必須得到重視[11]。 裝置使用直流電源供電,試驗(yàn)裝置應(yīng)具有足夠的精度,連接布置合理,以盡量減少試驗(yàn)和外圍電路的影響。 (1) 普通晶振(PXO):不帶任何補(bǔ)償措施的晶體振蕩器,在使用中的頻率穩(wěn)定性取決于晶體的使用性能,一般在10-5量級(jí)。由于其不具有補(bǔ)償功能,其穩(wěn)定性較其他種類的晶振可能較低,但其性價(jià)比高,在一般系統(tǒng)中足以承擔(dān)起作用,時(shí)應(yīng)用最為廣泛的一類晶振。 (2) 溫補(bǔ)晶振(TCXO):在振蕩器內(nèi)部,設(shè)
31、計(jì)了溫度補(bǔ)償措施,使得溫度變化對(duì)晶振頻率的變化影響降到最低??梢栽谳^大的溫度范圍內(nèi)保持較高的準(zhǔn)確性和穩(wěn)定性。工作在溫度變化較大且對(duì)晶振頻率要求較高的系統(tǒng)可以考慮使用此類晶振一保證系統(tǒng)整體質(zhì)量。 (3) 恒溫晶振(OCXO):內(nèi)部設(shè)置精確的溫度控制電路,時(shí)晶振工作在零溫度系數(shù)點(diǎn),晶振的精度大大提高。產(chǎn)品精度頻率穩(wěn)定性10-7 、10-8、10-9量級(jí)以上的為高精密產(chǎn)品的頻率穩(wěn)定性。主要用作頻率源或產(chǎn)生標(biāo)準(zhǔn)信號(hào)。 (4) 壓控晶振(VCXO):通過調(diào)節(jié)外加電壓,引起晶振的變化,主要用于鎖相環(huán)和頻率調(diào)諧振蕩器的輸出頻率。電壓控制晶體運(yùn)行參數(shù)于由外部的變?nèi)荻O管組成的晶體參數(shù)電路決定[12]。
32、晶體振蕩器的技術(shù)指標(biāo): (1) 總頻差:在單位時(shí)間內(nèi),晶振的頻率和給定的標(biāo)稱頻率和晶體振蕩器的頻率之間的最大頻率差是由規(guī)定的工作和非工作參數(shù)的組合引起的。 (2) 溫度穩(wěn)定度:在額定功率和負(fù)載下,基準(zhǔn)溫度或內(nèi)隱參考溫度的最大允許頻率偏移量在規(guī)定的溫度范圍內(nèi)。 (3) 頻率穩(wěn)定預(yù)熱時(shí)間:從上電到輸出頻率符合規(guī)定頻率允許偏差所用的時(shí)間。 (4) 頻率壓控范圍:頻率控制電壓由基準(zhǔn)電壓變化到終點(diǎn)電壓過程中,晶振頻率的最小峰值改變量。 (5) 頻率壓控線性:輸出頻率-輸入控制電壓特性的理想函數(shù)是一條直線,頻率壓控線性表示所允許頻偏的非線性度。 本系晶振電路的設(shè)計(jì)如圖3.6。由于系統(tǒng)對(duì)晶振電路
33、要求不是很高,此電路可以使系統(tǒng)穩(wěn)定可靠的運(yùn)行。但由于C1 C2電容可以起到穩(wěn)定系統(tǒng)電路,減小系統(tǒng)時(shí)鐘偏差的作用。因此,這兩電容的選擇應(yīng)盡量保證電路的對(duì)稱性,選擇正規(guī)廠家生產(chǎn)的瓷片或云母電容,溫度系數(shù)盡可能低,這樣可以保證電路的穩(wěn)定工作。 3.2.3 系統(tǒng)復(fù)位電路設(shè)計(jì) 單片機(jī)系統(tǒng)應(yīng)該設(shè)計(jì)有上電復(fù)位和手動(dòng)復(fù)位電路。復(fù)位電路正常有兩種實(shí)現(xiàn)方式:即專用μp監(jiān)控電路和RC復(fù)位電路。專用μP監(jiān)控電路復(fù)位準(zhǔn)確性高,可靠性高,但是成本較高,適合對(duì)復(fù)位要求很高的系統(tǒng)。對(duì)于一般單片機(jī)電路,對(duì)復(fù)位電路要求較低,RC復(fù)位電路即可滿足要求,且電路簡(jiǎn)單易于實(shí)現(xiàn),成本也低。 (1) 專用μP監(jiān)控電路 專用μP監(jiān)控電
34、路稱為電源監(jiān)視,當(dāng)電源電壓下降到“閾值”產(chǎn)生一個(gè)可靠的復(fù)位信號(hào)電源監(jiān)控電路與功率等功能。按時(shí)效電平分,有高電平輸出、低電平輸出兩種;按功能分,有簡(jiǎn)單的電源監(jiān)視復(fù)位電路、帶看門狗定時(shí)器(WATCH DOG Timer,WDT)的監(jiān)控電路和WDT+E2PROM的監(jiān)控電路等多種類型。 (2) RC復(fù)位電路 本設(shè)計(jì)采用RC復(fù)位電路。電路設(shè)計(jì)如圖3.7: 該電路在上電時(shí)可以提供一段時(shí)間的高電平信號(hào)直至系統(tǒng)電源穩(wěn)定,該高電平信號(hào)便作為單片機(jī)的復(fù)位信號(hào)即可。單片機(jī)的復(fù)位信號(hào)只需要高電平時(shí)長達(dá)到兩個(gè)機(jī)器周期即可完成復(fù)位操作。 在實(shí)際設(shè)計(jì)制作中,通過改變電容C和電阻R1的大小,可以改變?cè)撾娐返臅r(shí)
35、間常數(shù),即可改變其保持高電平的時(shí)間。只需改變著兩參數(shù),使上電時(shí)輸出電平保持兩個(gè)機(jī)器周期以上的高電平。通常C1取值10μF,R1取10ΚΩ左右。從圖3.8所示的復(fù)位信號(hào)波形圖可以明顯看出,可以在電路中增加二極管,改善復(fù)位性能,時(shí)系統(tǒng)能夠可靠復(fù)位。 3.2.4 按鍵與按鈕電路設(shè)計(jì) 按鍵電路正常有兩種設(shè)計(jì)方式,矩陣鍵盤電路和獨(dú)立按鍵電路。矩陣鍵盤電路可以使用較少的I/O口控制較多的按鍵,但是硬件較獨(dú)立按鍵復(fù)雜。獨(dú)立按鍵則每個(gè)按鍵占用一個(gè)I/O口,硬件簡(jiǎn)單易實(shí)現(xiàn)。由于本設(shè)計(jì)只有四個(gè)按鍵,按鍵較少,且I/O資源充沛,因此選用獨(dú)立按鍵設(shè)計(jì),簡(jiǎn)化設(shè)計(jì)增加穩(wěn)定性。 設(shè)計(jì)過程中,需考慮按鍵去抖動(dòng)的問題,正
36、常有兩種解決方式:硬件去抖動(dòng)和軟件去抖動(dòng)。硬件去抖可以使用專用接口芯片,也可以使用觸發(fā)器等器件實(shí)現(xiàn)。但是這種方法需要增加額外的部件,增加成本與硬件復(fù)雜度,本設(shè)計(jì)對(duì)按鍵部分要求較低,可以選用軟件去抖動(dòng)方式。軟件方式在讀取到有鍵被按下信號(hào)后,設(shè)置一段時(shí)間的延時(shí),再次進(jìn)行掃描,通過延時(shí)達(dá)到去抖動(dòng)的目的。 3.2.5 數(shù)字鐘的顯示電路設(shè)計(jì) (1) LCD的選擇 LCD(Liquid Crystal Display)即液晶顯示器。 LCD 的構(gòu)造是在兩片平行的玻璃基板當(dāng)中放置液晶盒,下基板玻璃上設(shè)置TFT(薄膜晶體管),上基板玻璃上設(shè)置彩色濾光片,通過TFT上的信號(hào)與電壓改變來控制液晶分子的轉(zhuǎn)動(dòng)
37、方向,從而達(dá)到控制每個(gè)像素點(diǎn)偏振光出射與否而達(dá)到顯示目的。 圖3.9為LCD液晶屏: 圖3.9 12864液晶顯示屏 12864ZW漢字圖形點(diǎn)陣液晶顯示模塊,可顯示漢字及圖形,內(nèi)置8192個(gè)中文漢字(16X16點(diǎn)陣)、128個(gè)字符(8X16點(diǎn)陣)及64X256點(diǎn)陣顯示RAM(GDRAM) 主要技術(shù)參數(shù)和顯示特性: 電源:VDD?3.3V~+5V(內(nèi)置升壓電路,無需負(fù)壓); 顯示內(nèi)容:128列×64行 顯示顏色:黃綠 顯示角度:6:00鐘直視? 與MCU接口:8位或4位并行/3位串行 配置LED背光 多種軟件功能:光標(biāo)顯示、畫面移位、自定義字符、睡眠模式等 12864ZW
38、在單片機(jī)系統(tǒng)中作為液晶顯示器輸出器件有以下幾個(gè)優(yōu)點(diǎn): 顯示質(zhì)量高 由于在接收信號(hào)的液晶顯示器每一個(gè)點(diǎn)的顏色和亮度保持恒定,恒定發(fā)亮,而不像一個(gè)陰極射線管顯示器(CRT),需要不斷刷新新亮點(diǎn)。因此,液晶顯示不會(huì)出現(xiàn)任何幾何失真,線性失真。高質(zhì)量,不會(huì)閃爍,體積小、重量輕。 液晶顯示器由于其工作原理的特殊性,無須如陰極射線管這類設(shè)備,大大降低了體積,厚度只有6~8.5mm,重量上也比傳統(tǒng)顯示設(shè)備低得多。 低壓微功耗 液晶顯示器的功耗主要消耗在其內(nèi)部的電極和驅(qū)動(dòng)IC上,因而耗電量比其它顯示器要少得多。12864液晶屏可直接由單片機(jī)驅(qū)動(dòng),不需要專用電源電路,安全節(jié)能可靠。 (2)模塊引腳說
39、明 12864ZW引腳說明如表3.1所示: 表3.1 12864ZW引腳說明 邏輯工作電壓(VDD):4.5~5.5V 電源地(GND):0V 工作溫度(Ta):0~60℃(常溫)/-20~75℃(寬溫) (3)接口時(shí)序 此模塊有并行和串行兩種連接方法(時(shí)序如下): 8位并行連接時(shí)序圖 圖3.10:寫資料時(shí)序圖 MCU寫資料到模塊時(shí)序如圖3.10: 圖3.11:讀資料時(shí)序圖 MCU讀數(shù)據(jù)時(shí)序如圖3.11: 串行連接時(shí)序圖 圖3-12:串行讀寫時(shí)序圖 串行讀寫時(shí)序如圖3.12: 串行數(shù)據(jù)傳送共分三個(gè)字節(jié)完成 第一字節(jié):串口控制—格式 11
40、111ABC A為數(shù)據(jù)傳送方向控制:H表示數(shù)據(jù)從LCD到MCU,L表示數(shù)據(jù)從MCU到LCD B為數(shù)據(jù)類型選擇:H表示數(shù)據(jù)是顯示數(shù)據(jù),L表示數(shù)據(jù)是控制指令 C固定為0 第二字節(jié):(并行)8位數(shù)據(jù)的高4位—格式 DDDD0000 第三字節(jié):(并行)8位數(shù)據(jù)的低4位—格式 0000DDDD 串行接口時(shí)序參數(shù):(測(cè)試條件:T=25℃VDD=4.5V) LCD模塊硬件實(shí)現(xiàn) LCD液晶屏與單片機(jī)的通信方式可以分為兩種:并行方式與串行方式,兩者應(yīng)用場(chǎng)合不同,硬件電
41、路和軟件設(shè)計(jì)都有著很大的區(qū)別。 并行方式:一次傳輸8位(4位)數(shù)據(jù),傳輸速度快,但是占用I/O口較多。適合短距離通信。 串行方式:一位一位傳送,傳輸速度較慢,但占用I/O口少,硬件簡(jiǎn)單。 圖3.12:LCD并行驅(qū)動(dòng)的電路原理圖 LCD并行驅(qū)動(dòng)的電路原理圖如圖3.12所示: 圖中顯示的是12864的8位數(shù)據(jù)線與單片機(jī)的P0口相連,3根控制線分別連接P2.0,P2.1,P2.2。該電路使用單片機(jī)的11個(gè)端口使液晶屏順利顯示。 3.2.6電源設(shè)計(jì) 在本設(shè)計(jì)中,由于STC90C516RD+工作電壓是4~6V??紤]精簡(jiǎn)設(shè)計(jì),降低成本,選用最方便可靠的5V。電源系統(tǒng)設(shè)計(jì)如圖3.13示。
42、 圖3.13 系統(tǒng)電源原理圖 3.2.7時(shí)鐘信號(hào)發(fā)生電路設(shè)計(jì) 本設(shè)計(jì)采用DS1302時(shí)鐘芯片產(chǎn)生日期與時(shí)間信號(hào)。 DS1302與單片機(jī)之間采用同步串行方式進(jìn)行通信,只需要三根線即可完成通信:RES復(fù)位、I/O數(shù)據(jù)線、SCLK時(shí)鐘線。此種通信方式,一位一位進(jìn)行傳輸,由起始位開始,后接8位數(shù)據(jù)位,以終止位結(jié)束,完成一個(gè)字節(jié)的傳輸。單片機(jī)在SCLK的上升沿寫指令、數(shù)據(jù)到DS1302。寫入完成后,在SCLK的下降沿可以讀出芯片內(nèi)部存儲(chǔ)器中的內(nèi)容。 DS1302 是由DS1202 改進(jìn)而來的,提供了雙電源管腳分別用于主電源和備用電源供電。正常工作狀態(tài)下可以對(duì)備用電源進(jìn)行涓流充電,延
43、長其使用壽命。本芯片體積小,使用方便,廣泛應(yīng)用于需要時(shí)鐘信息的各類便攜式電子產(chǎn)品中 圖3.14 DS1302外部電路 DS1302的外部電路如圖3.14所示: 由于DS1302與單片機(jī)只有三根信號(hào)線相連,采用串行方式進(jìn)行數(shù)據(jù)傳輸,此芯片的單字節(jié)讀時(shí)序如圖3.15所示: 圖3.15 DS1302單字節(jié)讀時(shí)序 單字節(jié)寫時(shí)序如圖3.16所示: 圖3.16 DS1302單字節(jié)寫時(shí)序 SINGLE BYTE READ:以字節(jié)為單位進(jìn)行讀寫,若要讀出內(nèi)部存儲(chǔ)器中的內(nèi)容,需要先對(duì)其寫命令。在SCLK的每個(gè)上升沿寫入一位數(shù)據(jù),從最低位開始,當(dāng)八位全部寫入后,緊接著八個(gè)下降沿,單片機(jī)可以
44、從數(shù)據(jù)線上按位由低到高讀數(shù)據(jù)。 3.2.8溫度檢測(cè)電路設(shè)計(jì) 普通的溫度傳感器輸出的是模擬信號(hào),需要經(jīng)過放大、AD轉(zhuǎn)換等環(huán)節(jié)才可轉(zhuǎn)化為數(shù)字信號(hào)送入計(jì)算機(jī)進(jìn)行處理。這樣溫度檢測(cè)模塊的可靠性和穩(wěn)定性將降低。 因此,本設(shè)計(jì)采用數(shù)字溫度采集芯片DS18B20采集信號(hào)。DS18B20可直接輸出數(shù)字信號(hào),避免復(fù)雜的外部放大處理電路,提高溫度采集的工作效率和采集精度。本芯片采用單總線數(shù)據(jù)傳輸方式,測(cè)量分辨率達(dá)到0.0625℃,測(cè)量精度高,溫度信息直接以十六位數(shù)字量形式輸出。采用DS18B20測(cè)量溫度,可以提高集成度,大大減小產(chǎn)品體積,減小外部干擾,提高系統(tǒng)穩(wěn)定性。 DS18B20與控制器之間采
45、用串行方式進(jìn)行數(shù)據(jù)傳輸,它有獨(dú)特的單線接口,僅需要一根線即可完成控制器與DS18B20的雙向數(shù)據(jù)傳輸。根據(jù)本芯片的通信協(xié)議,控制器控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過一下幾個(gè)步驟: 1. 復(fù)位DS18B20;每次都寫之前都要進(jìn)行本操作,復(fù)位要求CPU將數(shù)據(jù)線下拉500MS,然后拉高。DS18B20發(fā)到信號(hào)后,復(fù)位成功發(fā)出應(yīng)答信號(hào),CPU收到此信號(hào)后表面復(fù)位成功,可進(jìn)行下一步操作。 2. 發(fā)送一條ROM指令。 3. 發(fā)送RAM指令。 圖3.17 DS18B20接線圖 DS18B20接線如圖3.17所示:
46、 第四章 程序設(shè)計(jì) 4.1軟件開發(fā)語言及平臺(tái) 4.1.1 單片機(jī)開發(fā)語言的選擇 本設(shè)計(jì)選擇使用C語言作為編程語言進(jìn)行軟件部分的設(shè)計(jì)。 單片機(jī)的C51編程與用匯編ASM-51編程相比,有如下優(yōu)點(diǎn): 1. 不要求編程人員對(duì)單片機(jī)的指令系統(tǒng)有深刻的認(rèn)識(shí),也不要求編程人員熟悉存儲(chǔ)器的結(jié)構(gòu)和工作方式,可以直接用C語言編程實(shí)現(xiàn)其功能。 2. 匯編編程需要手動(dòng)分配存儲(chǔ)空間,操作繁瑣。這項(xiàng)工作在C語言中由編譯器完成,簡(jiǎn)化編程。 3. 標(biāo)準(zhǔn)函數(shù)庫中包含諸多標(biāo)注子程序,具有很強(qiáng)的數(shù)據(jù)處理功能,編程中可直接調(diào)用這些子程序,方便快捷。 4. 結(jié)構(gòu)化的編程方式,使得程序結(jié)構(gòu)一目了然,各模塊實(shí)現(xiàn)各
47、自的功能,可讀性高,可移植性高。 5. 與使用匯編語言相比,C語言開發(fā)和調(diào)試的周期大大縮短。 因此,選用C語言作為本設(shè)計(jì)的開發(fā)語言 4.2軟件設(shè)計(jì) 4.2.1主程序設(shè)計(jì) 主模塊是系統(tǒng)軟件的主框架。結(jié)構(gòu)化程序設(shè)計(jì)是先把系統(tǒng)要實(shí)現(xiàn)的功能劃分為一個(gè)個(gè)模塊,分別解決每一模塊的問題,使各模塊實(shí)現(xiàn)自身的功能,然后將各模塊組合成完整的系統(tǒng)。每一模塊的合理與否關(guān)系到程序最終功能的多少和性能的好壞。本系統(tǒng)主模塊的程序框圖如圖4.1。 圖4.1 主程序流程圖 根據(jù)系統(tǒng)設(shè)計(jì)要求,本設(shè)計(jì)的軟件設(shè)計(jì)部分主要包括顯示程序設(shè)計(jì),按鍵模塊設(shè)計(jì)與時(shí)鐘信號(hào)讀寫處理程序設(shè)計(jì)。 其中主函數(shù)由初始化函
48、數(shù)和while死循環(huán)組成。初始化函數(shù)主要對(duì)DS1302和12864液晶屏進(jìn)行初始化。DS1302初始化程序?qū)懭氤跏既掌跁r(shí)間,設(shè)定時(shí)鐘芯片的計(jì)時(shí)方式為24時(shí)計(jì)時(shí)法。12864液晶屏的初始化程序設(shè)計(jì)本模塊的通訊方式為8位并行方式,無光標(biāo)顯示指針方向加一并清屏。主函數(shù)程序結(jié)構(gòu)如下: 4.2.2顯示模塊程序設(shè)計(jì) 根據(jù)系統(tǒng)要求,數(shù)字鐘的顯示由12864完成,顯示程序包括初始數(shù)據(jù)的寫入,地址的寫入,數(shù)據(jù)的刷新等部分完成。其流程圖如圖4.2所示。 12864顯示根據(jù)上章時(shí)序圖,在主程序完成初始化后,如果沒有需要更新的內(nèi)容,則短暫延時(shí)后再檢測(cè)是否需要更新顯示內(nèi)容。若有內(nèi)容需要更新,判斷其忙標(biāo)志位,若
49、其處于空閑狀態(tài),先向12864寫入控制信號(hào),指定本次操作的目標(biāo)寄存器。隨后寫入數(shù)據(jù)信號(hào),完成顯示內(nèi)容的更新。12864顯示屏的程序結(jié)構(gòu)如下: 寫命令程序: 寫數(shù)據(jù)程序 圖4.2 顯示模塊流程圖 4.2.3時(shí)鐘信號(hào)發(fā)生模塊程序設(shè)計(jì) 時(shí)鐘信號(hào)由DS1302產(chǎn)生,在完成DS1302初始化后,該芯片自動(dòng)進(jìn)行計(jì)時(shí)并刷新內(nèi)部RAM。該模塊程序主要完成對(duì)DS1302內(nèi)部RAM數(shù)據(jù)的讀寫與讀出數(shù)據(jù)后的處理工作。本模塊程序結(jié)構(gòu)如下: 第五章 系統(tǒng)的調(diào)試與結(jié)果 分別完成了智能數(shù)字鐘的硬件和軟件設(shè)計(jì),需要對(duì)其進(jìn)行調(diào)試,以驗(yàn)證設(shè)計(jì)的正確性和合理性,保
50、證系統(tǒng)能夠正常穩(wěn)定運(yùn)行。 5.1 系統(tǒng)調(diào)試環(huán)境及設(shè)備 本設(shè)計(jì)硬件部分制作在電路板上,與采用面包板搭建系統(tǒng)相比,整個(gè)電路結(jié)構(gòu)緊湊,體積小,不需要外部接線,降低了元器件之間的互相干擾,方便調(diào)試系統(tǒng)。PCB圖如圖附錄3所示。 5.2 軟件調(diào)試 5.2.1軟件調(diào)試環(huán)境 圖5.1 Keil uVision4工作窗口 系統(tǒng)以單片機(jī)C51語言編程,在Keil uVision4集成環(huán)境中完成軟件的編寫與調(diào)試,其工作窗口如圖5.1所示。整個(gè)軟件編程調(diào)試過程中,應(yīng)先對(duì)各個(gè)模塊分別進(jìn)行編程調(diào)試,各個(gè)模塊能夠正確完成其功能后,進(jìn)行整體系統(tǒng)的調(diào)試。這是系統(tǒng)調(diào)試最重要環(huán)節(jié),也是整個(gè)系統(tǒng)能否順利順利完成的重要步
51、驟。 程序編譯通過后,如果編譯器顯示:0錯(cuò)誤,說明程序編譯通過,但并不意味著程序能夠?qū)崿F(xiàn)我們需要的功能,我們需要將程序下載到單片機(jī)中,與硬件結(jié)合進(jìn)行調(diào)試。STC90C516RD+單片機(jī)可以在線編程,可以使用STC-ISP V483 下載軟件通過計(jì)算機(jī)串口將程序燒錄到單片機(jī)中,程序下載界面如圖5.2所示;第一步,在MCU type中選擇單片機(jī)型號(hào):STC90C516RD+;第二步,點(diǎn)擊打開文件按鈕,選擇程序調(diào)試通過后生成的HEX文件;第三步,選擇計(jì)算機(jī)的COM口和波特率(一般選擇9600bps);第四步,選擇系統(tǒng)默認(rèn)值;第五步,點(diǎn)擊Download按鈕。下載時(shí),先連接單片機(jī),點(diǎn)擊按鈕后再連接單
52、片機(jī)的電源線(冷啟動(dòng)),等待下載完成即可 圖5.2 程序下載界面 5.2.3軟件調(diào)試中遇到的主要問題 雖然數(shù)字鐘的功能比較少,但是程序調(diào)試過程中所遇到的問題還是比較多。主要問題集中在以下幾個(gè)部分: 1. 12864液晶屏顯示問題 由于12864液晶屏的讀寫時(shí)序與1602基本相同,讀寫命令控制函數(shù)完成的都比較順利。但是在寫數(shù)據(jù)過程中,對(duì)于寫什么類型的數(shù)據(jù),數(shù)據(jù)是如何顯示的這方面比較模糊,只能繼續(xù)在數(shù)據(jù)手冊(cè)中去尋求答案。由于本次設(shè)計(jì)采用的液晶屏是帶漢字字庫,要顯示漢字只需要輸入漢字的內(nèi)碼即可顯示,在程序中即以字符串?dāng)?shù)組的形式寫入。 搞清楚了液晶屏的數(shù)據(jù)形式后,可以在液晶屏上顯示一些
53、畫面,但是無法顯示預(yù)想中的結(jié)果。為了解決此類問題,考慮到問題有可能出現(xiàn)在初始化階段,根據(jù)數(shù)據(jù)手冊(cè)中的初始化部分內(nèi)容,現(xiàn)將初始化模塊歸納為以下幾個(gè)部分:清屏,顯示方向的選擇,開啟液晶顯示,設(shè)置液晶從第0行開始顯示等。在完成初始化程序后,液晶屏可以顯示某些正確內(nèi)容,但是也很容易出現(xiàn)亂碼。經(jīng)過仔細(xì)的檢查調(diào)試,發(fā)現(xiàn)亂碼的原因可能出現(xiàn)在單片機(jī)的忙檢測(cè)函數(shù)沒有正確工作。由于讀寫指令、數(shù)據(jù)過程中都添加了短暫延時(shí),本以為并不需要忙檢測(cè)函數(shù)即可正常工作。在頻繁出現(xiàn)亂碼后,添加忙檢測(cè)函數(shù),使每次傳輸?shù)臄?shù)據(jù)都可以完整的傳送到液晶屏,能夠避免出現(xiàn)數(shù)據(jù)、指令傳輸不完全的情況。經(jīng)過這些錯(cuò)誤的排除,液晶屏模塊的調(diào)試基本完成
54、,可以按照預(yù)想的方式顯示漢字與數(shù)字 2. DS1302芯片的數(shù)據(jù)處理問題 我使用的單片機(jī)的P2.1(CLK),P2.0(IO),P2.2(CE),可是時(shí)間讀出來總是85,把1302拔掉,讀出來還是85,知道是沒有讀到1302。沒有辦法,自己研究數(shù)據(jù)手冊(cè),發(fā)現(xiàn)與其他芯片不同的讀寫時(shí)序,此芯片是在上升沿讀取數(shù)據(jù),下降沿寫入數(shù)據(jù)。更改完讀寫程序,單片機(jī)可以讀到初始化后的時(shí)、分、秒等數(shù)據(jù)了。于是將從DS1302讀出的數(shù)據(jù)寫入顯示屏,可以在顯示屏上顯示出一些數(shù)據(jù),但是這些數(shù)據(jù)并不是我所期望的時(shí)、分、秒,并且秒數(shù)據(jù)極其不穩(wěn)定,會(huì)出現(xiàn)亂跳的情況,從20跳到40……此時(shí)意識(shí)到從DS1302中讀出的數(shù)據(jù)是以
55、BCD碼的形式存放的,因此程序中缺少一段BCD轉(zhuǎn)16進(jìn)值的轉(zhuǎn)化程序。在讀出數(shù)據(jù)后添加轉(zhuǎn)化程序后,將從DS1302中讀出的BCD碼轉(zhuǎn)化為16進(jìn)值以字符串的形式送顯示屏顯示。在解決了數(shù)據(jù)轉(zhuǎn)化的問題后,可以在顯示屏上正確顯示出時(shí)間與日期信號(hào)。到此,時(shí)鐘信號(hào)發(fā)生模塊的調(diào)試告一段落。 解決了12864液晶屏的顯示與時(shí)鐘信號(hào)發(fā)生模塊的問題之后,整體的軟件調(diào)試就得以順利進(jìn)行了。經(jīng)過整體的調(diào)試,電子鐘的功能基本得以實(shí)現(xiàn)。 5.3硬件調(diào)試 在硬件調(diào)試的過程中,最大的困難在于液晶顯示電路的測(cè)試工作。由于12864ZW液晶模塊具有20個(gè)引腳,除去DB0到DB7八根數(shù)據(jù)線和使能端(E)、讀寫選通信號(hào)(RW)、地
56、址數(shù)據(jù)選擇信號(hào)(RS)三根控制線,剩余的9個(gè)引腳的接線方式成為主要問題。通過查閱數(shù)據(jù)手冊(cè),12864的1號(hào)腳VSS是模塊的電源地接0V,2號(hào)腳VDD是模塊的電源正段接+5V,16,18腳為空引腳直接懸空。17號(hào)腳復(fù)位引腳,由于不需要外部復(fù)位電路,此引腳直接接+5V。19腳為背光電源正極,20腳為背光電源的負(fù)極,分別接0V和+5V。剩下兩個(gè)引腳:3號(hào)腳V0,LCD驅(qū)動(dòng)電壓輸入端,應(yīng)通過電阻接電源正極。由于本設(shè)計(jì)選擇的12864ZW液晶屏集成了驅(qū)動(dòng)電源,因此,3號(hào)腳可以直接懸空。15號(hào)腳PSB并/串行接口選擇端,此引腳在調(diào)試過程中帶來了很大的麻煩。 本設(shè)計(jì)采用8位并行的方式傳輸數(shù)據(jù),則PSB應(yīng)該
57、接高電平。在最初的設(shè)計(jì)中,PSB接單片機(jī)的P3.1口,軟件中賦予其高電平,選通并行傳輸方式。此方案在實(shí)際調(diào)試過程中出現(xiàn)了非常嚴(yán)重的亂碼問題,即數(shù)據(jù)線上的數(shù)據(jù)不能完整的傳輸?shù)揭壕林小=?jīng)過長時(shí)間的修改程序,這一問題難以得到解決。只能采取其他的方式解決這一問題,考慮到設(shè)計(jì)中液晶顯示模塊只用到并行的傳輸方式,那么直接將PSB引腳在硬件部分賦予高電平,使其直接選中并行傳輸方式。經(jīng)過調(diào)試,此方案簡(jiǎn)單可靠,成功的解決了軟件賦值帶來的亂碼問題。 第六章 總結(jié)與展望 6.1總結(jié) 本次的論文主要完成了基于單片機(jī)的智能數(shù)字鐘的設(shè)計(jì)與調(diào)試,該數(shù)字鐘主要具備了日期時(shí)間的顯示,溫度的顯示,重大節(jié)日的
58、提醒等功能。 單片機(jī)智能數(shù)字鐘發(fā)揮了單片機(jī)在智能化方面的應(yīng)用,是一個(gè)理想的智能化的設(shè)計(jì)。本設(shè)計(jì)雖然規(guī)模較小,但是功能較為實(shí)用,并且能夠進(jìn)行進(jìn)一步的擴(kuò)展,使其功能更加多樣,應(yīng)用范圍更加廣泛。 通過這段時(shí)間的學(xué)習(xí)和調(diào)試,最終完成了智能數(shù)字鐘的設(shè)計(jì)與調(diào)試工作,使之能順利運(yùn)行,符合其設(shè)計(jì)要求。在這次設(shè)計(jì)調(diào)試過程中,也了解了單片機(jī)系統(tǒng)的開發(fā)步驟:先了解實(shí)際的具體要求,在確定具體的設(shè)計(jì)方案,了解所用到的各個(gè)模塊的功能,然后畫出電路圖,完成各模塊的設(shè)計(jì)調(diào)試,最后進(jìn)行整體的調(diào)試。 硬件部分主要完成了PCB電路板的制作與焊接,完成了各模塊的調(diào)試與系統(tǒng)整體的調(diào)試工作。在制作過程中,有效學(xué)習(xí)了Altium D
59、esigner的使用,了解了電路板制作過程中的步驟與注意事項(xiàng)。強(qiáng)化了對(duì)陌生芯片的學(xué)習(xí)與使用能力,在今后的學(xué)習(xí)工作中,遇到此類問題可以通過對(duì)數(shù)據(jù)手冊(cè)的學(xué)習(xí)來解決芯片的使用問題。軟件部分完成了C語言的編程,強(qiáng)化了用C語言解決問題的能力。 單片機(jī)是功能強(qiáng)大的軟硬件結(jié)合的系統(tǒng),隨著數(shù)字技術(shù)的發(fā)展,單片機(jī)的功能更加強(qiáng)大和應(yīng)用領(lǐng)域?qū)⒏鼮閺V泛,將為我們的生活帶來更多的便利。對(duì)于我們自動(dòng)化的學(xué)生來說,這既是一種機(jī)遇也是一種挑戰(zhàn)。通過本課題的設(shè)計(jì),系統(tǒng)的將大學(xué)四年學(xué)習(xí)的各種知識(shí)運(yùn)用到實(shí)踐當(dāng)中,也培養(yǎng)了直接獨(dú)立解決問題的能力,給以后的學(xué)習(xí)工作帶來很大的幫助。 6.2展望 隨著微電子工業(yè)的發(fā)展,特別是片上集成
60、電路的飛速發(fā)展,單片機(jī)技術(shù)會(huì)越來越多的被應(yīng)用于工業(yè)生產(chǎn)與我們的日常生活之中。社會(huì)生活節(jié)奏的加快也催生了對(duì)高精度時(shí)鐘的要求,基于這些方面的原因,本設(shè)計(jì)主要完成了單片機(jī)的智能數(shù)字鐘設(shè)計(jì)。 為了適應(yīng)當(dāng)今社會(huì)和市場(chǎng)的要求,單片機(jī)技術(shù)與現(xiàn)實(shí)生產(chǎn)生活的聯(lián)系將越來越緊密,單片機(jī)技術(shù)應(yīng)向以下幾個(gè)方面發(fā)展: 1. 不斷提高單片機(jī)的計(jì)算速度 單片機(jī)系統(tǒng)將被運(yùn)用于越來越復(fù)雜的工作中去,復(fù)雜工作對(duì)單片機(jī)的計(jì)算能力與計(jì)算速度提出了新的要求。由最初的8位機(jī),發(fā)展到現(xiàn)在的16位,32位,總線寬度的擴(kuò)展似的CUP的計(jì)算能力得到提高。雖然目前單片機(jī)的運(yùn)算速度較之前已經(jīng)有了巨大的提高,但仍有巨大的發(fā)展空間。 2. 片內(nèi)存
61、儲(chǔ)器的發(fā)展 片內(nèi)的程序存儲(chǔ)器現(xiàn)在通常采用閃速(Flash)存儲(chǔ)器。Flash存儲(chǔ)器可以在+5V條件下讀/寫,既有靜態(tài)RAM的讀寫,又有掉電數(shù)據(jù)不丟失的有點(diǎn)。片內(nèi)存儲(chǔ)器的應(yīng)用,使得單片機(jī)可以不用片外擴(kuò)展存儲(chǔ)器,大大優(yōu)化了系統(tǒng)結(jié)構(gòu)。目前單片機(jī)的片內(nèi)存儲(chǔ)器容量越來越大,從最初的1K發(fā)展到現(xiàn)在的128K甚至更多。今后的單片機(jī)片內(nèi)存儲(chǔ)器容量會(huì)更大。 3. 低功耗化 目前,8位單片機(jī)產(chǎn)品基本已CMOS化,CMOS芯片的單片機(jī)具有低功耗的優(yōu)點(diǎn)。同時(shí),為了充分發(fā)揮這一的特點(diǎn),這類單片機(jī)設(shè)計(jì)了睡眠模式、等待模式、關(guān)閉狀態(tài)等工作方式。設(shè)計(jì)了這些工作方式,單片機(jī)的功耗電流可以控制為uA量級(jí),非常適合電池供電的
62、可攜帶電子產(chǎn)品中,大大減小其體積。 綜上所述,單片機(jī)系統(tǒng)正向著高性能、高速度、大容量、低功耗的方面發(fā)展。在社會(huì)生活的方方面面發(fā)揮著重大作用。 致謝 本次設(shè)計(jì)與論文撰寫是在老師的指導(dǎo)下完成的,從論文的選題,開題報(bào)告的撰寫,到實(shí)物的制作調(diào)試,到最后論文的修改定稿,徐老師都傾注了大量的心血。徐老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和科學(xué)的工作方法給了我極大的幫助;老師幫我們擬定題目,遇到問題時(shí),幫助我們解決問題,教給我們解決問題的方法。四年的大學(xué)生活中,徐老師給予了我許多幫助,借此機(jī)會(huì),向徐老師表示感謝 大學(xué)期間,自動(dòng)化教研室的各位老師在學(xué)習(xí)、生活上給予了我大量幫助。還有身邊的同學(xué),每次遇到困難,
63、他們總是與我站在一起,共同度過,在此對(duì)大家表示感謝。 此次畢業(yè)設(shè)計(jì)即將結(jié)束,在順利完成答辯后,我們將走出校園,進(jìn)入人生的下一個(gè)階段。但是,大學(xué)四年老師同學(xué)的關(guān)心照顧我將銘記在心。 參 考 文 獻(xiàn) [1] 蔡淵志.淺談單片機(jī)電子時(shí)鐘[J].華人時(shí)刊.2013 [2] 張帥.一種兼容MCS-51指令集的高速M(fèi)CU的設(shè)計(jì)及實(shí)現(xiàn)[D].哈爾濱:哈爾濱工業(yè)大學(xué).2012 [3] 刑鐵增.GPS在瞬變電磁系統(tǒng)同步中的應(yīng)用研究[J].物探化探計(jì)算技術(shù).2010 [4] 林敏,于忠得,舒奎.74LS164在2051單片機(jī)LED顯示電路中的應(yīng)用[J].大連輕工業(yè)學(xué)院學(xué)報(bào).2001
64、 [5] 謝奕勝.基于DSP的心電監(jiān)護(hù)儀的設(shè)計(jì)與研究[D].西安.西北工業(yè)大學(xué).2005 [6] 呂成麗.基于遙控與手寫屏的電子席位卡設(shè)計(jì)與實(shí)現(xiàn)[D].鎮(zhèn)江.江蘇大學(xué).2011 [7] 李誼萍.基于單片機(jī)的水浴電鍋爐恒溫控制系統(tǒng)設(shè)計(jì)[D].南昌.南昌大學(xué).2014 [8] 魏麗芳.淺談超聲波測(cè)距儀設(shè)計(jì)[J].投資與創(chuàng)業(yè).2012 [9] 劉鳳格.MCS-51單片機(jī)的時(shí)鐘電路[J].菏澤師范??茖W(xué)校學(xué)報(bào).2003 [10] 詹文彬.智能鉆孔測(cè)斜儀設(shè)計(jì)[D].西安.西安交通大學(xué).2009 [11] 肖鵬.一種用于溫度補(bǔ)償晶體振蕩器的芯片設(shè)計(jì)[D].武漢.華中科技大學(xué).2009 [12] 胡上.基于C8051F061的微機(jī)補(bǔ)償晶體振蕩器.湖南.湖南大學(xué).2010
- 溫馨提示:
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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 衛(wèi)生經(jīng)濟(jì)政策分析課件
- 向時(shí)間要效率-主題班會(huì)課件
- 小崗村之行課件
- 孝道與感恩課件
- 測(cè)量小燈泡的電功率ppt課件6(人教版物理九年級(jí)全冊(cè))
- 瑞豐高材公司章程(7月)
- 現(xiàn)代銷售學(xué)創(chuàng)造顧客價(jià)值(第11版)Manning11e11
- 幼兒園教師禮儀培訓(xùn)
- 《說和做》(新版優(yōu)秀教案)【優(yōu)質(zhì)】教學(xué)課件
- 伊斯蘭園林特點(diǎn)解析課件
- 企業(yè)環(huán)保自覺性與公政策導(dǎo)向分析課件
- 焦慮癥的針灸治療課件
- 服裝企業(yè)生產(chǎn)設(shè)備簡(jiǎn)介講義課件
- 人才資源統(tǒng)計(jì)報(bào)表課件
- 化學(xué)品危害及防護(hù)