畢業(yè)設(shè)計(論文)基于at89s52單片機的數(shù)字萬年歷設(shè)計_第1頁
畢業(yè)設(shè)計(論文)基于at89s52單片機的數(shù)字萬年歷設(shè)計_第2頁
畢業(yè)設(shè)計(論文)基于at89s52單片機的數(shù)字萬年歷設(shè)計_第3頁
畢業(yè)設(shè)計(論文)基于at89s52單片機的數(shù)字萬年歷設(shè)計_第4頁
畢業(yè)設(shè)計(論文)基于at89s52單片機的數(shù)字萬年歷設(shè)計_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、摘要 在當代繁忙的工作與生活中,時間與我們每一個人都有非常親密的關(guān)系,每個人都收到時間的影響,為了更好的利用我們自己的時間,我們必須對時間有一個度量,因此產(chǎn)生了鐘表。隨著社會、科技的發(fā)展,人類得知時間,從觀太陽、擺鐘到現(xiàn)在電子鐘,不斷研究、創(chuàng)新。為了在觀測時間的同時能夠了解其他與人類密切相關(guān)的信息,比如溫度、星期、日期等,電子萬年歷誕生了,它集時間、日期、星期和溫度于一身,具有讀取方便、顯示直觀、功能多樣、電路簡潔等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。該電子萬年歷主要采用AT89S52單片機作為主控核心,由DS1302時鐘芯片提供時鐘、LED動態(tài)掃描顯示屏顯示,AT89S

2、52單片機具有功耗小,片內(nèi)ROM全都采用FlashROM:能以3V的超低電壓工作,同時也與MCS-51系列單片機完全兼容,該芯片內(nèi)部存儲器為8KB ROM存儲空間,同時具有89C51的功能,且具有在線編程可擦除技術(shù),當在對電路進行調(diào)試時,由于程序的錯誤修改或程序的新增功能需要燒入程序時,不需要對芯片進行多次插拔,所以不會對芯片造成損壞。DS1302時鐘芯片是美國DALLAS公司推出的具有涓流電流充電功能的低功耗實時時鐘芯片,它可以對年、月、日等進行計時,還有閏年補償?shù)裙δ?,而且使用壽命長,誤差小,數(shù)字顯示是采用的LCD液晶顯示,可以同時顯示各種需要的信息。此外,該電子萬年歷還具有時間校準等功能

3、。關(guān)鍵字:時鐘電路時鐘芯片DS1302 LCD液晶顯示單片機AT89S52目 錄摘 要 第一章 緒論11.1 選題背景11.2 系統(tǒng)目標11.3 設(shè)計意義1第二章 系統(tǒng)分析32.1 系統(tǒng)總體結(jié)構(gòu)32.2 系統(tǒng)功能分析3第三章 總體設(shè)計與詳細設(shè)計5 總體設(shè)計55第四章 系統(tǒng)實現(xiàn)7第五章 調(diào)試與測試9總結(jié)與心得10附錄:1 源代碼112 參考文獻19第一章 緒論1.1選題背景:在社會迅速發(fā)展的今天,單片機的的運用已經(jīng)滲透到我們生活的每個角落,也似乎很難找到哪個領(lǐng)域沒有單片機的足跡。智能儀表、醫(yī)療器械,導(dǎo)彈的導(dǎo)航裝置,智能監(jiān)控、通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能

4、IC 卡,汽車的安全保障系統(tǒng),動控制領(lǐng)域的機器人,數(shù)碼像機、電視機、全自動洗衣機的控制, 機以及程控玩具、電子寵物等等,這些都離不開單片機。 所以,單片機的學(xué)習(xí)、開發(fā)與應(yīng)用將對于現(xiàn)代社會的發(fā)展,經(jīng)濟的繁榮,和提高滿足人類日益增長的物質(zhì)文化需求有著至關(guān)重要的作用。也成就了一批又一智能化控制的工程師和科學(xué)家??萍荚桨l(fā)達,智能化的東西就越多。學(xué)習(xí)單片機是社會發(fā)展的必然需求,也是我們現(xiàn)代高級技工所必須要掌握的技能。.1單片機的簡介:微型計算機(Single Chip Microcomputer) 微型計算機的主要特點:CPU集成于一個芯片中。 單片機(Micro Controller Unit)是把組

5、成微型計算機的各功能部件:CPU、RAM、ROM、定時/計數(shù)器、中斷控制器、并行和串行接口均集成在一個芯片中。其一個芯片就構(gòu)成了一個比較完整的計算機系統(tǒng)。微型計算機與單片機是微電子領(lǐng)域的兩個分支。微型計算機的特點是運算速度快、存儲容量大,適合于信息管理、科學(xué)計算等領(lǐng)域;而單片機的特點為體積小、價格低,適合于儀器、設(shè)備的控制,常常嵌入到儀器、設(shè)備中。故單片機也稱作微控制器(Microcontroller)。單片機的生產(chǎn)與發(fā)展(1).單片機的生產(chǎn):目前世界上單片機的生產(chǎn)公司有上百家,如Intel、Philips、Microchip、Motorola、Siemens、NEC、AMD、Zilog、TI

6、、Atmel等。但在國內(nèi)廣泛應(yīng)用的只有Intel 系列和Microchip PIC系列,(2).單片機的發(fā)展:第1階段(19761980):單片機發(fā)展初級階段。集成了8位CPU、RAM、ROM、定時器、并行口(無串行口)等部件,但性能低,尋址范圍?。?KB),中斷系統(tǒng)、定時器也簡單。典型機型:Intel MCS-48系列。 第2階段(19801983):高性能單片機階段。此階段的單片機普遍帶有串行口,有多級中斷處理系統(tǒng),多個16位定時/計數(shù)器,片內(nèi)ROM、RAM的容量加大,尋址范圍達64KB。典型機型:Intel MCS-51系列。第3階段(198380年代末):16位單片機和高性能8位機并行

7、發(fā)展階段。此階段Intel推出16位單片機MCS-96系列,其他公司也推出了各種16位單片機。同時高性能8位單片機的性能更為完善。第4階段(90年代):單片機在集成度、功能、速度、可靠性等方面全面發(fā)展,如采用Flash ROM,加入了一些特殊功能部件(AD轉(zhuǎn)換器,PWM輸出,監(jiān)視定時器WDT,DMA,調(diào)制解調(diào)器,通信控制器,浮點運算單元等)。至今,單片機的性能已比較完善,且專業(yè)化的特點很強,為各種應(yīng)用提供了很大的方便。1.1.2單片機的應(yīng)用單片機由于體積小,價格低,功耗低、控制功能強且控制邏輯可由軟件來實現(xiàn),因此可以很方便地完成由一般數(shù)字電路很難實現(xiàn)的控制邏輯。所以在測控系統(tǒng),智能儀表,機電一

8、體化產(chǎn)品,智能接口,智能民用產(chǎn)品,機器人等領(lǐng)域得以廣泛應(yīng)用。1.在智能儀器儀表上的應(yīng)用(如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量)只需結(jié)合不同類型的傳感器即可控制,使得儀表達到數(shù)字化。智能化、微型化(示波器)。2.在工業(yè)控制中的應(yīng)用(如工廠流水線的智能化管理,電梯智能化控制、各種報警系統(tǒng),與計算機聯(lián)網(wǎng)構(gòu)成二級控制系統(tǒng)等)多用于構(gòu)成多樣的控制系統(tǒng),數(shù)字采集系統(tǒng)。設(shè)計用于實現(xiàn)特定功能,從而在各種電路中進行模塊化應(yīng)用,而不要求使用人員了解其內(nèi)部結(jié)構(gòu),在大型電路中,這種模塊化應(yīng)用極大地縮小了體積,簡化了電路,降低了損壞、錯誤率,也方便于更換。3.在家

9、用電器中的應(yīng)用(洗衣機、電冰箱、空調(diào)機、彩電、及其他音響視頻器材,電子秤量設(shè)備等)極大的方便了我們的生活。4.在計算機網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用( , 機、小型程控交換機、樓宇自動通信呼叫系統(tǒng)、列車無線通信、集群移動通信,無線電對講機等)利用單片機的通訊接口可以方便的與計算機進行數(shù)據(jù)通,為在計算機網(wǎng)絡(luò)通訊設(shè)備間的應(yīng)用提供了很好的物質(zhì)條件。7.單片機在汽車設(shè)備領(lǐng)域中的應(yīng)用(如汽車中的發(fā)動機控制器,基于CAN總線的汽車發(fā)動機智能電子控制器,GPS導(dǎo)航系統(tǒng),abs防抱死系統(tǒng),制動系統(tǒng)等)此外,單片機在工商,金融,科研、教育,國防航空航天等領(lǐng)域都有著十分廣泛的用途。8多機應(yīng)用利用單片機的串行接口和并行接口

10、,多個單片機子系統(tǒng)可以彼此進行通信,構(gòu)成一個網(wǎng)絡(luò)??梢詷?gòu)成一個集散式的控制系統(tǒng),從而控制和處理大量的控制對象和信息,且可以通過并行運算方式來提高處理速度??傊趩纹瑱C系統(tǒng)中,單片機是作為控制中樞,數(shù)字電路器件是作為外圍電路,二者是相輔相成的。1.單片機的發(fā)展趨勢 目前,為了適應(yīng)各種嵌入式系統(tǒng)的應(yīng)用需求,單片機將向著高集成度、增強工能。提高速度、降低成本和功耗等方向發(fā)展。這組要表現(xiàn)在以下幾個方面。 1處理性能的增強:單片機的處理性能取決于其內(nèi)部數(shù)據(jù)總線寬度、指令執(zhí)行速度、片內(nèi)存儲器容量等指標。近幾年發(fā)展起來的16位和32位單片機就體現(xiàn)了這個發(fā)展趨勢。 2增強功能:未來單片機的增強功能主要在網(wǎng)絡(luò)功

11、能。A/D和D/A功能、ISP功能、DMA功能、顯示器驅(qū)動等方面另外為了能有效地保護嵌入式系統(tǒng)的知識產(chǎn)權(quán),對單片機內(nèi)部軟件的加密是必要的,單片機的內(nèi)部的程序代碼存儲器帶有加密特性是單片機的一種增強功能。 3高集成度:隨著集成電路技術(shù)的和工藝的不斷提高,單片機技術(shù)的發(fā)展及其應(yīng)用領(lǐng)域不斷拓展提高單片機的集成度,增加片內(nèi)功能器件,減少外圍器件的擴展,實現(xiàn)真正的“單片”系統(tǒng)已成為發(fā)展趨勢集成更多的I/O端口和特殊接口,直接驅(qū)動LED、VFD、LCD等顯示器,帶有直接中斷方式鍵盤端口等。近年來,單片機結(jié)合專用集成電路(Application Specific Integrated Circuit, AS

12、IC)和精簡指令集計算機(Reduced Instruction Set Computer, RISC)技術(shù),發(fā)展為嵌入式處理器(Embedded Processor),適用于數(shù)據(jù)與數(shù)值分析、信號處理、智能機器人及圖像處理等高技術(shù)領(lǐng)域。由于我做的小實驗用的是宏晶公司的STC89C54RD+單片機所以下面我就詳細介紹STC89C54通過它來反映單片機的開發(fā)應(yīng)用過程!我所用STC89C54RD+是一個低功耗,高性能的8位單片機片內(nèi)含有串行編程可反復(fù)擦寫1000次的Flash只讀程序存儲器器件采用高密度、非易失性存儲技術(shù)制造,兼容標準的MCS-51指令系統(tǒng)及80C51引腳的結(jié)構(gòu),芯片內(nèi)集成了通用8位

13、中央處理器和ISP Flash存儲單元,功能強大的AT89C51可為許多嵌入式應(yīng)用式控制性應(yīng)用系統(tǒng)提供高性價比的解決方案!STC89C54RD+具有以下特性:5.5V工作電壓、時鐘頻率03MHZ、128*8bit內(nèi)部RAM、低功耗空閑和省電模式、三級加密位、軟件空閑和省電功能、雙數(shù)據(jù)寄存器指針。增強型6時鐘/機器周期、12時鐘、機器周期任意設(shè)置。工作電壓:5.5V-3.4V(5V單片機)/2.0V-3.8V(3V單片機)工作頻率:0-40MHz,相當于普通8051單片機;實際使用范圍為0-80MHz。16KB片內(nèi)Flash程序存儲器,擦寫次數(shù)10萬次以上。片上集成512RAM數(shù)據(jù)存儲器。四組通

14、用I/O口,復(fù)位后為:P1、P2、P3、P4是弱上拉/準雙向口;P0口是開漏輸出口,作為總線擴展時用,不用加上拉電阻;P0口作為I/O口用時,需要加上拉電阻。T0定時器0 TXAL2 接外部晶振 T1定時器1 TXAL1 接外部晶振除此之外,STC89C54單片機自身還有很多獨特的優(yōu)點:(1)加密性強,無法解密。(2)超強抗干擾。主要表現(xiàn)在:高抗經(jīng)典,可以輕松抗御2KV/4KV快速脈沖干擾,寬電壓、不怕電源抖動,寬溫度范圍,I/O口經(jīng)過特殊處理,單片機內(nèi)部的電源供電系統(tǒng)、時鐘電路、復(fù)位電路及看門狗電路都經(jīng)過特殊的處理。(3)超低功耗:掉電模式,典型電流損耗0.1uA,空閑模式,典型電流損耗為2

15、mA;正常工作模式,典型電流損耗4-7毫安。1.2 選題目的:隨著人們生活水平的提高和生活節(jié)奏的加快,對時間的要求越來越高,精準數(shù)字計時的消費需求也是越來越多。二十一世紀的今天,最具代表性的計時產(chǎn)品就是電子萬年歷,它是近代世界鐘表界的第三次革命。第一次是擺和擺輪游絲的發(fā)明,相對穩(wěn)定的機械振蕩頻率使鐘表的走時差從分級縮小到秒級,代表性的產(chǎn)品就是帶有擺和擺輪游絲的機械表或鐘。第二次革命是石英晶體振蕩器的應(yīng)用,發(fā)明了走時精度更高的石英電子鐘表,使鐘表的走時月差從分級縮小到了秒級。第三次革命就是單片機數(shù)碼計時技術(shù)的應(yīng)用(電子萬年歷),使計時產(chǎn)品的走時日差從分級縮小到了百萬分之一秒,從原有傳統(tǒng)指針計時的

16、方式發(fā)展為人們?nèi)粘8鼮槭煜さ囊构鈹?shù)字顯示式,直觀明了,并增加了全自動日期、星期、溫度以及其他日常附屬信息的顯示功能,他更符合消費者的生活需求,因此,電子萬年歷的出現(xiàn)帶來了鐘表計時業(yè)跨越性的進步。我國生產(chǎn)的電子萬年歷有很多種,總體上來說以研究多功能電子萬年歷為主,使萬年歷除了具有原來的顯示時間,日期等基本功能外,還具有鬧鈴,報警等功能,商家生產(chǎn)的電子萬年歷更從質(zhì)量,價格,使用上考慮,不斷的改進電子萬年歷的設(shè)計,使其更加具有市場。本設(shè)計為軟件,硬件相結(jié)合的一組設(shè)計,在軟件設(shè)計過程中,應(yīng)對硬件部分有相關(guān)的了解,這樣有助于對設(shè)計題目的更深了解,有助于軟件設(shè)計,基本的要了解一些主要期間的基本功能和作用。

17、除了采用集成化的時鐘芯片外,還有采用MCU的方案,利用AT89系列單片機微機制成萬年歷電路,采用軟件和硬件相結(jié)合的方法,控制液晶輸出顯示。其最大的特點是:硬件電路簡單,安裝方便易于實現(xiàn),軟件設(shè)計獨特,可靠。本文介紹了基于AT89S52單片機設(shè)計的電子萬年歷。首先簡單介紹了單片機的發(fā)展和應(yīng)用。并且論述了在本次設(shè)計中的設(shè)計方案,并在此基礎(chǔ)上實現(xiàn)了萬年歷的基本電路設(shè)計,然后使用單片機C語言程序的設(shè)計,程序采用模塊化設(shè)計,使得邏輯關(guān)系簡單明了,維護方便。一 設(shè)計要求與方案論證1.1 設(shè)計要求基本功能 設(shè)計一個能夠顯示年、月、日、時、分、秒、星期功能的數(shù)字萬年歷。采用LED或LCD顯示并具備以下功能。能

18、夠任意設(shè)定年、月、日、時、分、星期;能夠任意設(shè)定報時時間;能夠區(qū)分平年、閏年、大小月份。發(fā)揮部分(1)能夠完成掉電保護(2)能夠在夜間自動關(guān)閉LCD 顯示(3)具有溫度顯示功能和溫度報警功能。單片機芯片的選擇和方案論證:方案一:采用89C51芯片作為硬件核心,內(nèi)部具有4KB ROM存儲空間,能于3V的超低電壓工作,而且與MCS-51系列單片機完全兼容,但是運用于電路設(shè)計中時由于不具備ISP在線編程技術(shù),當在對電路進行調(diào)試時,由于程序的錯誤修改或?qū)Τ绦虻男略龉δ苄枰獰氤绦驎r,對芯片的多次查吧會對芯片造成一定的損壞。 方案二: 采用AT89S52片內(nèi)ROM全都采用FlashROM:能以3V的超低

19、電壓工作,同時也與MCS-51系列單片機完全兼容,該芯片內(nèi)部存儲器為8KB ROM存儲空間,同時具有89C51的功能,且具有在線編程可擦除技術(shù),當在對電路進行調(diào)試時,由于程序的錯誤修改或程序的新增功能需要燒入程序時,不需要對芯片進行多次插拔,所以不會對芯片造成損壞。 綜上所述,所以采用AT89S52作為主控系統(tǒng)。顯示模塊選擇方案和論證:方案一:采用LED數(shù)碼管動態(tài)掃描,LED數(shù)碼管價格適中,對于顯示數(shù)字最合適,而且采用動態(tài)掃描法與單片機相連接時,占用的單片機口線少,但所需要的數(shù)碼管數(shù)量太多,焊接困難極易出錯,所以不采用LED數(shù)碼管作為顯示。方案二:采用點陣式數(shù)碼管顯示,點陣式數(shù)碼管是由八行八列

20、的發(fā)光二極管組成,對于顯示文字比較合適,如果用在顯示數(shù)字顯得太浪費,且價格也相對較高,所以也不用此種作為顯示。方案三:采用LCD液晶顯示屏,液晶顯示屏的顯示功能強大,可顯示大量文字,圖形,顯示多樣,清晰可見,但是價格昂貴,需要的接口線多,本設(shè)計所需顯示較多且需要文字,所以在本次設(shè)計中采用LCD液晶顯示屏。時鐘芯片的選擇方案和論證:方案一:直接采用單片機定時計數(shù)器提供秒信號,使用程序?qū)崿F(xiàn)年、月、日、星期、時、分、秒技術(shù),采用此種方案雖然減小芯片的使用,節(jié)約成本,但是,實現(xiàn)的時間誤差較大,所以不采用此方案。Ma。溫度傳感器的選擇方案論證:方案一:使用熱敏電阻作為傳感器,用熱敏電阻與一個相應(yīng)阻值電阻

21、相串聯(lián)分壓,利用熱敏電阻阻值隨溫度變化而變化的特性,采集這兩個電阻變化的分壓值,并進行A/D轉(zhuǎn)換,此設(shè)計方案需要A/D轉(zhuǎn)換電路,增加了硬件成本而且熱敏電阻的感溫特性曲線并不是嚴格性的,會產(chǎn)生較大的測量誤差。方案二:采用數(shù)字式溫度傳感器DS18B20,此類傳感器為數(shù)字式傳感器,而且僅需要一條數(shù)據(jù)線進行數(shù)據(jù)傳輸,易于與單片機連接,可以去除A/D模塊,降低了硬件成本,簡化系統(tǒng)電路。另外,數(shù)字式溫度傳感器還具有測量精度高,測量范圍廣等優(yōu)點。1.3電路設(shè)計最終方案決定:綜上各方案所述,對此次設(shè)計的方案選定:采用AT89S52作為主控系統(tǒng);DS1302提供時鐘;數(shù)字式溫度傳感器;LCD液晶顯示屏作為顯示。

22、二 系統(tǒng)的硬件設(shè)計與實現(xiàn):2.1 系統(tǒng)硬件概述: 本電路是由AT89S52單片機作為控制核心,具有在線編程功能,低功耗,能在3V超低壓工作;時鐘電路由DS1302提供,它是一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、時、分、秒等進行計時,具有閏年補償功能,工作電壓為2.5V-5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個用于臨時存放數(shù)據(jù)的RAM寄存器??僧a(chǎn)生年、月、日、時、分、秒等,具有使用壽命長,精度高和低功耗等特點,同時具有掉電自動保存功能;溫度的采集由DS18B20構(gòu)成,顯示部分為LCD液晶顯

23、示屏,能夠?qū)崿F(xiàn)字符與數(shù)字同時顯示的功能。2.2 主要單元電路的設(shè)計: 控制系統(tǒng)的設(shè)計 使用AT89S52作為單片機的主控芯片,AT89S52單片機為40引腳雙列直插芯片,有四個I/O口P0,P1,P2,P3,每一條I/O線都能獨立地作輸出或輸入。 單片機的最小系統(tǒng)如下圖所示,18引腳和19引腳接時鐘電路,XTAL1接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,XTAL2接外部晶振和微調(diào)電容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出,第9引腳為復(fù)位輸入端,接上電容,電阻及開關(guān)后構(gòu)成上電復(fù)位電路,20引腳為接地端,40引腳為電源端,如圖2-1所示: 圖 2-1主控制系統(tǒng)時鐘電路模塊

24、的設(shè)計:圖2-2示出DS1302的引腳排列,其中VCC1為后備電源,VCC2為主電源,在主電源關(guān)閉的情況下,也能保持時鐘的連續(xù)運行,DS1302由VCC1或VCC2兩者中的較大者供電,當VCC2大于VCC1+0.2V時,VCC2給DS1302供電,當VCC2小于VCC1時候VCC1供電。X1和X2是振蕩源,外接32.768KHz晶振,RST是復(fù)位片選線,通過把RST輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段,當RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302

25、進行操作,如果在傳送過程中RST置為低電平,則會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài),上電運行時,在VCC大于等于2.5V之前,RST必須保持低電平,中有在SCLK為低電平時,才能將RST置為高電平,I/O為串行數(shù)據(jù)輸入端,SCLK始終是輸入端。時鐘電路芯片DS1302引腳圖如下圖所示: 圖2-2 DS1302的引腳圖 溫度采集模塊設(shè)計 如圖2-3所示,采用數(shù)字式溫度傳感器DS18B20,它是數(shù)字式溫度傳感器,具有測量精度高,電路連接簡單特點,此類傳感器僅需要一條數(shù)據(jù)線進行數(shù)據(jù)傳輸,使用I/O口與DS18B20連接加一上拉電阻,VCC接電源,VSS接地。芯片管腳圖如下圖所示:- 圖 2-3

26、DS18B20溫度采集電路原理及說明(1)時鐘芯片DS1302的工作原理DS1302在每次進行讀、寫程序前都必須初始化,先把SCLK端置“0”,接著把RST端置“1”,最后才給予SCLK脈沖;讀/寫時序如下圖2-4所示,圖2-5為DS1302的控制字,此控制字的位7必須置1,若為0則不能把對DS1302進行讀寫數(shù)據(jù),對于位6,若對程序進行讀/寫時RAM=1,對時間進行讀/寫時,CK=0,位1至位5指操作單元的地址。位0是讀/寫操作位,進行讀操作時,該位為1;該位為0則表示進行的是寫操作,控制字節(jié)總是從最低開始輸入/輸出的?!癢P”為1時,寫保護位防止對任一寄存器的寫操作。(2)DS1302的控

27、制字節(jié) DS1302的控制字的高有效位(位7)必須是邏輯,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果是0,則表示存取日歷時鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1指操作單元的地址;最低有效位如果為0表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出。數(shù)據(jù)輸入輸出(I/O)在控制指令字輸入后的下一個SCLK時鐘的上升沿時,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時從低位0到高位7.如下圖所示: 圖 2-4 DS1302讀/寫時序圖 液晶顯示模塊概述本次設(shè)計采用由香港靜電

28、公司的“MDLS-”字符型液晶顯示模塊,該系列是目前世界上品種最全的字符型LCM系列,它具有各種規(guī)格,廣泛應(yīng)用于智能儀表、通訊、辦公自動化及軍工等領(lǐng)域。字符型液晶顯示模塊目前在國際上已經(jīng)規(guī)范化,無論顯示屏的規(guī)格如何變化,其電特性和接口形式都是統(tǒng)一的。因此只要設(shè)計出一種型號的接口電路,在指令設(shè)置上稍加改動即可使用各種規(guī)格的字符型液晶顯示模塊。在這次設(shè)計采用的MDLS系列接口特性如下表所示: 表2-1 MDLS系列接口特性表通過對MDLS的時序的了解后可知,在對DS1302讀或?qū)懖僮鞯倪^程中必需要保持RST為高電平,且在SCLK為低電平時置位RST,讀寫操作完畢后需要對RST復(fù)位,并且要置位SCL

29、K避免時序錯亂。另外由動作時序圖還可看出在讀寫數(shù)據(jù)前都要寫指令,且讀寫的數(shù)據(jù)是緊緊的跟在指令的后面,即在此過程中,時鐘信號是連續(xù)發(fā)送的,其占空比是相同的,如果寫完指令后將RST復(fù)位,再來讀寫數(shù)據(jù)是行不同的,因其占空比發(fā)生了變化,讀寫的數(shù)據(jù)不是緊緊的跟在指令的后面的。從DS1302中讀出的數(shù)據(jù)均為BCD碼,要使其在LCD上顯示出來需要將其轉(zhuǎn)換成ASCII碼。在調(diào)時模式下,則需要將其轉(zhuǎn)換為十進制數(shù)。相應(yīng)的要將一個數(shù)寫入DS1302中則需要先將數(shù)據(jù)轉(zhuǎn)換為BCD碼。在編程對芯片的了解后對其有以下總結(jié): (1)引腳的認識 1:VSS 電源引腳 接+5V直流電源 2: VDD 接地引腳 3:VEE 背光引

30、腳 調(diào)節(jié)lcd亮度 4:RS 數(shù)據(jù)/狀態(tài)引腳 1為數(shù)據(jù);0為狀態(tài) 5: RW 讀/寫引腳 1為讀; 0為寫 6:E 使能引腳 高電平有效(可對其讀寫數(shù)據(jù)) 714:D0D7 數(shù)據(jù)線 (2)控制字 0 x02:光標、畫面,及AC回首地址 0 x05:畫面平移(平移速度相當快) 0 x06:AC自動加1,且畫面不動 0 x0c:顯示開即可顯示數(shù)據(jù) 0 x08:顯示關(guān)不可顯示數(shù)據(jù)及光標,但屏亮 0 x0e:顯示開且光標顯示 0 x09:顯示開光標顯示且閃爍0 x18:畫面右移一位(*注 本人用時發(fā)現(xiàn)此指令不可用,會使屏關(guān))0 x1c:畫面左移一位0 x10:光標左移一位0 x14:光標右移一位0 x

31、38:lcd雙行顯示0 x30:lcd單行顯示(第一行顯示)系統(tǒng)的軟件設(shè)計軟件系統(tǒng)在本次設(shè)計中尤其重要,基本功能大部分是由軟件完成的,發(fā)揮功能的關(guān)鍵控制部分同樣需要軟件的密切配合才能順利實現(xiàn)。鑒于軟件設(shè)計的復(fù)雜性和規(guī)模性,我們采用KEIL編譯器支持的C語言編程,放棄了效率高但可讀性不強的匯編語言。整個軟件系統(tǒng)采用規(guī)?;某绦蛟O(shè)計方法,共分為時間設(shè)定、鬧鈴設(shè)定、和溫度檢測系統(tǒng)。軟件系統(tǒng)的主要特點是整個過程完全在鍵盤的控制之下,實現(xiàn)了完全的友好的人機交互功能。主程序通過判斷鍵盤的輸入情況調(diào)用不同的子程序。子程序的功能實現(xiàn)也是在鍵盤的配合下完成的。78a55f總 結(jié)本系統(tǒng)以AT89S52為核心部件,

32、使用串行時鐘芯片DS1302,實現(xiàn)時間和鬧鐘的功能設(shè)置。通過鍵盤和液晶顯示屏可方便地校對時鐘和設(shè)置鬧鐘時間,本系統(tǒng)基本完成了實用電子鐘的功能,盡量做到了硬件電路簡單穩(wěn)定,減少電磁干擾和其他環(huán)境干擾。在該系統(tǒng)設(shè)計,調(diào)試完成之后,對最后的成功進行分析,同時結(jié)合在調(diào)試過程中出現(xiàn)的錯誤進行綜合分析,總結(jié)在實際系統(tǒng)設(shè)計和調(diào)試過程中的寶貴經(jīng)驗。在系統(tǒng)硬件設(shè)計之前,要結(jié)合當前系統(tǒng)的發(fā)展趨勢和現(xiàn)狀對系統(tǒng)功能進行定位,使系統(tǒng)在實際應(yīng)用中具有競爭力。該系統(tǒng)最大的特點就是界面友好,走時準確,和現(xiàn)在使用LED顯示數(shù)據(jù)的萬年歷相比,體積更小,可以作為轎車車載顯示裝置,系統(tǒng)采用液晶顯示器,可以使系統(tǒng)應(yīng)用到更加現(xiàn)代化的地方

33、,使系統(tǒng)采用模塊化程序設(shè)計犯法,同時保留了很多的微控制器I/O口,擴展十分方便,以往的采用LED顯示數(shù)據(jù)的萬年歷要想實現(xiàn)的功能擴展,除需要對系統(tǒng)程序進行修改,還必須增加或減少LED數(shù)碼管,同時要對LED圖片界面進行更換,硬件改動較大,該系統(tǒng)的顯示部分除可以顯示數(shù)據(jù)外,還可以顯示圖片,所以說,其界面改動非常靈活,僅僅改動程序就能實現(xiàn)界面的修改,用戶還可以選擇自己喜歡的界面,這是以LED作為顯示裝置的數(shù)字萬年歷所不能實現(xiàn)的。系統(tǒng)具有溫度檢測功能,可以作為工業(yè)溫度檢測裝置,同時可提供溫度報警,系統(tǒng)的按鍵輸入功能,可以讀取決策,我們可以通過按鍵發(fā)送指令,控制工業(yè)現(xiàn)場機器的動作,實現(xiàn)遠程控制??梢?,該系

34、統(tǒng)本身不僅具有很大的靈活性,友好的界面,方便的可擴展性,同時,在其基礎(chǔ)上的系統(tǒng)市場需求也很客觀,工業(yè)控制的很多場合對時間要求比較嚴格,在實際系統(tǒng)中,系統(tǒng)各裝置按照預(yù)定的時間動作,本系統(tǒng)可以很好的滿足這些系統(tǒng)的要求。在該系統(tǒng)進行軟件設(shè)計的時候,采用模塊化設(shè)計方法,除了便于升級外,在調(diào)試過程中,模塊化的程序設(shè)計將使系統(tǒng)更容易調(diào)試,我們在調(diào)試的過程中,可以分塊調(diào)試,最后總組裝,如果不采用模塊化設(shè)計方法,將很難找出調(diào)試中的錯誤,無論是在系統(tǒng)硬件焊接還是在軟件編程時,都要細心,比如在開始的時候,時鐘芯片主電源和別用電源焊接顛倒,不能寫入數(shù)據(jù)。這樣很小的錯誤,卻很大影響系統(tǒng)的性能,甚至導(dǎo)致系統(tǒng)根本無法工作

35、。在本次單片機控制課程設(shè)計過程當中,指導(dǎo)老師張風(fēng)濤和其他老師以及同學(xué)們都給予了很大的幫助支持,張老師嚴謹?shù)闹螌W(xué)態(tài)度和務(wù)實的求知精神給我留下了很深的印象,他們鼓勵我孜孜不倦,銳意進取,特別是在困難的時候,他有意識地培養(yǎng)我獨立思考和解決問題的能力。張老師的嚴格要求,令我以后的工作和生活當中受益匪淺。在此,對他們所給予的指導(dǎo)和幫助表示最衷心的感謝。 致謝 大學(xué)四年的學(xué)習(xí)和生活就要隨著這篇論文的答辯而結(jié)束了。有許許多多的不舍,也有許許多多的感謝要說。畢業(yè)設(shè)計,實時上就是綜合的運用四年所學(xué)知識去分析、解決一個問題,在做畢業(yè)設(shè)計的過程中,把所學(xué)知識梳理一遍,它既是一次檢閱,又是一次鍛煉。在設(shè)計中,我遇到過

36、很多問題,比如課題需要用什么元器件,主電路圖如何設(shè)計,子程序該怎么編寫等都是一點頭緒都沒有,但是我在設(shè)計的這一段時間里查詢了大量的資料:硬件設(shè)計、原理圖繪制、程序編寫測試與調(diào)試,并且在指導(dǎo)老師的幫助下我學(xué)會和懂得了很多,逐漸完成了對硬件電弧與軟件編程兩方面設(shè)計,掌握了硬件調(diào)試、軟件調(diào)試基本方法,掌握了從子程序到總程序、從基本功能到復(fù)雜功能等程序編寫的基本思路及方法。 首先要衷心的感謝的事我的指導(dǎo)老師,羅薇羅老師!在我學(xué)習(xí)期間不僅傳授了知識上的秘訣,更教育了我做人的準則。這些都將使我終生受益。無論是在理論學(xué)習(xí)階段,還是在論文的選題、資料的查詢、開題、研究和撰寫的每一個環(huán)節(jié),都得到了羅薇老師無微不

37、至的悉心指導(dǎo)和幫助。我愿借此機會向?qū)煴硎局孕牡母兄x! 其次要感謝所有教育過我的老師!是你們纏手給我的專業(yè)知識是我不斷成長的源泉,也是完成本論文的基礎(chǔ)。我還要向關(guān)心和支持我學(xué)習(xí)的朋友們表示真摯的謝意!感謝他們對我的關(guān)系、關(guān)注和支持! 大學(xué)的生活讓我有了堅強的性格,冷靜的頭腦和永遠樂觀的態(tài)度。最重要的是讓我有了責(zé)任感,對自己、對家人和對社會的責(zé)任感。 我愿在未來的學(xué)習(xí)過程中,以更加豐厚的成果來答謝曾經(jīng)關(guān)心、幫助和支持我的所有領(lǐng)導(dǎo)、老師、同學(xué)和朋友。永遠以一顆為人民服務(wù)的心來回報社會。附錄參考文獻1胡乾斌李光斌李玲喻紅.單片微型計算機原理及應(yīng)用M.華中科技大學(xué)出版社.2005年8月第2版.2任為民

38、.電子技術(shù)基礎(chǔ)課程設(shè)計M.中央廣播電視大學(xué)出版社.1997年5月第1版.3譚浩強.C程序設(shè)計(第二版).M清華大學(xué)出版社.1999年12月第2版.。4趙亮,候國銳.單片機c語言編程與實例M.北京:人民郵電出版社,20035范風(fēng)強,蘭嬋麗.單片機語言C51應(yīng)用實戰(zhàn)集錦M(修訂版).電子工業(yè)出版社.6劉振海.單片機原理及應(yīng)用技術(shù)M.北京:高等教育出版社,20037沈紅衛(wèi).單片機應(yīng)用系統(tǒng)設(shè)計實例與分析M.北京:北京航空航天大學(xué)出版社,20028于復(fù)生,宋現(xiàn)春等,時鐘芯片DS1302及其在數(shù)據(jù)記錄中的應(yīng)用電子技術(shù)應(yīng)用M2000年3月9李宏.液晶顯示器件應(yīng)用技術(shù)M.北京:機械工業(yè)出版社,200410Jo

39、hnP.Uyemura.數(shù)字系統(tǒng)設(shè)計入門教程集成方法(英文影印版)M.科學(xué)出版社.2002年3月第1版第1次印刷11張景元.基于單片機的多用途定時器的設(shè)計與實現(xiàn)M.電子工程師2000年第8期12李洪濤.一種單片機控制的定時打鈴器.電子世界M.1990年第2期13何業(yè)軍李超.基于單片機控制的高精度定時打鈴器的設(shè)計M.電子技術(shù).2001年第7期14關(guān)宗安仲叢久.基于單片機實現(xiàn)的多路定時控制器的設(shè)計M.沈陽航空工業(yè)學(xué)院學(xué)報.2004年6月.第21卷第3期15ATMEL.MicrocontrollerMDatabook,200216范立南.單片微機接口與控制技術(shù)M.沈陽:遼寧大學(xué)出版社,199617張

40、友德.單片微型機原理、應(yīng)用與實踐M.上海:復(fù)旦大學(xué)出版社,199218李華.MCS-51系列單片機實用接口技術(shù)M,北京:北京航空航天大學(xué)出版社,1993參考文獻【1】.Maxim公司,1-Wire單總線的基本原理【EB/OL1-13【2】.于永學(xué)、葛健,1-WIRE總線數(shù)字溫度傳感器DS18B20及應(yīng)用J,電子產(chǎn)品 世界2003(4)16-24【3】.馬云峰、陳子夫、李全培,數(shù)字溫度傳感器DS18B20的原理與應(yīng)用EB/OL1-25【4】.胡振宇、劉魯源、杜振輝,DS18B20接口的C語言程序設(shè)計J,單片機與嵌入式系統(tǒng)應(yīng)用,2002-24-43【5】.李鋼,1-WIRE總線數(shù)字溫度傳感器DS1

41、8B20原理及應(yīng)用,現(xiàn)代電子ijishuJ,2005(8)21-23【7】.廖常初,現(xiàn)場總線概述J,電工技術(shù),1989,19-67【8】.閻 石,數(shù)字電子技術(shù)基礎(chǔ)(第三版)M,高等教育出版社,1989,19-67【9】.陳躍東,DS18B20集成溫度傳感器原理與應(yīng)用J,安徽教育出版社,2002(4)5-23【10】.李廣弟,單片機基礎(chǔ)M,北京航空航天大學(xué)出版社,1994,1-56【11】.Dallas Corp,DS18B20EB/OL1-24【13】.金偉正,單線數(shù)字溫度傳感器的原理與應(yīng)用L.電子技術(shù)應(yīng)用,2000(6)3-24#include/*位定義*/sbit io=P15; /ds1

42、302的串行數(shù)據(jù)I/O口sbit clk=P16; /ds1302的時鐘口sbit rst=P17; /ds1302的復(fù)位口sbit acc0=ACC0; /移位時的第0位sbit acc7=ACC7; /移位時用的第7位sbit busy=P07; /lcd 忙標志位sbit rs=P20; /lcd 數(shù)據(jù)狀態(tài)位sbit rw=P21; /lcd 讀寫控件位sbit re=P22; /lcd 使能位sbit menu=P30; /菜單sbit inc=P31; /加一sbit dec=P32; /減一sbit quit=P33; /退出/*全局變量*/unsigned char sec,mi

43、n,hour,day,month,week,year; /秒,分,時,日,月,星期,年char newsec,newmin,newhour,newday,newmonth,newweek,newyear; /重寫數(shù)據(jù)用的秒,分,時unsigned char bksec,bkmin,bkhour,bkweek,bkday,bkmonth,bkyear,down,count; /閃爍標志位unsigned char flag,daflag; / 加減標志位,時間日期標志位unsigned char timete8,timede10; /分別存放,時分秒;年月日unsigned char week1

44、3=SUN; /星期日unsigned char week23=MON; / 一unsigned char week33=TUE; / 二unsigned char week43=WED; / 三unsigned char week53=THU; / 四unsigned char week63=FRI; / 五unsigned char week73=SAT; / 六unsigned char name=WanLi; /制作者(本人)的名字/*函數(shù)申明*/void delay(unsigned char ms); /延時void writebyte(unsigned char wdat);/寫

45、一字節(jié)到ds1302unsigned char readbyte(); /從ds1302中讀一字節(jié)unsigned char readdat(); /讀ds1302某地址數(shù)據(jù)void writedat(unsigned char waddr,unsigned char x);/寫數(shù)據(jù)到ds1302的某地址void ifprotect(flag); /是否寫允許void timebuf(); /時間緩沖區(qū)void checkbusy(); /測試lcd忙碌狀態(tài)void wrcom(unsigned char com); /寫指令到lcdvoid wrdat(unsigned char dat);

46、 /寫數(shù)據(jù)到lcdvoid lcdinit(); /lcd初始化void scanmenu(); /menu掃描void funcmenu(); /menu功能void scaninc(); /掃描加能函數(shù)void scandec(); /掃描減一函數(shù)void scanquit(); /掃描退出函數(shù)void funcinc(); /加一功能函數(shù)void funcdec(); /減一功能函數(shù)void funcquit(); /退出功能函數(shù)void turn_sub(unsigned char newval,unsigned char newbk,unsigned char newaddr); /

47、調(diào)時子函數(shù)void sub_buf(unsigned char subk,unsigned char bfte,unsigned char fda); /時間緩沖子函數(shù)void sub_week(unsigned char num); /顯示星期子函數(shù)/*ds1302函數(shù)部分*/void delay(unsigned char ms) /延時函數(shù) unsigned char i; unsigned char m=4; while(ms-) for(i=0;i0;i-) io=acc0; /從最低位開始傳送 clk=1; /產(chǎn)生一個邊沿 在寫指令時供產(chǎn)生上升沿,在寫數(shù)據(jù)時供產(chǎn)生緊挨著的下降沿 c

48、lk=0; ACC=1; unsigned char readbyte() /從ds1302中讀一字節(jié) unsigned char i1; for(i1=8;i10;i1-) ACC=1; /保證最低位傳送至最低位 acc7=io; /從最低位開始傳送 clk=1; /產(chǎn)生一個邊沿 在讀數(shù)據(jù)時供產(chǎn)生上升沿 clk=0; return(ACC);unsigned char readdat(unsigned char raddr) /讀ds1302某地址數(shù)據(jù) unsigned char value; rst=0; /在讀寫前何證rst為低電平 clk=0; rst=1; /在讀寫期間保證rst為高

49、電平 且只有在clk為低 電平時才能變?yōu)楦唠娖?writebyte(raddr); value=readbyte(); rst=0; /讀寫完畢后保證rst為低,clk為高 clk=1; return(value);/*寫數(shù)據(jù)到ds1302的某地址*/void writedat(unsigned char waddr,unsigned char x) rst=0; clk=0; rst=1; writebyte(waddr); writebyte(x); rst=0; clk=1;/*是否寫保護*/void ifprotect(flag) if(flag) /flag=1時禁止寫入 write

50、dat(0 x8e,0 x10); else /flag=0時允許寫入 writedat(0 x8e,0 x00);void readtime() /讀時間 unsigned char time; time=readdat(0 x81); /讀秒 sec=(time&0 x70)4)*10+(time&0 x0f); /將bcd碼轉(zhuǎn)換成十進制數(shù) time=readdat(0 x83); /讀分 min=(time&0 x70)4)*10+(time&0 x0f); time=readdat(0 x85); /讀時 hour=(time&0 x70)4)*10+(time&0 x0f); tim

51、e=readdat(0 x87); /讀日 day=(time&0 x70)4)*10+(time&0 x0f); time=readdat(0 x89); /讀月 month=(time&0 x70)4)*10+(time&0 x0f); time=readdat(0 x8d); /讀年 year=(time4)*10+(time&0 x0f); time=readdat(0 x8b); /讀星期 week=time&0 x07;/*時間緩沖子函數(shù)*/void sub_buf(unsigned char subk,unsigned char bfte,unsigned char fda) i

52、f(subk=1) /判斷是否正常顯示 if(daflag=1) /判斷是日間還是日期 timetefda=bfte%10+48; timetefda+1=bfte/10+48; else timedefda=bfte%10+48; timedefda+1=bfte/10+48; else /顯示空 if(daflag=1) /判斷是時間還是日期 timetefda=0 x02; timetefda+1=0 x02; else timedefda=0 x02; timedefda+1=0 x02; void timebuf() /時間緩沖區(qū) readtime(); /調(diào)用讀時間函數(shù) dafla

53、g=1; sub_buf(bksec,sec,0); /調(diào)用時間緩沖子函數(shù) timete2=:; sub_buf(bkmin,min,3); timete5=:; sub_buf(bkhour,hour,6); daflag=0; sub_buf(bkday,day,0); timede2=-; sub_buf(bkmonth,month,3); timede5=-; if(bkyear0;i2-) wrdat(timedei2-1); wrcom(0 xc0); /在第二行顯示年月日 for(i3=8;i30;i3-) wrdat(timetei3-1); switch(week) /第一行

54、顯示星期 case 1:sub_week(1);break; case 2:sub_week(2);break; case 3:sub_week(3);break; case 4:sub_week(4);break; case 5:sub_week(5);break; case 6:sub_week(6);break; case 7:sub_week(7);break; for(i5=0;i55;i5+) /顯示作者名字 wrcom(0 xca+i5); wrdat(namei5); void sub_week(unsigned char num) /顯示星期子函數(shù) unsigned char

55、 i4; for(i4=0;i43;i4+) if(bkweek4)*10+(newval&0 x0f); /將bcd碼轉(zhuǎn)換成十進制 if(flag=1) /判斷是加一還是減一 newval+; else newval-; switch(count) case 1: if(newval59) newval=0;break; case 2: if(newval59) newval=0;break; case 3: if(newval23) newval=0;break; case 5: if(newval31) newval=0;break; case 6: if(newval12) newva

56、l=0;break; case 7: if(newval79) newval=0;break; default:break; ifprotect(0); writedat(newaddr-1),(newval/10)3) newbk=0; display(); /將修改后的值顯示出來 void scanmenu() /menu掃描 if(menu=0) /判斷menu鍵是否按下 delay(1); /延時消抖(實際中延時要比此長一般約10ms) if(menu=0) /再次判斷menu鍵是否按下 down=1; /menu鍵按下則置其標志位為1 while(menu!=1); /等待按鍵松開

57、count+; /記錄menu按下的次數(shù) if(count7) count=1; ifprotect(0); /按下menu鍵后禁止ds1302工作 sec=readdat(0 x81); writedat(0 x80,0 x80|sec); ifprotect(1); void funcmenu() /menu鍵功能函數(shù) switch(count) case 1:scaninc();scandec(); /每按一次目錄鍵對inc,dec鍵進行一次掃描 do /根據(jù)count的計數(shù)來判斷對那一值進行修改,并保證這一值閃爍 bkyear=1; bksec+; if(bksec3) bksec=0

58、; while(count!=1); scanquit(); /每按一次目錄鍵對quit鍵進行一次掃描 display(); /退出時正常顯示 break; case 2:scaninc();scandec(); do bksec=1; /保證退出上一值的閃爍后,讓其正常顯示 bkmin+; if(bkmin3) bkmin=0; while(count!=2); scanquit(); display(); break; case 3:scaninc();scandec(); do bkmin=1; bkhour+; if(bkhour3) bkhour=0; while(count!=3)

59、; display(); scanquit(); break; case 4:scaninc();scandec(); do bkhour=1; bkweek+; if(bkweek3) bkweek=0; while(count!=4); display(); scanquit(); break; case 5:scaninc();scandec(); do bkweek=1; bkday+; if(bkday3) bkday=0; while(count!=5); display(); scanquit(); break; case 6:scaninc();scandec(); do bk

60、day=1; bkmonth+; if(bkmonth3) bkmonth=0; while(count!=6); display(); scanquit(); break; case 7:scaninc();scandec(); do bkmonth=1; bkyear+; if(bkyear3) bkyear=0; while(count!=7); display(); scanquit(); break; default: break; void scaninc() /掃描inc按鍵 if(inc!=1) /判斷inc鍵是否按下 /延時消拌再次判斷 delay(1); if(inc!=1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論