




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、課 程 設(shè) 計(jì) 課程名稱_ 單片機(jī)原理與接口技術(shù) 題目名稱 多功能數(shù)字時(shí)鐘 學(xué)生學(xué)院_ 材料與能源學(xué)院 專業(yè)班級(jí)_ 電子材料及元器件方向?qū)W 號(hào)_ _ 學(xué)生姓名_ _ 指導(dǎo)教師_ 2013 年 1 月 16 日廣東工業(yè)大學(xué)課程設(shè)計(jì)任務(wù)書題目名稱多功能數(shù)字時(shí)鐘學(xué)生學(xué)院材料與能源學(xué)院專業(yè)班級(jí)姓 名學(xué) 號(hào)一、課程設(shè)計(jì)的內(nèi)容用AT89C52單片機(jī)制作一個(gè)時(shí)鐘:1.設(shè)計(jì)并繪制硬件電路圖;2.布置元件并焊接好元器件;3.編寫程序并將調(diào)試好的程序固化到單片機(jī)中。4.增加溫度測試功能。二、課程設(shè)計(jì)的要求與數(shù)據(jù)單片機(jī)采用STC89C52芯片,時(shí)鐘芯片采用DALLAS 公司的DS1302,即涓流充電時(shí)鐘芯片,它內(nèi)含
2、有一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31 字節(jié)靜態(tài)RAM,通過簡單的串行接口與單片機(jī)進(jìn)行通信實(shí)時(shí)時(shí)鐘/日歷電路提供秒分時(shí)日日期月年的信息,每月的天數(shù)和閏年的天數(shù)可自動(dòng)調(diào)整,時(shí)鐘操作可通過AM/PM 指示決定采用24 或12 小時(shí)格式,DS1302 與單片機(jī)之間能簡單地采用同步串行的方式進(jìn)行通信。同時(shí)用選DS18B20 傳感器將采集的室內(nèi)溫度顯示于LCD上。按此要求設(shè)計(jì)硬件和軟件以實(shí)現(xiàn)這些功能。三、課程設(shè)計(jì)應(yīng)完成的工作1. 完成下載線的制作,為程序下載到單片機(jī)芯片中做好準(zhǔn)備;2. 完成軟件、硬件的設(shè)計(jì),并進(jìn)行硬件的焊接制作,并將調(diào)試成功的程序固化到單片機(jī)中,最后進(jìn)行硬件與軟件的調(diào)試;3.撰寫設(shè)計(jì)說明書。四、課
3、程設(shè)計(jì)進(jìn)程安排序號(hào)設(shè)計(jì)各階段內(nèi)容地點(diǎn)起止日期1硬件、軟件設(shè)計(jì)宿舍1月813日2焊接電路板宿舍1月1415日3軟件、硬件調(diào)試宿舍1月1516日4撰寫說明書宿舍1月17日5答辯大學(xué)城工學(xué)三號(hào)館1051月1821日摘要隨著時(shí)代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普及到我們生活,工作,科研,各個(gè)領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù),本文將介紹一種基于單片機(jī)控制的液晶顯示溫度和時(shí)鐘設(shè)計(jì),時(shí)間可由鍵盤調(diào)整。主要用到的芯片有單片機(jī)STC89C52.液晶1602LCM模塊.時(shí)鐘芯片DS1302.溫度傳感器DS18B20等。關(guān)鍵詞:單片機(jī)STC89C52,1602LCM模塊,DS1302.,DS18B20 目錄1 系統(tǒng)需求
4、分析11.1 電子時(shí)鐘研究的背景和意義11.2 系統(tǒng)實(shí)用功能分析12 設(shè)計(jì)要求與方案22.1 設(shè)計(jì)要求22.1.1 基本要求2發(fā)揮部分22.2 系統(tǒng)基本方案選擇22.2.1 芯片的選擇22.2.2 顯示模塊選擇方案22.2.3 時(shí)鐘信號(hào)的選擇方案32.3 電路設(shè)計(jì)最終方案決定33 系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)33.1 數(shù)字鐘電路設(shè)計(jì)框圖33.2 系統(tǒng)硬件概述43.3 硬件電路結(jié)構(gòu)的設(shè)計(jì)43.3.1 單片機(jī)主控制模塊的設(shè)計(jì)43.3.2 顯示模塊的設(shè)計(jì)43.3.3 LCD原理說明53.3.4 開關(guān)模塊說明64 系統(tǒng)的軟件設(shè)計(jì)74.1 程序流程框圖74.2 LCD的初始化與及顯示程序75 系統(tǒng)調(diào)試95.1軟
5、件調(diào)試95.2硬件調(diào)試9參考文獻(xiàn)10附錄11 1 系統(tǒng)需求分析1.1 電子時(shí)鐘研究的背景和意義20實(shí)際末,電子技術(shù)獲得了飛速的發(fā)展。再起推動(dòng)下現(xiàn)代電子產(chǎn)品幾乎滲透到了社會(huì)的哥哥領(lǐng)域,有力的推動(dòng)和提高的社會(huì)生產(chǎn)力的發(fā)展與信息化程度,同時(shí)也是現(xiàn)代電子產(chǎn)品性能進(jìn)一步提升,產(chǎn)品的更新?lián)Q代節(jié)奏譜也越來越快。時(shí)間對(duì)人們來說是那么的寶貴,工作的忙碌性和繁雜容易使人們忘記當(dāng)前的時(shí)間。然而遇到重大事情的時(shí)候,一旦忘記時(shí)間,就會(huì)給自己或者是他人造成很大的麻煩。平時(shí)我們要求上班準(zhǔn)時(shí),約會(huì)或者召開會(huì)議必然要提及時(shí)間、火車要準(zhǔn)點(diǎn)到達(dá),航班要準(zhǔn)時(shí)起飛,工業(yè)生產(chǎn)中,很多環(huán)節(jié)都需要時(shí)間來確定工序替換時(shí)刻。所以說能隨時(shí)準(zhǔn)確的指
6、導(dǎo)時(shí)間并利用時(shí)間,是我們生活中必不可少的。想知道時(shí)間,手表當(dāng)然是很好的選擇,但是在忙碌當(dāng)中,我們還需要一個(gè)“助理”時(shí)不時(shí)的給我們體形式將,所以,計(jì)時(shí)器最好能夠用有一個(gè)定時(shí)系統(tǒng),隨時(shí)提醒容易忘記時(shí)間的人。最早能夠定時(shí)、寶石的時(shí)鐘屬于機(jī)械式鐘表,但這種時(shí)鐘受到機(jī)械結(jié)構(gòu)、動(dòng)力合體技的限制,在功能性能以及在造價(jià)上都沒有辦法與電子時(shí)鐘相比。電子時(shí)鐘是采用電子電路實(shí)現(xiàn)對(duì)時(shí)、分、秒進(jìn)行數(shù)字顯示的即使裝置,廣泛應(yīng)用月個(gè)人家庭、車站、碼頭辦公室等公共場所,成為人們?nèi)粘I罨顒?dòng)中不可少的必須品。由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛使用,是的數(shù)字時(shí)鐘的精度遠(yuǎn)遠(yuǎn)查過老師鐘表,鐘表的數(shù)字化跟人們生產(chǎn)生活帶來了極
7、大的方便,而且大大的擴(kuò)展了鐘表原先的時(shí)鐘功能。諸如整點(diǎn)提示、定時(shí)報(bào)警、定時(shí)廣播、自動(dòng)啟閉路燈,定時(shí)開關(guān)烘箱、同多動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟動(dòng)等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。1.2 系統(tǒng)實(shí)用功能分析單片機(jī)模塊中最常見的是數(shù)字時(shí)鐘,數(shù)字時(shí)鐘是一種用單片機(jī)原理實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的裝置,與機(jī)械式時(shí)鐘相比具有更高的準(zhǔn)確性和直觀性,且無機(jī)械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。數(shù)字時(shí)鐘是采用單片機(jī)原理實(shí)現(xiàn)對(duì).年、月、日、周、時(shí)、分、秒,數(shù)字顯示及到時(shí)提醒的計(jì)時(shí)裝置,廣泛用于個(gè)人家庭,車站, 碼頭辦公室等公共場所,成為人們?nèi)粘I钪?/p>
8、不可少的必需品,由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、按時(shí)自動(dòng)打鈴、時(shí)間程序自動(dòng)控制、定時(shí)廣播、自動(dòng)起閉路燈、定時(shí)開關(guān)烘箱、通斷動(dòng)力設(shè)備、甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字時(shí)鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。2 設(shè)計(jì)要求與方案2.1 設(shè)計(jì)要求 基本要求1 設(shè)計(jì)能支持年月日星期時(shí)分秒的時(shí)鐘,時(shí)鐘要具有時(shí)間調(diào)整功能。發(fā)揮部分1 鬧鐘時(shí)間精度。2 時(shí)鐘功耗小于0.5MA/5V。2.2 系統(tǒng)基本方案選擇本時(shí)鐘
9、的設(shè)計(jì)具體有兩種方法。一是通過單純的數(shù)字電路來實(shí)現(xiàn);二是使用單片機(jī)來控制實(shí)現(xiàn)。本次設(shè)計(jì)選取了較為簡單的單片機(jī)控制;而選擇這一方法后還要進(jìn)行各個(gè)芯片的選擇。以下是我在這次設(shè)計(jì)中所用的方案。 芯片的選擇采用AT89C52芯片,其為高性能CMOS 8位單片機(jī),該芯片內(nèi)含有4k bytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)、128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM)、 32位可編程I/O口線、2個(gè)16位定時(shí)/計(jì)數(shù)器、6個(gè)中斷源、可編程串行UART通道及低功耗空閑和掉電模式,其最大的優(yōu)勢就是AT89C52提供了8K字節(jié)可擦寫Flash閃速存儲(chǔ)器空間、8個(gè)中斷源、及256*8字節(jié)內(nèi)部存儲(chǔ)器(
10、RAM),解決了我們對(duì)可反復(fù)擦寫的Flash閃速存儲(chǔ)器空間大小與中斷源的不夠問題的擔(dān)心。 顯示模塊選擇方案方案一:采用LED數(shù)碼管顯示,顯示較為清楚,但是由于設(shè)計(jì)要求時(shí)鐘功能比較重要,因此用如用LED進(jìn)行顯示會(huì)使得硬件電路較為復(fù)雜,且在軟件實(shí)現(xiàn)上也較難,為實(shí)現(xiàn)功能帶來了一定的困難。方案二:采用LCD,電路比較簡單,且在軟件設(shè)計(jì)上也相對(duì)簡單,具有低功耗功能,能夠滿足設(shè)計(jì)最優(yōu)的要求。因此,在設(shè)計(jì)中我采用的顯示模塊是LCD顯示。 時(shí)鐘信號(hào)的選擇方案方案一:直接采用單片機(jī)定時(shí)計(jì)數(shù)器提供的秒信號(hào),使用程序?qū)崿F(xiàn)年、月、日、周、時(shí)、分、秒計(jì)數(shù)。采用此種方案可減少芯片的使用,節(jié)約成本,實(shí)現(xiàn)的時(shí)間誤差較小,但程
11、序設(shè)計(jì)較為復(fù)雜。方案二:采用DS1302時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘, DS1302芯片是一種高性能的時(shí)鐘芯片,可自動(dòng)對(duì)秒、分、時(shí)、日、周、月、年以及閏年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù),而且精度高,256位的RAM作為數(shù)據(jù)暫存區(qū),工作電壓2.5V5.5V范圍內(nèi),2.5V時(shí)耗電小于300nA。且硬件電路連接較為簡單,程序設(shè)計(jì)容易實(shí)現(xiàn)。2.3 電路設(shè)計(jì)最終方案決定綜上各方案所述,對(duì)此次數(shù)字時(shí)鐘的方案選定為: 采用AT89C52作為主控制系統(tǒng); 并由其定時(shí)計(jì)數(shù)器提供時(shí)鐘; LCD作為顯示電路,來實(shí)現(xiàn)功能。3 系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)3.1 數(shù)字鐘電路設(shè)計(jì)框圖LCD動(dòng)態(tài)掃描顯示模塊AT89C52主控制器開關(guān)調(diào)節(jié)模塊晶振電路模塊復(fù)位
12、電路圖3-1電路設(shè)計(jì)框圖3.2 系統(tǒng)硬件概述該電路是由AT89C52單片機(jī)為控制核心,具有在線編程功能,低功耗,能在3V超低壓工作;時(shí)鐘電路也由AT89C52單片機(jī)提供,減少芯片的使用,節(jié)約成本,它可以對(duì)年、月、日、周、日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能。時(shí)間顯示部份采用液晶LM016L(LCD)。3.3 硬件電路結(jié)構(gòu)的設(shè)計(jì) 單片機(jī)主控制模塊的設(shè)計(jì)此次單片機(jī)數(shù)字時(shí)鐘的設(shè)計(jì)采用AT89C52為主控制芯片,并由其定時(shí)器提供時(shí)鐘,利用LCD進(jìn)行時(shí)間按顯示。下圖為用Proteus軟件畫的原理圖:圖3-2仿真電路圖3.3.2 顯示模塊的設(shè)計(jì)如圖(3-4)所示,該設(shè)計(jì)采用液晶顯示裝置即把時(shí)鐘信號(hào)以及
13、溫度信號(hào)同時(shí)顯示在液晶顯示器上,不僅結(jié)構(gòu)簡單清新可見,而且省電也容易控制。數(shù)據(jù)的傳輸采用P0口進(jìn)行控制, 其引腳VSS接地,VEE接VCC,RS和RW、E是顯示器的控制端分別由單片機(jī)的引腳P1.0、P1.1、P1.3進(jìn)行控制。而VDD是作為液晶顯示器的灰度調(diào)節(jié)引腳,接一變阻器來改變其顯示的清晰度。圖3-3 LM016L液晶顯示器3.3.3 LCD原理說明在實(shí)際應(yīng)用中,用戶很少直接設(shè)計(jì)LCD顯示器驅(qū)動(dòng)接口,一般是直接使用專用的LCD顯示驅(qū)動(dòng)器和LCD顯示模塊。其中,LCD顯示模塊LCM(LiquidCrystalDisplayModule)是把LCD顯示器、背景光源、線路板和驅(qū)動(dòng)集成電路等部件構(gòu)
14、成一個(gè)整體,作為一個(gè)獨(dú)立的部件使用,具有功能較強(qiáng)、易于控制、接口簡單等優(yōu)點(diǎn),在單片機(jī)系統(tǒng)中應(yīng)用較多。其內(nèi)部結(jié)構(gòu)如圖2-8所示。LCD顯示模塊只留一個(gè)接口與外部通信。顯示模塊通過這個(gè)接口接收顯示命令和數(shù)據(jù),并按指令和數(shù)據(jù)的要求進(jìn)行顯示。外部電路通過這個(gè)接口讀出顯示模塊的工作狀態(tài)和顯示數(shù)據(jù)。LCD顯示模塊一般帶有內(nèi)部顯示RAM和字符發(fā)生器,只要輸入ASCII碼就可以進(jìn)行顯示。LCD顯示模塊按功能顯示可分為:LCD段式顯示模塊、LCD字符型顯示模塊、LCD圖形顯示塊三類。液晶顯示器因其功耗低、重量輕而成為便攜式應(yīng)用中的主流顯示技術(shù)。這里所用的字符型液晶模塊是一種用5x7點(diǎn)陣圖形來顯示字符的液晶顯示器
15、,根據(jù)顯示的容量可以分為1行16個(gè)字、2行16個(gè)字、2行20個(gè)字等等。液晶顯示有點(diǎn)振式和字符式兩種,在這里采用字符式液晶顯示器1602來實(shí)現(xiàn)顯示電路的功能。LCD驅(qū)動(dòng)器LCD顯示器LCD控制器VSSVDDVLRSR/WED0-D7圖3-4 LCD顯示電路由于1602液晶顯示器是本身帶有驅(qū)動(dòng)模塊的液晶屏,它只有并口線和一些控制線,與單片機(jī)的連接有兩種不同的方法,直接訪問方式和間接訪問方式。直接訪問方式就是微處理器把液晶顯示模塊當(dāng)作存儲(chǔ)器或I/O設(shè)備直接掛在總線上,模塊8位數(shù)據(jù)總線與微處理器的數(shù)據(jù)總線相連,用讀操作或?qū)懖僮餍盘?hào)與地址信號(hào)共同產(chǎn)生控制信號(hào)。3.3.4 開關(guān)模塊說明校時(shí)電路主要靠鍵盤來
16、控制。鍵盤是一組按鍵的集合。共有四個(gè)按鍵,分別是:改變時(shí)間、增加、減少、清零。它是嵌入式計(jì)算機(jī)系統(tǒng)中不可缺少的外圍電路。是實(shí)現(xiàn)人機(jī)對(duì)話的紐帶,借助鍵盤可以向計(jì)算機(jī)輸入程序、置數(shù)、邏輯操作以及寫入程序和程序檢測等。4 系統(tǒng)的軟件設(shè)計(jì)4.1 程序流程框圖開始初始化程序主鍵值檢測根據(jù)主鍵進(jìn)行散轉(zhuǎn)有則主鍵值加一時(shí)間秒鐘調(diào)整時(shí)間分鐘調(diào)整時(shí)間小時(shí)調(diào)整時(shí)間周調(diào)整時(shí)間日調(diào)整時(shí)間月調(diào)整時(shí)間年調(diào)整顯示周顯示日顯示月顯示年時(shí)間顯示時(shí)間顯示主界面圖4-1 主程序流程4.2 LCD的初始化與及顯示程序1 LCD的初始化void ini()/*LCD的初始化函數(shù)rw=0;en=0;P1=0xff;writeCG();wr
17、ite_order(0x38);/*端口寫入write_order(0x0c); /*端口寫入write_order(0x06); /*端口寫入write_order(0x01); /*端口寫入2 LCD的顯示程序void open()/*定義一個(gè)LCD顯示函數(shù)uchar num; /*定義一個(gè)無符號(hào)的字符變量numwrite_order(0x80+0x10); /*調(diào)用write_order函數(shù) for(num=0;opensnum!=0;num+)/*循環(huán)打開write_date(opensnum);delay(20);for(num=0;num16;num+)/*對(duì)端口0x1c寫入wri
18、te_order(0x1c);delay(200);for(num=0;num5;num+)/*對(duì)端口0x18寫入write_order(0x18);delay(200);for(num=0;num4;num+)/*對(duì)端口0x18寫入write_order(0x1c);delay(200);for(num=0;num3;num+)/*對(duì)端口0x18寫入write_order(0x18);delay(200);for(num=0;num2;num+)/*對(duì)端口0x1c寫入write_order(0x1c);delay(200);for(num=0;num1;num+)/*對(duì)端口0x18寫入wri
19、te_order(0x18);delay(100);write_order(0x80+0x53);for(num=0;opens1num!=0;num+)/*循環(huán)延時(shí)寫入數(shù)據(jù) write_date(opens1num); delay(500);5 系統(tǒng)調(diào)試5.1軟件調(diào)試打開程序調(diào)試軟件keil uVision2,在里面新建一個(gè)工程,命名為:數(shù)字時(shí)鐘.Uv2。接著新建文件,編寫相應(yīng)程序。編寫好的各個(gè)程序進(jìn)行編譯與連接。但若是在該過程中,看見我們編好的程序有錯(cuò)誤,那么就根據(jù)他相應(yīng)的提示來修改錯(cuò)誤,直到該程序能夠正確編譯為止。能夠正常編譯的程序說明沒有什么問題了,此時(shí)我們?cè)邳c(diǎn)擊相關(guān)欄目,讓它生成我們
20、在硬件仿真時(shí)所需要的.HEX文件。到此步,我們的軟件調(diào)試就完成了。5.2硬件調(diào)試打開Proteus 7 Professional軟件,按照方案所選的電路元件來設(shè)計(jì)整體電路,線把個(gè)芯片按一定的位置放好,然后對(duì)相應(yīng)的對(duì)象進(jìn)行連接,連接時(shí)需仔細(xì),以免調(diào)試時(shí)發(fā)生錯(cuò)誤。做好之后把編程所生成的。HEX文件加載到AT89C52中,運(yùn)行仿真軟件,查看運(yùn)行效果。如果運(yùn)行出錯(cuò)那么就根據(jù)他相應(yīng)的提示來修改錯(cuò)誤,直到仿真成功為止。參考文獻(xiàn)1 邊春遠(yuǎn)、王志強(qiáng),MCS-51單片機(jī)應(yīng)用開發(fā)實(shí)用子程序M,人民郵電出版社.2 馬忠梅主編,單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)M,北京航空航天大學(xué)出版社.3 李朝青主編,單片機(jī)原理及接口技術(shù)
21、(第3版)M, 北京航空航天大學(xué)出版社.4 譚浩強(qiáng),C語言程序設(shè)計(jì)(第四版)M, 清華大學(xué)出版.5 馬忠梅、張凱,單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)M,北京航空航天大學(xué)出版社.6 廖先蕓,電子技術(shù)實(shí)踐與實(shí)訓(xùn)M,高等教育出版社.附錄主程序:#include#define uchar unsigned char#define uint unsigned intsbit lcdrs=P35;sbit lcden=P34;sbit dula=P26;sbit wela=P27;sbit s0 =P10;sbit s1 =P11;sbit s2 =P12;sbit s3 =P13;uchar code tabl
22、e1=2008-08-28 Wen;uchar code table2=21:31:30;uchar num,t0;char sec,minute,hour,day,week,month;uint year;void delay(uchar z) uchar x,y; for(x=z;x0;x-) for(y=110;y0;y-); /寫入指令子函數(shù)void write_order(uchar order) lcdrs=0; P0=order; delay(2); lcden=1; delay(2); lcden=0;/寫入數(shù)據(jù)子函數(shù)void write_data(uchar data1) l
23、cdrs=1; P0=data1; delay(2); lcden=1; delay(2); lcden=0;/初始化子函數(shù) void init() sec=0; minute=0; hour=0; week=0; day=1; month=1; year=2008; TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; wela=0; dula=0; lcden=0; write_order(0x38); /設(shè)置顯示模式 write_order(0x0c); /開顯示開光標(biāo),光標(biāo)閃爍 writ
24、e_order(0x01); /顯示清屏 write_order(0x06); /光標(biāo)顯示效果 write_order(0x80); /定義第一行寫入數(shù)據(jù)的地址 for(num=0;num14;num+) write_data(table1num); delay(2); write_order(0x80+0x43); /定義第一行寫入數(shù)據(jù)的地址 for(num=0;num8;num+) write_data(table2num); delay(2); void change(uchar addr,uchar data1) /改變 時(shí) 分 秒 天 月 的子函數(shù) uchar x,y; x=data
25、1/10; y=data1%10; write_order(0x80+addr); delay(1); write_data(0x30+x); delay(1); write_data(0x30+y); delay(1);void yearchange(uchar addr,uint year) /改變年的子函數(shù) uchar x,y,z,w; x=year/1000; y=year%1000/100; z=year%100/10; w=year%10; write_order(0x80+addr); delay(1); write_data(0x30+x); delay(1); write_d
26、ata(0x30+y); delay(1); write_data(0x30+z); delay(1); write_data(0x30+w); delay(1);void weekchange(uchar z) /改變周數(shù)的子函數(shù) switch(z) case 0: write_order(0x80+0x0b); delay(1); write_data(M); delay(1); write_data(o); delay(1); write_data(n); delay(1); break; case 1: write_order(0x80+0x0b); delay(1); write_d
27、ata(T); delay(1); write_data(u); delay(1); write_data(e); delay(1); break; case 2: write_order(0x80+0x0b); delay(1); write_data(W); delay(1); write_data(e); delay(1); write_data(n); delay(1); break; case 3: write_order(0x80+0x0b); delay(1); write_data(T); delay(1); write_data(h); delay(1); write_dat
28、a(u); delay(1); break; case 4: write_order(0x80+0x0b); delay(1); write_data(F); delay(1); write_data(r); delay(1); write_data(i); delay(1); break; case 5: write_order(0x80+0x0b); delay(1); write_data(S); delay(1); write_data(a); delay(1); write_data(t); delay(1); break; case 6: write_order(0x80+0x0b
29、); delay(1); write_data(S); delay(1); write_data(u); delay(1); write_data(n); delay(1); break; default:break; void display() if(t0=20) t0=0; sec+; if(sec=60) sec=0; minute+; if(minute=60) minute=0; hour+; if(hour=24) hour=0; day+; week+; if(week=7) week=0; if(day=31) day=1; month+; if(month=13) mont
30、h=1; year+; yearchange(0,year); change(0x05,month); change(0x08,day); weekchange(week); change(0x43,hour); change(0x46,minute); change(0x49,sec); /鍵盤掃描的子函數(shù),修改時(shí)間void keyscan() uchar snum; if(s0=0) delay(5); if(s0=0) while(!s0);/松手檢測 snum+; if(snum=1) /選定 秒 TR0=0; write_order(0x80+0x40+9); write_order
31、(0x0f); if(snum=2) /選定 分 write_order(0x80+0x40+6); write_order(0x0f); if(snum=3) /選定 時(shí) write_order(0x80+0x40+3); write_order(0x0f); if(snum=4) /選定 星期 write_order(0x80+0x0b); write_order(0x0f); if(snum=5) /選定 天 write_order(0x80+0x08); write_order(0x0f); if(snum=6) /選定 月 write_order(0x80+0x05); write_
32、order(0x0f); if(snum=7) /選定 年 write_order(0x80); write_order(0x0f); if(snum=8) /恢復(fù) 計(jì)時(shí) TR0=1; write_order(0x0c); snum=0; if(snum!=0) /增加 時(shí) 分 秒 天 月 年 if(s1=0) delay(5); if(s1=0) while(!s1); if(snum=1) sec+; if(sec=60) sec=0; change(0x49,sec); write_order(0x80+0x40+9); if(snum=2) minute+; if(minute=60)
33、 minute=0; change(0x46,minute); write_order(0x80+0x40+6); if(snum=3) hour+; if(hour=24) hour=0; change(0x43,hour); write_order(0x80+0x40+3); if(snum=4) week+; if(week=7) week=0; weekchange(week); write_order(0x80+0x0b); if(snum=5) day+; if(day=31) day=1; change(0x08,day); write_order(0x80+0x08); if(
34、snum=6) month+; if(month=13) month=1; change(0x05,month); write_order(0x80+0x05); if(snum=7) year+; yearchange(0,year); write_order(0x80); if(snum!=0) /減少 時(shí) 分 秒 天 月 年 if(s2=0) delay(5); if(s2=0) while(!s2); if(snum=1) sec-; if(sec=-1) sec=59; change(0x49,sec); write_order(0x80+0x40+9); if(snum=2) minute-; if(minute=-1) minute=59; change(0x46,minute); write_order(0x80+0x40+6); if(snum=3
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業(yè)園區(qū)的消防安全管理體系
- 工業(yè)智能產(chǎn)品的設(shè)計(jì)與生產(chǎn)管理
- 工業(yè)機(jī)器人技術(shù)與應(yīng)用發(fā)展趨勢分析
- 工業(yè)機(jī)器人技術(shù)及其在自動(dòng)化生產(chǎn)中的應(yīng)用
- 工業(yè)廢水處理案例分析
- 工業(yè)機(jī)器人發(fā)展現(xiàn)狀及未來趨勢
- 工業(yè)污染防治的智能化手段-智測系統(tǒng)介紹
- 工業(yè)綠色發(fā)展與環(huán)境保護(hù)
- 工業(yè)物聯(lián)網(wǎng)IIoT技術(shù)及其應(yīng)用前景
- 工業(yè)自動(dòng)化控制系統(tǒng)的優(yōu)化策略
- 2025年統(tǒng)編版小學(xué)語文五年級(jí)下冊(cè)期末綜合測試題及參考答案
- 浙江臨安招聘事業(yè)編制筆試真題2024
- 2025年高考數(shù)學(xué)全國一卷試題真題及答案詳解(精校打?。?/a>
- DB62T 4130-2020 公路混凝土構(gòu)件蒸汽養(yǎng)護(hù)技術(shù)規(guī)程
- 洗浴中心保安合同范本
- 行政人事部所需各類表格模板
- 2024北京西城區(qū)六年級(jí)畢業(yè)考英語試題及答案
- SH3508標(biāo)準(zhǔn)培訓(xùn)課件
- 2025-2026學(xué)年建德市數(shù)學(xué)三年級(jí)第一學(xué)期期末試題含解析
- 江蘇省泰州市靖江市2024-2025學(xué)年八年級(jí)下學(xué)期期中地理試題(含答案)
- 2025年吉林長春市軌道交通集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
評(píng)論
0/150
提交評(píng)論