




已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
目 錄目 錄I一 設計題目1二 設計要求1三 作用與目的1四 設備及軟件21.AT89C51單片機22. Proteus仿真軟件23.Keil軟件2五 系統(tǒng)設計方案31 電路的總體原理框圖32 工作原理4六 系統(tǒng)硬件設計41.系統(tǒng)總體設計42 系統(tǒng)時鐘電路設計53 系統(tǒng)復位電路的設計54 鬧鐘指示電路設計55 電子鬧鐘的顯示電路設計5七 系統(tǒng)軟件設計61主模塊的設計62基本顯示模塊設計73. 時間設定模塊設計84. 鬧鈴功能的實現(xiàn)9八 Proteus軟件仿真101.本次試驗的效果圖112.性能及誤差分析:11九 設計中的問題及解決方法12十 設計心得13參考文獻14致 謝15附錄1 系統(tǒng)整體結(jié)構(gòu)電路原理圖16附錄2 程序清單1727專業(yè)綜合課程設計基于單片機的定時鬧鐘設計一 設計題目基于單片機的定時鬧鐘二 設計要求1、能顯示時時分分秒秒。2、能夠設定定時時間、修改定時時間。3、定時時間到能發(fā)出報警聲或者啟動繼電器,從而控制電器的啟停。三 作用與目的以單片機為核心的數(shù)字時鐘是很有社會意義和社會價值的。鐘表原先的報時功能已經(jīng)原不能滿足人們?nèi)找嬖鲩L的要求,現(xiàn)代的電子時鐘多帶有類似自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、通斷動力設備、甚至各種定時電氣的自動啟用等功能數(shù)字鬧鐘通過數(shù)字電路實現(xiàn)時、分、秒。數(shù)字顯示的計時裝置,廣泛用于個人家庭、車站、碼頭辦公室等公共場所成為人們?nèi)粘I钪胁豢缮俚谋匦杵贰S捎跀?shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應用,使得數(shù)字鐘的精度遠遠超過老式鐘表。多功能數(shù)字鐘的應用非常普遍。由單片機作為數(shù)字鐘的核心控制器,通過它的時鐘信號進行實現(xiàn)計時功能,將其時間數(shù)據(jù)經(jīng)單片機輸出,利用顯示器顯示出來。通過鍵盤可以進行校時、定時等功能。輸出設備顯示器可以用液晶顯示技術(shù)和數(shù)碼管來顯示技術(shù)。 本系統(tǒng)利用單片機實現(xiàn)具有計時、校時等功能的數(shù)字時鐘,是以單片機AT89C51為核心元件同時采用LED數(shù)碼管顯示器動態(tài)顯示“時”、“分”、“秒”使其具有校時功能,秒表功能,和定時器功能,利用單片機實現(xiàn)的數(shù)字時鐘具有編程靈活,便于功能的擴充等優(yōu)點。四 設備及軟件1.AT89C51單片機圖4.1 AT89C51引腳封裝圖在本電子鬧鐘設計中就是采用利用我們熟悉的AT89C51單片機為主控芯片。AT89C51單片機由微處理器,存儲器,I/O口以及特殊功能寄存器SFR等部分構(gòu)成。其存儲器在物理上設計成程序存儲器和數(shù)據(jù)存儲器兩個獨立的空間,片內(nèi)程序存儲器的容量為4KB,片內(nèi)數(shù)據(jù)存儲器為128個字節(jié)。89C51單片機有4個8位的并行I/O口:P0口,P1口,P2口和P3口。各個接口均由接口鎖存器,輸出驅(qū)動器,和輸入緩沖器組成。P1口是唯一的單功能口,僅能用作通用的數(shù)據(jù)輸入/輸出口。P3口是雙功能口除了具有數(shù)據(jù)輸入/輸出功能外,每條接口還具有不同的第二功能,如P3.0是串行輸入口線,P3.1口是串行輸出口線。在需要外部程序存儲器和數(shù)據(jù)存儲器擴展時,P0可作為分時復用的低8位地址/數(shù)據(jù)總線,P2口可作為高8位的地址總線。P3口也可作為AT89C51的一些特殊功能口,同時為閃爍編程和編程校驗接收一些控制信號. 它的引腳圖如圖4.1所示:2. Proteus仿真軟件Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設計,真正實現(xiàn)了從概念到產(chǎn)品的完整設計。是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。3.Keil軟件Keil公司是一家業(yè)界領先的微控制器(MCU)軟件開發(fā)工具的獨立供應商。Keil公司由兩家私人公司聯(lián)合運營,分別是德國慕尼黑的Keil Elektronik GmbH和美國德克薩斯的Keil Software Inc。Keil公司制造和銷售種類廣泛的開發(fā)工具,包括ANSI C編譯器、宏匯編程序、調(diào)試器、連接器、庫管理器、固件和實時操作系統(tǒng)核心(real-time kernel)。有超過10萬名微控制器開發(fā)人員在使用這種得到業(yè)界認可的解決方案。其Keil C51編譯器自1988年引入市場以來成為事實上的行業(yè)標準,并支持超過500種8051變種。五 系統(tǒng)設計方案1 電路的總體原理框圖掃描鍵盤程序初始化調(diào)用顯示程序,時鐘正常運行P3.0是否按下?調(diào)用時間設定程序,進行顯示時間和定時時間的設定按初始時間繼續(xù)NYYYY調(diào)用程序,判定是否定時時間到復位鍵是否按下YN時鐘繼續(xù)運行圖1 電路原理框圖開始2 工作原理當給電路足夠的電源時,電路開始正常初始化,此時顯示“00 :00 :00”,若不進行時間調(diào)整和定時,時鐘將正常計時下去。若按下按鍵1,由于按下次數(shù)的不同,出現(xiàn)光標閃爍的位置不同,即可進行時間的時分秒的調(diào)整和定時時間的時分秒的調(diào)整,按鍵2和3分別是進行時間的加和減,若確定好時間,時鐘將正常運行,到達定時時間后蜂鳴器將會響一段時間后停止。如果按復位鍵,時鐘將重新初始化,需要重新定制時間。如果不做任何改動,到下一個定時的時間,時鐘將會繼續(xù)鳴叫六 系統(tǒng)硬件設計1.系統(tǒng)總體設計電子鬧鐘應包括秒信號發(fā)生器、時間顯示電路、按鍵電路、供電電源以及鬧鈴指示電路等幾部分。按鍵功能說明:A,設置時間和鬧鐘的小時;B,設置小時以及設置鬧鐘的開關(guān);C,設置分鐘和鬧鐘的分鐘;D;設置完成退出。電子鬧鐘的系統(tǒng)框圖如下所示:復位、時鐘等電路按鈕電路 AT89C51單片機6位數(shù)碼管顯示電路鬧鈴聲指示電路電源系統(tǒng)圖2 電子鬧鐘的系統(tǒng)框圖電子鬧鐘的主電路指的是圖中虛線框內(nèi)部分,主要涉及到CPU電路和按鍵按鈕電路。主機的設計具體地說有:1)系統(tǒng)時鐘電路設計;2)系統(tǒng)復位電路設計;3)按鍵與按鈕電路設計;4)鬧鈴聲指示電路設計。2 系統(tǒng)時鐘電路設計對于時間要求不是很高的系統(tǒng),只要按圖進行設計就能使系統(tǒng)可靠起振并穩(wěn)定運行。但由于原理圖中的C1、C2電容起著系統(tǒng)時鐘頻率微調(diào)和穩(wěn)定的作用,因此,在本鬧鐘系統(tǒng)的實際應用中一定要注意正確選擇參數(shù)(3010 PF),并保證對稱性(盡可能匹配),選用正牌廠家生產(chǎn)的瓷片或云母電容,如果可能的話,溫度系數(shù)要盡可能低。實驗表明,這2個電容元件對鬧鐘的走時誤差有較大關(guān)系。3 系統(tǒng)復位電路的設計智能系統(tǒng)一般應有手動或上電復位電路。復位電路的實現(xiàn)通常有兩種方式:)RC復位電路;)專用監(jiān)控電路。前者實現(xiàn)簡單,成本低,但復位可靠性相對較低;后者成本較高,但復位可靠性高,尤其是高可靠重復復位。對于復位要求高、并對電源電壓進行監(jiān)視的場合,大多采用這種方式。本次課程設計采用了上電按鈕電平復位電路。4 鬧鐘指示電路設計鬧鈴指示可以有聲或光兩種形式。本系統(tǒng)采用聲音指示。關(guān)鍵元件是蜂鳴器。蜂鳴器有無源和有源兩種,前者需要輸入聲音頻率信號才能正常發(fā)聲,后者則只需外加適當直流電源電壓即可,元件內(nèi)部已封裝了音頻振蕩電路,在得電狀態(tài)下即起振發(fā)聲。市場上的有源蜂鳴器分為3、5、6等系列,以適應不同的應用需要。鬧鐘電路是用比較器來比較計時系統(tǒng)和定時系統(tǒng)的輸出狀態(tài),如果計時系統(tǒng)和定時系統(tǒng)的輸出狀態(tài)相同,則發(fā)出一個脈沖信號,再和一個高頻信號混合,送到放大電路驅(qū)動揚聲器發(fā)聲,從而實現(xiàn)定時鬧響的功能。其電路設計參見系統(tǒng)原理圖。5 電子鬧鐘的顯示電路設計本次課程設計采用了6位數(shù)碼管顯示電路。在6位LED顯示時,為了簡化電路,降低成本,采用動態(tài)顯示的方式, 6個LED顯示器共用一個8位的I/O, 6位LED數(shù)碼管的位選線分別由相應的P2. 0P2. 5控制,而將其相應的段選線并聯(lián)在一起,由一個8位的I/O口控制,即P0口。譯碼顯示電路將“時”、“分”、“秒”計數(shù)器的輸出狀態(tài)菁七段顯示譯碼器譯碼,通過6位LED七段顯示器顯示出來。到達定時電路時根據(jù)計時系統(tǒng)的輸出狀態(tài)產(chǎn)生一脈沖信號,然后去觸發(fā)一音頻發(fā)生器實現(xiàn)鬧鈴。校時電路時用來對“時”、“分”、“秒”顯示數(shù)字進行校對調(diào)整的。圖3 位數(shù)碼管顯示電路七 系統(tǒng)軟件設計軟件設計的重點在于秒脈沖信號的產(chǎn)生、顯示的實現(xiàn)、以及按鍵的處理等方面。基于軟件的秒脈沖信號通常有延時法和定時中斷法。延時法一般采用查詢方式,在延時子程序前后必然需要查詢和處理的程序,導致誤差的產(chǎn)生,因此其秒脈沖的精度不高;中斷法的原理是,利用單片機內(nèi)部的定時器溢出中斷來實現(xiàn)。例如,設定某定時器每100ms中斷1次,則10次的周期為1s。這種實現(xiàn)法的特點是精度高,秒脈沖的發(fā)生和其他處理可以并行進行。本系統(tǒng)中所使用的晶振頻率為12MHZ。1主模塊的設計主模塊是系統(tǒng)軟件的主框架。結(jié)構(gòu)化程序設計一般有“自上而下”和“自下而上”兩種方式,“自上而下”法的核心就是主框架的構(gòu)建。它的合理與否關(guān)系到程序最終的功能的多少和性能的好壞。本系統(tǒng)的主模塊的程序框圖如下圖4所示:啟動走時CPU系統(tǒng)初始化定時0初始化中斷初始化串口初始化顯示待機指示符設置鬧鈴時間刷新時間設置鬧鈴時間?否?NY有關(guān)變量初始化刷新時間秒指示鬧鈴延時1秒到否?時或分變化?否?NNYY是否到鬧鈴時間NY圖4 主模塊的程序框圖2基本顯示模塊設計基本顯示模塊設計的重點是由顯示代碼取得相應的段碼,顯示段碼數(shù)據(jù)的并行發(fā)送,高精度的計時工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘,石英表,石英鐘都采用了石英技術(shù),因此走時精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)校,數(shù)字式電子鐘用集成電路計時時,譯碼代替機械式傳動,用LED顯示器代替顯示器代替指針顯示進而顯示時間,減小了計時誤差,這種表具有時,分,秒顯示時間的功能,還可以進行時和分的校對,片選的靈活性好。將16進制時分秒數(shù)據(jù)轉(zhuǎn)化為BCD顯示代碼關(guān)閉顯示以免顯示抖動通過串口將時分秒數(shù)據(jù)傳入數(shù)碼管打開顯示圖5 顯示模塊程序流程圖程序流程如圖5所示。3. 時間設定模塊設計設置鍵嗎?設置模塊初始化閃爍標志為將在編參數(shù)送顯示緩沖區(qū)鍵嗎?根據(jù)當前位的性質(zhì)分別進行處理(含上下限判斷)將當前位的顯示代碼置暗代碼調(diào)基本顯示模塊刷新顯示設置鍵嗎?當前編輯的是分各位?當前編輯位下移(下一位)結(jié)束設定NNNNYYYN圖6 時間設定流程圖時間設定模塊的設計要點是按鍵的去抖處理與“一鍵多態(tài)”的處理。即只涉及4個鍵完成了6位時間參數(shù)的設定。軟件法去抖動的實質(zhì)是軟件延時,即檢測到某一鍵狀態(tài)變化后延時一段時間,再檢測該按鍵的狀態(tài)是否還保持著,如是則作為按鍵處理,否則,視為抖動,不予理睬。去抖中的延時時間一般參考資料多描述為10ms左右,實際應用中,應大于20ms,否則,會導致按一次作多次處理,影響程序正常執(zhí)行?!耙绘I多態(tài)”即多功能鍵的實現(xiàn)思想是,根據(jù)按鍵時刻的系統(tǒng)狀態(tài),決定按鍵采取何種動作,即何種功能其流程圖如下圖6所示:4. 鬧鈴功能的實現(xiàn)鬧鈴功能的實現(xiàn)涉及到兩個方面:鬧鈴時間設定和是否鬧鈴判別與相應處理。鬧鈴時間設定模塊的設計可參照時間設定模塊,這里著重闡述鬧鈴判別與處理模塊的設計問題。鬧鈴判別與鬧鈴處理的關(guān)鍵在于判別何時要進行鬧鈴。當時十位、時個位、分十位、分個位中任一位發(fā)生改變(進位)時,就必須進行鬧鈴判別。譯碼顯示電路將“時”、“分”、“秒”計數(shù)器的輸出送到七段顯示譯碼驅(qū)動器譯碼驅(qū)動,通過六個七段LED顯示器顯示出來。鬧鈴電路根據(jù)計時系統(tǒng)的輸出狀態(tài)產(chǎn)生一脈沖信號,然后加上一個高頻或低頻信號送到放大電路驅(qū)動蜂鳴器發(fā)聲實現(xiàn)報時。校時電路是直接加一個脈沖信號到時計數(shù)器或者分計數(shù)器或者秒計數(shù)器來對“時”、“分”、“秒”顯示數(shù)字進行校對調(diào)整。是否設置了鬧鈴時十位、個位,分十位、個位改變了鬧鈴判別處理判當前時間是設定時間設置鬧鈴標志清除鬧鈴標志中斷返回中斷返回YNY圖7鬧鈴功能流程圖其流程圖如圖7所示:慮到實用性,在該電子鐘的設計中修改定時或調(diào)整時間時采用了閃爍,而且以定時20組鬧鐘。在編程上,首先進行了初始化定義了程序的入口地址以及中斷的入口地址,在主程序的開始定義了一組固定單元用來存儲計數(shù)的秒,分,時以及定時時間的序號等。在顯示程序段中主要進行了閃爍的處理,采用定時器中斷置標志位,再與位選相互結(jié)合的方法來控制調(diào)時或定時中的閃爍。時,分,秒顯示則是用了軟件譯碼(查表)的方式,再用了一段固定的程序段進行進制轉(zhuǎn)化。初始化之后,用中斷方式對其計數(shù),計數(shù)的同時采用了定時器比較的方法,比較當前計數(shù)時間與定時時間是否相等,若相等則將鬧鈴標志位置數(shù)。由于定義了定時鬧鐘組,在這里采用中斷組次,每中斷一次比較一組鬧鐘,避免了一次比較中斷時間過長,影響下次中斷時間。顯示之后查詢鬧鈴標志位是否與前面所置數(shù)相等,若相等則響鈴。為了避免響鈴影響顯示,采用了每顯示幾屏以后在顯示程序中出現(xiàn)脈沖,驅(qū)動喇叭,不會影響顯示。之后用查詢方式對按鍵進行判斷,若有鍵按下,則進行軟件延時消抖,避免了抖動引起的干擾,執(zhí)行相應的定時,選時或調(diào)時程序段。對當前時間或定時時間修改后又返回到最初的顯示程序段,如此循環(huán)下去。八 Proteus軟件仿真本次課程設計所采用的程序調(diào)試軟件為wave6000集成調(diào)試軟件,所采用的仿真軟件為protus 6 professional軟件。圖8 protus 6 professional軟件啟動界面1.本次試驗的效果圖如下所示:圖9 試驗的效果圖2.性能及誤差分析:該電子鐘有三個按鍵: A, B和C鍵。按A鍵進行校時,可以分別對時及分進行單獨校時,使其校正到標準時間,校時時需要校正哪一位哪一位就閃爍。按B鍵是對閃爍位進行加一或返回的操作。按C鍵調(diào)整定時時間和定時組數(shù),需要調(diào)整哪一位哪一位就閃爍,該電子鐘最多可定時20組鬧鐘。經(jīng)測試該電子鐘在一天的累計誤差約為0. 1秒。該電子鐘的誤差主要由晶振自身的誤差所造成,晶振的誤差約為0. 00010. 000001。在軟件的編程過程中所產(chǎn)生的誤差比較小,在重裝初值的過程中大概需要約8個機器周期,但在程序開始對定時器賦初值時,多加了8個機器周期,減小了這方面的誤差。另外在中斷的過程中,只會在第一次計時時產(chǎn)生時間的偏移,而它所產(chǎn)生累計誤差很小,可以忽略。結(jié)構(gòu)化軟件程序的調(diào)試一般可以將重點放在分模塊調(diào)試上,統(tǒng)調(diào)是最后一環(huán)。軟件調(diào)試可以采取離線調(diào)試和在線調(diào)試兩種方式。前者不需要硬件仿真器,可借助于軟件仿真器即可;后者一般需要仿真系統(tǒng)的支持。本次課設,采用wave6000集成調(diào)試軟件來調(diào)試程序,通過各個模塊程序的單步或跟蹤調(diào)試,使程序逐漸趨于正確,最后統(tǒng)調(diào)程序。仿真部分采用protus 6 professional軟件,此軟件功能強大且操作較為簡單,可以很容易的實現(xiàn)各種系統(tǒng)的仿真。首先打開protus 6 professional軟件,在元件庫中找到要選用的所有元件,然后進行原理圖的繪制;繪制好后再選擇wave6000已經(jīng)編譯好的*.hex文件,選擇運行,觀察顯示結(jié)果,根據(jù)顯示的結(jié)果和課設的要求再修改程序,再運行查,直到滿足要求。九 設計中的問題及解決方法在設計的過程中遇到問題是不可避免的,我遇到了很多問題,如下所示;1.做實物時無法驅(qū)動數(shù)碼管顯示,后來了解到可以加鎖存器,如74LS253,74LS573等等,還可以加三極管用來加大電流。當然如果換成液晶顯示屏的話就不需要考慮驅(qū)動不了的問題了。2.燒程序時沒發(fā)燒進去,需要改變最高和最低波特率,才能按照步驟把程序燒進去。3.仿真時沒問題的電路,在做好實物時發(fā)現(xiàn)無法運行。原因可能是程序出現(xiàn)問題,或者在連實物時線路連接錯誤等等都有可能。這是很難的一部分,需要查找出原因。在做實物的過程中我進行的很多檢查,有很多連接錯誤,最終又重新焊接的。4.復位電路在實物中可以運行,但是在仿真中不能正常運行。目前還未找到原因。十 設計心得這次設計中遇到了很多問題,例如剛開始我在在仿真時程序出現(xiàn)了每次按按鈕時總是顯示測量時需要關(guān)閉仿真的字樣,試了很多方法都沒有找到原因,最后才知道是因為按鈕太近的緣故。很多類似的經(jīng)歷讓我明白:1. 在設計程序之前,務必要對所學單片機課程的內(nèi)容有一個系統(tǒng)的了解,知道單片機片內(nèi)片外的內(nèi)容及其功能。 2. 設計程序關(guān)鍵要有一個清晰的思路和一個完整的軟件流程圖。模塊化的設計思想在程序設計中的作用是重大的,它可以為你提供一個比較清晰的思路,并且很容易找到頭緒,不至于在編寫一個程序時感覺到無從下手。 3. 在設計程序時,不能妄想一次就將整個程序設計好,反復修改,不斷改進是程序設計的必經(jīng)之路。程序剛開始編好時,一般情況下會存在很多錯誤,要不斷地修改,不斷的改進才能達到預期的目的,編寫程序的時間并不是很長,主要是花很多時間去修改程序。 4. 要養(yǎng)成注釋程序的好習慣,讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便。剛開始我在編寫程序時,很不習慣于寫注釋,感覺很麻煩,而且沒用,但是在修改的過程中我就遇到了較大的麻煩,以至于不得不重新的作了注釋,以增加程序的易讀性,從而使修改過程變得容易一些。 總之,通過這次課程設計不僅使我鞏固了本課程所學的基本知識,還使我具有了撰寫科研報告的初步訓練能力,我相信這些能力在我以后的工作或者是再學習中一定會起到不小的作用,一切的辛苦和艱難都是值得的。參考文獻1 康年光.電子技術(shù)基礎(數(shù)字部分)M.高等教育出版社.2005.07 2 曾 屹單片機原理與應用(第2版)M長沙:中南大學出版社,2009年5月4 劉樂喜.微機計算機接口技術(shù)及應用M.華中科技大學出版社.2005.085 楊剛,周群.電子系統(tǒng)設計與實踐.電子工業(yè)出版社.2004:18-23 341-347 118-1226 李群芳,肖看.單片機原理、接口及應用嵌入式系統(tǒng)技術(shù)基礎.清華大學出版社.2005.037 張毅剛,MCS-51單片機應用設計M哈爾濱工業(yè)大學出版社,20048 張淑清,姜萬錄等,單片微型計算機接口技術(shù)及應用M國防工業(yè)出版社,20039 吳金戌,沈慶陽,郭庭吉,8051單片機實踐與應用M清華大學出版社,2001致 謝這次課程設計能夠得以順利完成,是所有曾經(jīng)指導過我的老師,幫助過我的同學,一直支持著我的家人對我的教誨、幫助和鼓勵的結(jié)果。我要在這里對他們表示深深的謝意!首先,要特別感謝我的指導老師潘湘高老師。潘老師在我課程設計的過程中,給我提供了極大的幫助和指導。潘老師給我提供了許多寶貴建議。老師淵博的專業(yè)知識,嚴謹?shù)闹螌W態(tài)度,精益求精的工作作風,誨人不倦的高尚師德,樸實無華、平易近人的人格魅力對我影響深遠。不僅使我樹立了遠大的學術(shù)目標、掌握了基本的研究方法,還使我明白了許多待人接物與為人處世的道理。感謝潘老師對我的報告進行認真的評閱和認真的修改。其次,感謝我的父母親,你們是我力量的源泉,只要有你們,不管面對什么樣的困難,我都不會害怕,謝謝你們對我的支持與鼓勵!第三,要感謝所有曾經(jīng)給我們班任課的老師,老師們教會我的不僅僅是專業(yè)知識,更多的是對待學習、對待生活的態(tài)度。再次,感謝我的室友及其他好友,因為有你們的幫助,我的論文才能得以順利完成。謝謝你們在我不懂的時候給我的提點。在作圖和寫課程設計報告的時候每當我遇到什么不會的我都是去找陳海東同學,而你每次都會給我滿意的答案,我課程設計的完成絕對有你的一份功勞,謝謝你!感謝曹福明同學在我使用proteus和Kile軟件仿真遇到困難時給我的幫助。在此,我再一次真誠地向幫助過我的老師和同學表示感謝!附錄1 系統(tǒng)整體結(jié)構(gòu)電路原理圖附錄2 程序清單K1 EQU P1.0 ;在程序開始前定義變量 K2 EQU P1.1 K3 EQU P1.2 K4 EQU P1.3 ORG 0000H LJMP MAIN ORG 000BH LJMP TIME ORG 0100H MAIN:MOV SP,#50H MOV 20H,#00H ;時間 BIN SECOND MOV 21H,#00H ; BIN MINUTE MOV 22H,#00H ; BIN HOUR MOV 23H,#01H ;鬧鈴 BIN MINUTE MOV 24H,#01H ; BIN HOUR MOV 25H,#00H ;定義一個標志位 MOV 30H,#00H ;時間 BCD SECOND MOV 31H,#00H ; MOV 32H,#00H ; BCD MINUTE MOV 33H,#00H ; MOV 34H,#00H ; BCD HOUR MOV 35H,#00H ; MOV 36H,#01H ;鬧鈴 BCD MINUTE MOV 37H,#00H ; MOV 38H,#01H ; BCD HOUR MOV 39H,#00H ; MOV TMOD,#01H ;16位計數(shù)器 T0,方式1 MOV TH0,#03CH ;賦初值 MOV TL0,#0B0H MOV IE,#10000111B ;開中斷 T0,EA=1 SETB TR0 ;T0啟動計數(shù) MOV R2,#14H ;計數(shù)器 MOV P2,#0FFH LOOP:LCALL TIMEPRO ; 調(diào)用現(xiàn)在時間與鬧鈴時間比較程序 LCALL DISPLAY1 ; 調(diào)用現(xiàn)在時間顯示子程序 JB K1,M1 ; 判斷按鍵是否按下 LCALL XIAOZHEN1 ; 調(diào)用消抖程序 MOV C,25H.0 JC A1 A1:CLR 25H.0 LCALL SETTIME ; 調(diào)用設置現(xiàn)在時間子程序 LJMP LOOP M1:JB K2,M2 LCALL XIAOZHEN2 MOV C,25H.0 JC A2 A2:CLR 25H.0 LCALL SETATIME ; 調(diào)用設置鬧鐘的程序 LJMP LOOP M2:JB K4,M3 A3:LCALL XIAOZHEN3 MOV C,25H.0 JC A4 A4:CLR 25H.0 M3:LJMP LOOPSETTIME: L0:LCALL DISPLAY1 JB K2,L1 LCALL XIAOZHEN4 MOV C,25H.0 JC A5 A5:CLR 25H.0 INC 22H MOV A,22H CJNE A,#18H,GO12 MOV 22H,#00H MOV 34H,#00H MOV 35H,#00H LJMP L0 L1:JB K3,L2 LCALL XIAOZHEN5 MOV C,25H.0 JC A6 A6:CLR 25H.0 INC 21H MOV A,21H CJNE A,#3CH,GO11 MOV 21H,#00H MOV 32H,#00H MOV 33H,#00H LJMP L0 GO11:MOV B,#0AH DIV AB MOV 32H,B MOV 33H,A LJMP L0 GO12:MOV B,#0AH DIV AB MOV 34H,B MOV 35H,A LJMP L0 L2:JB K4,L0 LCALL XIAOZHEN3 MOV C,25H.0 JC AX AX:CLR 25H.0 RETSETATIME:LCALL DISPLAY2 ;調(diào)用鬧鐘設置,鬧鈴響時的顯示程序 N0:LCALL DISPLAY2 JB K3,N1 LCALL XIAOZHEN6 MOV C,25H.0 JC A7 A7:CLR 25H.0 INC 24H MOV A,24H CJNE A,#24,GO22 MOV 24H,#00H MOV 38H,#00H MOV 39H,#00H LJMP N0 N1:JB K1,N2 LCALL XIAOZHEN7 MOV C,25H.0 JC A8 A8:CLR 25H.0 INC 23H MOV A,23H CJNE A,#60,GO21 MOV 23H,#00H MOV 36H,#00H MOV 37H,#00H LJMP N0 GO21:MOV B,#0AH DIV AB MOV 36H,B MOV 37H,A LJMP N0 GO22:MOV B,#0AH DIV AB MOV 38H,B MOV 39H,A LJMP N0 N2:JB K4,N0 LCALL XIAOZHEN3 MOV C,25H.0 JC A9 A9:CLR 25H.0 RETTIMEPRO:MOV A,21H MOV B,23H CJNE A,B,BK MOV A,22H MOV B,24H CJNE A,B,BK SETB 25H.0 MOV C,25H.0 JC XX XX:LCALL TIMEOUT BK:RET TIMEOUT: X1:LCALL BZ LCALL DISPLAY2 CLR 25H.0 JB K4, X1 RET BZ:CLR P3.7 MOV R7,#250 T2:MOV R6,#124 T3:DJNZ R6,T3 DJNZ R7,T2 SETB P3.7 JB K4,XY LCALL XIAOZHEN3 MOV C,25H.0 JC XY1 XY:RET XY1:LJMP LOOPXIAOZHEN1:LCALL DISPLAY1 JB K1,XIAOZHEN1 MOV C,K1 JC XIAOZHEN1 LCALL DELAY MOV C,K1 JC XIAOZHEN1 STOP1:MOV C,K1 JNC STOP1 LCALL DELAY MOV C,K1 JNC STOP1 SETB 25H.0 RET XIAOZHEN2:LCALL DISPLAY2 JB K2,XIAOZHEN2 MOV C,K2 JC XIAOZHEN2 LCALL DELAY MOV C,K2 JC XIAOZHEN2 STOP2:MOV C,K2 JNC STOP2 LCALL DELAY MOV C,K2 JNC STOP2 SETB 25H.0 RET XIAOZHEN3:LCALL DISPLAY1 JB K4,XIAOZHEN3 MOV C,K4 JC XIAOZHEN3 LCALL DELAY MOV C,K4 JC XIAOZHEN3 STOP3:MOV C,K4 JNC STOP3 LCALL DELAY MOV C,K4 JNC STOP3 SETB 25H.0 RET XIAOZHEN4:LCALL DISPLAY1 JB K2,XIAOZHEN4 MOV C,K2 JC XIAOZHEN4 LCALL DELAY MOV C,K2 JC XIAOZHEN4 STOP4:MOV C,K2 JNC STOP4 LCALL DELAY MOV C,K2 JNC STOP4 SETB 25H.0 RET XIAOZHEN5:LCALL DISPLAY1 JB K3,XIAOZHEN5 MOV C,K3 JC XIAOZHEN5 LCALL DELAY MOV C,K3 JC XIAOZHEN5 STOP5:MOV C,K3 JNC STOP5 LCALL DELAY MOV C,K3 JNC STOP5 SETB 25H.0 RET XIAOZHEN6:LCALL DISPLAY2 JB K3,XIAOZHEN6 MOV C,K3 JC XIAOZHEN6 LCALL DELAY MOV C,K3 JC XIAOZHEN6 STOP6:MOV C,K3 JNC STOP6 LCALL DELAY MOV C,K3 JNC STOP6 SETB 25H.0 RET XIAOZHEN7:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 銀行金庫槍支管理辦法
- 松山湖景區(qū)限流管理辦法
- 易制毒管理庫房管理辦法
- 陜西會計檔案管理辦法
- 廈門地鐵保護區(qū)管理辦法
- 新加坡疫情用藥管理辦法
- 集團研發(fā)項目管理辦法
- 銀行機關(guān)加班管理辦法
- 新辦納稅人發(fā)票管理辦法
- 小微企業(yè)數(shù)據(jù)庫管理辦法
- 腦室腹腔分流術(shù)護理
- 2025年高等數(shù)學基礎考試試卷及答案
- GB/T 23280-2009開式壓力機精度
- GB/T 20041.21-2008電纜管理用導管系統(tǒng)第21部分:剛性導管系統(tǒng)的特殊要求
- GB/T 17213.4-2015工業(yè)過程控制閥第4部分:檢驗和例行試驗
- 教師師風師德培訓 課件
- GB/T 12718-2009礦用高強度圓環(huán)鏈
- GB 2811-1989安全帽
- 國家基本公共衛(wèi)生服務項目規(guī)范(第三版)培訓-教學課件
- 資產(chǎn)評估收費管理辦法(2023)2914
- DFMEA編制作業(yè)指導書新版
評論
0/150
提交評論