基于51單片機定時器的設計實現分析_第1頁
基于51單片機定時器的設計實現分析_第2頁
基于51單片機定時器的設計實現分析_第3頁
基于51單片機定時器的設計實現分析_第4頁
基于51單片機定時器的設計實現分析_第5頁
已閱讀5頁,還剩14頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

基于51單片機定時器的設計與實現..三峽學院畢業設計題目基于51單片機定時器的設計與實現院系電子與信息工程學院專業電子信息工程年級2011級學生學生學號指導教師職稱完成畢業設計〔論文〕時間2015年目錄摘要4關鍵詞4第一章引言61.1選題背景61.2選題現狀61.3選題意義7第二章系統設計方案82.1課題研究容82.2技術方案的選擇82.2.1單片機選型82.2.2時鐘芯片選型82.2.3液晶選擇9第三章硬件系統的設計93.1系統硬件框圖93.2硬件介紹103.2.1AT89C51簡介103.2.2DS1302時鐘芯片簡介113.2.3LCD1602液晶顯示器簡介143.3電路原理圖153.3.1系統電路說明16第四章軟件設計194.1程序流程圖194.2時間設置的子程序流程圖244.3按鈕子程序流程圖264.4定時時間設置子程序28第五章系統的測試295.1時間讀取測試295.2定時功能測試29第六章總結31致32參考文獻33附錄基于51單片機定時器的設計與實現三峽學院電子與信息工程學院電子信息工程專業萬州404000摘要本設計是一款關于數字時鐘開關的設計方案。該方案使用AT89C51為主控,該單片機屬于51單片機,但是用法簡單,功能全面,本錢低廉。最重要的是,他滿足數字時鐘的硬件設計要求。AT89C51通過與時鐘芯片DS1302進展"三線通訊〞并交換時間數據,AT89C51可對DS1302讀寫操作,需要注意的時是,DS1302寫操作前,需要關閉寫保護,寫完之后需要開啟寫保護。否那么無法完成寫操作。AT89C51將獲得的數據更新在1602液晶顯示屏上,從而方便人眼獲得時間信息。本設計主要分為硬件電路設計和軟件編程兩大方面。其中硬件電路設計主要由單片機、DS1302模塊電路和液晶顯示電路等多局部組成,而軟件編程通過C語言代碼來實現。關鍵詞AT89C51DS1302CClockDesignandImplementationBasedon51single-chiptimer(Electronicandinformationengineeringmajoringrade2011,CollegeOfElectronicandinformationengineering.ChongqingThreeGorgesUniversity,ChongqingWanZhou404000)ABSTRACTThisdesignisadesignofthedigitalclockswitch.TheprogramusesAT89C51asthemaincontrol,themicrocontrollerbelongingto51single-chip,buttheusageissimple,full-featured,lowcost.Mostimportantly,hemeetsthehardwaredesignrequirementsofthedigitalclock.WiththeclockchipDS1302are"threelinemunicationandexchangedatathroughAT89C51,theAT89C51istheDS1302toreadandwriteoperations,needtopayattentiontois,DS1302beforeawriteoperationandneedtoclosethewriteprotection,finishedaftertheneedtoopenthewriteprotect.Otherwiseyoucannotpletethewriteoperation.AT89C51willgetthedataupdatedonthe1602LCDscreen,therebyfacilitatingtheeyetogettimeinformation.Thisdesignismainlydividedintotwoaspectsofhardwarecircuitdesignandsoftwareprogramming.WhichhardwarecircuitdesignmainlyconsistsofMCU,DS1302modulecircuitandLCDdisplaycircuitmultipart,andsoftwareprogrammingbyClanguagecode.KEYWORDSAT89C51realtimeclockchipDS1302,LCDMonitor第一章引言1.1選題背景我國古代早有日晷計時,夜晚,打更人不厭其煩的通報這時間。而其他國家也采用過水計時,火計時,在航海時代,沙漏幾乎是每只船必備的計時利器。到后來,科學家惠更斯發現可以根據單擺的頻率來計時,于是出現了單擺時鐘。憑借人們的智慧,隨后又出現了電子鐘,甚至是原子鐘。我一直在尋求一種方式,來感受時間的魅力。21世紀以來,電子技術呈指數型增長。21世紀是信息的時代,而時間對我們來說是非常珍貴的資源,而繁鎖的工作經常會使我們忘記時間。忘記了應該做的事,很多時候很重要事情,一時的耽誤就可能造成不可估量的損失。一個準確的報時系統對于我們來說價值是巨大的。顯示技術的開展,使得人們獲得信息更加直觀,高效。數字時鐘對于機械時鐘來說,更加直觀,準確。結合自身能力,我選擇用單片機做一款數字時鐘。1.2選題現狀現代控制技術中,定時會經常被用到,其應用主要表現在以下方面:(1)在智能儀器里的應用單片機廣泛應用在各種各樣的儀器儀表中,能夠讓儀器儀表更智能化,并且能夠提升測量自動化的精度和強度要求,還能簡化儀器儀表的硬件構造,到達提升其性價比的目的。(2)在機電一體化里的應用機電一體化將會成為機械工業前進的方向。機電一體化就是把傳統機械、現代微電子以及電子計算機集成于一體,并且擁能智能化的產品,例如自動化鉆床、車床等。單片機越來與強大,性能穩定,資源豐富,已經完全能夠勝任一些機械的智能化和自動化工作。(3)在實時控制中的應用各式各樣的實時控制系統也采用單片機當作其控制器。如:工業測控、高端武器、航天科技、未來機器人等都可采用單片機作為控制器。其擁有的實時處理和控制數據的能力,可以讓系統長時間維持在最好的工作狀態下,得以提升系統工作效率以及產品的質量。(4)在分布式多機系統中的應用對于大型的系統,一般通過分布式多機系統完成工作。多機系統是指由功能不同的單片機組合而成,通過串行通信進展相互間的聯系和調配工作,各自完成指定的任務。其在這樣的系統里面常常以終端機的形式出現,存在于系統的某個節點上,對實時的數據進展測量和分析控制。單片機的穩定性和抗干擾性,讓它可以在于惡劣的環境里正常工作。(5)在人類生活中的應用自單片機誕生以后,它就開場悄悄改變了人類的日常生活,家用電器、電子玩具、機械設備等裝上單片機以后,不僅提高了的智能化程度,還添加了許多新的功能,改善了人們的生活品質。相信以后單片機將給人類帶來更加豐富多彩的生活。由以上分析可以得出結論,單片機已經成為了電子技術開展和應用的一員并在其中產生了重要的作用。它已經從本質上改變了傳統設計的自動控制系統的方向和方法。例如以前必須由大規模模擬電路或者數字電路來實現的功能,現在已經可以用單片機的方式來實現了,而這,只需要簡單地幾行代碼。顯而易見,單片時機拉動電子技術的開展。本時控開關是由AT89C51單片機、時鐘芯片、按鍵、用戶數據存儲芯片、LCD顯示電路、開關電路以及電源電路組成。主要功能實現如下:①實時時間顯示以及定時控制狀態顯示;②定時斷電保護;③按時的對開關進展控制操作;1.3選題意義數字時鐘就是運用數字電路來實現對時間進展顯示的裝置,數字時鐘已經普遍的應用于各種場合,各種移動終端都集成了時間顯示功能,并且劃分為根底功能。它融入了我們的日常生活中并且成為了生活的必需品。隨著數字集成電路的開展以及石英晶體振蕩電路的大量運用,數字時鐘的時間精準度大大提高,并且在一定程度上超過了普通的機械鐘表,時鐘的數字化給我們的生活帶來了巨大的改變、提升了更好地用戶體驗,如自動報警系統、機械設備的自動控制、學校使用的自動打鈴、定時的播送、城市路燈定時通斷、動力的設備控制、微波爐定時、甚至各式各樣的定時電器的自動啟閉等,所有的這些,都是以數字化時鐘為根底的。因此,探索數字時鐘并增加其應用,是具有非常的實際意義。因此,本設計方案利用單片機的特性,設計了一種具有定時功能的開關——時控開關。同時,隨著近年來聲控裝置的大量應用,在為人們提供便利的同時,缺點也漸漸的被發現。例如外部的噪音也會使聲控裝置點亮電燈,這會使開關的節能性受到很大影響。因此人們希望能夠夠利用實時控制的開關來控制開關電燈。伴隨單片機的功能不斷完善以及價格的廉價化,智能的時控開關得到了廣泛應用。并且,智能的時控開關還可以運用于別的很多領域,因此本文所說的智能時控開關擁有十分重要的意義。第二章系統設計方案2.1課題研究容功能:液晶擁有時、分、秒顯示時間的功能,通過按鍵還可以對時間進展校對。同時,本課題還能實現當定時時間到來的時候,通過單片機對繼電器進展開斷控制。2.2技術方案的選擇2.2.1單片機主控選型1.51單片機傳統的高性能8位51單片機,運用ATMEL公司高密度且不易喪失的存儲器技術,工業級的標志指令集與傳統單片機引腳兼容,并且P0口有優良的總線協議,可實現對DS1302的三線通訊并交換數據,而其他IO口,可以滿足設計方案的要求。最重要的是,他得供電電壓是5V,比擬常用,只需要一個USB就可以提供所需電壓。2.STM32單片機STM32單片機是ST公司設計的32位ARM核單片機,功能十分強勁,上市以來成為單片機應用的寵兒,占領了大局部市場。端口資源豐富,優化的中斷優先級系統,并且他得定時器中斷與系統中斷不沖突,也就是說他得定時器中斷可以獨立工作,不需要報告CPU,從這點上來說,對51CPU有壓倒性的好處。CPU可以抽出更多時間干其他事情,而不是什么中斷都要去響應。處于本錢,資源的考慮,ATMEL單片機能夠兼容MCS-51,還具有4K字節可編程閃爍存儲器以及1000寫/擦循環,數據保存時間可達10年等特點。最重要的時,他能夠完本錢設計的完成所需要達成的任務,所以考慮之后決定選用89C51單片機作為主控單片機。2.2.2時鐘芯片選型目前,市場上常用的串行時鐘的電路種類繁多,如PCF8485、DS1302、DS1307等。這些電路的使用簡單、本錢低廉、用途廣泛。本設計使用的電子時鐘的芯片為DS1302,它是DALLAS公司推出的一種具有涓流充電能力的時鐘芯片,通過串行數據傳輸數據,如果接了備用電源,掉電時可以保護數據不喪失,并且他能夠實現開關充電。使用時鐘時外接晶振一般為32.768kHz。DS1302還經常使用在數據記錄上,記錄某些具有重要意義的數據點上效果很好,可以把數據和數據出現的時間一起記錄。這些記錄對于連續并且長時間測控系統的數據測試分析以及查找對數據的異常現象的原因可以提供很多關鍵性的資料。傳統記錄數據的途徑一般通過定時數據采樣或者隔時數據采樣,但是并沒有具體的時間記錄。所以,僅僅只是知道記錄的數據卻無法知道該條數據產生的準確的時間;如果使用單片機進展計時,一是需要采用計數器,會占用一些硬件的資源,當然用STM32根本上沒有影響,但是有些殺雞用牛刀的感覺。二是需要設置查詢、中斷等,同樣需要消耗一定單片機的資源。如果選擇DS1302作為時鐘芯片,來完成這個任務。就很好了。因此本設計方案采用DS1302作為時鐘芯片。2.2.3液晶選擇這次選用的也稱為1602字符型液晶,它主要是拿來顯示字母、數字、符號等的點陣型液晶。LCD1602液晶是由多個〔5*7〕或者〔5*11〕等點陣字符位構成的,每一個點陣字符位都能夠顯示一個字符,每一個字符位中間有一個點的距離空間,而且在行與行之間也有間隔,來當作字符間距以及行間距。本文中顯示功能較為簡單,LCD1602完全滿足需求,本文采用其作為顯示液晶。第三章硬件系統的設計3.1系統硬件框圖本系統構造款圖將如下列圖所示:本系統以單片機AT89C51為主控芯片,電源模塊對其提供5V電源,本系統的目的是對時鐘芯片DS1302進展時間的讀取與存儲,通過鍵盤的設置,可將設定的溫度數據寫入EEPROM存儲,并寫入DS1302,當設定的時間到達,通過主控單片機對繼電器進展開斷控制。圖1硬件框圖3.2硬件介紹3.2.1AT89C51簡介AT89C51是帶有4K字節閃爍可編程可擦除只讀存儲器〔FPEROM—FalshProgrammableandErasableReadOnlyMemory〕的低電壓,具有高性能的CMOS8位微處理器,就是本設計方案提出的主控單片機。AT89C51完美兼容工業標準的MCS-51指令集以及輸出管腳。因為是將多功能8位CPU以及閃爍存儲器組合在一個硬件里,AT89C51是一種很適宜電子時鐘使用的芯片。3.2.2DS1302時鐘芯片簡介DALLAS公司設計的DS1302是一款具有涓流充電功能的時鐘芯片,里面擁有可以存儲實時時鐘/日歷和31字節的靜態RAM,通過串行接口與單片機之間完成數據交換實時的時鐘/日歷等信息,每個月的天數以及閏年的時候的天數都會自動的進展走時,前提是啟用了備用電源,否那么一旦斷電,將無法實現自動走時。時鐘的操控能夠利用AM/PM標志位來定是用24或者12小時的格式。其與單片機之間能夠使用同步串行完成通信,也就是本設計提到的"三線通訊〞。只需要三根I/O線:復位〔RST〕、I/O數據線、串行時鐘〔SCLK〕。時鐘/RAM的讀寫數據是通過一個字節抑或31個字節的字符組進展傳輸。而且在DS1302工作期間能耗十分低,在保持數據以及時鐘信息的時候,功耗一般都小于1mW。DS1302管腳圖如下2所示:圖2DS1302管腳圖各引腳的功能為:Vcc1:主電源;Vcc2:備用電源。當Vcc2>Vcc1+0.2V時,由Vcc2向DS1302供電,當Vcc2<Vcc1時,由Vcc1向DS1302供電。SCLK:功能是控制數據輸入和輸出,串行時鐘,輸入;I/O:功能是三線接口的時候的雙向數據線;CE:在讀寫數據的時候,輸入信號,必須為高。該引腳有兩個功能:一是,Ce開場用控制邏輯的方式控制字訪問移位存放器;二是,CE提供方法是完畢的時候單字節或多字節的數據傳輸。時鐘以及RAM。即使數據一般分為兩個方面,但對單片機的程序而來說,其本質都是差不多的,實際上就是對指定的地址完成讀/寫操作。DS1302的工作原理:芯片在工作的時候也就是芯片重新上電的時候首先要對數據的傳送實行初始化,必須將復位腳〔RST〕調到為高電平然后把8位地址以及指令放進移位存放器。信息將從SCLK的上升沿串行輸入,前面的8位是指定的訪問地址,將指令放進移位存放器后,在后面的周期面,取出操作的時候輸出的數據,寫出操作的時候輸出來的數據。元件的脈沖個數在單字節的條件下一般情況是8+8〔8位地址+8位數據〕,在多字節情況下是8加最大可以到達248的數據。DS1302的存放器和控制命令其實對DS1302操作根本就是對它里面的存放器進展操作,芯片里面一共有12個存放器,里面的7個存放器是和日歷、時鐘有關,是以BCD碼的形式進展數據的存放。并且DS1302還很多其他的存放器。時間存放器以及其控制字如下表所示:表1:時間存放器以及其控制字對照表星期存放器1000101年存放器1000110寫保護存放器1000111慢充電存放器1001000時鐘突發存放器1011111末位RD/W為"1〞的時候表達為讀操作,"0〞時表達為寫操作。DS1302主要的存放器分布:表2:DS14302存放器分布表名稱命令字取值的圍具體容寫讀76543210秒存放器80H81H00-59CH10SECSEC分存放器82H83H00-59010MINMIN小時存放器84H85H01-12或00-2312/240AHRHR日期存放器86H87H01-28,29,30,310010DATEDATE月份存放器88H89H01-12000-10MMONTH周存放器8AH8BH01-0700000DAY年份存放器8CH8DH00-9910YEARYEARDS1302芯片里面的RAM命令可分為兩種,一種是具有獨立訪問RAM的單元的命令,一共有31個,每一個單元能夠存取8字節的數據,COH~FDH是其命令控制字,里面的寫操作是偶數,讀操作是奇數;另外一種為突發狀態下的RAM命令,這類情況下可以一次性的讀寫完所有RAM的字節,命令控制字寫為FFH、讀為FEH。通過上面的容找到了控制存放器以及RAM的邏輯地址,下面就是去尋找怎么利用外部接口來讀取這些數據的方法。51單片機利用同步串行通訊來和DS1302交換數據,但是每一次的通訊必須是由單片機發起,不管操作讀是寫,首先單片機必須往DS1302芯片里寫入一個命令幀,這個幀的方式如下列圖3時序圖所示,而且最高位BIT7的值必須固定為1,BIT6將會決定操作的對象是RAM的存放器或者是時鐘的存放器,接下來的5個BIT是RAM的部地址或者說是時鐘存放器在芯片的部地址,剩下的BIT表達的是操作就是寫操作還是讀操作。DS1302芯片的接口由RST,SCLK,I/O3個獨立的IO口線組成的。RST引腳從低電平成為高電平時,那么開啟一次數據傳輸的過程,SCLK是時鐘線,I/O是數據線。讀寫的時序如圖3,需要注意的是,任何一種同步通訊類串行接口,對于時鐘信號都是相當敏感的,并且一般的數據在時鐘的上升沿寫入才有效,下降沿那么是讀出有效〔DS1302芯片就是這樣的,雖然在芯片說明里沒有詳細的標注〕,這成為了一個行業標準,只要不是芯片手冊說明,就把程序設定成標準讀取的樣子:一般情況下SCLK都是低電平,時鐘改變前設置指令,時鐘變化之后讀取數據,意思是操作都是在SCLK在低電平時候完成,相鄰操作間間隔一下降沿和一上升沿。圖3DS1302的時序圖3.2.3LCD1602液晶顯示器簡介①概述:液晶〔LiquidCrystal〕是一種高分子材料,由于它特殊的物理性質以及化學特性,大量應用于輕薄工藝的顯示器上面。液晶顯示器〔LiquidCrystalDisplay,LCD〕它主要是利用電流促使液晶分子形成點、線、面再結合背部的背光形成畫面。各個種類的液晶顯示器一般根據顯示字符的行數或者是液晶點陣的行列數來命名。就拿1602來說每行都有16個字符,一共能顯示兩行。這種液晶一般稱之為字符型液晶,一般來說只能用來顯示ASCII碼。12232那么是由于液晶顯示畫面是有122列和32行,總共是122*32個點來展示出各式各樣的圖形。使用者可以利用程序來控制這些點里面的任何一個點亮或者不點亮,來組成不同的圖形。因此,12232稱之為圖形型液晶。液晶占用體積小,耗能很低,操作簡便。但是有一個明顯的缺點,就是使用溫度的圍小。一般類型的液晶工作環境在0到+55攝氏度之間,存儲環境在-20到+60攝氏度之間。②1602的外形尺寸圖4LCD1602外形尺寸③根本操作時序讀狀態:輸入:RS=L,RW=H,E=H輸出:D0~D7=狀態字寫指令:輸入:RS=L,RW=L,D0~D7=指令碼,E=高脈沖輸出:無讀數據:輸入:RS=H,RW=H,E=H輸出:D0~D7=數據寫數據:輸入:RS=H,RW=L,D0~D7=數據,E=高脈沖輸出:無④指令說明總共有11條控制指令在1602的液晶模塊其里面的控制器里。(1)顯示模式設置表3顯示模塊設置指令碼功能001110008位數據接口,設置16×2顯示,5×7點陣表示開/關和光標的設置表4表示開/關和光標的設置功能D=1開顯示;D=0關顯示C=1顯示光標;C=0不顯示光標B=1光標閃爍;B=0光標不顯示N=1當讀/寫一個字符后地址指針加一,并且光標加一N=0當讀/寫一個字符后地址指針加一,并且光標減一S=1當寫一個字符,整幕顯示左移〔N=1〕或右移〔N=0)S=0當寫一個字符,整屏顯示不移動指令碼00001DCB000001NS(3)數據指針設置表5數據指針設置指令碼功能80H+地址碼〔0—27H,40—67H〕設置地址指針(4)其它設置表6其它設置指令碼功能01H顯示清屏:1.數據指針清零2所有顯示清零02H顯示回車:1.數據指針清零3.3電路原理圖設計實現一個基于單片機的時控開關,通過按鍵設置什么時間開什么時候關閉繼電器,并實時顯示在LCD1602上,實現智能控制的目的,其電路原理圖如下列圖所示:圖5電路原理圖3.3.1系統電路說明本系統由六個局部組成:穩壓電源模塊、晶振模塊、時間模塊、存儲模塊、按鍵模塊、繼電器模塊。單片機中的時鐘周期由晶振模塊負責提供,復位電路模塊那么負責上電后的自動復位,或者按鍵后的強制復位。在上電以后,將由單片機部定時器進展計時,并在同一時間通過動態顯示的函數自動的將時、分、秒顯示到LCD屏幕上。這時,按鍵引腳狀態一直在按鍵掃描的函數掃描的掃描下,只要發現按下按鍵后,馬上就進展相應功能函數。一旦檢測到定時時間到了,那么驅動繼電器立刻開斷。①穩壓電源模塊如圖3.7所示:穩壓電路采用穩壓芯片7805,將電源穩壓到5V,從而給改單片機定時器系統供電。圖6穩壓電路模塊②晶振模塊:石英晶振連接于單片機的xtal1,xtal2之間,并聯兩個接地起振電容后效果和一個并聯的諧振回路一樣,其振蕩頻率是與石英晶體并聯諧振的頻率一樣,把晶體邊的兩個電容進展接地操作,本質上作為電容三點式電路里的分壓電容,分壓點其實就是接地點。將接地點設成參考位置,發現振蕩引腳的輸入與輸出的數據是相反的,但是就并聯的諧振回路它的兩端的數據來看,晶振電路實際上是利用一個正反應來實現電路的持續振蕩從而給單片機提供時鐘參考,他影響單片機指令的時鐘周期。圖7晶振電路模塊③時間模塊:DS1302在本設計方案中能夠實時顯示時間中的應用。它可以對詳細的時間信息進展計時,并且擁有閏年自動補償等很多功能。其模塊電路如圖8所示:圖8時間模塊④存儲模塊:串行E2PROM芯片是在I2C總線協議根底上的存儲元件,E2PROM嚴格的遵循二線制協議,因為它有體積小,接口方便,掉電數據不會喪失等特點,在儀表儀器以及工業的自動化控制里面得到廣泛的使用。在本設計方案中,選擇AT24C02作為存儲元件。在世界上很多公司都在大力的開發這種器件情況下,現在市場上出現了許多種牌號的AT24C02器件,以至于還有一些冒牌的AT24C02器件存在,這樣就出現了批量生產的單片機控制的系統在質量上好壞不一的情況。經過查詢資料找到了關于24C02在實際應用中出現數據被沖刷掉的原由,還發現了保護AT24C02里面的數據平安的設計方法。其電路如下所示:圖9存儲模塊⑤按鍵電路:本文采用四個獨立按鍵,可對時間進展校正。其電路如下列圖所示;圖10按鍵電路⑥繼電器模塊:本文采用兩個繼電器,實現當定時時間到達的時候,對繼電器進展開斷,其電路如下列圖所示:圖11繼電器電路模塊第四章軟件設計4.1程序流程圖程序一開場就定義了一組固定的單元來存儲計數的時、分、秒的存儲單元。并且在程序里,會對每一個按鍵進展掃描,讓其可以使用秒表,調整時間等功能。系統的總體流程圖下所示:圖12主程序流程圖主程序如下:#include"1602.h"#include"ds13020.h"sbitK10=P1^0;sbitK11=P1^1;sbitK12=P1^2;sbitK13=P1^3;externu8Data0[7];u8count0=0;//#include"key.h"voidSET(u8m){switch(m) {case0://TR1=0;enable(0xc0+11);//設置按動按鍵一次,秒的位置就開場跳動光標enable(0x0f);//設置光標為閃爍\/break;case1:enable(0xc0+8);//按2次fen位置顯示光標break;case2:enable(0xc0+5);//按2次fen位置顯示光標break;case3:enable(0x80+11);//按2次fen位置顯示光標break; case4:enable(0x80+8);//按2次fen位置顯示光標break;case5:enable(0x80+5);//按2次fen位置顯示光標break;case6:enable(0xc0+15);//按2次fen位置顯示光標break; }}voidMain(void){u8m=0;TMOD=0x01;IE =0x82;TH0=(65535-10000)/256;TL0=(65535-10000)%256; TR0=1; L1602_init();//Write_DS1302Init();for(m=0;m<7;m++) {v_W1302(0x8f,0);Data0[m]=bcdtodec(uc_R1302(0x81+2*m)); //讀出DS1302 }m=0;while(1){ if(m==7){m=0;Write_DS1302Init(); enable(0x0c);//關閉光標break; }// L1602_char(1,0,m%10+'0');SET(m);if(K11==0){ while(K11==0); Data0[m]=Data0[m]+1; //Data[m+1] }if(K12==0){ while(K12==0); Data0[m]=Data0[m]-1; //Data[m+1]表示不設置時間秒 }// display_trans(m,11/*-*/,bcdtodec(Data[m]));// display();//n=Data0[m];// if(count0%50==0);//Data0[m]=0x32;if(count0%4==0) { display_time(); }// Data0[m]=n;if(K10==0) {while(K10==0);m++;}}while(1) {if(count0%20==0){Run_DS1302();display_time();} }}voidTime0_Int()interrupt1{TH0=(65535-50000)/256;TL0=(65535-50000)%256; count0++; //長度加1if(count0>60) //當Count為20時,i自加一次,20*50MS=1S count0=0;// {count1++;// if(count1>30)count1=0;// }}4.2時間設置的子程序流程圖本系統通過獨立按鍵對時間進展設置,當單片機從DS1302中讀取時間信息開場計時后,當定時時間到來,單片機控制繼電器進展開斷。其主要程序流程圖如下所示:圖13時間設置的子程序流程圖程序如下:while(1){ if(m==7){m=0;Write_DS1302Init(); enable(0x0c);//1?±?1a±êbreak; }// L1602_char(1,0,m%10+'0');SET(m);if(K11==0){ while(K11==0); Data0[m]=Data0[m]+1; //Data[m+1] }if(K12==0){ while(K12==0); Data0[m]=Data0[m]-1; //Data[m+1]±íê?2?éè??ê±???? }// display_trans(m,11/*-*/,bcdtodec(Data[m]));// display();//n=Data0[m];// if(count0%50==0);//Data0[m]=0x32;if(count0%4==0) { display_time(); }// Data0[m]=n;if(K10==0) {while(K10==0);m++;} }4.3按鈕的子程序流程圖本系統的按鈕子程序流程圖如下列圖所示圖14按鈕的子程序流程圖4.4定時時間設置的子程序圖15定時時間的子程序流程圖圖16程序截圖如上圖中的是在星期二12:22開啟繼電器在星期二13:23關閉繼電器。數組里面第一個數據,是用來設置,在后面這個時刻開啟或者關閉繼電器。第4個數據,是用來設置,在后面這個時刻,關閉或者開啟繼電器。最后一個是星期設定。第五章系統的測試本章通過軟硬件的聯調,充分證明了本文所提出方案的可行性。下面主要介紹時間讀取及定時功能的測試。5.1時間讀取測試圖5.1是本系統在測試LCD1602顯示當前時間的記錄值,通過LCD1602的顯示,時間讀取功能正常。圖17時間讀取測試5.2定時功能測試本系統的定時功能是通過按鍵按下K1進入模式選擇,此時選擇定時模式,之后通過按鍵對時間進展設定,按下確認鍵

溫馨提示

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

評論

0/150

提交評論