單片機(jī)課程設(shè)計智能電子鐘LCD顯示_第1頁
單片機(jī)課程設(shè)計智能電子鐘LCD顯示_第2頁
單片機(jī)課程設(shè)計智能電子鐘LCD顯示_第3頁
單片機(jī)課程設(shè)計智能電子鐘LCD顯示_第4頁
單片機(jī)課程設(shè)計智能電子鐘LCD顯示_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課 程 設(shè) 計 課程名稱_ 單片機(jī)原理與接口技術(shù) 題目名稱 多功能數(shù)字時鐘 學(xué)生學(xué)院_ 材料與能源學(xué)院 專業(yè)班級_ 電子材料及元器件方向?qū)W 號_ _ 學(xué)生姓名_ _ 指導(dǎo)教師_ 2013 年 1 月 16 日廣東工業(yè)大學(xué)課程設(shè)計任務(wù)書題目名稱多功能數(shù)字時鐘學(xué)生學(xué)院材料與能源學(xué)院專業(yè)班級姓 名學(xué) 號一、課程設(shè)計的內(nèi)容用AT89C52單片機(jī)制作一個時鐘:1.設(shè)計并繪制硬件電路圖;2.布置元件并焊接好元器件;3.編寫程序并將調(diào)試好的程序固化到單片機(jī)中。4.增加溫度測試功能。二、課程設(shè)計的要求與數(shù)據(jù)單片機(jī)采用STC89C52芯片,時鐘芯片采用DALLAS 公司的DS1302,即涓流充電時鐘芯片,它內(nèi)含

2、有一個實時時鐘/日歷和31 字節(jié)靜態(tài)RAM,通過簡單的串行接口與單片機(jī)進(jìn)行通信實時時鐘/日歷電路提供秒分時日日期月年的信息,每月的天數(shù)和閏年的天數(shù)可自動調(diào)整,時鐘操作可通過AM/PM 指示決定采用24 或12 小時格式,DS1302 與單片機(jī)之間能簡單地采用同步串行的方式進(jìn)行通信。同時用選DS18B20 傳感器將采集的室內(nèi)溫度顯示于LCD上。按此要求設(shè)計硬件和軟件以實現(xiàn)這些功能。三、課程設(shè)計應(yīng)完成的工作1. 完成下載線的制作,為程序下載到單片機(jī)芯片中做好準(zhǔn)備;2. 完成軟件、硬件的設(shè)計,并進(jìn)行硬件的焊接制作,并將調(diào)試成功的程序固化到單片機(jī)中,最后進(jìn)行硬件與軟件的調(diào)試;3.撰寫設(shè)計說明書。四、課

3、程設(shè)計進(jìn)程安排序號設(shè)計各階段內(nèi)容地點起止日期1硬件、軟件設(shè)計宿舍1月813日2焊接電路板宿舍1月1415日3軟件、硬件調(diào)試宿舍1月1516日4撰寫說明書宿舍1月17日5答辯大學(xué)城工學(xué)三號館1051月1821日摘要隨著時代的進(jìn)步和發(fā)展,單片機(jī)技術(shù)已經(jīng)普及到我們生活,工作,科研,各個領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù),本文將介紹一種基于單片機(jī)控制的液晶顯示溫度和時鐘設(shè)計,時間可由鍵盤調(diào)整。主要用到的芯片有單片機(jī)STC89C52.液晶1602LCM模塊.時鐘芯片DS1302.溫度傳感器DS18B20等。關(guān)鍵詞:單片機(jī)STC89C52,1602LCM模塊,DS1302.,DS18B20 目錄1 系統(tǒng)需求

4、分析11.1 電子時鐘研究的背景和意義11.2 系統(tǒng)實用功能分析12 設(shè)計要求與方案22.1 設(shè)計要求22.1.1 基本要求2發(fā)揮部分22.2 系統(tǒng)基本方案選擇22.2.1 芯片的選擇22.2.2 顯示模塊選擇方案22.2.3 時鐘信號的選擇方案32.3 電路設(shè)計最終方案決定33 系統(tǒng)的硬件設(shè)計與實現(xiàn)33.1 數(shù)字鐘電路設(shè)計框圖33.2 系統(tǒng)硬件概述43.3 硬件電路結(jié)構(gòu)的設(shè)計43.3.1 單片機(jī)主控制模塊的設(shè)計43.3.2 顯示模塊的設(shè)計43.3.3 LCD原理說明53.3.4 開關(guān)模塊說明64 系統(tǒng)的軟件設(shè)計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 電子時鐘研究的背景和意義20實際末,電子技術(shù)獲得了飛速的發(fā)展。再起推動下現(xiàn)代電子產(chǎn)品幾乎滲透到了社會的哥哥領(lǐng)域,有力的推動和提高的社會生產(chǎn)力的發(fā)展與信息化程度,同時也是現(xiàn)代電子產(chǎn)品性能進(jìn)一步提升,產(chǎn)品的更新?lián)Q代節(jié)奏譜也越來越快。時間對人們來說是那么的寶貴,工作的忙碌性和繁雜容易使人們忘記當(dāng)前的時間。然而遇到重大事情的時候,一旦忘記時間,就會給自己或者是他人造成很大的麻煩。平時我們要求上班準(zhǔn)時,約會或者召開會議必然要提及時間、火車要準(zhǔn)點到達(dá),航班要準(zhǔn)時起飛,工業(yè)生產(chǎn)中,很多環(huán)節(jié)都需要時間來確定工序替換時刻。所以說能隨時準(zhǔn)確的指

6、導(dǎo)時間并利用時間,是我們生活中必不可少的。想知道時間,手表當(dāng)然是很好的選擇,但是在忙碌當(dāng)中,我們還需要一個“助理”時不時的給我們體形式將,所以,計時器最好能夠用有一個定時系統(tǒng),隨時提醒容易忘記時間的人。最早能夠定時、寶石的時鐘屬于機(jī)械式鐘表,但這種時鐘受到機(jī)械結(jié)構(gòu)、動力合體技的限制,在功能性能以及在造價上都沒有辦法與電子時鐘相比。電子時鐘是采用電子電路實現(xiàn)對時、分、秒進(jìn)行數(shù)字顯示的即使裝置,廣泛應(yīng)用月個人家庭、車站、碼頭辦公室等公共場所,成為人們?nèi)粘I罨顒又胁豢缮俚谋仨毱?。由于?shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛使用,是的數(shù)字時鐘的精度遠(yuǎn)遠(yuǎn)查過老師鐘表,鐘表的數(shù)字化跟人們生產(chǎn)生活帶來了極

7、大的方便,而且大大的擴(kuò)展了鐘表原先的時鐘功能。諸如整點提示、定時報警、定時廣播、自動啟閉路燈,定時開關(guān)烘箱、同多動力設(shè)備、甚至各種定時電氣的自動啟動等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實的意義。1.2 系統(tǒng)實用功能分析單片機(jī)模塊中最常見的是數(shù)字時鐘,數(shù)字時鐘是一種用單片機(jī)原理實現(xiàn)時、分、秒計時的裝置,與機(jī)械式時鐘相比具有更高的準(zhǔn)確性和直觀性,且無機(jī)械裝置,具有更更長的使用壽命,因此得到了廣泛的使用。數(shù)字時鐘是采用單片機(jī)原理實現(xiàn)對.年、月、日、周、時、分、秒,數(shù)字顯示及到時提醒的計時裝置,廣泛用于個人家庭,車站, 碼頭辦公室等公共場所,成為人們?nèi)粘I钪?/p>

8、不可少的必需品,由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表, 鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴(kuò)展了鐘表原先的報時功能。諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關(guān)烘箱、通斷動力設(shè)備、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。因此,研究數(shù)字時鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實的意義。2 設(shè)計要求與方案2.1 設(shè)計要求 基本要求1 設(shè)計能支持年月日星期時分秒的時鐘,時鐘要具有時間調(diào)整功能。發(fā)揮部分1 鬧鐘時間精度。2 時鐘功耗小于0.5MA/5V。2.2 系統(tǒng)基本方案選擇本時鐘

9、的設(shè)計具體有兩種方法。一是通過單純的數(shù)字電路來實現(xiàn);二是使用單片機(jī)來控制實現(xiàn)。本次設(shè)計選取了較為簡單的單片機(jī)控制;而選擇這一方法后還要進(jìn)行各個芯片的選擇。以下是我在這次設(shè)計中所用的方案。 芯片的選擇采用AT89C52芯片,其為高性能CMOS 8位單片機(jī),該芯片內(nèi)含有4k bytes的可反復(fù)擦寫的只讀程序存儲器(PEROM)、128 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM)、 32位可編程I/O口線、2個16位定時/計數(shù)器、6個中斷源、可編程串行UART通道及低功耗空閑和掉電模式,其最大的優(yōu)勢就是AT89C52提供了8K字節(jié)可擦寫Flash閃速存儲器空間、8個中斷源、及256*8字節(jié)內(nèi)部存儲器(

10、RAM),解決了我們對可反復(fù)擦寫的Flash閃速存儲器空間大小與中斷源的不夠問題的擔(dān)心。 顯示模塊選擇方案方案一:采用LED數(shù)碼管顯示,顯示較為清楚,但是由于設(shè)計要求時鐘功能比較重要,因此用如用LED進(jìn)行顯示會使得硬件電路較為復(fù)雜,且在軟件實現(xiàn)上也較難,為實現(xiàn)功能帶來了一定的困難。方案二:采用LCD,電路比較簡單,且在軟件設(shè)計上也相對簡單,具有低功耗功能,能夠滿足設(shè)計最優(yōu)的要求。因此,在設(shè)計中我采用的顯示模塊是LCD顯示。 時鐘信號的選擇方案方案一:直接采用單片機(jī)定時計數(shù)器提供的秒信號,使用程序?qū)崿F(xiàn)年、月、日、周、時、分、秒計數(shù)。采用此種方案可減少芯片的使用,節(jié)約成本,實現(xiàn)的時間誤差較小,但程

11、序設(shè)計較為復(fù)雜。方案二:采用DS1302時鐘芯片實現(xiàn)時鐘, DS1302芯片是一種高性能的時鐘芯片,可自動對秒、分、時、日、周、月、年以及閏年補(bǔ)償?shù)哪赀M(jìn)行計數(shù),而且精度高,256位的RAM作為數(shù)據(jù)暫存區(qū),工作電壓2.5V5.5V范圍內(nèi),2.5V時耗電小于300nA。且硬件電路連接較為簡單,程序設(shè)計容易實現(xiàn)。2.3 電路設(shè)計最終方案決定綜上各方案所述,對此次數(shù)字時鐘的方案選定為: 采用AT89C52作為主控制系統(tǒng); 并由其定時計數(shù)器提供時鐘; LCD作為顯示電路,來實現(xiàn)功能。3 系統(tǒng)的硬件設(shè)計與實現(xiàn)3.1 數(shù)字鐘電路設(shè)計框圖LCD動態(tài)掃描顯示模塊AT89C52主控制器開關(guān)調(diào)節(jié)模塊晶振電路模塊復(fù)位

12、電路圖3-1電路設(shè)計框圖3.2 系統(tǒng)硬件概述該電路是由AT89C52單片機(jī)為控制核心,具有在線編程功能,低功耗,能在3V超低壓工作;時鐘電路也由AT89C52單片機(jī)提供,減少芯片的使用,節(jié)約成本,它可以對年、月、日、周、日、時、分、秒進(jìn)行計時,具有閏年補(bǔ)償功能。時間顯示部份采用液晶LM016L(LCD)。3.3 硬件電路結(jié)構(gòu)的設(shè)計 單片機(jī)主控制模塊的設(shè)計此次單片機(jī)數(shù)字時鐘的設(shè)計采用AT89C52為主控制芯片,并由其定時器提供時鐘,利用LCD進(jìn)行時間按顯示。下圖為用Proteus軟件畫的原理圖:圖3-2仿真電路圖3.3.2 顯示模塊的設(shè)計如圖(3-4)所示,該設(shè)計采用液晶顯示裝置即把時鐘信號以及

13、溫度信號同時顯示在液晶顯示器上,不僅結(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原理說明在實際應(yīng)用中,用戶很少直接設(shè)計LCD顯示器驅(qū)動接口,一般是直接使用專用的LCD顯示驅(qū)動器和LCD顯示模塊。其中,LCD顯示模塊LCM(LiquidCrystalDisplayModule)是把LCD顯示器、背景光源、線路板和驅(qū)動集成電路等部件構(gòu)

14、成一個整體,作為一個獨立的部件使用,具有功能較強(qiáng)、易于控制、接口簡單等優(yōu)點,在單片機(jī)系統(tǒng)中應(yīng)用較多。其內(nèi)部結(jié)構(gòu)如圖2-8所示。LCD顯示模塊只留一個接口與外部通信。顯示模塊通過這個接口接收顯示命令和數(shù)據(jù),并按指令和數(shù)據(jù)的要求進(jìn)行顯示。外部電路通過這個接口讀出顯示模塊的工作狀態(tài)和顯示數(shù)據(jù)。LCD顯示模塊一般帶有內(nèi)部顯示RAM和字符發(fā)生器,只要輸入ASCII碼就可以進(jìn)行顯示。LCD顯示模塊按功能顯示可分為:LCD段式顯示模塊、LCD字符型顯示模塊、LCD圖形顯示塊三類。液晶顯示器因其功耗低、重量輕而成為便攜式應(yīng)用中的主流顯示技術(shù)。這里所用的字符型液晶模塊是一種用5x7點陣圖形來顯示字符的液晶顯示器

15、,根據(jù)顯示的容量可以分為1行16個字、2行16個字、2行20個字等等。液晶顯示有點振式和字符式兩種,在這里采用字符式液晶顯示器1602來實現(xiàn)顯示電路的功能。LCD驅(qū)動器LCD顯示器LCD控制器VSSVDDVLRSR/WED0-D7圖3-4 LCD顯示電路由于1602液晶顯示器是本身帶有驅(qū)動模塊的液晶屏,它只有并口線和一些控制線,與單片機(jī)的連接有兩種不同的方法,直接訪問方式和間接訪問方式。直接訪問方式就是微處理器把液晶顯示模塊當(dāng)作存儲器或I/O設(shè)備直接掛在總線上,模塊8位數(shù)據(jù)總線與微處理器的數(shù)據(jù)總線相連,用讀操作或?qū)懖僮餍盘柵c地址信號共同產(chǎn)生控制信號。3.3.4 開關(guān)模塊說明校時電路主要靠鍵盤來

16、控制。鍵盤是一組按鍵的集合。共有四個按鍵,分別是:改變時間、增加、減少、清零。它是嵌入式計算機(jī)系統(tǒng)中不可缺少的外圍電路。是實現(xiàn)人機(jī)對話的紐帶,借助鍵盤可以向計算機(jī)輸入程序、置數(shù)、邏輯操作以及寫入程序和程序檢測等。4 系統(tǒng)的軟件設(shè)計4.1 程序流程框圖開始初始化程序主鍵值檢測根據(jù)主鍵進(jìn)行散轉(zhuǎn)有則主鍵值加一時間秒鐘調(diào)整時間分鐘調(diào)整時間小時調(diào)整時間周調(diào)整時間日調(diào)整時間月調(diào)整時間年調(diào)整顯示周顯示日顯示月顯示年時間顯示時間顯示主界面圖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()/*定義一個LCD顯示函數(shù)uchar num; /*定義一個無符號的字符變量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+)/*對端口0x1c寫入wri

18、te_order(0x1c);delay(200);for(num=0;num5;num+)/*對端口0x18寫入write_order(0x18);delay(200);for(num=0;num4;num+)/*對端口0x18寫入write_order(0x1c);delay(200);for(num=0;num3;num+)/*對端口0x18寫入write_order(0x18);delay(200);for(num=0;num2;num+)/*對端口0x1c寫入write_order(0x1c);delay(200);for(num=0;num1;num+)/*對端口0x18寫入wri

19、te_order(0x18);delay(100);write_order(0x80+0x53);for(num=0;opens1num!=0;num+)/*循環(huán)延時寫入數(shù)據(jù) write_date(opens1num); delay(500);5 系統(tǒng)調(diào)試5.1軟件調(diào)試打開程序調(diào)試軟件keil uVision2,在里面新建一個工程,命名為:數(shù)字時鐘.Uv2。接著新建文件,編寫相應(yīng)程序。編寫好的各個程序進(jìn)行編譯與連接。但若是在該過程中,看見我們編好的程序有錯誤,那么就根據(jù)他相應(yīng)的提示來修改錯誤,直到該程序能夠正確編譯為止。能夠正常編譯的程序說明沒有什么問題了,此時我們在點擊相關(guān)欄目,讓它生成我們

20、在硬件仿真時所需要的.HEX文件。到此步,我們的軟件調(diào)試就完成了。5.2硬件調(diào)試打開Proteus 7 Professional軟件,按照方案所選的電路元件來設(shè)計整體電路,線把個芯片按一定的位置放好,然后對相應(yīng)的對象進(jìn)行連接,連接時需仔細(xì),以免調(diào)試時發(fā)生錯誤。做好之后把編程所生成的。HEX文件加載到AT89C52中,運行仿真軟件,查看運行效果。如果運行出錯那么就根據(jù)他相應(yīng)的提示來修改錯誤,直到仿真成功為止。參考文獻(xiàn)1 邊春遠(yuǎn)、王志強(qiáng),MCS-51單片機(jī)應(yīng)用開發(fā)實用子程序M,人民郵電出版社.2 馬忠梅主編,單片機(jī)的C語言應(yīng)用程序設(shè)計M,北京航空航天大學(xué)出版社.3 李朝青主編,單片機(jī)原理及接口技術(shù)

21、(第3版)M, 北京航空航天大學(xué)出版社.4 譚浩強(qiáng),C語言程序設(shè)計(第四版)M, 清華大學(xué)出版.5 馬忠梅、張凱,單片機(jī)的C語言應(yīng)用程序設(shè)計M,北京航空航天大學(xué)出版社.6 廖先蕓,電子技術(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ù) 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ù),修改時間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) /選定 時 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ù) 計時 TR0=1; write_order(0x0c); snum=0; if(snum!=0) /增加 時 分 秒 天 月 年 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) /減少 時 分 秒 天 月 年 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等.壓縮文件請下載最新的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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論