基于單片機(jī)的時(shí)鐘日歷設(shè)計(jì)電子與通信工程畢業(yè)設(shè)計(jì)論文_第1頁(yè)
基于單片機(jī)的時(shí)鐘日歷設(shè)計(jì)電子與通信工程畢業(yè)設(shè)計(jì)論文_第2頁(yè)
基于單片機(jī)的時(shí)鐘日歷設(shè)計(jì)電子與通信工程畢業(yè)設(shè)計(jì)論文_第3頁(yè)
基于單片機(jī)的時(shí)鐘日歷設(shè)計(jì)電子與通信工程畢業(yè)設(shè)計(jì)論文_第4頁(yè)
基于單片機(jī)的時(shí)鐘日歷設(shè)計(jì)電子與通信工程畢業(yè)設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩52頁(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)介

1、摘 要論文的研究工作是以單片機(jī)技術(shù)為背景展開(kāi)的,并且詳細(xì)介紹了通過(guò)AT89C51單片機(jī)控制LCM1602液晶的顯示情況,以及單片機(jī)與時(shí)鐘電路、溫度傳感器之間的通信。以軟件形式對(duì)系統(tǒng)進(jìn)行控制,使得系統(tǒng)控制更具靈活與方便。本文在深入分析單片機(jī)技術(shù)的基礎(chǔ)上,解析了LCM顯示的單片機(jī)控制技術(shù)和新型溫度傳感器DS18B20單片機(jī)控制應(yīng)用,以及LCD顯示在各種電子顯示中的優(yōu)勢(shì),同時(shí)闡述了其在日常顯示系統(tǒng)中的應(yīng)用;并且以Proteus與Keil uVision4軟件為基礎(chǔ),編寫(xiě)了AT89C51單片機(jī)對(duì)LCM1602顯示控制的軟件,繪制其原理圖,并使用Proteus軟件與Keil uVision4軟件建立聯(lián)合

2、仿真。論文主要論述了原理圖各個(gè)模塊的作用,控制軟件的各個(gè)模塊的編程。在設(shè)計(jì)的過(guò)程中,以顯示日歷、時(shí)間、溫度為主要目的,并能夠?qū)崿F(xiàn)時(shí)間調(diào)整功能。經(jīng)過(guò)一系列的前提準(zhǔn)備,到最后的仿真成功,將理論聯(lián)系實(shí)際,使本設(shè)計(jì)可以在實(shí)際中應(yīng)用,方便經(jīng)濟(jì)實(shí)用?!?關(guān)鍵詞 】 溫度傳感器、單片機(jī)、萬(wàn)年歷AbstractThesis research work is based on single-chip technology expand the background, and described in detail by the the AT89C51 microcontroller control LCM160

3、2 LCD display, as well as single-chip clock circuits, temperature sensor communication. In the form of a software to control the system, making the system more flexible control and convenience.In this paper, based on in-depth analysis of single-chip technology, analytical the LCM display SCM control

4、 technology and a new temperature sensor DS18B20 MCU control applications, and the LCD display advantages in a variety of electronic display, at the same time daily display system ; and to Proteus and Keil uVision4 software-based write a the AT89C51 microcontroller LCM1602 display Control software,

5、draw its schematic and the establishment of a joint simulation using the Proteus software, Keil uVision4 software. Thesis discusses the role of the various modules of the schematic diagram, the control of the various modules of the software programming.In the design process, the main purpose is to d

6、isplay a calendar, time, temperature, and be able to achieve time adjustment function. The series premise preparation to the final success of the simulation, theory with practice, so that the design can be applied in practice, and to facilitate economical and practical.Key words the temperature sens

7、or、Single chip microcomputer、Perpetual calendar目錄一、引言1(一)課題背景及研究概述1(二)單片機(jī)控制系統(tǒng)簡(jiǎn)介1(三)課題的建立及論文完成的主要要求1二、開(kāi)發(fā)工具軟件介紹2(一) Keil uVision4軟件簡(jiǎn)介2(二) Proteus軟件簡(jiǎn)介2(三) Keil uVision4與Proteus軟件聯(lián)合仿真2三、系統(tǒng)硬件設(shè)計(jì)實(shí)現(xiàn)3(一)電路設(shè)計(jì)框圖3(二)單片機(jī)控制系統(tǒng)31、 單片機(jī)系統(tǒng)功能介紹32、 AT89C51引腳說(shuō)明33、單片機(jī)最小系統(tǒng)5(三)主要模塊設(shè)計(jì)實(shí)現(xiàn)61、LCD顯示模塊62、時(shí)鐘芯片DS1302接口設(shè)計(jì)模塊73、溫度傳感器DS

8、18B20設(shè)計(jì)模塊94、按鍵控制模塊9四、 軟件設(shè)計(jì)10(一)萬(wàn)年歷顯示程序101、流程圖102、源程序代碼11(二)溫度轉(zhuǎn)換程序111、流程圖112、源程序代碼11(三)按鍵掃描程序121、程序結(jié)構(gòu)122、程序功能12(四)主程序121、程序流程圖:122、源程序代碼。13五、仿真13(一)調(diào)試聯(lián)合仿真13(二)仿真結(jié)果13六、總結(jié)13致謝14參考文獻(xiàn)15附錄一:系統(tǒng)電路16附錄二:源程序17附錄三:溫度轉(zhuǎn)換子程序30一、引言(一)課題背景及研究概述隨著電子技術(shù)的發(fā)展,人類不斷研究,不斷創(chuàng)新紀(jì)錄。萬(wàn)年歷以電腦軟件或者電子產(chǎn)品形式出現(xiàn),目前已經(jīng)不再局限于以書(shū)本形式。萬(wàn)這種年歷被稱為電子萬(wàn)年歷。

9、與書(shū)本形式的萬(wàn)年歷相比,電子萬(wàn)年歷應(yīng)用越來(lái)越廣泛,時(shí)間顯示采用電子時(shí)鐘已經(jīng)成為一種時(shí)尚。目前市場(chǎng)上各式各樣的電子時(shí)鐘數(shù)不勝數(shù),但多數(shù)是只針對(duì)時(shí)間顯示,功能單一不能滿足人們?nèi)粘I钚枨蟆1疚奶岢隽艘环N基于AT89C51單片機(jī)的萬(wàn)年歷設(shè)計(jì)方案,利采用一個(gè)LCD顯示。本方案以AT89C51單片機(jī)作為主控核心,與時(shí)鐘芯片DS1302、溫度芯片DS18B20、按鍵、LCD顯示等模塊組成硬件系統(tǒng)。在硬件系統(tǒng)中設(shè)有4個(gè)獨(dú)立按鍵和一個(gè)LCD顯示器,能顯示豐富的信息,根據(jù)使用者的需要可以隨時(shí)對(duì)時(shí)間進(jìn)行校準(zhǔn)、選擇時(shí)間、溫度顯示等,綜上所述此萬(wàn)年歷具有讀取方便、顯示直觀、功能多樣、電路簡(jiǎn)潔、成本低廉等諸多優(yōu)點(diǎn),符合

10、電子儀器儀表的發(fā)展趨勢(shì),具有廣闊的市場(chǎng)前景。(二)單片機(jī)控制系統(tǒng)簡(jiǎn)介AT89C51是一個(gè)低電壓,高性能的單片機(jī),內(nèi)含可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器,在電子行業(yè)中有著廣泛的應(yīng)用。并且,只要在單片機(jī)的外圍適當(dāng)加一些必要的擴(kuò)展電路及通道接口,就可以構(gòu)成各種應(yīng)用系統(tǒng),如工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、自動(dòng)控制系統(tǒng)、自動(dòng)測(cè)試系統(tǒng)、檢測(cè)監(jiān)視系統(tǒng)、智能儀表、功能模塊等。因此單片機(jī)廣泛應(yīng)用于便攜式智能產(chǎn)品與家電消費(fèi)品,以及工業(yè)控制,國(guó)防裝備等領(lǐng)域。總之,單片機(jī)控制系統(tǒng)具有功能多樣、電路簡(jiǎn)潔、成本低廉、體積小巧等諸多優(yōu)點(diǎn),符合電子技術(shù)的發(fā)展趨勢(shì)。(三)課題的建立及論文完成的主要要求本文主要包括以下內(nèi)容:1、單

11、片機(jī)最小控制系統(tǒng)、LCM1602液晶顯示模塊、DS18B20溫度傳感器模塊、DS1302時(shí)鐘芯片模塊和按鍵模塊的建立。2、編制單片機(jī)與各子模塊之間的通信程序。實(shí)現(xiàn)對(duì)LCM1602液晶顯示當(dāng)前時(shí)間及溫度,按鍵調(diào)節(jié)作用,以及按鍵提示音的控制。 3、用Proteus繪制整個(gè)控制系統(tǒng)原理圖,使用Keil編譯調(diào)試程序??商娲鷮?shí)際硬件進(jìn)行仿真。 二、開(kāi)發(fā)工具軟件介紹(一) Keil uVision4軟件簡(jiǎn)介Keil4系列開(kāi)發(fā)系統(tǒng)兼容單片機(jī),C語(yǔ)言軟件。和匯編相比,C語(yǔ)言在結(jié)構(gòu)性、功能上、可維護(hù)性、可讀性上有明顯的優(yōu)勢(shì),并能產(chǎn)生HEX文件,因而易學(xué)易用。使用過(guò)匯編語(yǔ)言,再使用C來(lái)開(kāi)發(fā),體會(huì)更加深刻。在研究大

12、型軟件時(shí)更能體現(xiàn)C語(yǔ)言的優(yōu)勢(shì)。Keil 軟件提供功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具和豐富的庫(kù)函數(shù),語(yǔ)句生成的匯編代碼容易理解。而且,該軟件不但可以進(jìn)行程序編譯,而且還可以通過(guò)其內(nèi)嵌模塊模擬51單片機(jī),實(shí)現(xiàn)在不需要連接硬件仿真器的條件下,通過(guò)數(shù)據(jù)線連接硬件系統(tǒng)對(duì)項(xiàng)目進(jìn)行實(shí)時(shí)仿真。另外,可以與Proteus單片機(jī)仿真軟件聯(lián)合實(shí)現(xiàn)虛擬硬件仿真。(二) Proteus軟件簡(jiǎn)介Proteus嵌入式系統(tǒng)仿真與開(kāi)發(fā)平臺(tái)是一款可以實(shí)現(xiàn)模擬電路、數(shù)字電路、PCB設(shè)計(jì)微控制器系統(tǒng)仿真等功能的EDA軟件。所有的工作先在虛擬環(huán)境下進(jìn)行。提供數(shù)碼管、顯示屏、LED、開(kāi)關(guān)、鍵盤等。避免了傳統(tǒng)電子電路設(shè)計(jì)中方案更換帶來(lái)的多次購(gòu)買元

13、器件及制板,在節(jié)省設(shè)計(jì)時(shí)間和金錢的同時(shí),提高了設(shè)計(jì)效率與質(zhì)量。Proteus軟件可以仿真AT89C51系列單片機(jī),可以直接在電路原理圖上進(jìn)行硬件的模擬仿真,進(jìn)行程序的調(diào)試,并提供進(jìn)行測(cè)試與分析的邏輯分析儀,模擬示波器等模擬儀器及仿真圖表。它是目前最好的仿真單片機(jī)及外圍器件的工具。(三) Keil uVision4與Proteus軟件聯(lián)合仿真Proteus軟件與Keil軟件之間的聯(lián)合虛擬仿真,指Keil軟件把Proteus軟件打開(kāi)的單片機(jī)電路看成一個(gè)模擬的硬件電路,使用Keil軟件對(duì)程序進(jìn)行編譯、調(diào)試時(shí)連接Proteus軟件中的模擬單片機(jī)系統(tǒng),模擬單片機(jī)的系統(tǒng)狀態(tài)和Keil軟件對(duì)程序調(diào)試實(shí)時(shí)變化

14、。這樣,可實(shí)現(xiàn)用Proteus軟件與Keil uVision4軟件聯(lián)合虛擬硬件仿真。Proteus軟件與Keil uVision軟件的聯(lián)合仿真在實(shí)際的單片機(jī)系統(tǒng)開(kāi)發(fā)中被普遍應(yīng)用。用Proteus軟件與Keil uVision軟件聯(lián)合仿真像實(shí)物一樣調(diào)試,同時(shí)在屏幕上可以直觀地看到電路輸出狀態(tài),比較容易讀懂并理解所調(diào)試的程序,提高學(xué)習(xí)效率,同時(shí)降低了學(xué)習(xí)所需的硬件成本。三、系統(tǒng)硬件設(shè)計(jì)實(shí)現(xiàn)(一)電路設(shè)計(jì)框圖(如圖1)溫度采集電路時(shí)鐘電路按鍵調(diào)整電路單片機(jī)最小系統(tǒng)AT89C51單片機(jī)LCD顯示電路圖1 電路設(shè)計(jì)框圖(二)單片機(jī)控制系統(tǒng)1、 單片機(jī)系統(tǒng)功能介紹AT89C51是一種帶4K字節(jié)FLASH存

15、儲(chǔ)器的低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。單片機(jī)正常工作時(shí),都需要有一個(gè)時(shí)鐘電路和一個(gè)復(fù)位電路。本設(shè)計(jì)中選擇了內(nèi)部時(shí)鐘方式和按鍵電平復(fù)位電路,來(lái)構(gòu)成單片機(jī)的最小電路。復(fù)位是單片機(jī)的初始化操作,單片機(jī)在啟動(dòng)運(yùn)行時(shí),都需要先復(fù)位,其作用是使CPU和系統(tǒng)中其他部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。因而,復(fù)位是一個(gè)很重要的操作方式。但單片機(jī)本身是不能自動(dòng)進(jìn)行復(fù)

16、位的,必須配合相應(yīng)的外部電路來(lái)實(shí)現(xiàn)。其主要工作特性是:u 4k字節(jié)可編程Flash存儲(chǔ)器u 八個(gè)中斷源u 與MCS-51單片機(jī)產(chǎn)品兼容u 全靜態(tài)操作:0Hz33Hzu 三級(jí)加密程序存儲(chǔ)器u 32個(gè)可編程I/O 口線u 全雙工UART串行通道u 低功耗空閑和掉電模式u 掉電后中斷可喚醒u 看門狗定時(shí)器u 雙數(shù)據(jù)指針u 1000次擦寫(xiě)周期u 掉電標(biāo)識(shí)符u 三個(gè)16 位定時(shí)器/計(jì)數(shù)器2、 AT89C51引腳說(shuō)明AT89C51有40個(gè)引腳,如圖2所示: 圖2 AT89C51芯片P0 口:P0口是一個(gè)8位漏極開(kāi)路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫(xiě)“1”時(shí),引腳用作高阻

17、抗輸入。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時(shí),P0口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。 P1 口:P1 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動(dòng)4 個(gè) TTL 邏輯電平。對(duì)P1 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時(shí)器/計(jì)數(shù)器2 的觸發(fā)輸入(P1.1/T2E

18、X),具體如下表所示。 在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。P1口的第二功能如下: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è)具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL 邏輯電平。對(duì)P2 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。訪問(wèn)外

19、部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX DPTR),P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX RI)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。P3 口:P3 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL 邏輯電平。對(duì)P3 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)

20、使用,如下表所示。flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。P3口的二功能如下:P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 INTO(外中斷0)P3.3 INT1(外中斷1)P3.4 TO(定時(shí)/計(jì)數(shù)器0)P3.5 T1(定時(shí)/計(jì)數(shù)器1)P3.6 WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7 RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)此外,P3口還接收一些用于FLASH閃存編程和程序校驗(yàn)的控制信號(hào)。RST復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是單片機(jī)復(fù)位。ALE/PROG當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位

21、字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。對(duì)FLASH存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無(wú)效。PSEN程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C51由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸

22、出兩個(gè)脈沖,在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次PSEN信號(hào)。EA/VPP外部訪問(wèn)允許,欲使CPU僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器的指令。3、單片機(jī)最小系統(tǒng)根據(jù)系統(tǒng)設(shè)計(jì)要求,結(jié)合性能分析,通過(guò)查閱相關(guān)資料及自己的努力思考,把單片機(jī)最小系統(tǒng)設(shè)計(jì)為圖3:圖3 單片機(jī)最小系統(tǒng)(1) 復(fù)位電路按鍵手動(dòng)復(fù)位是通過(guò)使復(fù)位端經(jīng)電阻與VCC接通而實(shí)現(xiàn)的。(2) 時(shí)鐘振蕩電路考慮系統(tǒng)運(yùn)行速度,采用12MHZ的石英晶振,并使用兩個(gè)小電容

23、作為微調(diào)電容。(三)主要模塊設(shè)計(jì)實(shí)現(xiàn)1、LCD顯示模塊 (1)方案選擇:方案一:采用動(dòng)態(tài)顯示方法,動(dòng)態(tài)顯示模塊的硬件制作簡(jiǎn)單,段掃描和位掃描各占用一個(gè)端口,總需占用單片機(jī)24個(gè)端口,采用間斷掃描法功耗小、硬件成本低及整個(gè)硬件系統(tǒng)體積相對(duì)減小。方案二:采用LCD的方法,具有硬件制作簡(jiǎn)單可直接與單片機(jī)接口,顯示內(nèi)容多,功耗小,成本低等優(yōu)點(diǎn),LCM1602可顯示32個(gè)字符,采用LCD的缺點(diǎn)是亮度不夠。比較以上兩種方案:方案一硬件簡(jiǎn)單、功耗?。环桨付布?jiǎn)單,顯示內(nèi)容多,功耗小,成本低等。本系統(tǒng)設(shè)計(jì)要求達(dá)到功耗小、體積小、成本低,顯示信息多等要求,權(quán)衡兩種方案,選擇方案二。(2)LCM1602的接口信

24、號(hào)說(shuō)明:如表1:表1 LCM1602的接口信號(hào)編號(hào)引腳符號(hào)功能說(shuō)明編號(hào)引腳符號(hào)功能說(shuō)明1VSS電源地9D2DATA I/O2VDD電源正極10D3DATA I/O3VL液晶顯示偏壓信號(hào)11D4DATA I/O4RS數(shù)據(jù)/命令選擇端12D5DATA I/O5R/W讀/寫(xiě)選擇端(H/L)13D6DATA I/O6E使能信號(hào)14D7DATA I/O7D0DATA I/O15BLA背光正極8D1DATA I/O16BLK背光負(fù)極(3)基本操作時(shí)序:讀狀態(tài):RS=L,RW=H,E=H寫(xiě)指令:RS=L,RW=L,D0D7=指令碼,E=高脈沖讀數(shù)據(jù):RS=H,RW=H,E=H寫(xiě)數(shù)據(jù):RS=H,RW=L,D0

25、D7=數(shù)據(jù),E=高脈沖(4) LCM1602與AT89C51的接口電路:如圖4所示: 圖4 LCM1602與單片機(jī)接口電路LCD的D0D7分別接單片機(jī)的的P0口,作為數(shù)據(jù)線,因?yàn)镻0口內(nèi)部沒(méi)有上拉電阻,所以外部另外加上10K的上拉電阻;P2.0P2.2分別接LCD的RS、RW、E三個(gè)控制管腳;RV1用來(lái)調(diào)節(jié)LCD的顯示灰度;BLK、BLA為背光的陰極和陽(yáng)極,接上相應(yīng)電平即點(diǎn)亮背光燈(圖中未畫(huà)出)。2、時(shí)鐘芯片DS1302接口設(shè)計(jì)模塊(1)方案選擇:方案一:直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供秒信號(hào),使用程序?qū)崿F(xiàn)年、月、日、星期、時(shí)、分、秒計(jì)數(shù)。采用此種方案雖然減少芯片的使用,節(jié)約成本,但是液晶顯示不連

26、續(xù),實(shí)現(xiàn)的時(shí)間誤差較大。方案二:采用DS1302時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘,DS1302芯片是一種高性能的時(shí)鐘芯片,可自動(dòng)對(duì)秒、分、時(shí)、日、周、月、年以及閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù),而且精度高,位的RAM作為數(shù)據(jù)暫存區(qū),工作電壓2.5V5.5V范圍內(nèi),功耗電小。綜合考慮制作難度及精度,故采用方案二。(2)DS1302接口說(shuō)明:如表2表2 接口說(shuō)明X1,X232.768kHz晶振引腳GND 地線RST復(fù)位端I/O數(shù)據(jù)輸入/輸出端口SCLK 串行時(shí)鐘端口VCC1 慢速充電引腳VCC2 電源引腳 (3)DS1302與AT89C51的接口電路:如圖5所示 DS1302時(shí)鐘芯片內(nèi)主要包括控制邏輯電路、振蕩器、移位寄存器

27、。DS1302與單片機(jī)系統(tǒng)的數(shù)據(jù)通信依靠SCLK,RST,I/O,三根線即可完成。其工作過(guò)程可概括為:首先給系統(tǒng)RST引腳一個(gè)高電平 1,然后在SCLK時(shí)鐘脈沖的作用下,通過(guò)I/O引腳向DS1302輸入命令或地址字節(jié),隨后再在SCLK時(shí)鐘脈沖的配合下,從I/O引腳寫(xiě)入或讀出相應(yīng)的數(shù)據(jù)字節(jié)。因此,其與單片機(jī)之間的數(shù)據(jù)傳送是非常容易實(shí)現(xiàn)的。 圖5 DS1302設(shè)計(jì)DS1302在每次進(jìn)行讀、寫(xiě)程序前都必須初始化,先把SCLK端置 “0”,接著把RST端置“1”,最后才給予SCLK脈沖;讀/寫(xiě)時(shí)序如圖5所示。DS1302的控制字:控制字的位7必須置1,若為0則不能對(duì)DS1302進(jìn)行讀寫(xiě)數(shù)據(jù)。對(duì)于位6,

28、若對(duì)時(shí)間進(jìn)行讀/寫(xiě)時(shí),CK=0,對(duì)程序進(jìn)行讀/寫(xiě)時(shí)RAM=1。位1至位5指操作單元的地址。位0是讀/寫(xiě)操作位,進(jìn)行讀操作時(shí),該位為1;進(jìn)行寫(xiě)操作時(shí),該位為0??刂谱止?jié)總是從最低位開(kāi)始輸入/輸出的。DS1302的日歷、時(shí)間寄存器內(nèi)容:“CH”是時(shí)鐘暫停標(biāo)志位,當(dāng)該位為1時(shí),時(shí)鐘振蕩器停止,DS1302處于低功耗狀態(tài);當(dāng)該位為0時(shí),時(shí)鐘開(kāi)始運(yùn)行?!癢P”是寫(xiě)保護(hù)位,在任何的對(duì)時(shí)鐘和RAM的寫(xiě)操作之前,“WP”必須為0。當(dāng)“WP”為1時(shí),寫(xiě)保護(hù)位防止對(duì)任一寄存器的寫(xiě)操作。3、溫度傳感器DS18B20設(shè)計(jì)模塊(1)方案選擇方案一:采用熱敏電阻或AD590,再經(jīng)AD轉(zhuǎn)換得到數(shù)字信號(hào),精度較準(zhǔn),但價(jià)格昂貴

29、,電路較復(fù)雜。方案二:采用數(shù)字式溫度傳感器DS18B20,它能通過(guò)單片機(jī)直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)9-12位的數(shù)字值讀數(shù)方式,但準(zhǔn)確度不高。綜合考慮,采用方案二,用DS18B20溫度芯片,采用單總線訪問(wèn),降低成本、降低制作難度且可節(jié)省單片機(jī)寶貴的I/O口資源。(2)DS18B20與AT89C51的接口電路:如圖6所示圖6 DS18B20接口電路該系統(tǒng)中采用數(shù)字式溫度傳感器DS18B20,具有測(cè)量精度高,電路連接簡(jiǎn)單特點(diǎn),此類傳感器僅需要一條數(shù)據(jù)線進(jìn)行數(shù)據(jù)傳輸,用P2.3與DS18B20的DQ口連接,Vcc接電源,GND接地。4、按鍵控制模塊按鍵及按鍵提醒接口電路如圖

30、7所示圖7 按鍵控制模塊SET鍵:按下SET鍵進(jìn)入時(shí)間校準(zhǔn)狀態(tài),按一下進(jìn)入秒調(diào)整,兩下分調(diào)整,依此類推可進(jìn)行各年月日,時(shí)分秒以及星期的校準(zhǔn)UP鍵:當(dāng)SET鍵按下時(shí),UP進(jìn)行SET選定項(xiàng)(如:小時(shí))的加操作;DOWN鍵:當(dāng)SET鍵按下時(shí),DOWN進(jìn)行SET選定項(xiàng)(如:小時(shí))的減操作;按鍵蜂鳴器提示(第一次按動(dòng)設(shè)置鍵長(zhǎng)鳴一響;后面按動(dòng)設(shè)置鍵或上調(diào)鍵、下調(diào)鍵都是短鳴一響)(四)完整系統(tǒng)原理圖見(jiàn)附錄一。四、 軟件設(shè)計(jì)整個(gè)軟件系統(tǒng)采用C語(yǔ)言編程,主要實(shí)現(xiàn)以下功能:1)LCD的驅(qū)動(dòng)2)時(shí)間數(shù)據(jù)的采集3)溫度的采集4)按鍵的識(shí)別處理程序從main()函數(shù)開(kāi)始運(yùn)行,隨后對(duì)LCD、DS18B20、DS1302等

31、器件進(jìn)行初始化操作并對(duì)標(biāo)志位賦初值,隨后進(jìn)入while(1)循環(huán)中運(yùn)行按鍵掃描程序。等待中斷產(chǎn)生。開(kāi)始初始化讀日期、時(shí)間寫(xiě)日期、時(shí)間顯示子程序時(shí)間修改子程序日期修改子程序顯示結(jié)果返回開(kāi)關(guān)控制子程序圖8 萬(wàn)年歷顯示控制(一)萬(wàn)年歷顯示程序1、流程圖 如圖82、源程序代碼參考附錄二。(二)溫度轉(zhuǎn)換程序?yàn)榉奖愠绦蚓帉?xiě),本程序把溫度轉(zhuǎn)換子程序編在DS18B20_3.H文件中。頭文件DS18B20_3.H,來(lái)源于網(wǎng)網(wǎng)絡(luò),十進(jìn)制溫度最后返回到函數(shù)ReadTemperature()中,使用時(shí)主函數(shù)用flag=ReadTemperature()就可將18b2頭文件運(yùn)行返回的函數(shù)結(jié)果送到變量FLAG中,用于顯示

32、。根據(jù)單總線操作協(xié)議,首先要對(duì)DS18B20進(jìn)行初始化,而初始化有嚴(yán)格的時(shí)序控制,如圖9所示,即總線控制器(TX)發(fā)出一個(gè)復(fù)位脈沖(至少480us的低電平),然后釋放總線進(jìn)入接收狀態(tài),總線由5.1K上拉電阻上拉為高電平,探測(cè)到I/O引腳上的上升沿后,DS18B20等待15us60us后,然后發(fā)出一個(gè)存在脈沖(60us240us的低電平信號(hào))。1、流程圖開(kāi)始發(fā)跳過(guò)讀系列號(hào)命令啟動(dòng)溫度轉(zhuǎn)換初始化DS18B20初始化DS18B20發(fā)跳過(guò)讀系列號(hào)命令讀取溫度寄存器讀取溫度值結(jié)束圖9 溫度轉(zhuǎn)換流程圖如圖9.2、源程序代碼見(jiàn)附錄三(三)按鍵掃描程序1、程序結(jié)構(gòu)按鍵識(shí)別程序結(jié)構(gòu)采用:if(*)delay(1

33、0);/調(diào)延時(shí),消抖動(dòng)if(*)switch(key1n)case 1:*;case 2:*;*;2、程序功能能準(zhǔn)確清晰地分析全部的按鍵情況,具有按鍵消除抖動(dòng)功能。和按鍵蜂鳴器提示(第一次按動(dòng)設(shè)置鍵長(zhǎng)鳴一響;后面按動(dòng)設(shè)置鍵或上調(diào)鍵、下調(diào)鍵都是短鳴一響)開(kāi)始液晶屏、時(shí)鐘芯片、溫度傳感器初始化按鍵掃描。等待中斷產(chǎn)生YN溫度讀取轉(zhuǎn)換顯示溫度、時(shí)間日期圖10 主程序流程圖按下SET鍵進(jìn)入時(shí)間調(diào)整選項(xiàng),按一下調(diào)整秒,按兩下調(diào)整分,在日期時(shí)間星期之間轉(zhuǎn)換。按下UP鍵調(diào)整的數(shù)據(jù)加一。按下DOWN鍵,調(diào)整的數(shù)據(jù)減一。再按下SET鍵確認(rèn)并跳到下一個(gè)選項(xiàng)。(四)主程序1、程序流程圖:如圖102、源程序代碼。見(jiàn)附錄

34、二。五、仿真(一)調(diào)試聯(lián)合仿真 模擬系統(tǒng)硬件電路調(diào)試比較簡(jiǎn)單,首先檢查電路接線是否正確,然后用檢查軟件I/O口的定義是否與硬件電路的I/O口連線是否對(duì)應(yīng)。系統(tǒng)軟件調(diào)試可以先調(diào)試液晶顯示程序,再編寫(xiě)定時(shí)器中斷函數(shù),在液晶上顯示出正確的時(shí)間,隨后調(diào)試時(shí)間調(diào)整函數(shù)。接下來(lái)分別進(jìn)行DS18B20溫度顯示程序的調(diào)試,調(diào)試到液晶能顯示溫度值,在環(huán)境溫度有變化時(shí),顯示溫度能改變就說(shuō)明已能正確讀取溫度數(shù)據(jù)。最后調(diào)試報(bào)警溫度函數(shù),直到實(shí)現(xiàn)設(shè)計(jì)任務(wù)的要求為止。(二)仿真結(jié)果 使用Keil uVision4軟件調(diào)試編譯源程序,生成目標(biāo)代碼HEX文件,然后在Proteus軟件中的虛擬單片機(jī)系統(tǒng)。模擬仿真觀看設(shè)計(jì)結(jié)果:

35、液晶顯示結(jié)果如圖11。通過(guò)此項(xiàng)設(shè)計(jì)設(shè)計(jì),本系統(tǒng)能完成以下功能:1、顯示公歷日期功能(年、月、日、時(shí)、分、秒)2、通過(guò)按鍵可隨時(shí)調(diào)校年、月、日或時(shí)、分、星期3、可動(dòng)態(tài)完整顯示年份4、上電蜂鳴器提示(長(zhǎng)鳴)、按鍵時(shí)蜂鳴器短鳴。圖11 液晶顯示結(jié)果六、總結(jié) 論文首先對(duì)本設(shè)計(jì)作了簡(jiǎn)要描述,對(duì)軟件、硬件進(jìn)行簡(jiǎn)單的描述。隨后提出了不同的設(shè)計(jì)方案,經(jīng)過(guò)論證最后確定該設(shè)計(jì)采用時(shí)鐘模塊、顯示模塊、鍵盤接口模塊、溫度測(cè)量模塊等模塊組成,接著分別從硬件系統(tǒng)和軟件系統(tǒng)兩方面對(duì)基于單片機(jī)的電子萬(wàn)年歷設(shè)計(jì)作了詳細(xì)論述,另外還簡(jiǎn)要介紹了一下系統(tǒng)的調(diào)試。在整個(gè)設(shè)計(jì)過(guò)程中,硬件方面主要設(shè)計(jì)了AT89C51單片機(jī)的最小系統(tǒng)、DS

36、1302接口電路、DS18B20接口電路、LCM1602顯示;軟件方面借助各個(gè)渠道的資料,主要設(shè)計(jì)了日期數(shù)據(jù)讀取程序、溫度采集程序、按鍵掃描程序以及LCD顯示程序;系統(tǒng)的調(diào)試主要是通過(guò)Proteus,再借助于Keil以及少許自己搭建的外圍電路實(shí)現(xiàn)的;再此過(guò)程中,分步調(diào)試時(shí)顯示出了日期及時(shí)間,還有實(shí)時(shí)溫度,集中調(diào)試達(dá)到預(yù)期效果。但在此過(guò)程中培養(yǎng)了自己的動(dòng)手能力。此萬(wàn)年歷具有讀顯示直觀、功能多樣、電路簡(jiǎn)潔、成本低廉等諸多優(yōu)點(diǎn),符合電子儀器儀表的發(fā)展趨勢(shì),具有廣闊的市場(chǎng)前景。 經(jīng)過(guò)本次畢業(yè)設(shè)計(jì),使我對(duì)大學(xué)所學(xué)專業(yè)知識(shí)的進(jìn)行了系統(tǒng)的總結(jié)。綜合運(yùn)用所學(xué)知識(shí)發(fā)現(xiàn)、提出、分析和解決實(shí)際問(wèn)題致謝首先感謝學(xué)校在

37、畢業(yè)之際給我們一個(gè)可能讓我們把所有的知識(shí)總結(jié)起來(lái)的機(jī)會(huì),通過(guò)這次畢業(yè)設(shè)計(jì),使我對(duì)以前所學(xué)的知識(shí)有了一個(gè)整體上的概括,也讓我們具體了解到了每個(gè)元件在電路中的具體作用,了解到了它的功能、結(jié)構(gòu)。其次我要衷心的感謝授課老師對(duì)我專業(yè)知識(shí)的教導(dǎo)和指導(dǎo)老師的幫助。為我提供了大量而又詳實(shí)的資料給我,使我從困惑迷茫的初期走向論文的順利完成,在完成論文的同時(shí)也深受啟發(fā)和教育,使我受益終生。最后接受我最誠(chéng)摯的謝意!參考文獻(xiàn)【1】劉訓(xùn)非,陳希.單片機(jī)技術(shù)及應(yīng)用.北京:清華大學(xué)出版社 2010【2】楊寧,胡學(xué)軍.單片機(jī)與控制技術(shù).北京:北京航空航天大學(xué)出版社.2005年【3】余西存,曹國(guó)華.單片機(jī)原理及接口技術(shù).西安:

38、西安電子科技大學(xué)出版,2000年【4】沈衛(wèi)紅,編著.基于單片機(jī)的智能系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).北京: 電子工業(yè)出版社2005年【5】王越明,編著.電子萬(wàn)年歷的設(shè)計(jì).黑龍江:黑龍江科技信息出版社2004年附錄一:系統(tǒng)電路附錄二:源程序#include#includeDS18B20_3.H/溫度傳感器#define uint unsigned int#define uchar unsigned charuchar a,miao,shi,fen,ri,yue,nian,week,flag,key1n,temp;/flag用于讀取頭文件中的溫度值,和顯示溫度值#define yh 0x80 /LCD第一行的初始

39、位置,因?yàn)長(zhǎng)CD1602字符地址首位D7恒定為1(=80)#define er 0x80+0x40 /LCD第二行初始位置(因?yàn)榈诙械谝粋€(gè)字符位置地址是0x40)sbit rs=P20;sbit en=P22;sbit rw=P21; sbit led=P26; /LCD的背光開(kāi)關(guān)/DS1302時(shí)鐘芯片與C51之間的引腳連接定義sbit IO=P11;sbit SCLK=P10;sbit RST=P12;sbit ACC0=ACC0;sbit ACC7=ACC7;/校時(shí)按鍵與C51的引腳連接定義sbit key1=P15; /設(shè)置鍵sbit key2=P16; /加鍵sbit key3=P1

40、7; /減鍵sbit buzzer=P13;/蜂鳴器,通過(guò)三極管9012驅(qū)動(dòng),端口低電平響uchar code tab1=20 - - ; /年顯示的固定字符uchar code tab2= : : ;/時(shí)間顯示的固定字符/延時(shí)函數(shù),后面經(jīng)常調(diào)用void delay(uint xms)/延時(shí)函數(shù),有參函數(shù)uint x,y;for(x=xms;x0;x-) for(y=110;y0;y-);/*液晶寫(xiě)入指令函數(shù)與寫(xiě)入數(shù)據(jù)函數(shù)*/write_1602com(uchar com)/*液晶寫(xiě)入指令函數(shù)*rs=0;/數(shù)據(jù)/指令選擇置為指令rw=0; /讀寫(xiě)選擇置為寫(xiě)P0=com;/送入數(shù)據(jù)delay(1

41、);en=1;/拉高使能端,為制造有效的下降沿做準(zhǔn)備delay(1);en=0;/en由高變低,產(chǎn)生下降沿,液晶執(zhí)行命令write_1602dat(uchar dat)/*液晶寫(xiě)入數(shù)據(jù)函數(shù)*rs=1;/數(shù)據(jù)/指令選擇置為數(shù)據(jù)rw=0; /讀寫(xiě)選擇置為寫(xiě)P0=dat;/送入數(shù)據(jù)delay(1);en=1; /en置高電平,為制造下降沿做準(zhǔn)備delay(1);en=0; /en由高變低,產(chǎn)生下降沿,液晶執(zhí)行命令lcd_init()/*液晶初始化函數(shù)*write_1602com(0x38);/設(shè)置液晶工作模式16*2行顯示,5*7點(diǎn)陣,8位數(shù)據(jù)write_1602com(0x0c);/開(kāi)顯示不顯示光

42、標(biāo)write_1602com(0x06);/整屏不移動(dòng),光標(biāo)自動(dòng)右移write_1602com(0x01);/清顯示write_1602com(yh+1);/日歷顯示固定符號(hào)從第一行第1個(gè)位置之后開(kāi)始顯示for(a=0;a14;a+)write_1602dat(tab1a);/向液晶屏寫(xiě)日歷顯示的固定符號(hào)部分/delay(3);write_1602com(er+2);/時(shí)間顯示固定符號(hào)寫(xiě)入位置,從第2個(gè)位置后開(kāi)始顯示for(a=0;a0;a-)IO=ACC0;SCLK=0;SCLK=1;ACC=ACC1;uchar read_byte()/讀一個(gè)字節(jié)RST=1;for(a=8;a0;a-)AC

43、C7=IO;SCLK=1;SCLK=0;ACC=ACC1;return (ACC);void write_1302(uchar add,uchar dat)/向1302芯片寫(xiě)函數(shù),指定寫(xiě)入地址,數(shù)據(jù)RST=0;SCLK=0;RST=1;write_byte(add);write_byte(dat);SCLK=1;RST=0;uchar read_1302(uchar add)/從1302讀數(shù)據(jù)函數(shù),指定讀取數(shù)據(jù)來(lái)源地址uchar temp;RST=0;SCLK=0;RST=1;write_byte(add);temp=read_byte();SCLK=1;RST=0;return(temp);

44、uchar BCD_Decimal(uchar bcd)/BCD碼轉(zhuǎn)十進(jìn)制函數(shù),輸入BCD,返回十進(jìn)制 uchar Decimal; Decimal=bcd4; return(Decimal=Decimal*10+(bcd&=0x0F);void ds1302_init() /1302芯片初始化子函數(shù)(2012-10-07,12:00:00,week4)RST=0;SCLK=0;write_1302(0x8e,0x00); /允許寫(xiě),禁止寫(xiě)保護(hù) write_1302(0x80,0x00); /向DS1302內(nèi)寫(xiě)秒寄存器80H寫(xiě)入初始秒數(shù)據(jù)00write_1302(0x82,0x00);/向DS

45、1302內(nèi)寫(xiě)分寄存器82H寫(xiě)入初始分?jǐn)?shù)據(jù)00write_1302(0x84,0x12);/向DS1302內(nèi)寫(xiě)小時(shí)寄存器84H寫(xiě)入初始小時(shí)數(shù)據(jù)12write_1302(0x8a,0x04);/向DS1302內(nèi)寫(xiě)周寄存器8aH寫(xiě)入初始周數(shù)據(jù)4write_1302(0x86,0x07);/向DS1302內(nèi)寫(xiě)日期寄存器86H寫(xiě)入初始日期數(shù)據(jù)07write_1302(0x88,0x10);/向DS1302內(nèi)寫(xiě)月份寄存器88H寫(xiě)入初始月份數(shù)據(jù)10write_1302(0x8c,0x12);/向DS1302內(nèi)寫(xiě)年份寄存器8cH寫(xiě)入初始年份數(shù)據(jù)12write_1302(0x8e,0x80); /打開(kāi)寫(xiě)保護(hù)/*

46、溫度顯示子函數(shù)*/void write_temp(uchar add,uchar dat)/向LCD寫(xiě)溫度數(shù)據(jù),并指定顯示位置uchar gw,sw;gw=dat%10;/取得個(gè)位數(shù)字sw=dat/10;/取得十位數(shù)字write_1602com(er+add);/er是頭文件規(guī)定的值0x80+0x40write_1602dat(0x30+sw);/數(shù)字+30得到該數(shù)字的LCD1602顯示碼write_1602dat(0x30+gw);/數(shù)字+30得到該數(shù)字的LCD1602顯示碼 write_1602dat(0xdf);/顯示溫度的小圓圈符號(hào),0xdf是液晶屏字符庫(kù)的該符號(hào)地址碼 write_1

47、602dat(0x43);/顯示C符號(hào),0x43是液晶屏字符庫(kù)里大寫(xiě)C的地址碼/*時(shí)分秒顯示子函數(shù)*/void write_sfm(uchar add,uchar dat)/向LCD寫(xiě)時(shí)分秒,有顯示位置加、現(xiàn)示數(shù)據(jù),兩個(gè)參數(shù)uchar gw,sw;gw=dat%10;/取得個(gè)位數(shù)字sw=dat/10;/取得十位數(shù)字write_1602com(er+add);/er是頭文件規(guī)定的值0x80+0x40write_1602dat(0x30+sw);/數(shù)字+30得到該數(shù)字的LCD1602顯示碼write_1602dat(0x30+gw);/數(shù)字+30得到該數(shù)字的LCD1602顯示碼/*年月日顯示子函數(shù)

48、*/void write_nyr(uchar add,uchar dat)/向LCD寫(xiě)年月日,有顯示位置加數(shù)、顯示數(shù)據(jù),兩個(gè)參數(shù)uchar gw,sw;gw=dat%10;/取得個(gè)位數(shù)字sw=dat/10;/取得十位數(shù)字write_1602com(yh+add);/設(shè)定顯示位置為第一個(gè)位置+addwrite_1602dat(0x30+sw);/數(shù)字+30得到該數(shù)字的LCD1602顯示碼write_1602dat(0x30+gw);/數(shù)字+30得到該數(shù)字的LCD1602顯示碼void write_week(uchar week)/寫(xiě)星期函數(shù)write_1602com(yh+0x0c);/星期字符

49、的顯示位置switch(week)case 1:write_1602dat(M);/星期數(shù)為1時(shí),顯示 write_1602dat(O); write_1602dat(N); break;case 2:write_1602dat(T);/星期數(shù)據(jù)為2時(shí)顯示 write_1602dat(U); write_1602dat(E); break;case 3:write_1602dat(W);/星期數(shù)據(jù)為3時(shí)顯示 write_1602dat(E); write_1602dat(D); break;case 4:write_1602dat(T);/星期數(shù)據(jù)為4是顯示 write_1602dat(H);

50、 write_1602dat(U); break;case 5:write_1602dat(F);/星期數(shù)據(jù)為5時(shí)顯示 write_1602dat(R); write_1602dat(I); break;case 6:write_1602dat(S);/星期數(shù)據(jù)為6時(shí)顯示 write_1602dat(T); write_1602dat(A); break;case 7:write_1602dat(S);/星期數(shù)據(jù)為7時(shí)顯示 write_1602dat(U); write_1602dat(N); break;/*鍵盤掃描有關(guān)函數(shù)*void keyscan()/-key1為功能鍵(設(shè)置鍵)-/if

51、(key1=0)delay(9);/延時(shí),用于消抖動(dòng)if(key1=0)/延時(shí)后再次確認(rèn)按鍵按下 buzzer=0;/蜂鳴器短響一次 delay(20); buzzer=1;while(!key1);key1n+;if(key1n=9)key1n=1;/設(shè)置按鍵共有秒、分、時(shí)、星期、日、月、年、返回,8個(gè)功能循環(huán)switch(key1n)case 1: TR0=0;/關(guān)閉定時(shí)器write_1602com(er+0x09);/設(shè)置按鍵按動(dòng)一次,秒位置顯示光標(biāo) write_1602com(0x0f);/設(shè)置光標(biāo)為閃爍 temp=(miao)/10*16+(miao)%10;/秒數(shù)據(jù)寫(xiě)入DS1302 write_1302(0x8e,0x00); wri

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論