版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、-作者xxxx-日期xxxx單片機(jī)簡易時(shí)鐘課程設(shè)計(jì)【精品文檔】目錄1.概論12.整體設(shè)計(jì)思路22.1硬件各部分所能完成的功能32.2系統(tǒng)工作原理42.3時(shí)鐘各功能分析及圖解42.4.1電路各功能圖解分析42.4.2電路功能使用說明73. 軟件設(shè)計(jì)思路83.1 主程序模塊83.2 數(shù)碼管動態(tài)掃描模塊93.3 當(dāng)前時(shí)間計(jì)時(shí)模塊93.4 鬧鐘輸入輸出模塊103.5 當(dāng)前時(shí)間調(diào)整模塊123.6復(fù)位模塊134.系統(tǒng)的調(diào)試和性能分析144.1系統(tǒng)的調(diào)試方法144.1.1輸入按鍵的調(diào)試144.1.2復(fù)位電路的調(diào)試144.1.3顯示電路的調(diào)試144.1.4整個(gè)系統(tǒng)的聯(lián)調(diào)144.2心得體會15參考文獻(xiàn)15附錄1
2、6附錄A 系統(tǒng)原理圖16附錄B 程序源代碼17電氣信息學(xué)院課程設(shè)計(jì)評分表28單片機(jī)系統(tǒng)作為一種典型的嵌入式系統(tǒng),其系統(tǒng)設(shè)計(jì)包括硬件電路設(shè)計(jì)和軟件編程設(shè)計(jì)兩個(gè)方面, 其調(diào)試過程一般分為軟件調(diào)試、硬件測試、系統(tǒng)調(diào)試3個(gè)過程。如果采用單片機(jī)系統(tǒng)的虛擬仿真軟件Proteus,則不用制作具體的電路板也能夠完成以上工作。數(shù)字鐘是采用數(shù)字電路實(shí)現(xiàn)對時(shí),分,秒,數(shù)字顯示的計(jì)時(shí)裝置,由于數(shù)字集成電路的發(fā)展和石英晶體振蕩器的廣泛應(yīng)用,使得數(shù)字鐘的精度,遠(yuǎn)遠(yuǎn)超過老式鐘表,鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地?cái)U(kuò)展了鐘表的報(bào)時(shí)功能。數(shù)字鐘已成為人們?nèi)粘I钪械谋匦杵罚瑥V泛應(yīng)用于家庭、車站、碼頭、劇院、
3、辦公室等場所,給人們的生活、學(xué)習(xí)、工作帶來極大的方便4。不僅如此,在現(xiàn)代化的進(jìn)程中,也離不開電子鐘的相關(guān)功能和原理,比如機(jī)械手的控制、家務(wù)的自動化、定時(shí)自動報(bào)警、按時(shí)自動打鈴、時(shí)間程序自動控制、定時(shí)廣播、自動起閉路燈、定時(shí)開關(guān)烘箱、通斷動力設(shè)備、甚至各種定時(shí)電氣的自動啟用等,所有這些,都是以鐘表數(shù)字化為基礎(chǔ)的。而且是控制的核心部分。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。電子鐘在工業(yè)控制和日常生活中是很重要的,它不僅可以用于計(jì)時(shí)、提醒又可用于對機(jī)器的控制,在自動化的過程中必然有電子鐘的參與,因此電子鐘的應(yīng)用會越來越廣泛。而且向著精確、低功耗、多功能發(fā)展?;趩纹瑱C(jī)設(shè)計(jì)的數(shù)字鐘精確度較
4、高, 因?yàn)樵诔绦虻膱?zhí)行過程中, 任何指令都不影響定時(shí)器的正常計(jì)數(shù),即便程序很長也不會影響中斷的時(shí)間。從而,使數(shù)字鐘的精度僅僅取決于單片機(jī)的產(chǎn)生機(jī)器周期電路和定時(shí)器硬件電路的精確度。另外,程序較為簡潔,具有可靠性和較好的可讀性。如果我們想將它應(yīng)用于實(shí)時(shí)控制之中,只要對上述程序和硬件電路稍加修改,便可以得到實(shí)時(shí)控制的實(shí)用系統(tǒng),從而應(yīng)用到實(shí)際工作與生產(chǎn)中去。數(shù)字電子鐘的設(shè)計(jì)方法有多種,例如,可用中小規(guī)模集成電路組成電子鐘, 也可以利用專用的電子鐘芯片配以顯示電路及其所需要的外圍電路組成電子鐘還可以利用單片機(jī)來實(shí)現(xiàn)電子鐘等等。這些方法都各有特點(diǎn), 其中,利用單片機(jī)實(shí)現(xiàn)的電子鐘具有編程靈活, 便于功能擴(kuò)
5、充, 精確度高等特點(diǎn)。這部分主要介紹工作安排和整體設(shè)計(jì)的思想。工作過程規(guī)劃如下:熟悉硬件了解各引腳功能 分塊設(shè)計(jì)各部分電路 完成整體電路圖將分塊的電路組合認(rèn)真學(xué)習(xí)單片機(jī)C語言確定編程結(jié)構(gòu)和思路綜合各程序完成整體程序編輯各個(gè)程序模塊用Proteus畫出電路圖調(diào)試程序,進(jìn)行修改 對仿真中出現(xiàn)的問題 進(jìn)行改正畫出仿真圖進(jìn)行仿真準(zhǔn)備器件、搭接電路仿真成功軟硬件結(jié)合,完成任務(wù)書要求驗(yàn)證硬件電路成功對設(shè)計(jì)進(jìn)行總結(jié)和分析 圖2.1 整體設(shè)計(jì)思路 針對要實(shí)現(xiàn)的功能,擬采用AT89C51單片機(jī)進(jìn)行設(shè)計(jì),AT89C51 單片機(jī)是一款低功耗,高性能CMOS8位單片機(jī),片內(nèi)含4KB在線可編程(ISP)的可反復(fù)擦寫10
6、00次的Flash只讀程序存儲器,器件采用高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS- 51指令系統(tǒng)及80C51引腳結(jié)構(gòu)7。這樣,既能做到經(jīng)濟(jì)合理又能實(shí)現(xiàn)預(yù)期的功能。在程序方面,采用分塊設(shè)計(jì)的方法,這樣既減小了編程難度、使程序易于理解,又能便于添加各項(xiàng)功能。程序可分為顯示程序、調(diào)時(shí)顯示運(yùn)用這種方法,關(guān)鍵在于各模塊的兼容和配合,若各模塊不匹配會出現(xiàn)意想不到的錯誤。本電子鐘設(shè)計(jì)主要是依照圖2.1中的流程做出來的,時(shí)間分配比較均勻。首先,在編程之前必須了解硬件結(jié)構(gòu)尤其是各引腳的用法,以及內(nèi)部寄存器、存儲單元的用法,否則,編程無從下手,電路也無法設(shè)計(jì)。這是前期準(zhǔn)備工作。第二部分是硬件部分:依據(jù)想要的
7、功能分塊設(shè)計(jì)設(shè)計(jì),比如輸入需要開關(guān)電路,輸出需要顯示驅(qū)動電路和液晶電路等。第三部分是軟件部分:先學(xué)習(xí)理解C語言的編程方法再根據(jù)設(shè)計(jì)的硬件電路進(jìn)行分塊的編程調(diào)試,最終完成程序設(shè)計(jì)。第四部分是軟件畫圖部分:設(shè)計(jì)好電路后進(jìn)行畫圖,包括電路圖和仿真圖的繪制。第五部分是軟件仿真部分:軟硬件設(shè)計(jì)好后將軟件載入芯片中進(jìn)行仿真,仿真無法完成時(shí)檢查軟件程序和硬件電路并進(jìn)行修改直到仿真成功。第六部分是硬件實(shí)現(xiàn)部分:連接電路并導(dǎo)入程序檢查電路,若與設(shè)計(jì)的完全一樣一般能實(shí)現(xiàn)想要的功能。2.1硬件各部分所能完成的功能(1)單片機(jī)發(fā)送的信號通過程序控制最終在數(shù)碼管上顯示出來。(2)單片機(jī)通過輸出各種電脈沖信號來驅(qū)動控制各
8、部分正常工作。(3)為使時(shí)鐘走時(shí)與標(biāo)準(zhǔn)時(shí)間一致,校時(shí)電路是必不可少的,鍵盤用來校正數(shù)碼管上顯示的時(shí)間。(4)單片機(jī)通過控制鬧鈴電路來完成定時(shí)鬧鐘的功能。(5)單片機(jī)通過程序?qū)︳[鈴信號燈進(jìn)行控制,可方便我們對鬧鈴的開關(guān)以及是否在鬧鈴進(jìn)行觀察。(6)由于要設(shè)置定時(shí)功能,所以配置了對鬧鐘設(shè)置的鍵盤。2.2系統(tǒng)工作原理設(shè)計(jì)的電路主要由四模塊構(gòu)成:時(shí)間顯示電路、信號顯示電路、鍵盤控制電路、外設(shè)鬧鈴電路以及核心控制電路詳細(xì)電路功能圖如圖2-2:圖2-2 詳細(xì)電路功能圖本設(shè)計(jì)采用匯編語言程序設(shè)計(jì),使單片機(jī)控制數(shù)碼管顯示時(shí)、分、秒,當(dāng)秒計(jì)數(shù)計(jì)滿60時(shí)就向分進(jìn)位,分計(jì)數(shù)器計(jì)滿60后向時(shí)計(jì)數(shù)器進(jìn)位,小時(shí)計(jì)數(shù)器按“
9、23翻0”規(guī)律計(jì)數(shù)。時(shí)、分、秒的計(jì)數(shù)結(jié)果經(jīng)過數(shù)據(jù)處理可直接送顯示器顯示。設(shè)計(jì)采用的是時(shí)、分、秒顯示,單片機(jī)對數(shù)據(jù)進(jìn)行處理同時(shí)在數(shù)碼管上顯示。2.3時(shí)鐘各功能分析及圖解(1) 時(shí)鐘運(yùn)行圖仿真開始運(yùn)行時(shí),或按下K7鍵時(shí),時(shí)鐘從00:00:00開始運(yùn)行,其中按下K1鍵可進(jìn)入當(dāng)前時(shí)間調(diào)節(jié),K2和K3分別負(fù)責(zé)加一和減一,K5鍵為確認(rèn)鍵。時(shí)鐘運(yùn)行圖如圖 2-3 所示:圖2-3 時(shí)鐘運(yùn)行圖(2) 鬧鐘開關(guān)指示圖當(dāng)按下K4鍵后,可進(jìn)入鬧鐘設(shè)時(shí)控制,設(shè)置完后按確認(rèn),按下K6,即開鬧鐘,信號顯示區(qū)得開/關(guān)鬧鐘信號燈點(diǎn)亮,表示當(dāng)時(shí)間到達(dá)鬧鐘的時(shí)間時(shí),鬧鈴響;再次按下鬧鈴,為關(guān)鬧鈴,此時(shí)的信號顯示區(qū)得開/關(guān)鬧鐘信號燈
10、熄滅。如下圖2-4:圖2-4鬧鐘開關(guān)指示圖(3)鬧鈴運(yùn)行圖當(dāng)時(shí)間到達(dá)鬧鐘設(shè)置的時(shí)間時(shí),蜂鳴器會按每秒兩次的頻率響,鬧鐘指示燈也會閃爍。如下圖2-5:圖2-5鬧鈴運(yùn)行圖該數(shù)字鐘是用一片AT89C51單片機(jī)通過編程去驅(qū)動8個(gè)數(shù)碼管實(shí)現(xiàn)的。通過7個(gè)開關(guān)控制,從上到下7個(gè)開關(guān)K1-K7的功能分別為: K1:設(shè)置當(dāng)前時(shí)間時(shí)/分/秒 K2:加一按鍵 K3:減一按鍵 K4:設(shè)置鬧鐘時(shí)間時(shí)/分/秒 K5: 確認(rèn)/關(guān)閉鬧鈴 K6:開/關(guān)鬧鐘 K7: 復(fù)位控制鍵分別與P1.0P1.6口連接,通過P2口和P3口去控制數(shù)碼管的顯示如圖所示P2口接數(shù)碼管的ag端,是控制輸出編碼,P3口接數(shù)碼管的18端,是控制動態(tài)掃描輸
11、出從P3.6輸出一個(gè)信號使二極管發(fā)光,二極管在設(shè)置的鬧鐘時(shí)間到了時(shí)候發(fā)光,P3.7接一個(gè)蜂鳴器,若有樂曲可以去驅(qū)動揚(yáng)聲器實(shí)現(xiàn)。 (1) 各個(gè)控制鍵的功能:可對時(shí)間進(jìn)行校準(zhǔn)調(diào)節(jié)(只能加);按下設(shè)置鍵數(shù)字時(shí)鐘進(jìn)入鬧鐘設(shè)置狀態(tài),設(shè)置鬧鐘的時(shí)間;時(shí)加、分加鍵是在校準(zhǔn)時(shí)間時(shí)或設(shè) 置鬧鐘時(shí)間對小時(shí)數(shù)或分鐘數(shù)調(diào)節(jié)而設(shè)置的;按下秒切換鍵就可以進(jìn)入秒表模式,同時(shí)秒表也開始計(jì)時(shí),按下秒表暫停、復(fù)位鍵就暫停、歸零,如果要重新對秒計(jì)時(shí)則可以按秒表開始、復(fù)位;清零鍵可以對鬧鐘清零。 (2)AT89C51單片機(jī),通過編寫程序?qū)?shù)碼顯示進(jìn)行控制。 (3) 八個(gè)7段數(shù)碼管顯示時(shí)鐘信號。3. 軟件設(shè)計(jì)思路 根據(jù)設(shè)計(jì)的要求與內(nèi)容
12、,我們將該軟件設(shè)計(jì)成七個(gè)模塊,他們包括:主程序、數(shù)碼管動態(tài)掃描模塊、當(dāng)前時(shí)間計(jì)時(shí)模塊、鬧鐘輸入輸出模塊、當(dāng)前時(shí)間調(diào)整模塊、數(shù)制轉(zhuǎn)換模塊以及復(fù)位模塊。3.1 主程序模塊主程序模塊是單片機(jī)最先編譯運(yùn)行的模塊,所以在這個(gè)模塊里,我們要設(shè)置主程序和各個(gè)中斷服務(wù)程序的入口地址、各種初始化以及開關(guān)掃描等。MCS-51系列單片機(jī)復(fù)位后,(PC)=0000H,而0003H002BH分別為各中斷的入口地址。所以,編程時(shí)應(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)
13、指令,并以跳轉(zhuǎn)指令的目標(biāo)地址作為中斷服務(wù)程序的起始地址進(jìn)行編程。初始化,是對將要用到的MCS-51系列單片機(jī)內(nèi)部部件或擴(kuò)展芯片進(jìn)行初始工作狀態(tài)設(shè)定。下圖3-1是我們設(shè)計(jì)該主程序模塊的程序框圖。圖3-1主程序設(shè)計(jì)框圖3.2 數(shù)碼管動態(tài)掃描模塊在數(shù)碼管動態(tài)掃描模塊里,包含了兩個(gè)子程序,一個(gè)是顯示子程序,另一個(gè)是顯示延時(shí)1MS子程序。其中顯示延時(shí)1MS子程序是用軟件延時(shí)的方法進(jìn)行的,過程較簡單,這里就不畫出它的程序框圖,下圖3-2為顯示子程序的程序框圖。圖3-2顯示子程序3.3 當(dāng)前時(shí)間計(jì)時(shí)模塊本軟件中的當(dāng)前時(shí)間計(jì)時(shí)模塊實(shí)際上是T0定時(shí)器的中斷服務(wù)程序,我們將T0定時(shí)器工作在方式一中,并讓它每50M
14、S產(chǎn)生一次中斷。每產(chǎn)生一次中斷,進(jìn)入中斷服務(wù)程序后,T0定時(shí)器重新轉(zhuǎn)載初始值。MS50(它是對50MS中斷次數(shù)統(tǒng)計(jì)的存儲單元地址標(biāo)號)就會自加一,接著對MS50進(jìn)行判斷,如果MS50沒有到達(dá)20次(即一秒的時(shí)間),就返回到主程序。如果到達(dá)20次,MS50將清零,并將MIAO(MIAO是對秒進(jìn)行計(jì)數(shù)的存儲單元地址標(biāo)號)將自加一。接著判斷MIAO是否到達(dá)60次,沒到就返回,到了60秒,MIAO將被清零,F(xiàn)EN(FEN是對分進(jìn)行計(jì)數(shù)的存儲單元地址標(biāo)號)自加一。再判斷FEN,過程與判斷MIAO相識,也是到達(dá)60分就進(jìn)1時(shí)并對分清零,時(shí)的寄存器地址標(biāo)號是SHI,因?yàn)橐惶熘挥?4小時(shí),所以,如果SHI計(jì)數(shù)
15、到了24時(shí),它將對SHI、FEN、MIAO同時(shí)清零。下圖3-3為該中斷服務(wù)的程序框圖圖3-3T0中斷服務(wù)程序3.4 鬧鐘輸入輸出模塊由于鬧鐘輸入輸出模塊要實(shí)現(xiàn)的功能較多,所以它是我們該軟件中設(shè)計(jì)耗時(shí)最長的一個(gè)模塊,也是最復(fù)雜的一個(gè)模塊。而我們對其采取再分子模塊策略,我們對該模塊劃分了6個(gè)子模塊:設(shè)置鬧鐘時(shí)間子模塊、鬧鐘開關(guān)子模塊、檢查鬧鐘子模塊、鬧鐘指示燈亮子模塊、鬧鐘轉(zhuǎn)換子模塊、蜂鳴器子模塊。下面將逐個(gè)說明各個(gè)子模塊的功能。設(shè)置鬧鐘時(shí)間子模塊:該模塊實(shí)現(xiàn)的功能是,當(dāng)設(shè)置鬧鐘時(shí)間的鍵盤被按下時(shí),則進(jìn)入該子模塊,通過對各個(gè)指定按鍵的操作來實(shí)現(xiàn)鬧鐘時(shí)間的設(shè)置。鬧鐘開關(guān)子模塊:該模塊實(shí)現(xiàn)的功能是,對
16、鬧鐘的工作狀態(tài)進(jìn)行開關(guān),當(dāng)為開時(shí),鬧鐘時(shí)間到后,鬧鐘指示燈會亮以及蜂鳴器會響;當(dāng)為關(guān)時(shí),即便鬧鐘時(shí)間到了,鬧鐘指示燈不會亮以及蜂鳴器不會響。檢查鬧鐘子模塊:該模塊實(shí)現(xiàn)的功能是,它是在主程序中被循環(huán)調(diào)用的,每調(diào)用一次,它會把當(dāng)前時(shí)間與鬧鐘時(shí)間進(jìn)行比較,如果當(dāng)前時(shí)間與鬧鐘時(shí)間相同且鬧鐘開關(guān)為開,則調(diào)用鬧鐘指示燈亮子模塊和蜂鳴器子模塊;否則繼續(xù)運(yùn)行主程序。鬧鐘指示燈亮子模塊:該模塊的功能是,當(dāng)時(shí)間到時(shí),它將使鬧鐘指示燈以每秒兩次的頻率閃爍,閃爍三十秒后熄滅。蜂鳴器子模塊:該模塊的功能是,當(dāng)時(shí)間到時(shí),它將使鬧鐘指示燈以每秒兩次的頻率響,響三十秒后停止響聲。鬧鐘轉(zhuǎn)換子模塊:由于在寄存器中存儲的是十六進(jìn)制
17、的數(shù),不能存儲十進(jìn)制的數(shù),且我們用的LED燈是共陽極的,所以在要輸出顯示鬧鐘的時(shí)間前,要進(jìn)行鬧鐘數(shù)制轉(zhuǎn)換。故該模塊的功能是實(shí)現(xiàn)對鬧鐘時(shí)間寄存器中的內(nèi)容進(jìn)行數(shù)制轉(zhuǎn)換。對鬧鐘設(shè)計(jì)成六個(gè)子模塊,使我們更容易得設(shè)計(jì)出鬧鐘所要實(shí)現(xiàn)的功能,這也就是模塊化的好處,將一個(gè)大型的問題劃分為若干個(gè)小問題,對這若干小問題進(jìn)行設(shè)計(jì),最好通過參數(shù)把這些小模塊連成一個(gè)大的模塊,從而解決問題。下圖3-4是對這六個(gè)模塊之間的聯(lián)系的描述。圖3-4 鬧鐘輸入輸出模塊3.5 當(dāng)前時(shí)間調(diào)整模塊當(dāng)前時(shí)間調(diào)整模塊是用來按用戶的需要對當(dāng)前所顯示的時(shí)間進(jìn)行設(shè)置,本軟件的設(shè)計(jì)思路是通過對相關(guān)的時(shí)間設(shè)置按鍵的掃描進(jìn)行時(shí)間設(shè)置。具體思路如下圖3-
18、5:圖3-5 時(shí)間調(diào)整模塊3.6復(fù)位模塊復(fù)位模塊是對當(dāng)前時(shí)間和鬧鐘時(shí)間進(jìn)行復(fù)位,復(fù)位后的結(jié)果是當(dāng)前時(shí)間變?yōu)?0-00-00,鬧鐘時(shí)間變?yōu)?0-00-00。由于該模塊較為簡單,就不展示其設(shè)計(jì)思路了。就將其結(jié)果仿真圖展示如下圖3-6。圖3-6復(fù)位結(jié)果圖4.系統(tǒng)的調(diào)試和性能分析4.1系統(tǒng)的調(diào)試方法整個(gè)系統(tǒng)調(diào)試的主要思想是:先每個(gè)模塊進(jìn)行調(diào)試,然后整個(gè)系統(tǒng)一起調(diào)試。先軟硬件分開調(diào)試,然后一起調(diào)試。遵循先部分后整體的原則。系統(tǒng)的在調(diào)試過程中要注意以下幾點(diǎn):(1)硬件電路焊完之后,在上電之前一定要先用萬用表檢測電源和地之間是否短路。(2)上電之后要用示波器觀察信號的在電路中變化的情況,與設(shè)計(jì)當(dāng)初的情況相比
19、較,找出差別,并進(jìn)行分析。(3)軟件調(diào)試過程中可以使用斷點(diǎn)、單步執(zhí)行等常用的方法。(4)軟硬件聯(lián)調(diào)時(shí),要注意軟件部分要一個(gè)功能一個(gè)功能的調(diào)試。4.1.1輸入按鍵的調(diào)試輸入按鍵的調(diào)試,只要按鍵按下去時(shí),按鍵有相應(yīng)的反應(yīng)就行,通過程序來判斷,單片機(jī)I/O是否能夠識別出。4.1.2復(fù)位電路的調(diào)試當(dāng)電源剛接通時(shí),接通電源就完成了系統(tǒng)的初始化。4.1.3顯示電路的調(diào)試在本設(shè)計(jì)中,顯示電路只需完成,當(dāng)輸入數(shù)字時(shí)能正確顯示數(shù)字。4.1.4整個(gè)系統(tǒng)的聯(lián)調(diào)在系統(tǒng)各個(gè)部分都調(diào)試完畢之后,即可以進(jìn)行整個(gè)系統(tǒng)的調(diào)試。由于前面各個(gè)部分的調(diào)試做的都比較充分,所以在實(shí)際調(diào)試過程中,能夠較順利的實(shí)現(xiàn)整個(gè)系統(tǒng)預(yù)期的功能。心得體
20、會課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域, 在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握單片機(jī)的開發(fā)技術(shù)是十分重要的?;仡櫰鸫舜螁纹瑱C(jī)課程設(shè)計(jì),我仍感慨頗多,的確,從選題到定稿,從理論到實(shí)踐,在這兩個(gè)星期的日子里,可以說得是苦多于甜,但是可以學(xué)到很多的東西,同時(shí)不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到過的知識。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,
21、只有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實(shí)際動手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,比如說不懂一些元器件的使用方法,對單片機(jī)匯編語言掌握得不好通過這次課程設(shè)計(jì)之后,一定把以前所學(xué)過的知識重新溫故。這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多編程問題,最后在老師的辛勤指導(dǎo)下,終于游逆而解。同時(shí),在老師那里我學(xué)得到很多實(shí)用的知識,在次我表示感謝!參考文獻(xiàn)1、單片機(jī)原理及應(yīng)用李建忠 編
22、 西安電子科技大學(xué)出版社2、單片微型計(jì)算機(jī)原理與接口技術(shù) 高峰 編 電子工業(yè)出版社3、單片機(jī)應(yīng)用新技術(shù)教程鄒逢興 編 高等教育出版社4、16位微型計(jì)算機(jī)原理接口及其應(yīng)用 朱宇光 編 電子工業(yè)出版社5、微型計(jì)算機(jī)原理與接口技術(shù) 吳秀清 編 中國科學(xué)技術(shù)出版社6、微型計(jì)算機(jī)接口技術(shù) 鄧亞平 編 清華大學(xué)出版社 7、單片機(jī)原理及及應(yīng)用 王迎旭 編 機(jī)械工業(yè)出版社附錄附錄A 系統(tǒng)原理圖附錄B 程序源代碼MS50 EQU 30H SHI EQU 31H FEN EQU 32H MIAO EQU 33H BUF EQU 34H HH EQU 40H FF EQU 41H MM EQU 42H MOV SP
23、,#60H;- ORG 00HAJMP MAIN ORG 0BH AJMP TIME0 MAIN: SETB DENG 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)換子程
24、序 MOV A,SHI ;轉(zhuǎn)換小時(shí) 存到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,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
25、 MOV BUF+6,A MOV A,B MOVC A,A+DPTR MOV BUF+7,A MOV BUF+2,#0BFH ;第三個(gè)位置顯示一杠 MOV BUF+5,#0BFH ;第五個(gè)位置顯示一杠 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,D
26、Y MOV R1,#BUFDY: DJNZ R2,Dp1 RET;-BIAO: CPL ALB ;鬧鐘開關(guān) CPL BIAOZBIAO1: ACALL CONV ACALL DISPLAY JNB K6,BIAO1 RET;-SETTIME: ;設(shè)置時(shí)間 CLR TR0TT: ACALL DISPLAY ;設(shè)置小時(shí)TS: JNB K1,TTTSS: ACALL DISPLAYS JNB K1,TF JNB K2,JIAS JNB K3,JIANS JNB K5,QUE SJMP TSSJIAS: INC SHI ;加時(shí)子程序 MOV A,SHI CJNE A,#24,K2S MOV SHI,#
27、0K2S: ACALL CONV ACALL DISPLAY JNB K2,K2S SJMP TSSJIANS: DEC SHI ;減時(shí)子程序 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,J
28、IAM JNB K3,JIANM JNB K5,QUE JMP TMMJIAM: INC MIAO ;加秒 MOV 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
29、 JNB K1,TM JNB K2,JIAF JNB K3,JIANF JNB K5,QUE JMP TFFJIAF: 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: ;時(shí)閃子程序 MOV R3,#20DISS: MOV
30、R1,#BUF+2 MOV A,#04H MOV R2,#6 ACALL DP1 DJNZ R3,DISS MOV 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,#01
31、H MOV R2,#6 ACALL DP1 DJNZ R3,DISM MOV R3,#20 ACALL DIS2 RET;-SETNAO:;設(shè)置鬧鐘時(shí)間TTN: ACALL CONVNAO ACALL DISPLAY ;鬧設(shè)置小時(shí)TSN: JNB K4,TTNTSSN: ACALL DISPLAYS JNB K4,TFN JNB K2,JIASN JNB K3,JIANSN JNB K5,QUEN SJMP TSSNJIASN: INC HH ;鬧加時(shí)子程序 MOV A,HH CJNE A,#24,K2SN MOV HH,#0K2SN: ACALL CONVNAO ACALL DISPLAY
32、JNB K2,K2SN SJMP TSSNJIANSN: DEC HH ;鬧減時(shí)子程序 MOV A,HH CJNE 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 TMMNJI
33、AMN: INC MM ;鬧加秒 MOV A,MM CJNE A,#60,K2MN MOV MM,#0K2MN: 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 J
34、NB K2,JIAFN JNB K3,JIANFN JNB K5,QUEN JMP TFFNJIAFN: INC 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
35、 MIAO,#0 MOV MS50,#0 RET;-NAOPRO: ;檢查鬧鐘 JB ALB,TI3 RETTI3: 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)換小時(shí) 存到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 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,#1011111
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 招投標(biāo)項(xiàng)目成本控制與優(yōu)化
- 節(jié)能減排廉潔自律招投標(biāo)守則
- 咖啡館租賃合同草稿
- 腹股溝斜疝修補(bǔ)術(shù)后護(hù)理
- 建筑施工勞務(wù)合同:旅游設(shè)施建設(shè)
- 醫(yī)療機(jī)構(gòu)市場營銷與市場定位
- 公路充電設(shè)施維護(hù)合同范本
- 木材加工安全事故預(yù)防
- 屋頂修復(fù)漏水施工合同
- 制造業(yè)用工規(guī)范承諾書
- 《手表基礎(chǔ)知識》課件
- GB/T 28054-2023鋼質(zhì)無縫氣瓶集束裝置
- 小學(xué)《道德與法治》課程學(xué)習(xí)評價(jià)
- 2023年度武漢房地產(chǎn)市場報(bào)告2024.1.12
- 2024線上沖鋒衣市場趨勢報(bào)告
- 新人教版九年級下數(shù)學(xué)27-1《圖形的相似》課件
- 全國優(yōu)質(zhì)課一等獎七年級心理健康教育《學(xué)習(xí)心理-學(xué)習(xí)從心開始》課件
- 基礎(chǔ)拓?fù)鋵W(xué)講義答案尤承業(yè)
- 高考模擬作文“相信與懷疑”導(dǎo)寫及范文
- 新人教版高中地理必修一第四章第一節(jié)-常見的地貌類型
- 荔枝包裝工藝設(shè)計(jì)
評論
0/150
提交評論