基于AT89C51單片機(jī)的簡易時鐘設(shè)計.doc
《基于AT89C51單片機(jī)的簡易時鐘設(shè)計.doc》由會員分享,可在線閱讀,更多相關(guān)《基于AT89C51單片機(jī)的簡易時鐘設(shè)計.doc(35頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、廣西理工職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(論文)說明書題 目: 簡易電子時鐘設(shè)計 系 別: 電氣工程系 專業(yè)班級: 11機(jī)電2 姓 名: 黃武錦 學(xué) 號: 20112323 指導(dǎo)教師: 黎有好 二一三年七月二十四日目 錄1.概論12.整體設(shè)計思路22.1硬件各部分所能完成的功能32.2系統(tǒng)工作原理42.3時鐘各功能分析及圖解42.4.1電路各功能圖解分析42.4.2電路功能使用說明73. 軟件設(shè)計思路83.1 主程序模塊83.2 數(shù)碼管動態(tài)掃描模塊93.3 當(dāng)前時間計時模塊93.4 鬧鐘輸入輸出模塊103.5 當(dāng)前時間調(diào)整模塊123.6復(fù)位模塊134.系統(tǒng)的調(diào)試和性能分析144.1系統(tǒng)的調(diào)試方法144.1
2、.1輸入按鍵的調(diào)試144.1.2復(fù)位電路的調(diào)試144.1.3顯示電路的調(diào)試144.1.4整個系統(tǒng)的聯(lián)調(diào)144.2心得體會15參考文獻(xiàn)15附錄16附錄A 系統(tǒng)原理圖16附錄B 程序源代碼17電氣信息學(xué)院課程設(shè)計評分表281.概論單片機(jī)系統(tǒng)作為一種典型的嵌入式系統(tǒng),其系統(tǒng)設(shè)計包括硬件電路設(shè)計和軟件編程設(shè)計兩個方面, 其調(diào)試過程一般分為軟件調(diào)試、硬件測試、系統(tǒng)調(diào)試3個過程。如果采用單片機(jī)系統(tǒng)的虛擬仿真軟件Proteus,則不用制作具體的電路板也能夠完成以上工作。數(shù)字鐘是采用數(shù)字電路實現(xiàn)對時,分,秒,數(shù)字顯示的計時裝置,由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘
3、表,鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴(kuò)展了鐘表的報時功能。數(shù)字鐘已成為人們?nèi)粘I钪械谋匦杵?,廣泛應(yīng)用于家庭、車站、碼頭、劇院、辦公室等場所,給人們的生活、學(xué)習(xí)、工作帶來極大的方便4。不僅如此,在現(xiàn)代化的進(jìn)程中,也離不開電子鐘的相關(guān)功能和原理,比如機(jī)械手的控制、家務(wù)的自動化、定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關(guān)烘箱、通斷動力設(shè)備、甚至各種定時電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。而且是控制的核心部分。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非常現(xiàn)實的意義。電子鐘在工業(yè)控制和日常生活中是很重要的,它不僅可以用于計時、提醒又
4、可用于對機(jī)器的控制,在自動化的過程中必然有電子鐘的參與,因此電子鐘的應(yīng)用會越來越廣泛。而且向著精確、低功耗、多功能發(fā)展?;趩纹瑱C(jī)設(shè)計的數(shù)字鐘精確度較高, 因為在程序的執(zhí)行過程中, 任何指令都不影響定時器的正常計數(shù),即便程序很長也不會影響中斷的時間。從而,使數(shù)字鐘的精度僅僅取決于單片機(jī)的產(chǎn)生機(jī)器周期電路和定時器硬件電路的精確度。另外,程序較為簡潔,具有可靠性和較好的可讀性。如果我們想將它應(yīng)用于實時控制之中,只要對上述程序和硬件電路稍加修改,便可以得到實時控制的實用系統(tǒng),從而應(yīng)用到實際工作與生產(chǎn)中去。數(shù)字電子鐘的設(shè)計方法有多種,例如,可用中小規(guī)模集成電路組成電子鐘, 也可以利用專用的電子鐘芯片配
5、以顯示電路及其所需要的外圍電路組成電子鐘還可以利用單片機(jī)來實現(xiàn)電子鐘等等。這些方法都各有特點, 其中,利用單片機(jī)實現(xiàn)的電子鐘具有編程靈活, 便于功能擴(kuò)充, 精確度高等特點。2.整體設(shè)計思路這部分主要介紹工作安排和整體設(shè)計的思想。工作過程規(guī)劃如下:熟悉硬件了解各引腳功能 分塊設(shè)計各部分電路 完成整體電路圖將分塊的電路組合認(rèn)真學(xué)習(xí)單片機(jī)C語言確定編程結(jié)構(gòu)和思路綜合各程序完成整體程序編輯各個程序模塊用Proteus畫出電路圖調(diào)試程序,進(jìn)行修改 對仿真中出現(xiàn)的問題 進(jìn)行改正畫出仿真圖進(jìn)行仿真準(zhǔn)備器件、搭接電路仿真成功軟硬件結(jié)合,完成任務(wù)書要求驗證硬件電路成功對設(shè)計進(jìn)行總結(jié)和分析 圖2.1 整體設(shè)計思路
6、 針對要實現(xiàn)的功能,擬采用AT89C51單片機(jī)進(jìn)行設(shè)計,AT89C51 單片機(jī)是一款低功耗,高性能CMOS8位單片機(jī),片內(nèi)含4KB在線可編程(ISP)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS- 51指令系統(tǒng)及80C51引腳結(jié)構(gòu)7。這樣,既能做到經(jīng)濟(jì)合理又能實現(xiàn)預(yù)期的功能。在程序方面,采用分塊設(shè)計的方法,這樣既減小了編程難度、使程序易于理解,又能便于添加各項功能。程序可分為顯示程序、調(diào)時顯示運用這種方法,關(guān)鍵在于各模塊的兼容和配合,若各模塊不匹配會出現(xiàn)意想不到的錯誤。本電子鐘設(shè)計主要是依照圖2.1中的流程做出來的,時間分配比較均勻。首
7、先,在編程之前必須了解硬件結(jié)構(gòu)尤其是各引腳的用法,以及內(nèi)部寄存器、存儲單元的用法,否則,編程無從下手,電路也無法設(shè)計。這是前期準(zhǔn)備工作。第二部分是硬件部分:依據(jù)想要的功能分塊設(shè)計設(shè)計,比如輸入需要開關(guān)電路,輸出需要顯示驅(qū)動電路和液晶電路等。第三部分是軟件部分:先學(xué)習(xí)理解C語言的編程方法再根據(jù)設(shè)計的硬件電路進(jìn)行分塊的編程調(diào)試,最終完成程序設(shè)計。第四部分是軟件畫圖部分:設(shè)計好電路后進(jìn)行畫圖,包括電路圖和仿真圖的繪制。第五部分是軟件仿真部分:軟硬件設(shè)計好后將軟件載入芯片中進(jìn)行仿真,仿真無法完成時檢查軟件程序和硬件電路并進(jìn)行修改直到仿真成功。第六部分是硬件實現(xiàn)部分:連接電路并導(dǎo)入程序檢查電路,若與設(shè)計
8、的完全一樣一般能實現(xiàn)想要的功能。2.1硬件各部分所能完成的功能(1)單片機(jī)發(fā)送的信號通過程序控制最終在數(shù)碼管上顯示出來。(2)單片機(jī)通過輸出各種電脈沖信號來驅(qū)動控制各部分正常工作。(3)為使時鐘走時與標(biāo)準(zhǔn)時間一致,校時電路是必不可少的,鍵盤用來校正數(shù)碼管上顯示的時間。(4)單片機(jī)通過控制鬧鈴電路來完成定時鬧鐘的功能。(5)單片機(jī)通過程序?qū)︳[鈴信號燈進(jìn)行控制,可方便我們對鬧鈴的開關(guān)以及是否在鬧鈴進(jìn)行觀察。(6)由于要設(shè)置定時功能,所以配置了對鬧鐘設(shè)置的鍵盤。2.2系統(tǒng)工作原理設(shè)計的電路主要由四模塊構(gòu)成:時間顯示電路、信號顯示電路、鍵盤控制電路、外設(shè)鬧鈴電路以及核心控制電路詳細(xì)電路功能圖如圖2-2
9、:圖2-2 詳細(xì)電路功能圖本設(shè)計采用匯編語言程序設(shè)計,使單片機(jī)控制數(shù)碼管顯示時、分、秒,當(dāng)秒計數(shù)計滿60時就向分進(jìn)位,分計數(shù)器計滿60后向時計數(shù)器進(jìn)位,小時計數(shù)器按“23翻0”規(guī)律計數(shù)。時、分、秒的計數(shù)結(jié)果經(jīng)過數(shù)據(jù)處理可直接送顯示器顯示。設(shè)計采用的是時、分、秒顯示,單片機(jī)對數(shù)據(jù)進(jìn)行處理同時在數(shù)碼管上顯示。2.3時鐘各功能分析及圖解2.4.1電路各功能圖解分析(1) 時鐘運行圖仿真開始運行時,或按下K7鍵時,時鐘從00:00:00開始運行,其中按下K1鍵可進(jìn)入當(dāng)前時間調(diào)節(jié),K2和K3分別負(fù)責(zé)加一和減一,K5鍵為確認(rèn)鍵。時鐘運行圖如圖 2-3 所示:圖2-3 時鐘運行圖(2) 鬧鐘開關(guān)指示圖當(dāng)按下
10、K4鍵后,可進(jìn)入鬧鐘設(shè)時控制,設(shè)置完后按確認(rèn),按下K6,即開鬧鐘,信號顯示區(qū)得開/關(guān)鬧鐘信號燈點亮,表示當(dāng)時間到達(dá)鬧鐘的時間時,鬧鈴響;再次按下鬧鈴,為關(guān)鬧鈴,此時的信號顯示區(qū)得開/關(guān)鬧鐘信號燈熄滅。如下圖2-4:圖2-4鬧鐘開關(guān)指示圖(3)鬧鈴運行圖當(dāng)時間到達(dá)鬧鐘設(shè)置的時間時,蜂鳴器會按每秒兩次的頻率響,鬧鐘指示燈也會閃爍。如下圖2-5:圖2-5鬧鈴運行圖該數(shù)字鐘是用一片AT89C51單片機(jī)通過編程去驅(qū)動8個數(shù)碼管實現(xiàn)的。通過7個開關(guān)控制,從上到下7個開關(guān)K1-K7的功能分別為: K1:設(shè)置當(dāng)前時間時/分/秒 K2:加一按鍵 K3:減一按鍵 K4:設(shè)置鬧鐘時間時/分/秒 K5: 確認(rèn)/關(guān)閉鬧
11、鈴 K6:開/關(guān)鬧鐘 K7: 復(fù)位控制鍵分別與P1.0P1.6口連接,通過P2口和P3口去控制數(shù)碼管的顯示如圖所示P2口接數(shù)碼管的ag端,是控制輸出編碼,P3口接數(shù)碼管的18端,是控制動態(tài)掃描輸出從P3.6輸出一個信號使二極管發(fā)光,二極管在設(shè)置的鬧鐘時間到了時候發(fā)光,P3.7接一個蜂鳴器,若有樂曲可以去驅(qū)動揚(yáng)聲器實現(xiàn)。2.4.2電路功能使用說明 (1) 各個控制鍵的功能:可對時間進(jìn)行校準(zhǔn)調(diào)節(jié)(只能加);按下設(shè)置鍵數(shù)字時鐘進(jìn)入鬧鐘設(shè)置狀態(tài),設(shè)置鬧鐘的時間;時加、分加鍵是在校準(zhǔn)時間時或設(shè) 置鬧鐘時間對小時數(shù)或分鐘數(shù)調(diào)節(jié)而設(shè)置的;按下秒切換鍵就可以進(jìn)入秒表模式,同時秒表也開始計時,按下秒表暫停、復(fù)位
12、鍵就暫停、歸零,如果要重新對秒計時則可以按秒表開始、復(fù)位;清零鍵可以對鬧鐘清零。 (2)AT89C51單片機(jī),通過編寫程序?qū)?shù)碼顯示進(jìn)行控制。 (3) 八個7段數(shù)碼管顯示時鐘信號。3. 軟件設(shè)計思路 根據(jù)設(shè)計的要求與內(nèi)容,我們將該軟件設(shè)計成七個模塊,他們包括:主程序、數(shù)碼管動態(tài)掃描模塊、當(dāng)前時間計時模塊、鬧鐘輸入輸出模塊、當(dāng)前時間調(diào)整模塊、數(shù)制轉(zhuǎn)換模塊以及復(fù)位模塊。3.1 主程序模塊主程序模塊是單片機(jī)最先編譯運行的模塊,所以在這個模塊里,我們要設(shè)置主程序和各個中斷服務(wù)程序的入口地址、各種初始化以及開關(guān)掃描等。MCS-51系列單片機(jī)復(fù)位后,(PC)=0000H,而0003H002BH分別為各中斷
13、的入口地址。所以,編程時應(yīng)在0000H處寫一條跳轉(zhuǎn)指令。當(dāng)CPU接受到中斷請求信號并予以相應(yīng)后,CPU把當(dāng)前的PC內(nèi)容壓入棧中進(jìn)行保護(hù),然后轉(zhuǎn)入相應(yīng)的只能中斷服務(wù)程序入口處執(zhí)行。一般應(yīng)在相應(yīng)的中斷服務(wù)程序入口處寫一條跳轉(zhuǎn)指令,并以跳轉(zhuǎn)指令的目標(biāo)地址作為中斷服務(wù)程序的起始地址進(jìn)行編程。初始化,是對將要用到的MCS-51系列單片機(jī)內(nèi)部部件或擴(kuò)展芯片進(jìn)行初始工作狀態(tài)設(shè)定。下圖3-1是我們設(shè)計該主程序模塊的程序框圖。圖3-1主程序設(shè)計框圖3.2 數(shù)碼管動態(tài)掃描模塊在數(shù)碼管動態(tài)掃描模塊里,包含了兩個子程序,一個是顯示子程序,另一個是顯示延時1MS子程序。其中顯示延時1MS子程序是用軟件延時的方法進(jìn)行的,
14、過程較簡單,這里就不畫出它的程序框圖,下圖3-2為顯示子程序的程序框圖。圖3-2顯示子程序3.3 當(dāng)前時間計時模塊本軟件中的當(dāng)前時間計時模塊實際上是T0定時器的中斷服務(wù)程序,我們將T0定時器工作在方式一中,并讓它每50MS產(chǎn)生一次中斷。每產(chǎn)生一次中斷,進(jìn)入中斷服務(wù)程序后,T0定時器重新轉(zhuǎn)載初始值。MS50(它是對50MS中斷次數(shù)統(tǒng)計的存儲單元地址標(biāo)號)就會自加一,接著對MS50進(jìn)行判斷,如果MS50沒有到達(dá)20次(即一秒的時間),就返回到主程序。如果到達(dá)20次,MS50將清零,并將MIAO(MIAO是對秒進(jìn)行計數(shù)的存儲單元地址標(biāo)號)將自加一。接著判斷MIAO是否到達(dá)60次,沒到就返回,到了60
15、秒,MIAO將被清零,F(xiàn)EN(FEN是對分進(jìn)行計數(shù)的存儲單元地址標(biāo)號)自加一。再判斷FEN,過程與判斷MIAO相識,也是到達(dá)60分就進(jìn)1時并對分清零,時的寄存器地址標(biāo)號是SHI,因為一天只有24小時,所以,如果SHI計數(shù)到了24時,它將對SHI、FEN、MIAO同時清零。下圖3-3為該中斷服務(wù)的程序框圖圖3-3T0中斷服務(wù)程序3.4 鬧鐘輸入輸出模塊由于鬧鐘輸入輸出模塊要實現(xiàn)的功能較多,所以它是我們該軟件中設(shè)計耗時最長的一個模塊,也是最復(fù)雜的一個模塊。而我們對其采取再分子模塊策略,我們對該模塊劃分了6個子模塊:設(shè)置鬧鐘時間子模塊、鬧鐘開關(guān)子模塊、檢查鬧鐘子模塊、鬧鐘指示燈亮子模塊、鬧鐘轉(zhuǎn)換子模
16、塊、蜂鳴器子模塊。下面將逐個說明各個子模塊的功能。設(shè)置鬧鐘時間子模塊:該模塊實現(xiàn)的功能是,當(dāng)設(shè)置鬧鐘時間的鍵盤被按下時,則進(jìn)入該子模塊,通過對各個指定按鍵的操作來實現(xiàn)鬧鐘時間的設(shè)置。鬧鐘開關(guān)子模塊:該模塊實現(xiàn)的功能是,對鬧鐘的工作狀態(tài)進(jìn)行開關(guān),當(dāng)為開時,鬧鐘時間到后,鬧鐘指示燈會亮以及蜂鳴器會響;當(dāng)為關(guān)時,即便鬧鐘時間到了,鬧鐘指示燈不會亮以及蜂鳴器不會響。檢查鬧鐘子模塊:該模塊實現(xiàn)的功能是,它是在主程序中被循環(huán)調(diào)用的,每調(diào)用一次,它會把當(dāng)前時間與鬧鐘時間進(jìn)行比較,如果當(dāng)前時間與鬧鐘時間相同且鬧鐘開關(guān)為開,則調(diào)用鬧鐘指示燈亮子模塊和蜂鳴器子模塊;否則繼續(xù)運行主程序。鬧鐘指示燈亮子模塊:該模塊的
17、功能是,當(dāng)時間到時,它將使鬧鐘指示燈以每秒兩次的頻率閃爍,閃爍三十秒后熄滅。蜂鳴器子模塊:該模塊的功能是,當(dāng)時間到時,它將使鬧鐘指示燈以每秒兩次的頻率響,響三十秒后停止響聲。鬧鐘轉(zhuǎn)換子模塊:由于在寄存器中存儲的是十六進(jìn)制的數(shù),不能存儲十進(jìn)制的數(shù),且我們用的LED燈是共陽極的,所以在要輸出顯示鬧鐘的時間前,要進(jìn)行鬧鐘數(shù)制轉(zhuǎn)換。故該模塊的功能是實現(xiàn)對鬧鐘時間寄存器中的內(nèi)容進(jìn)行數(shù)制轉(zhuǎn)換。對鬧鐘設(shè)計成六個子模塊,使我們更容易得設(shè)計出鬧鐘所要實現(xiàn)的功能,這也就是模塊化的好處,將一個大型的問題劃分為若干個小問題,對這若干小問題進(jìn)行設(shè)計,最好通過參數(shù)把這些小模塊連成一個大的模塊,從而解決問題。下圖3-4是對
18、這六個模塊之間的聯(lián)系的描述。圖3-4 鬧鐘輸入輸出模塊3.5 當(dāng)前時間調(diào)整模塊當(dāng)前時間調(diào)整模塊是用來按用戶的需要對當(dāng)前所顯示的時間進(jìn)行設(shè)置,本軟件的設(shè)計思路是通過對相關(guān)的時間設(shè)置按鍵的掃描進(jìn)行時間設(shè)置。具體思路如下圖3-5:圖3-5 時間調(diào)整模塊3.6復(fù)位模塊復(fù)位模塊是對當(dāng)前時間和鬧鐘時間進(jìn)行復(fù)位,復(fù)位后的結(jié)果是當(dāng)前時間變?yōu)?0-00-00,鬧鐘時間變?yōu)?0-00-00。由于該模塊較為簡單,就不展示其設(shè)計思路了。就將其結(jié)果仿真圖展示如下圖3-6。圖3-6復(fù)位結(jié)果圖4.系統(tǒng)的調(diào)試和性能分析4.1系統(tǒng)的調(diào)試方法整個系統(tǒng)調(diào)試的主要思想是:先每個模塊進(jìn)行調(diào)試,然后整個系統(tǒng)一起調(diào)試。先軟硬件分開調(diào)試,然
19、后一起調(diào)試。遵循先部分后整體的原則。系統(tǒng)的在調(diào)試過程中要注意以下幾點:(1)硬件電路焊完之后,在上電之前一定要先用萬用表檢測電源和地之間是否短路。(2)上電之后要用示波器觀察信號的在電路中變化的情況,與設(shè)計當(dāng)初的情況相比較,找出差別,并進(jìn)行分析。(3)軟件調(diào)試過程中可以使用斷點、單步執(zhí)行等常用的方法。(4)軟硬件聯(lián)調(diào)時,要注意軟件部分要一個功能一個功能的調(diào)試。4.1.1輸入按鍵的調(diào)試輸入按鍵的調(diào)試,只要按鍵按下去時,按鍵有相應(yīng)的反應(yīng)就行,通過程序來判斷,單片機(jī)I/O是否能夠識別出。4.1.2復(fù)位電路的調(diào)試當(dāng)電源剛接通時,接通電源就完成了系統(tǒng)的初始化。4.1.3顯示電路的調(diào)試在本設(shè)計中,顯示電路
20、只需完成,當(dāng)輸入數(shù)字時能正確顯示數(shù)字。4.1.4整個系統(tǒng)的聯(lián)調(diào)在系統(tǒng)各個部分都調(diào)試完畢之后,即可以進(jìn)行整個系統(tǒng)的調(diào)試。由于前面各個部分的調(diào)試做的都比較充分,所以在實際調(diào)試過程中,能夠較順利的實現(xiàn)整個系統(tǒng)預(yù)期的功能。4.2心得體會課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學(xué)生實際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計算機(jī)應(yīng)用中空前活躍的領(lǐng)域, 在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握單片機(jī)的開發(fā)技術(shù)是十分重要的?;仡櫰鸫舜螁纹瑱C(jī)課程設(shè)計,我仍感慨頗多,的確,從選題到定稿,從理論到實踐
21、,在這兩個星期的日子里,可以說得是苦多于甜,但是可以學(xué)到很多的東西,同時不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,比如說不懂一些元器件的使用方法,對單片機(jī)匯編語言掌握得不好通過這次課程設(shè)計
22、之后,一定把以前所學(xué)過的知識重新溫故。這次課程設(shè)計終于順利完成了,在設(shè)計中遇到了很多編程問題,最后在老師的辛勤指導(dǎo)下,終于游逆而解。同時,在老師那里我學(xué)得到很多實用的知識,在次我表示感謝!參考文獻(xiàn)1、單片機(jī)原理及應(yīng)用李建忠 編 西安電子科技大學(xué)出版社2、單片微型計算機(jī)原理與接口技術(shù) 高峰 編 電子工業(yè)出版社3、單片機(jī)應(yīng)用新技術(shù)教程鄒逢興 編 高等教育出版社4、16位微型計算機(jī)原理接口及其應(yīng)用 朱宇光 編 電子工業(yè)出版社5、微型計算機(jī)原理與接口技術(shù) 吳秀清 編 中國科學(xué)技術(shù)出版社6、微型計算機(jī)接口技術(shù) 鄧亞平 編 清華大學(xué)出版社 7、單片機(jī)原理及及應(yīng)用 王迎旭 編 機(jī)械工業(yè)出版社附錄附錄A 系統(tǒng)
23、原理圖附錄B 程序源代碼MS50 EQU 30H SHI EQU 31H FEN EQU 32H MIAO EQU 33H BUF EQU 34H HH EQU 40H FF EQU 41H MM EQU 42HDENG BIT P3.5 BIAOZ BIT P3.6 SPK BIT P3.7ALB EQU 20H.0K1 BIT P1.0K2 BIT P1.1K3 BIT P1.2K4 BIT P1.3K5 BIT P1.4K6 BIT P1.5K7 BIT P1.6MOV SP,#60H;- ORG 00HAJMP MAIN ORG 0BH AJMP TIME0 MAIN: SETB DE
24、NG CLR ALB ACALL CHUSHI ACALL INTOLOOP: ACALL NAOPRO ACALL CONV ACALL DISPLAY JB K6,LOOP1 ACALL BIAO SJMP LOOPLOOP1: JB K1,LOOP2 ACALL SETTIME SJMP LOOPLOOP2: JB K4,LOOP3 ACALL SETNAO SJMP LOOPLOOP3: JB K7,LOOP ACALL RST SJMP LOOP;-CONV: ;轉(zhuǎn)換子程序 MOV A,SHI ;轉(zhuǎn)換小時 存到34 35H MOV B,#10 DIV AB MOV DPTR,#TAB
25、 MOVC A,A+DPTR MOV BUF,A MOV A,B MOVC A,A+DPTR MOV BUF+1,A MOV A,FEN ;轉(zhuǎn)換分 存到37 38H MOV B,#10 DIV AB MOV DPTR,#TAB MOVC A,A+DPTR MOV BUF+3,A MOV A,B MOVC A,A+DPTR MOV BUF+4,A MOV A,MIAO ;轉(zhuǎn)換秒 存到40 41H MOV B,#10 DIV AB MOV DPTR,#TAB MOVC A,A+DPTR MOV BUF+6,A MOV A,B MOVC A,A+DPTR MOV BUF+7,A MOV BUF+2,
26、#0BFH ;第三個位置顯示一杠 MOV BUF+5,#0BFH ;第五個位置顯示一杠 RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;陽碼表;-DISPLAY: ;顯示子程序 MOV R1,#BUF MOV A,#01H MOV R2,#8 Dp1:MOV P2,A PUSH ACC MOV A,R1 MOV P0,A ACALL DELAY POP ACC RL A INC R1 CJNE R1,#BUF+8,DY MOV R1,#BUFDY: DJNZ R2,Dp1 RET;-BIAO: CPL ALB ;鬧鐘開關(guān) CPL
27、 BIAOZBIAO1: ACALL CONV ACALL DISPLAY JNB K6,BIAO1 RET;-SETTIME: ;設(shè)置時間 CLR TR0TT: ACALL DISPLAY ;設(shè)置小時TS: JNB K1,TTTSS: ACALL DISPLAYS JNB K1,TF JNB K2,JIAS JNB K3,JIANS JNB K5,QUE SJMP TSSJIAS: INC SHI ;加時子程序 MOV A,SHI CJNE A,#24,K2S MOV SHI,#0K2S: ACALL CONV ACALL DISPLAY JNB K2,K2S SJMP TSSJIANS:
28、DEC SHI ;減時子程序 MOV A,SHI CJNE A,#255,K3S MOV SHI,#23K3S: ACALL CONV ACALL DISPLAY JNB K3,K3S SJMP TSSQUE: ACALL BZ SETB TR0QQ: ACALL CONV ACALL DISPLAY JNB K5,QQ LJMP LOOP;-TM: ACALL DISPLAY ;設(shè)置秒 JNB K1,TMTMM: ACALL DISPLAYM JNB K1,TS JNB K2,JIAM JNB K3,JIANM JNB K5,QUE JMP TMMJIAM: INC MIAO ;加秒 MOV
29、 A,MIAO CJNE A,#60,K2M MOV MIAO,#0K2M: ACALL CONV ACALL DISPLAY JNB K2,K2M JMP TMMJIANM: DEC MIAO ;減秒 MOV A,MIAO CJNE A,#255,K3M MOV MIAO,#59K3M: ACALL CONV ACALL DISPLAY JNB K3,K3M JMP TMM;-TF: ACALL DISPLAY ;設(shè)置分鐘 JNB K1,TFTFF: ACALL DISPLAYF JNB K1,TM JNB K2,JIAF JNB K3,JIANF JNB K5,QUE JMP TFFJIA
30、F: INC FEN ;加分鐘 MOV A,FEN CJNE A,#60,K2F MOV FEN,#0K2F: ACALL CONV ACALL DISPLAY JNB K2,K2F JMP TFFJIANF: DEC FEN ;減分鐘 MOV A,FEN CJNE A,#255,K3F MOV FEN,#59K3F: ACALL CONV ACALL DISPLAY JNB K3,K3F JMP TFF;-DISPLAYS: ;時閃子程序 MOV R3,#20DISS: MOV R1,#BUF+2 MOV A,#04H MOV R2,#6 ACALL DP1 DJNZ R3,DISS MOV
31、 R3,#20DIS2: MOV R1,#BUF MOV A,#01H MOV R2,#8 ACALL DP1 DJNZ R3,DIS2 RETDISPLAYF: ;分閃子程序 MOV R3,#20DISF: MOV R1,#BUF+5 MOV A,#20H MOV R2,#6 ACALL DP1 DJNZ R3,DISF MOV R3,#20 ACALL DIS2 RET DISPLAYM: ;秒閃子程序 MOV R3,#20DISM: MOV R1,#BUF MOV A,#01H MOV R2,#6 ACALL DP1 DJNZ R3,DISM MOV R3,#20 ACALL DIS2
32、RET;-SETNAO:;設(shè)置鬧鐘時間TTN: ACALL CONVNAO ACALL DISPLAY ;鬧設(shè)置小時TSN: JNB K4,TTNTSSN: ACALL DISPLAYS JNB K4,TFN JNB K2,JIASN JNB K3,JIANSN JNB K5,QUEN SJMP TSSNJIASN: INC HH ;鬧加時子程序 MOV A,HH CJNE A,#24,K2SN MOV HH,#0K2SN: ACALL CONVNAO ACALL DISPLAY JNB K2,K2SN SJMP TSSNJIANSN: DEC HH ;鬧減時子程序 MOV A,HH CJNE
33、 A,#255,K3SN MOV HH,#23K3SN: ACALL CONVNAO ACALL DISPLAY JNB K3,K3SN SJMP TSSNQUEN: ACALL BZ SETB TR0 LJMP LOOP;-TMN: ACALL CONVNAO ACALL DISPLAY ;鬧設(shè)置秒 JNB K4,TMNTMMN: ACALL DISPLAYM JNB K4,TSN JNB K2,JIAMN JNB K3,JIANMN JNB K5,QUEN JMP TMMNJIAMN: INC MM ;鬧加秒 MOV A,MM CJNE A,#60,K2MN MOV MM,#0K2MN:
34、ACALL CONVNAO ACALL DISPLAY JNB K2,K2MN JMP TMMNJIANMN: DEC MM ;鬧減秒 MOV A,MM CJNE A,#255,K3MN MOV MM,#59K3MN: ACALL CONVNAO ACALL DISPLAY JNB K3,K3MN JMP TMMN;-TFN: ACALL CONVNAO ACALL DISPLAY ;鬧設(shè)置分鐘 JNB K4,TFNTFFN: ACALL DISPLAYF JNB K4,TMN JNB K2,JIAFN JNB K3,JIANFN JNB K5,QUEN JMP TFFNJIAFN: INC
35、FF ;鬧加分鐘 MOV A,FF CJNE A,#60,K2FN MOV FF,#0K2FN: ACALL CONVNAO ACALL DISPLAY JNB K2,K2FN JMP TFFNJIANFN: DEC FF ;減分鐘 MOV A,FF CJNE A,#255,K3FN MOV FF,#59K3FN: ACALL CONVNAO ACALL DISPLAY JNB K3,K3FN JMP TFFN;-RST: ;復(fù)位 MOV SHI,#0 MOV FEN,#0 MOV MIAO,#0 MOV MS50,#0 RET;-NAOPRO: ;檢查鬧鐘 JB ALB,TI3 RETTI3
36、: MOV A,SHI MOV B,HH CJNE A,B,BK MOV A,FEN MOV B,FF CJNE A,B,BK MOV A,MIAO MOV B,MM CJNE A,B,BK ACALL TIMEOUTBK: RET;-CONVNAO: ;轉(zhuǎn)換子程序 MOV A,HH ;轉(zhuǎn)換小時 存到34 35H MOV B,#10 DIV AB MOV DPTR,#TAB MOVC A,A+DPTR MOV BUF,A MOV A,B MOVC A,A+DPTR MOV BUF+1,A MOV A,FF ;轉(zhuǎn)換分 存到37 38H MOV B,#10 DIV AB MOV DPTR,#TAB
37、 MOVC A,A+DPTR MOV BUF+3,A MOV A,B MOVC A,A+DPTR MOV BUF+4,A MOV A,MM ;轉(zhuǎn)換秒 存到40 41H MOV B,#10 DIV AB MOV DPTR,#TAB MOVC A,A+DPTR MOV BUF+6,AMOV A,BMOVC A,A+DPTRMOV BUF+7,AMOV BUF+2,#10111111B ;第三個位置顯示一杠MOV BUF+5,#10111111B ;第五個位置顯示一杠RET;-TIMEOUT: ;鬧鐘指示燈亮 MOV R0,#30X4: MOV R3,#2X3: MOV R4,#10 X1: CPL
38、 DENG ACALL CONV JB K5,X9 SJMP X6X9: ACALL DISPLAY DJNZ R4,X1 JB K5,X8 SJMP X6X8: ACALL BZ DJNZ R3,X3 JB K5,X7 SJMP X6X7: MOV R4,#95X2: CPL DENG ACALL CONV JB K5,X10 SJMP X6X10: ACALL DISPLAY DJNZ R4,X2 DJNZ R0,X5 SETB DENG LJMP LOOPX5: JB K5,X4X6: SETB DENG RET;-BZ: ;蜂鳴器 MOV R5,#100BZ2: CPL SPK ACA
39、LL DELAYB DJNZ R5,BZ2 RETDELAYB: ;蜂鳴延時1MS MOV R6,#2DLB: MOV R7,#98 DJNZ R7,$ DJNZ R6,DLB RET;-DELAY: ;顯示延時1MS MOV R6,#5DL1: MOV R7,#98 DJNZ R7,$ DJNZ R6,DL1 RET;-CHUSHI: ;設(shè)置初始時間 MOV SHI,#0 MOV FEN,#0 MOV MIAO,#0 MOV MS50,#0 MOV HH,#0;鬧鐘初始值 MOV FF,#0 MOV MM,#0 RET;-INTO:;定時器T0初始化 MOV TMOD,#01H MOV TL
40、0,#0B0H MOV TH0,#3CH MOV IE,#82H SETB TR0 RET;-TIME0: ;中斷服務(wù) PUSH ACC MOV TL0,#(65536-49980)MOD 256;考慮到軟件因素減少賦定時器為49980 MOV TH0,#(65536-49980)/256 INC MS50 MOV A,MS50 CJNE A,#20,TT1 MOV MS50,#0 INC MIAO MOV A,MIAO CJNE A,#60,TT1 MOV MIAO,#0 INC FEN MOV A,FEN CJNE A,#60,TT1 MOV FEN,#0 INC SHI MOV A,SH
41、I CJNE A,#24,TT1 MOV SHI,#0 MOV FEN,#0 MOV MIAO,#0TT1: POP ACC RETIEND電氣信息學(xué)院課程設(shè)計評分表項 目評 價優(yōu)良中及格差設(shè)計方案的合理性與創(chuàng)造性軟件設(shè)計完成情況硬件調(diào)試完成情況設(shè)計說明書與設(shè)計圖紙質(zhì)量答辯情況獨立工作能力完成任務(wù)情況出勤情況綜 合 評 分指導(dǎo)教師簽名:_ 日 期:_g an employment tribunal claimEmployment tribunals sort out disagreements between employers and employees.You may need to ma
42、ke a claim to an employment tribunal if: you dont agree with the disciplinary action your employer has taken against you your employer dismisses you and you think that you have been dismissed unfairly.For more information about dismissal and unfair dismissal, seeDismissal.You can make a claim to an
43、employment tribunal, even if you haventappealedagainst the disciplinary action your employer has taken against you. However, if you win your case, the tribunal may reduce any compensation awarded to you as a result of your failure to appeal.Remember that in most cases you must make an application to
44、 an employment tribunal within three months of the date when the event you are complaining about happened. If your application is received after this time limit, the tribunal will not usually accept it.If you are worried about how the time limits apply to you, take advice from one of the organisations listed underFurther help.Employment tribunals are less formal than some other courts, but it is still a legal process and you will need to give evidence under an oath or affirmation.Most people find making a claim to an employment tribunal challenging.
- 溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 水電站輔機(jī)設(shè)備及控制培訓(xùn)ppt課件
- 說數(shù)ppt粵教版課件
- 直腸癌術(shù)后放療-課件
- 倍的認(rèn)識課件
- 空氣流量傳感器
- 電子商務(wù)法第四章電子商務(wù)法基礎(chǔ)理論
- 部編版教材《快樂過新年》課件
- 人感染豬流感疫情概況及預(yù)防控制技術(shù)要點
- 金版-魯教地理-必修1-第二單元-單元活動分析判斷氣候類型匯總ppt課件
- 護(hù)士護(hù)理醫(yī)療醫(yī)院PPT模板課件
- 精密和超精密加工技術(shù)第10章精密和超精密加工的外部支撐環(huán)境ppt課件
- 手繪pop廣告的制作課件
- 自私基因讀書筆記課件
- 腎移植術(shù)后高血壓護(hù)理課件
- 桂枝香金陵懷優(yōu)質(zhì)ppt課件統(tǒng)編版