基于單片機的作息時間控制器系統設計_第1頁
基于單片機的作息時間控制器系統設計_第2頁
基于單片機的作息時間控制器系統設計_第3頁
基于單片機的作息時間控制器系統設計_第4頁
基于單片機的作息時間控制器系統設計_第5頁
已閱讀5頁,還剩63頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、PAGE 重慶三峽學院基于單片機的作息時間控制器系統設計學院(系系):電子子與信息息工程學學院年級專業業:20111級電電信(儀儀器儀表表) 學號:00112211003322學生姓名名:文 靜指導教師師:謝輝教師職稱稱: 教 授授成績:制作日期期20114年10月29日目錄TOC o 1-3 h z u HYPERLINK l _Toc402580817 摘要 PAGEREF _Toc402580817 h 11 HYPERLINK l _Toc402580818 關鍵詞 PAGEREF _Toc402580818 h 1 HYPERLINK l _Toc402580819 第一章引言 PA

2、GEREF _Toc402580819 h 2 HYPERLINK l _Toc402580820 1.1課題題背景 PAGEREF _Toc402580820 h 2 HYPERLINK l _Toc402580821 1.1.1 選題背背景 PAGEREF _Toc402580821 h 2 HYPERLINK l _Toc402580822 第二章設計計方案論論證 PAGEREF _Toc402580822 h 2 HYPERLINK l _Toc402580823 2.1設計要要求 PAGEREF _Toc402580823 h 2 HYPERLINK l _Toc402580824

3、2.2設計方方案選擇擇 PAGEREF _Toc402580824 h 3 HYPERLINK l _Toc402580825 2.2.1 方方案一:數字電電路設計計的作息息時間控控制器系系統 PAGEREF _Toc402580825 h 3 HYPERLINK l _Toc402580826 2.2.2 方方案二:基于單單片機的的作息時時間控制制器系統統設計 PAGEREF _Toc402580826 h 3 HYPERLINK l _Toc402580827 2.2.3 方方案確定定 PAGEREF _Toc402580827 h 3 HYPERLINK l _Toc402580828

4、2.3基本方方案 PAGEREF _Toc402580828 h 4 HYPERLINK l _Toc402580829 2.3.1 設設計課題題簡要概概述 PAGEREF _Toc402580829 h 4 HYPERLINK l _Toc402580830 2.3.2 系系統軟硬硬件劃分分 PAGEREF _Toc402580830 h 4 HYPERLINK l _Toc402580831 2.3.3 單單片機選選型 PAGEREF _Toc402580831 h 4 HYPERLINK l _Toc402580832 2.4總體設設計框圖圖 PAGEREF _Toc402580832

5、h 4 HYPERLINK l _Toc402580833 第三章硬件件電路設設計 PAGEREF _Toc402580833 h 5 HYPERLINK l _Toc402580834 3.1基本原原理概述述 PAGEREF _Toc402580834 h 5 HYPERLINK l _Toc402580835 3.2主要原件件參數及及功能簡簡介 PAGEREF _Toc402580835 h 5 HYPERLINK l _Toc402580836 3.2.1 主主控器SSTC889C552 PAGEREF _Toc402580836 h 5 HYPERLINK l _Toc40258083

6、7 3.2.2 DDS13302 PAGEREF _Toc402580837 h 6 HYPERLINK l _Toc402580838 3.3單元電電路的設設計 PAGEREF _Toc402580838 h 7 HYPERLINK l _Toc402580839 3.3.1顯示示電路設設計 PAGEREF _Toc402580839 h 7 HYPERLINK l _Toc402580840 3.3.2 鍵鍵盤接口口電路設設計 PAGEREF _Toc402580840 h 8 HYPERLINK l _Toc402580841 3.3.3 響響鈴電路路設計 PAGEREF _Toc402

7、580841 h 8 HYPERLINK l _Toc402580842 3.4總體運運行進程程 PAGEREF _Toc402580842 h 9 HYPERLINK l _Toc402580843 第四章軟件件電路設設計及流流程圖 PAGEREF _Toc402580843 h 9 HYPERLINK l _Toc402580844 4.1基本原原理概述述 PAGEREF _Toc402580844 h 9 HYPERLINK l _Toc402580845 4.1.1 中中斷服務務程序設設計 PAGEREF _Toc402580845 h 10 HYPERLINK l _Toc40258

8、0846 4.1.2 顯顯示程序序設計和和按鍵判判斷與按按鍵處理理程序設設計 PAGEREF _Toc402580846 h 10 HYPERLINK l _Toc402580847 4.2流程圖圖 PAGEREF _Toc402580847 h 11 HYPERLINK l _Toc402580848 4.2.1 系系統主程程序流程程圖 PAGEREF _Toc402580848 h 11 HYPERLINK l _Toc402580849 4.2.2 系系統定時時中斷流流程圖 PAGEREF _Toc402580849 h 12 HYPERLINK l _Toc402580850 第五章系

9、統程程序設計計 PAGEREF _Toc402580850 h 13 HYPERLINK l _Toc402580851 5.1程序設設計概要要 PAGEREF _Toc402580851 h 13 HYPERLINK l _Toc402580852 5.2源程序序清單 PAGEREF _Toc402580852 h 13 HYPERLINK l _Toc402580853 第六章作息息時間器器硬件原原理圖 PAGEREF _Toc402580853 h 60 HYPERLINK l _Toc402580854 第七章實訓訓總結 PAGEREF _Toc402580854 h 61 HYPER

10、LINK l _Toc402580855 參考文獻獻 PAGEREF _Toc402580855 h 62 HYPERLINK l _Toc402580856 附錄 PAGEREF _Toc402580856 h 663 HYPERLINK l _Toc402580857 附錄1原理電電路圖 PAGEREF _Toc402580857 h 63 HYPERLINK l _Toc402580858 附錄2元元件清單單 PAGEREF _Toc402580858 h 64 HYPERLINK l _Toc402580859 附錄3實物圖圖 PAGEREF _Toc402580859 h 64基于單

11、片片機的作作息時間間控制器器系統設設計重慶三峽峽學院電電子與信信息工程程學院文文 靜靜摘要基于單片片機的作作息時間間器系統統,是以以一片88位單片片機為核核心的實實時時鐘鐘及控制制系統。我們知知道單片片機的外外接石英英晶體振振蕩器能能提供穩穩定、準準確的基基準頻率率,并經經12分分頻后向向內部定定時器提提供實時時基準頻頻率信號號,設定定定時器器工作在在中斷方方式下,連續對對此頻率率信號進進行分頻頻計數,便可得得秒信號號,再對對秒信號號進行計計數便可可得到分分、時等等實時時時鐘信息息。如果果石英晶晶體振蕩蕩器的頻頻率信號號為6MMHZ,設定定定時器定定時工作作方式11下,定定時器為為3CBBOH

12、,則定時時器每1100mms產生生1次中中斷,在在定時器器的中斷斷定時處處理程序序中,每每10次次中斷,則向秒秒計數器器加1,秒計數數器計數數到600則向分分計數器器進位(并建立立分進位位標志),分計計數器計計數到660,則則向時計計數器進進位,如如此周而而復始的的連續計計數,便便可獲得得時、分分、秒的的信號,建立一一個實時時時鐘。接下來來便可以以進行定定時處理理和打鈴鈴輸出,當主程程序檢測測到有分分進位標標志時,便開始始比較當當前時間間(小時時與分、存放在在RAMM中)與與信息時時間表上上的作息息時間(小時與與分,存存放在RROM)是否相相同,如如有相同同者,則則進行報報時處理理并控制制打鈴

13、,如有不不相同則則返回主主程序,如此便便實現了了報時控控制的要要求。關鍵詞單片機、時間設設置電路路、計時時電路、顯示電電路、定定時打鈴鈴控制電電路引 言言1.1 課題題背景1.1.1 選題背背景隨著科技技的不斷斷發展,各種芯芯片都得得到了很很好的發發展,880C551 同同樣如此此,從開開始的無無人問津津到現在在的隨處處可見,紅綠燈燈,記分分牌,電電子秒表表,遙控控器,電電飯煲,電視等等只要是是電子產產品,都都會和芯芯片有關關,其實實芯片并并不是什什么神秘秘的高科科技,它它只是里里面裝了了一些己己編好的的程序而而己而而這里要要介紹的的是用匯匯編語言言來編程程的一個個系統,它能夠夠讓一個個學校或

14、或企業集集團實現現打鈴自自動化,總之,一個需需要時間間系統的的機構實實現自動動提醒功功能。當今時代代是一個個新技術術層出不不窮的時時代,在在電子領領域尤其其是自動動化智能能控制領領域,傳傳統的分分立元件件或數字字邏輯電電路構成成的控制制系統,正以前前所未有有的速度度被單片片機智能能控制系系統所取取代。單單片機具具有體積積小、功功能強、成本低低、應用用面廣等等優點,可以說說,智能能控制與與自動控控制的核核心就是是單片機機。目前前,一個個學習與與應用單單片機的的高潮正正在工廠廠、學校校及企事事業單位位大規模模地興起起。而本本文是用用STCC89CC52單單片機設設計的一一個自動動打鈴系系統。第二章

15、 設計計方案論論證2.1 設計要要求它可以作作為時鐘鐘電路來來顯示時時間,進進行設置置,定時時打鈴。按照自自頂向下下設計方方法劃分分自動打打鈴系統統的功能能。可分分為:時時間設置置電路,計時電電路,顯顯示電路路和定時時打鈴控控制電路路等。以江蘇信信息職業業技術學學院的打打鈴情況況設計內容時間起床6:300早自習7:300-8:10第一節課課8:200-9:00第二節課課9:100-9:50第三節課課10:000-110:440第四節課課10:550-111:330第五節課課13:330-114:110第六節課課14:220-115:000第七節課課15:220-116:000第八節課課16:1

16、10-116:550晚自習19:000-220:330熄燈22:3302.2 設計方方案選擇擇2.2.1方方案一:數字電電路設計計的作息息時間控控制器系系統利用函數數信號發發生器來來進行脈脈沖信號號輸出,利用7741660N來來設置十十進制和和六進制制的進位位輸出。利用數數碼顯示示器來顯顯示時間間,利用用或門、與門、非門、與非門門、等電電路元件件進行組組合實現現打鈴的的控制。2.2.2方方案二:基于單單片機的的作息時時間控制制器系統統設計單片機內內部存儲儲器設三三個字節節分別存存放時鐘鐘的時、分、秒秒信息。利用定定時器與與軟件結結合實現現1秒定定時中斷斷,沒產產生一次次中斷,存儲器器內相應應的

17、秒值值加1;若秒值值達到660,則則將其清清零,并并將相應應的分字字節值加加1;若若分值達達到600,則清清零分字字節,并并將時字字節值加加1;若若時值達達到244,則將將時字節節清零。建立完完一個實實時時鐘鐘后接下下來進行行定時處處理和打打鈴輸出出,當主主程序檢檢測到有有分進位位標志時時,便開開始比較較當前時時間與信信息時間間表上的的作息時時間是否否相同,相同者者,則進進行報時時處理并并控制打打鈴,不不相同則則返回主主程序。2.2.3方方案確定定方案一的的設計只只能事先先設定打打鈴時間間不能完完全自動動打鈴,且在修修改打鈴鈴時間上上存在一一定的困困難。而而方案二二中的設設計能完完全實現現自動

18、化化,詮釋釋了我們們這次畢畢業設計計的主題題。并在在修改打打鈴時間間上有了了很大的的方便,只需修修改一部部分程序序便能實實現不同同的需要要。因此我選選擇方案案二進行行設計。2.3 基本方方案2.3.1設計課課題簡要要概述作息時間間控制器器系統裝裝置用于于工廠、學校等等地的時時間控制制,本設設計是按按照學校校作息時時問設定定的,模模擬了電電了鐘顯顯示時、分、秒秒。還根根據學校校的作息息時間按按時打鈴鈴,本系系統有44 個按按鈕,分分別用來來調時、調分、秒和強強制打鈴鈴及強制制關鈴,以保證證始終與與標準時時間相吻吻合。首先設計計出本系系統的硬硬件基本本框圖,根據框框圖設計計電氣原原理圖,簡要概概述

19、基本本原理,按照設設計技術術參數設設計出各各部分程程序。2.3.2系統軟軟硬件劃劃分由于需要要最小系系統設計計,因此此,極大大地介于于系統的的硬件成成本,所所有能用用軟件實實現的功功能都用用軟件完完成,如如按鍵的的去抖,采用延延時,顯顯示部分分用動態態顯示等等,這樣樣硬件部部分的設設計可以以采用單單片機最最小系統統,所謂謂最小系系統時僅僅有程序序存儲器器和時鐘鐘及復位位電路的的單片機機系統。2.3.3單片機機選型根據課題題的具體體內容,任務要要求,計計時、校校時、定定時、鍵鍵盤顯示示等功能能,經多多方面考考慮,所所選系統統選項用用與MMSC-51單單片機完完全兼容容的STTC899C522 低

20、功功耗單片片機。2.4總體設計框框圖圖一 整整體框圖圖第三章 硬件件電路設設計3.1基本原原理概述述本系統主主要由主主控模塊塊,時鐘鐘模塊,顯示模模塊,鍵鍵盤接口口模塊等等4 部部分構成成。通過過內部定定時產生生中斷,從而使使驅動電電鈴打鈴鈴。設定定51 單片機機工作在在定時器器工作方方式1 ,每1100mms產生生一次中中斷,利利用軟件件將基準準1000ms 單元進進行累加加,當定定時器產產生100 次中中斷就產產生lSS 信號號,這是是秒單元元加1 。同理理,對分分單元和和時單元元計數從從而產生生秒,分分,時的的值,通通過六位位七段顯顯示器進進行顯示示。由于于動態顯顯示法需需要數據據所存等

21、等硬件,接口較較復雜,考慮顯顯示只有有六位,且系統統沒有其其他浮躁躁的處理理程序,所有采采用動態態掃描LLED的顯示示,但為了了能更好好的區分分,年月月日,時時分秒,在時間間間隔中中間加入入間隔符符號,因因此采用用8位數數碼管。本系統采采用四個個按鍵,當時鐘鐘時間和和設置時時間一直直時,驅驅動程序序動作,進行打打鈴,每每次打鈴鈴30SS3.2主要原件件參數及及功能簡簡介3.2.1主控器器STCC89CC52STC889C552公公司生產產的STTC899C522 單片片機用高高性能的的靜態889C551 設設計,由由先進工工藝制造造,并帶帶有非易易失性FFLASSH 程程序存儲儲器,它它是 種

22、高性性能、低低功耗的的8 位位CMOOS 微微處理芯芯片,市市場應用用最多,主要特特點有:有4K 的FLLASHH 程序序存儲器器256 字節內內部RAAM電源控制制模式:時鐘可可停止和和恢復,空閑模模式,掉掉電模式式6個中斷斷源4個中斷斷優先級級4個8位位I/OO口全雙工增增強型UUARTT2個166位定時時、計數數器圖二 STCC89CC523.2.2DDS133021)性能能特性DS13302與與單片機機之間能能簡單地地采用同同步串行行的方式式進行通通信,僅僅需用到到三個口口線:11.RSSE復位位,2.I/OO數據線線,3.SCLLK 串串行時鐘鐘。時鐘鐘/RAAM 的的讀/寫寫數據以

23、以一個字字節或多多達311 個字字節的字字符組方方式通信信。DSS13002 工工作時功功耗很低低,保持持數據和和時鐘信信息時功功率小十十1mWW 。提提供秒分分時日日日期。月月年的信信息,每每月的天天數和閏閏年的天天數可自自動調整整時鐘,操作可可通過AAM/PPM 指指示決定定采用224 或或12 小時格格式。2)管腳腳描述XI XXZ 332.7768KKHz 晶振管管腳GND 接地RST 復位腳腳I/O 數據輸輸入/輸輸出引腳腳SCLKK 串行行時鐘Vcc11,Vccc2 電源供供電管腳腳DS13302 串行時時鐘芯片片8 腳腳 DIIPDS13302SS 串行行時鐘芯芯片8 腳 SSO

24、ICC 2000miilDS13302ZZ 串行行時鐘芯芯片8 腳 SSOICC 1550miil圖三 DS1130223.3 單元電電路的設設計3.3.1顯示示電路設設計顯示部分分采用普普通的SSTC889C552顯示示圖四 顯示電電路顯示部分分采用22塊4位位數碼管管,即88位共陽陽數碼顯顯示,由由STCC89CC52芯芯片對該該數碼管管傳送數數據。而而在P22口接入入8個三三極管對對數碼管管的位控控進行控控制。該該顯示采采用的是是動態顯顯示,段段控和位位控都經經過反相相器,顯顯示的字字形代碼碼是共陽陽的顯示示代碼,位控信信號輸出出時是高高電平有有效,在在校時時時,采用用的是點點亮小數數點

25、信位位調節器器標志,哪位小小數點亮亮表示調調整的是是該位的值。3.3.2鍵盤接接口電路路設計由于鍵盤盤只有四四個,采采用獨立立式按鈕鈕,用查查詢法完完成讀健健功能。圖五 按鍵電電路各鍵功功能已寫寫入程序序,在使使用按鍵鍵的時候候,根據據有無按按鍵否,一一進進行判斷斷,軟件件中采用用if嵌嵌套模式式,因此此使各按按鍵的功功能具有有多樣性性和課重重復使用用性。因因本次實實訓的課課題,為為實現,年月日日,時分分秒等時時間的調調試,系系統使用用5只按鍵鍵,4 只按按鍵用來來調整時時間,且且其中一一只在不不設置時時間的情情況下可可為強制制打鈴,另一只只單獨連連接,可可實行復復位和強強制結束束打鈴。通過選

26、選擇鍵選選擇調整整位,選選中位閃閃爍,按按增加鍵鍵為選中中位加11,按減減少鍵為為選中位位減1。按強制制打鈴按按鈕是實實現強制制打鈴或或者強制制關閉打打鈴。3.3.3 響鈴鈴電路設設計響鈴電路路用到了了蜂鳴器器、三極極管、11K電阻阻。蜂鳴鳴器兩端端分別接接地和三三極管。三極管管一段電電源另一一端與電電阻相連連并接入入STCC89CC52的的P3.7接口口。圖六 響鈴電電路3.4 總體運運行進程程首先實現現24小小時制電電子鐘,在8位位數碼管管顯示,顯示為為時分秒秒,實現現的格式式為:223-559-559。到到達預定定時間啟啟動蜂鳴鳴器開始始打鈴,打鈴的的方式分分為起床床、熄燈燈和上下下課鈴

27、兩兩種。系系統使用用5只按鍵鍵,4 只按按鍵用來來調整時時間,且且其中一一只在不不設置時時間的情情況下可可為強制制打鈴,另一只只單獨連連接,可可實行復復位和強強制結束束打鈴。通過選選擇鍵選選擇調整整位,選選中位閃閃爍,按按增加鍵鍵為選中中位加11,按減減少鍵為為選中位位減1。按強制制打鈴按按鈕是實實現強制制打鈴或或者強制制關閉打打鈴。第四章 軟件件電路設設計及流流程圖4.1基本原原理概述述主程序首首先是初初始化部部分,主主要是計計時單元元清零,中斷初初始化,堆棧指指針初始始化,啟啟動定時時器工作作,然后后是調用用顯示子子程序。主程序序的起始始存儲地地址是000000H單元元,但由由于本系系統用

28、了了定時器器T0的的中斷,中斷服服務程序序入口地地址為0000BBH,因因此從000000H單元元起存放放一條短短調轉指指令AJJMP,使真正正的主程程序從003000H單元元開始存存放。4.1.1中斷服服務程序序設計單片機內內部的定定時/計計數器TT0定時時1000ms,即0.1s,10次次中斷即即為1秒秒,600秒為11分,660分為為1小時時,244小時為為一天,如此循循環,從從而實現現計時功功能。編寫中斷斷服務程程序關鍵鍵要注意意:1.現場保保護,本本系統中中是累加加器A和和程序狀狀態字PPSW值值的保護護。2.計時處處理時采采用的確確十進制制,因此此時,分分,秒單單元加11后要進進行

29、十進進制調整整,即要要執行DDAA指指令,還還要注意意的是時時計到224就回回零,分分和秒計計到600就回零零。3.中斷返返回前的的現場恢恢復。4.1.2顯示程程序設計計和按鍵鍵判斷與與按鍵處處理程序序設計顯示采用用的是動動態顯示示,段控控和位控控都經過過反相器器,顯示示的字形形代碼是是共陽的的顯示代代碼,位位控信號號輸出時時是高電電平有效效,在校校時時,采用的的是點亮亮小數點點信位調調節器標標志,哪哪位小數數點亮表表示調整整的是該該位的值。顯示子程程序的第第一部分分是拆字字,顯示示緩沖區區是2FFH22AH;第二部部分是查查字型碼碼,輸出出段控和和位控信信號,由由于采用用的是動動態顯示示,所

30、以以每出輸輸出一位位的段控控和位控控信號要要延時一一定的時時間,使使LEDD顯示器器顯示的的字符時時穩定的的。按鍵判斷斷程序有有編寫時時應注意意按鍵的的去抖動動,該系系統采用用的是延延時去抖抖動的方方法,延延時是通通過調用用子程序序來實現現的,每每個按鍵鍵按下后后都要等等待釋放放后再返返回。按鍵處理理程序中中的按鍵鍵式校時時的,所所以進入入按鍵處處理程序序后就關關閉定時時中斷,對于動動能鍵注注意設置置顯示標標志。4.2 流程圖圖4.2.1系系統主程程序流程程圖圖7 主主程序流流程圖4.2.2系系統定時時中斷流流程圖圖8 中中斷流程程圖第五章 系統程程序設計計5.1 程序設設計概要要程序名稱稱:

31、基于于單片機機的作息息時間器器系統設設計說明:實實現244 小時時制電子子鐘,88 位數數碼管顯顯示,顯顯示時分分秒顯示示格式:23-59-59(小時十十位如果果為0則不顯顯示)。到預定時時問啟動動蜂鳴器器模擬打打鈴,蜂蜂鳴器BBEEPP: PP3.77。打鈴方式式分起床床、熄幻幻鈴和上上、下課課鈴兩種種。系統使用用5只按鍵鍵,4只按鍵鍵用來調調整時間間,且其其中一只只在不設設置時間間的情況況下可為為強制打打鈴,另另一只單單獨連接接,可實實行復位位和強制制結束打打鈴。鍵SETT_KFFY: PI.0;通通過選擇擇鍵選擇擇要調的的時間,選中位位閃爍。可調整整年月日日,時分分秒,周周期和預預設鬧鐘

32、鐘時間。鍵SETT_KFFY:PPI.11;通過過選擇鍵鍵選擇調調整位,選中位位閃爍,且在11鍵選擇擇到設置置鬧鐘時時間時可可跳出預預設鬧鐘鐘時間。增加鍵AADD_KEYY:PI.2;按一一次使選選中位加加1。減少鍵DDEC_KEYY: PPI.33;按一一次使選選中位位位。1,且具具有強制制打鈴效效果5.2源程序序清單#inccludde /調調用單片片機頭文文件#deffinee uccharr unnsiggnedd chhar /無符號號字符型型 宏定定義變量范范圍02555#deffinee uiint unnsiggnedd innt /無符號號整型 宏定義義變量范范圍065553

33、5#inccludde eeppromm52.h/數碼碼管段選選定義00 11 2 3 44 566 788 9uchaar ccodee smmg_ddu=00 xa00,0 xxbb,0 x662,00 x2aa,0 xx39,0 x22c,00 x244,0 xxBa,0 x220,00 x288, 0 xx30,0 x225,00 xe44,0 xx23,0 x664,00 x744,0 xxff; /斷碼/數碼碼管位選選定義uchaar ccodee smmg_wwe=00 xfee,0 xxfd,0 xffb,00 xf77,0 xxef,0 xddf,00 xbff,0 xx7f

34、;/數碼管管位選定定義uchaar ddis_smgg8 = 0 xxa0,0 xbbb,00 x622,0 xx2a,0 x339,00 x2cc,0 xx24,0 xBBa;uchaar ssmg_i = 8; /顯示數數碼管的的個位數數bit flaag_2200mms ;bit flaag_1100mms ;bit flaag_5500mms; /5000ms標標志位sbitt beeep = PP377;/蜂鳴鳴器定義義bit flaag_bbeepp_enn;uintt cllockk_vaaluee; /用用作鬧鐘鐘用的uchaar fflagg_s = 00 x033;/控制數

35、數碼管閃閃爍的變變量uchaar fflagg_nll; /農農歷 陽陽歷顯示示標志位位uchaar mmenuu_1,mennu_22,meenu_i;sbitt daat0 = BB0;sbitt daat1 = BB1;sbitt daat2 = BB2;sbitt daat3 = BB3;sbitt daat4 = BB4;sbitt daat5 = BB5;sbitt daat6 = BB6;sbitt daat7 = BB7;uchaar ddaliing_gesshu=0;uchaar ffen11,shhi1;/第11個打鈴鈴的時間間 起床床uchaar ffen22,shhi

36、2;/第22個打鈴鈴的時間間 早自自習uchaar ffen33,shhi3;/第33個打鈴鈴的時間間 早自自習下uchaar ffen44,shhi4;/第44個打鈴鈴的時間間 第一一節上課課 uchaar ffen55,shhi5;/第55個打鈴鈴的時間間 第一一節下課課 uchaar ffen66,shhi6;/第66個打鈴鈴的時間間 第二二節上課課 uchaar ffen77,shhi7;/第77個打鈴鈴的時間間 第二二節下課課 uchaar ffen88,shhi8;/第88個打鈴鈴的時間間 第三三節上課課 uchaar ffen99,shhi9;/第99個打鈴鈴的時間間 第三三節下

37、課課 uchaar ffen110,sshi110;/第110個打打鈴的時時間 第第四節上上課 uchaar ffen111,sshi111;/第111個打打鈴的時時間 第第四節下下課 uchaar ffen112,sshi112;/第112個打打鈴的時時間 第第五節上上課 uchaar ffen113,sshi113;/第113個打打鈴的時時間 第第五節下下課uchaar ffen114,sshi114;/第114個打打鈴的時時間 第第六節上上課uchaar ffen115,sshi115;/第115個打打鈴的時時間 第第六節下下課uchaar ffen116,sshi116;/第116個打

38、打鈴的時時間 第第七節上上課uchaar ffen117,sshi117;/第117個打打鈴的時時間 第第七節下下課uchaar ffen118,sshi118;/第118個打打鈴的時時間 第第八節上上課uchaar ffen119,sshi119;/第119個打打鈴的時時間 第第八節下下課uchaar ffen220,sshi220;/第220個打打鈴的時時間 晚晚自習上上課uchaar ffen221,sshi221;/第221個打打鈴的時時間 晚晚自習下下課uchaar ffen222,sshi222;/第222個打打鈴的時時間 熄熄燈uchaar ffen223,sshi223;/第2

39、23個打打鈴的時時間 uchaar ffen224,sshi224;/第224個打打鈴的時時間 uchaar ffen225,sshi225;/第225個打打鈴的時時間 uchaar ffen226,sshi226;/第226個打打鈴的時時間 #inccludde ds113022.h/*把數據據保存到到單片機機內部eeeprrom中中*/voidd wrritee_eeeproom()SecctorrEraase(0 x220000);bytte_wwritte(00 x20000, feen1); /第第1個打打鈴的時時間bytte_wwritte(00 x20001, shhi1);by

40、tte_wwritte(00 x20002, feen2); /第第2個打打鈴的時時間bytte_wwritte(00 x20003, shhi2);bytte_wwritte(00 x20004, feen3); /第第3個打打鈴的時時間bytte_wwritte(00 x20005, shhi3);bytte_wwritte(00 x20006, feen4); /第第4個打打鈴的時時間bytte_wwritte(00 x20007, shhi4);bytte_wwritte(00 x20008, feen5); /第第5個打打鈴的時時間bytte_wwritte(00 x20009, s

41、hhi5);bytte_wwritte(00 x20010, feen6); /第第6個打打鈴的時時間bytte_wwritte(00 x20011, shhi6);bytte_wwritte(00 x20012, feen7); /第第7個打打鈴的時時間bytte_wwritte(00 x20013, shhi7);bytte_wwritte(00 x20014, feen8); /第第8個打打鈴的時時間bytte_wwritte(00 x20015, shhi8);bytte_wwritte(00 x20016, feen9); /第第9個打打鈴的時時間bytte_wwritte(00 x

42、20017, shhi9);bytte_wwritte(00 x20018, feen100); /第第10個個打鈴的的時間bytte_wwritte(00 x20019, shhi100);bytte_wwritte(00 x20020, feen111); /第第11個個打鈴的的時間bytte_wwritte(00 x20021, shhi111);bytte_wwritte(00 x20022, feen122); /第第12個個打鈴的的時間bytte_wwritte(00 x20023, shhi122);bytte_wwritte(00 x20024, feen133); /第第13

43、個個打鈴的的時間bytte_wwritte(00 x20025, shhi133);bytte_wwritte(00 x20026, feen144); /第第14個個打鈴的的時間bytte_wwritte(00 x20027, shhi144);bytte_wwritte(00 x20028, feen155); /第第15個個打鈴的的時間bytte_wwritte(00 x20029, shhi155);bytte_wwritte(00 x20030, feen166); /第第16個個打鈴的的時間bytte_wwritte(00 x20031, shhi166);bytte_wwritt

44、e(00 x20032, feen177); /第第17個個打鈴的的時間bytte_wwritte(00 x20033, shhi177);bytte_wwritte(00 x20034, feen188); /第第18個個打鈴的的時間bytte_wwritte(00 x20035, shhi188);bytte_wwritte(00 x20036, feen199); /第第19個個打鈴的的時間bytte_wwritte(00 x20037, shhi199);bytte_wwritte(00 x20038, feen200);/第220個打打鈴的時時間bytte_wwritte(00 x2

45、0039, shhi200);bytte_wwritte(00 x20040, feen211); /第第21個個打鈴的的時間bytte_wwritte(00 x20041, shhi211);bytte_wwritte(00 x20042, feen222); /第第22個個打鈴的的時間bytte_wwritte(00 x20043, shhi222);bytte_wwritte(00 x20044, feen233); /第第23個個打鈴的的時間bytte_wwritte(00 x20045, shhi233);bytte_wwritte(00 x20046, feen244); /第第2

46、4個個打鈴的的時間bytte_wwritte(00 x20047, shhi244);bytte_wwritte(00 x20048, feen255); /第第25個個打鈴的的時間bytte_wwritte(00 x20049, shhi255);bytte_wwritte(00 x20050, feen266); /第第26個個打鈴的的時間bytte_wwritte(00 x20051, shhi266);bytte_wwritte(00 x20058, a_a);/*把數據據從單片片機內部部eeppromm中讀出出來*/voidd reead_eeppromm()fenn1 = bbyt

47、ee_reead(0 x220000);/第11個打鈴鈴的時間間shii1 = bbytee_reead(0 x220011);fenn2 = bbytee_reead(0 x220022);/第22個打鈴鈴的時間間shii2 = bbytee_reead(0 x220033);fenn3 = bbytee_reead(0 x220044);/第33個打鈴鈴的時間間shii3 = bbytee_reead(0 x220055);fenn4 = bbytee_reead(0 x220066);/第44個打鈴鈴的時間間shii4 = bbytee_reead(0 x220077);fenn5 =

48、bbytee_reead(0 x220088);/第55個打鈴鈴的時間間shii5 = bbytee_reead(0 x220099);fenn6 = bbytee_reead(0 x220100);/第66個打鈴鈴的時間間shii6 = bbytee_reead(0 x220111);fenn7 = bbytee_reead(0 x220122);/第77個打鈴鈴的時間間shii7 = bbytee_reead(0 x220133);fenn8 = bbytee_reead(0 x220144);/第88個打鈴鈴的時間間shii8 = bbytee_reead(0 x220155);fenn

49、9 = bbytee_reead(0 x220166);/第99個打鈴鈴的時間間shii9 = bbytee_reead(0 x220177);fenn10 = bytte_rreadd(0 xx20118);/第110個打打鈴的時時間shii10 = bytte_rreadd(0 xx20119);fenn11 = bytte_rreadd(0 xx20220);/第111個打打鈴的時時間shii11 = bytte_rreadd(0 xx20221);fenn12 = bytte_rreadd(0 xx20222);/第112個打打鈴的時時間shii12 = bytte_rreadd(0

50、xx20223);fenn13 = bytte_rreadd(0 xx20224);/第113個打打鈴的時時間shii13 = bytte_rreadd(0 xx20225);fenn14 = bytte_rreadd(0 xx20226);/第114個打打鈴的時時間shii14 = bytte_rreadd(0 xx20227);fenn15 = bytte_rreadd(0 xx20228);/第115個打打鈴的時時間shii15 = bytte_rreadd(0 xx20229);fenn16 = bytte_rreadd(0 xx20330);/第116個打打鈴的時時間shii16 =

51、 bytte_rreadd(0 xx20331);fenn17 = bytte_rreadd(0 xx20332);/第117個打打鈴的時時間shii17 = bytte_rreadd(0 xx20333);fenn18 = bytte_rreadd(0 xx20334);/第118個打打鈴的時時間shii18 = bytte_rreadd(0 xx20335);fenn19 = bytte_rreadd(0 xx20336);/第119個打打鈴的時時間shii19 = bytte_rreadd(0 xx20337);fenn20 = bytte_rreadd(0 xx20338);/第220

52、個打打鈴的時時間shii20 = bytte_rreadd(0 xx20339);fenn21 = bytte_rreadd(0 xx20440);/第221個打打鈴的時時間shii21 = bytte_rreadd(0 xx20441);fenn22 = bytte_rreadd(0 xx20442);/第222個打打鈴的時時間shii22 = bytte_rreadd(0 xx20443);fenn23 = bytte_rreadd(0 xx20444);/第223個打打鈴的時時間shii23 = bytte_rreadd(0 xx20445);fenn24 = bytte_rreadd(

53、0 xx20446);/第224個打打鈴的時時間shii24 = bytte_rreadd(0 xx20447);fenn25 =bytte_rreadd(0 xx20448);/第225個打打鈴的時時間shii25 = bytte_rreadd(0 xx20449);fenn26 = bytte_rreadd(0 xx20550);/第226個打打鈴的時時間shii26 = bytte_rreadd(0 xx20551);a_aa = bbytee_reead(0 x220588);/*開開機自檢檢eeppromm初始化化*/voidd innit_eeppromm()reaad_eeepr

54、rom();/先先讀if(a_aa != 255)/新新的單片片機初始始單片機機內問eeeprroma_a = 255;wrritee_eeeproom(); /保保存數據據/控制制數碼管管閃爍的的函數voidd smmg_ss(uccharr daat)B = daat;if(datt0 = 11)diis_ssmg0 = 00 xfff;if(datt1 = 11)diis_ssmg1 = 00 xfff;if(datt2 = 11)diis_ssmg2 = 00 xfff;if(datt3 = 11)diis_ssmg3 = 00 xfff;if(datt4 = 11)diis_ssmg

55、4 = 00 xfff;if(datt5 = 11)diis_ssmg5 = 00 xfff;if(datt6 = 11)diis_ssmg6 = 00 xfff;if(datt7 = 11)diis_ssmg7 = 00 xfff;/*延延時函數數*/voidd deelayy_uiint(uinnt qq)whiile(q);/*11ms延延時函數數*/voidd deelayy_1mms(uuintt q)uinnt ii,j;forr(i=0;iiq;i+)foor(jj=0;j= 44)iif(mmenuu_1 % 22 = 0)/ 設置置分 flaag_ss = 0 x003;ee

56、lsee/ 設置置時 flaag_ss = 0 x118;iff(meenu_1 555) /回到到正常顯顯示mmenuu_1 = 00;fflagg_s = 00;if(keyy_caan = 22)/選選擇鍵fllag_2000ms = 11;iff(mmenuu_1 = 1) | (meenu_1 = 22)/設置置時間mmenuu_2 +;iif(mmenuu_2 33)mennu_22 = 1;iif(mmenuu_2 = 2)flaag_ss = 0 x118;iif(mmenuu_2 = 3)flaag_ss = 0 xcc0;iff(meenu_1 3) /回到正正常顯示示mm

57、enuu_1 = 00;fflagg_s = 00;if(mennu_11 = 1) /iff(meenu_2 = 11)/設置置秒iif(kkey_cann = 3)/加加sett_dss13002tiime(1,&miaao,00 x600);iif(kkey_cann = 4)/減減sett_dss13002tiime(0,&miaao,00 x600);iff(meenu_2 = 22)/設置置分iif(kkey_cann = 3)/加加sett_dss13002tiime(1,&fenn,0 xx60);iif(kkey_cann = 4)/減減sett_dss13002tiime(

58、0,&fenn,0 xx60);iff(meenu_2 = 33)/設置置時iif(kkey_cann = 3)/加加sett_dss13002tiime(1,&shii,0 xx24);iif(kkey_cann = 4)/減減sett_dss13002tiime(0,&shii,0 xx24);wrritee_tiime();/把時時間寫進進去if(mennu_11 = 2) / 設置年年月日iff(meenu_2 = 11)/設置置日iif(kkey_cann = 3)/加加sett_dss13002tiime(1,&ri,0 x332);iif(kkey_cann = 4)/減減set

59、t_dss13002tiime(0,&ri,0 x332);iff(meenu_2 = 22)/設置置月iif(kkey_cann = 3)/加加sett_dss13002tiime(1,&yuee,0 xx13);iif(kkey_cann = 4)/減減sett_dss13002tiime(0,&yuee,0 xx13);iff(meenu_2 = 33)/設置置時iif(kkey_cann = 3)/年年sett_dss13002tiime(1,&niaan,00 x999);iif(kkey_cann = 4)/減減sett_dss13002tiime(0,&niaan,00 x999

60、);wrritee_tiime();/把時時間寫進進去if(mennu_11 = 3) / 設置星星期 iff(meenu_2 = 11)/設置置星期iif(kkey_cann = 3)/加加sett_dss13002tiime(1,&weeek,00 x8);iif(kkey_cann = 4)/減減sett_dss13002tiime(1,&weeek,00 x8);wwritte_ttimee();/把時時間寫進進去if(meenu_1 = 44) | (mennu_11 = 5) /設置第第1打鈴鈴時間iff(meenu_1 = 44)iif(kkey_cann = 3)/加加sett

溫馨提示

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

評論

0/150

提交評論