版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、<p> 畢 業(yè) 設 計 </p><p> 題目單片機作息時間的控制系統(tǒng)</p><p> 系別電氣工程系</p><p> 專業(yè)應用電子技術(shù)</p><p> 班級電技0801班</p><p><b> 設計任務書</b></p><p&g
2、t;<b> 設計題目</b></p><p><b> 作息時間的控制</b></p><p><b> 設計要求:</b></p><p> ?。?)作息時間能控制電鈴。</p><p> (2)作息時間能啟動和關閉放音機,使用6位七段顯示器來顯示現(xiàn)在的時間。(3)
3、顯示格式為“時分秒”從左到右依次顯示。</p><p> ?。?)具有按鍵來作功能設置,可以設置現(xiàn)在的時間及顯示定時設置時間一旦時間到則發(fā)出一陣聲響,同時繼電器啟動,可以控制放音機開。</p><p><b> 設計進度要求:</b></p><p> 第一周:領取題目,分析設計題目原理及設計思路。 </p><p>
4、; 第二周:去圖書館查閱資料,制定大綱。</p><p> 第三周:編寫程序,擬定論文。</p><p> 第四周:上機調(diào)試程序,驗證實驗效果。</p><p> 第五周:根據(jù)設計要求,進行編排電子稿。</p><p> 第六周:由指導教師審核,進行更改指正。</p><p> 第七周:交正規(guī)電子稿,由指導
5、教師評閱。</p><p> 第八周:進行畢業(yè)論文答辯。</p><p> 指導教師(簽名): </p><p><b> 摘 要</b></p><p> 本設計詳細介紹了利用AT89C51單片機設計時間控制器的方法。該時間控制器是以AT89C51單片機為核心,擴展一片XIC
6、OR公司的X5045組成的小系統(tǒng),控制一路繼電器:可以設定一天中的時間,設定繼電器的開啟時間和關閉時間,可以清除不需要的定時,能夠緊急啟動:所有的設定均通過鍵盤實現(xiàn),按鍵具有連擊功能,每個狀態(tài)都有指示燈提示。我們設計的作息時間控制是用單片機實現(xiàn)的,是為了更好的對時間控制智能化。時間控制器包括硬件和軟件。硬件部分包括繼電器,存儲器和顯示器接口芯片。軟件部分,主要是主程序設計。軟硬件結(jié)合在一起,先調(diào)試子程序,然后逐級疊加調(diào)試,最后系統(tǒng)調(diào)試通
7、過。時間控制系統(tǒng)可以準確的顯示時間,在定時時間到時發(fā)出悅耳的鈴聲提醒同學們按時上下課。</p><p> 關鍵詞:單片機,控制,時間</p><p><b> 目 錄</b></p><p><b> 摘 要II</b></p><p> 1 總體設計方案1</p>
8、;<p> 2 硬件電路設計2</p><p> 2.1 AT89C51單片機簡介2</p><p> 2.2 LED動態(tài)顯示接口5</p><p> 2.3 按鍵部分7</p><p> 2.4 中斷的控制8</p><p><b> 3 軟件設計9</b
9、></p><p> 3.1 主程序的設計9</p><p> 3.2 中斷服務程序設計10</p><p> 3.3 查時子程序流程圖12</p><p> 3.4 按鍵子程序流程圖12</p><p><b> 4 調(diào)試過程14</b></p>
10、<p><b> 致 謝17</b></p><p><b> 參考文獻18</b></p><p><b> 附錄A19</b></p><p> 1 總體設計方案 </p><p> 本設計題目是單片機作息時間的
11、控制,根據(jù)設計要求,單片機作息時間的控制要實現(xiàn)時、分、秒的正常顯示。只有硬件和軟件的有效結(jié)合才能實現(xiàn)單片機作息時間時、分、秒的正常顯示。硬件主要由AT89C51單片機、復位電路,按鍵電路、顯示電路、繼電器和電源組成,其核心部分是CPU??傇O計圖如圖1.1所示</p><p> 圖1.1 總方案圖</p><p> 單片機即AT89C51芯片的主要功能是:存儲程序、對存儲程序進行相應
12、的處理從I/O口輸出。</p><p> 復位電路:在單片機上有一輸入復位引腳RST,在單片機外部用電容和電阻控制RST。</p><p> 顯示電路:主要用以實現(xiàn)作息時間控制的結(jié)果。</p><p> 電源部分:采用+5V的電源供電。</p><p><b> 2 硬件電路設計</b></p>&
13、lt;p> 2.1 AT89C51單片機簡介</p><p> AT89C51是一種低功耗、高性能的片內(nèi)含有4KB快閃可編程/擦除只讀存儲器的8位COMS微控制器,使用高密度,非易失存儲技術(shù)制造,并且與AT89C51引腳和指令系統(tǒng)完全兼容。芯片上的FPEROM允許在線編程或采用通用的非易失存儲編程器對存儲器重復編程。</p><p> AT89C51具有多種功能的8位CPU與
14、 結(jié)合在一個芯片上,為很多嵌入式控制應用提供了非常靈活而又便宜的方案,其性能價格比遠高于AT87C51。由于片內(nèi)帶EPROM的AT87C51價格偏高,而片內(nèi)帶FPEROM的AT89C51價格低且與INTEL80C51兼容,這就顯示出了AT89C51的優(yōu)越性。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的M
15、CS-51指令集和輸出管腳相兼容。 </p><p> 由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。</p><p> 2.1.1 AT89C51性能及特點</p><
16、;p> ?。?)與MCS-51微控制器產(chǎn)品系列兼容。</p><p> (2)片內(nèi)有4KB可在線重復編程的快閃擦寫存儲器(Flash Memory)。</p><p> ?。?)存儲器可循環(huán)寫入/擦除1000次。</p><p> (4)存儲數(shù)據(jù)保存時間為10年。</p><p> (5)寬工作電壓范圍:Vcc可為2.7V~6V。
17、</p><p> ?。?)全靜態(tài)工作:可從0HZ到16MHZ。</p><p> ?。?)程序存儲器具有3級加密保護。</p><p> ?。?)128*8位內(nèi)部RAM。</p><p> ?。?)32條可編程I/O線。</p><p> ?。?0)兩個16位定時器/計數(shù)器。</p><p>
18、 ?。?1)中斷結(jié)構(gòu)具有5個中斷源和2個優(yōu)先級。</p><p> ?。?2)可編程全雙工串行通道。</p><p> (13)空閑狀態(tài)維持低功耗和掉電狀態(tài)保存存儲內(nèi)容。</p><p> 2.1.2 片內(nèi)快閃存儲器</p><p> 由于EPROM具有在線改寫,并且在掉電狀態(tài)保存存儲數(shù)據(jù)的特點,可為用戶的特殊應用提供便利。但是擦除和
19、寫入對于要求數(shù)據(jù)高速吞吐的應用還顯得時間過長,這是EPROM芯片的主要缺陷。</p><p> 2.1.3 AT89C51的引腳及管腳說明</p><p> AT89C51的內(nèi)部硬件結(jié)構(gòu)中除了程序存儲器由FPEROM取代了87C51的EPROM外,其余部分完全相同。AT89C51的引腳與AT87C51的引腳完全兼容。如圖2.1所示為AT89C51的引腳圖:</p>&l
20、t;p><b> 圖2.1 引腳圖</b></p><p><b> 管腳說明:</b></p><p><b> VCC:供電電壓</b></p><p><b> GND:接地</b></p><p> P0口:P0口為一個8位漏級開路
21、雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。</p><p> P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作
22、輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。</p><p> P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外
23、部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。</p><p> P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P
24、3口將輸出電流(ILL)這是由于上拉的緣故。</p><p> P3口也可作為AT89C51的一些特殊功能口,如下所示:</p><p> P3.0 RXD(串行輸入口) </p><p> P3.1 TXD(串行輸出口)</p><p> P3.2(
25、外部中斷0)</p><p> P3.3 (外部中斷1)</p><p> P3.4 T0(記時器0外部輸入)</p><p> P3.5 T1(記時器1外部輸入)</p><p> P3.6 (外部數(shù)據(jù)存儲器寫選通)</p><p> P3.7(外部數(shù)據(jù)存儲器讀選通)</p><p>
26、; P3口同時為閃爍編程和編程校驗接收一些控制信號。</p><p> RST:復位輸入;當振蕩器復位器復位時,要保持RST腳兩個機器周期的高電平時間。</p><p> ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可
27、用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX、MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p> ?。和獠砍绦虼鎯ζ鞯倪x通信號。在由外部程序存儲器取指期間,每個機器周期兩次有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有
28、效的信號將不出現(xiàn)。 </p><p> /VPP:當保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,將內(nèi)部鎖定為RESET;當端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸
29、入。</p><p> XTAL2:來自反向振蕩器的輸出。</p><p><b> 振蕩器特性:</b></p><p> XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部
30、時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p> 2.2 LED動態(tài)顯示接口</p><p> 采用動態(tài)顯示方式比較節(jié)省I/O接口,硬件電路也較靜態(tài)顯示方式簡單,但其亮度不如靜態(tài)顯示方式,而且在顯示位數(shù)較多時,CPU要依次掃描,占用CPU較多的時間。</p><p><b> 1、動態(tài)顯示原理</b>&l
31、t;/p><p> LED動態(tài)顯示就是利用單片機依次輸出每一位數(shù)碼管的段選碼和對應于位碼管的位選擇控制信號。一位一位輪流點亮七段數(shù)碼管,對每位數(shù)碼管來說,每隔一段時間點亮一次,如此循環(huán),采用動態(tài)顯示方式比較節(jié)省I/O接口,硬件電路也比靜態(tài)顯示方式簡單。并利用89C51的I/O接口控制數(shù)碼管的段選碼,同時采用動態(tài)掃描方式,依次循環(huán)點亮各位數(shù)碼管,即可構(gòu)成多位動態(tài)顯示電路。6位數(shù)碼管均采用共陰極LED,P0口作為段選碼
32、輸出口,P1口作為位選碼輸出口。</p><p> 2、七段LED數(shù)碼管結(jié)構(gòu) </p><p> 七段LED數(shù)碼管構(gòu)成“日”字形,還有一只發(fā)光二極管作為小數(shù)點。因此,這種七段數(shù)碼管又可稱為八段數(shù)碼管。如圖2.2a所示,這八段發(fā)光管分別稱為a、b、c、d、e、f、g和dp。通過8個發(fā)光段的不同組合,可以顯示0-9和A-F等16個數(shù)字字母,從而可以實現(xiàn)十六進制整數(shù)和小數(shù)的顯示。LED數(shù)碼管
33、顯示器可以分為共陰極和共陽極兩種結(jié)構(gòu)。我本次設計所使用的是共陰極結(jié)構(gòu)。如圖2.2b 所示。</p><p> a、管腳配置 b、共陰極</p><p> 圖2.2 七段數(shù)碼管</p><p><b> 3、顯示的控制</b></p><p> 圖2.3 顯示電路</p>
34、<p> 如圖2.3所示。六位數(shù)碼管均采用LED,P0接口作為段選碼輸出口,8路驅(qū)動采用74LS244總線驅(qū)動器作為字形驅(qū)動芯片,經(jīng)過8路驅(qū)動電路后接至數(shù)碼管的各段,字形驅(qū)動輸出0時發(fā)光。C接口作為位選碼輸出口,6路驅(qū)動采用74LS07(OC門驅(qū)動器),當C接口線輸出1時,選通相應位的數(shù)碼管工作。</p><p><b> 2.3 按鍵部分</b></p>&
35、lt;p> 我們此次的設計使用查詢式按鍵,使用3個按鍵,是由單片機的P3接口接到查詢式按鍵的接口的。圖2.4是按鍵的電路原理圖:</p><p> 圖2.4 按鍵電路</p><p> 按下操作鍵K1-K3動作如下:</p><p> (1) 操作鍵K1:調(diào)整時;(K1由單片機P3.0控制)</p><p> (2) 操
36、作鍵K2:調(diào)整分;(K2由單片機P3.1控制)</p><p> ?。?) 操作鍵K3:調(diào)整秒;(K3由單片機P3.2控制)</p><p> 如果有按鍵按下,則相應輸出為低,否則輸出為高。單片機通過識別,判斷按下什么鍵,有鍵按下后,要有一定的延時,防止由于鍵盤抖動而引起誤操作。</p><p> 按鍵開關的去除抖動功能:</p><p&g
37、t; 通常消除抖動影響的方法有硬件、軟件兩種。在按鍵較少時,可采用硬件方法消除抖動。在按鍵較多時,可采用軟件方法消除抖動。根據(jù)按鍵的抖動時間為5-10毫秒,穩(wěn)定閉合時間一般為十分之幾至幾秒時間的特點,采用軟件消除抖動的方法是:在檢測到有按鍵按下時,執(zhí)行一個10毫秒左右的延時程序,而后,再確認該鍵電平是否仍保持閉合狀態(tài)電平, 則確認為該鍵處于閉合狀態(tài),這實際上是避開了按鍵按下時的抖動時間.同理在檢測到該鍵釋放后,也應采用相同的步驟進行確
38、認,從而可消除抖動的影響.本次設計我們采用軟件去抖的方式。</p><p> 2.4 中斷的控制</p><p> 1、中斷是指CPU對系統(tǒng)發(fā)生的某個事件作出的一種反應:CPU暫停正在執(zhí)行的程序,保留現(xiàn)場后自動地轉(zhuǎn)去執(zhí)行相應的處理程序,處理完該事件后再返回斷點繼續(xù)執(zhí)行被“打斷” 的程序。對中斷請求的整個處理過程是由硬件和軟件結(jié)合起來而形成的一套中斷機構(gòu)實施的。發(fā)生中斷時,CPU暫停執(zhí)
39、行當前的程序,而轉(zhuǎn)去處理中斷。這個由硬件對中斷請求作出反應的過程,稱之為中斷響應。一般說來,中斷響應順序執(zhí)行下述三步動作: </p><p> ?。?) 中止當前程序的執(zhí)行; </p><p> ?。?) 保存原程序的斷點信息(主要是程序計數(shù)器PC和程序狀態(tài)寄存器PS的內(nèi)容); </p><p> ?。?) 轉(zhuǎn)到相應的處理程序。</p><p&
40、gt; 2、實現(xiàn)同步工作:計算機有了中斷功能后,就解決了快速CPU與低速外設之間的矛盾,可以使CPU和外設同時工作。CPU啟動外設以后,繼續(xù)執(zhí)行主程序,同時外設也在工作。當外設把數(shù)據(jù)準備好后,就發(fā)出中斷請求,請求CPU中斷正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行中斷服務程序,中斷服務程序執(zhí)行完之后,CPU恢復執(zhí)行主程序,外設也繼續(xù)工作。這樣CPU可以指揮多個外設同時工作,從而大大提高了CPU的效率。 </p><p> 3、
41、 實時處理:在實時控制系統(tǒng)中,為使控制系統(tǒng)能保持在最佳工作狀態(tài),被控系統(tǒng)的各種控制參量可隨時向計算機發(fā)出中斷請求,要求CPU處理。對此,CPU必須作出快速響應和及時處理這種實時處理功能只有靠中斷技術(shù)才能實現(xiàn)。</p><p> 我們的設計需要使用許多次中斷,因為我們設計的時鐘計數(shù)是在中斷里面,還包括所設定的定時時間,都是有中斷來完成的。也就是每過1秒鐘系統(tǒng)就會向中斷申請中斷請求,查看所設置的時間到了,如果時間到
42、話中斷允許請求,執(zhí)行相應的中斷請求。也就是給單片機P2口送高電平使外接的電鈴開始動作,執(zhí)行此次的請求后,在進入下一次中斷的掃描。</p><p><b> 3 軟件設計</b></p><p> 單片機作息時間控制的動作利用時間計時處理來做秒計數(shù),當早晨所設置的起床時間6:00到了,電鈴就會自動開啟, 響十秒后電鈴關閉,第一節(jié)課7:50預備電鈴開啟10秒后自動關閉
43、,10分鐘之后上課鈴響起,正式上課。45分鐘后,電鈴又會自動打開提醒同學們下課。當所設置的課間操時間9:40到時繼電器就會自動啟動,由繼電器開啟放音機。所設時間為20分鐘到之后,由繼電器關閉放音機。到11:50時電鈴又會自動打開提醒同學們放學。</p><p> 當14:20分的時候電鈴又會自動打開,提醒同學們該上課了,做好上課準備,到15:15分的時候,電鈴又開始工作提醒同學們下課,到16:10分的時候繼電器
44、就會自動啟動,下課鈴響起,提醒同學們下課。</p><p> 這一切的定時是由單片機定時器負責定時計數(shù)的,不會因為按鍵處理而中斷時間秒數(shù)的增加,時,分,秒數(shù)據(jù)是存在變量內(nèi)并寫入七段顯示器的緩沖區(qū)內(nèi),而由顯示器掃描程序中定時掃描而顯示出時間。</p><p> 3.1 主程序的設計</p><p> 在主控程序循環(huán)中主要工作為掃描是否有按鍵,若有按鍵則應做相應
45、的功能處理,同時也掃描顯示器顯示時間數(shù)據(jù),并檢查所設置的時間是否到了,圖3.1為主程序控制的工作流程圖。時間計時處理程序是等過了1S后,則更新時間數(shù)據(jù),將最新的時,分,秒的數(shù)據(jù)轉(zhuǎn)換為數(shù)字數(shù)據(jù)并顯示在七段顯示器上。</p><p> 程序中是這樣判斷是否過了1S的:設一舊秒數(shù)變量,當新舊秒數(shù)變量不一樣時,則表示已過了1S,要做相關程序時間處理了。(主程序見附錄A)</p><p> 圖3
46、.1主程序流程圖</p><p> 3.2 中斷服務程序設計 </p><p> 我們的設計需要使用許多次中斷,因為我們設計的時鐘計數(shù)是在中斷里面,還包括所設定的定時時間,都是有中斷來完成的。如3.2圖所示的中斷程序流程圖。也就是每過1秒鐘系統(tǒng)就會向中斷申請中斷請求,查看所設置的時間到了,如果時間到話中斷允許請求,執(zhí)行相應的中斷請求。也就是給單片機P2口送高電平使外接的電鈴開始動作,
47、執(zhí)行此次的請求后,在進入下一次中斷的掃描。(程序見附錄A)</p><p> 圖3.2 中斷程序流程圖</p><p> 3.3 查時子程序流程圖</p><p> 查時子程序的作用:是將定義好的作息時間表調(diào)出來和電子鐘的時間作比較,看是否到規(guī)定的時間。若時間到進行報時,時間未到返回主程序。如圖3.3所示為查時子程序流程圖。</p><p
48、> 圖3.3 查時子程序流程圖</p><p> 3.4 按鍵子程序流程圖</p><p> 按鍵子程序的作用:是將作息時間控制系統(tǒng)中的時鐘程序進行調(diào)時。本子程序的優(yōu)點是在其中加了去抖動程序,兩次判別按鍵是否按下,使程序不被誤操作。顯示緩沖區(qū)用了三個字節(jié)單元,調(diào)時更容易,且節(jié)約了存儲空間。如圖3.4所示為按鍵子程序流程圖。</p><p> 圖3.
49、4 按鍵子程序流程圖</p><p><b> 4 調(diào)試過程</b></p><p> 打開Wave(偉福)軟件/新建文件/在D盤下新建趙會軍文件夾,文件名為zhaohuijun .asm保存在文件夾下。輸入程序進行編譯,編譯通過。如4.1圖所示</p><p> 圖4.1 程序通過編譯</p><p> 打
50、開keil uVision2 project/new project文件名為zhao保存在f盤下,然后選擇Atmel下AT89C51點擊Target1文件下的source group1STARTUP.A51文件,刪除此文件。右擊Target1選擇options for Target“target1”把晶振改為11.0592點擊Debug選中use:keilmonttor-51Driver點擊setting把Baudrate改為38400
51、。</p><p> 圖4.3 選擇單片機型號</p><p> 圖4.4 對setting進行設置</p><p> 圖4.5 選擇串行口并設置</p><p><b> 圖4.6 效果圖</b></p><p> 調(diào)試是一項很復雜而龐大的工程。它占據(jù)了整個設計的大部分時間。調(diào)
52、試的整體過程是:分別對設計的各功能模塊進行調(diào)試,然后再進行總的調(diào)試,經(jīng)過努力,單片機作息時間的控制已經(jīng)完成,效果也得到了實現(xiàn)。</p><p><b> 致 謝</b></p><p> 畢業(yè)設計的結(jié)束讓我感到了人生又到了一個新的轉(zhuǎn)折點,借此機會我想向在我做畢業(yè)設計過程中給我?guī)椭椭С值睦蠋熞约巴瑢W們表示衷心的感謝!首先要向我的導師李老師致以誠摯的謝意。李老師為
53、我們提供了良好的學習環(huán)境,讓我學到了知識,掌握了研究的方法,也獲得了實踐鍛煉的機會。李老師的治學嚴謹,平易近人,對工作的積極熱情、認真負責、有條不紊、實事求是的態(tài)度,給我留下了深刻的印象,使我受益非淺。在此我謹向李老師表示衷心的感謝和深深的敬意。</p><p> 在今后的日子里,我不會辜負各位老師的栽培,把理論應用到實際工作當中,使在校所學到的知識得到完全的應用,同時我還會不斷的擴展我的知識面,不斷創(chuàng)新,努力
54、工作,在平凡的工作崗位上做出應有的貢獻。</p><p> 在論文即將完成之際,我的心情無法平靜,從開始進入課題到論文的順利完成,有多少可敬的師長、同學、朋友給了我無言的幫助,在這里請接受我誠摯的謝意!</p><p> 最后我還要感謝培養(yǎng)我長大含辛茹苦的父母,謝謝您們!衷心感謝在百忙之中抽出時間審閱本論文的各位領導和老師,祝各位領導和老師工作順利,身體健康!</p>&
55、lt;p><b> 參考文獻</b></p><p> [1] 李朝青.單片機原理及其接口技術(shù).北京.北京航空大學出版社,1998年</p><p> [2] 張毅剛,彭喜元,孟升衛(wèi),劉兆慶.MCS-51單片機使用子程序設計.哈爾濱.哈爾濱工業(yè)大學出版社,2003年</p><p> [3] 肖玲妮,袁增貴.Protel99SE印
56、刷電路板設計教程.北京.清華大學出版社,2003年</p><p> [4] 公茂法等.單片機人機接口實力集.北京.北京航空大學出版社,1998年</p><p> [5] 先鋒工作室,單片機程序設計實例.北京.清華大學出版社,2002年</p><p> [7] 胡漢才.單片機原理及其接口技術(shù).北京.清華大學出版社,1996年</p><
57、p> [8] 徐愛均.智能化儀表原理與設計.北京.北京航空大學出版社,1996年</p><p> [9] 鄔寬明.單片機外圍器件實用手冊.北京.北京航空大學出版社,1998年 </p><p> [10] 王德彪.單片機原理及接口技術(shù).北京.電子工業(yè)出版社,2003年</p><p><b> 附錄A</b></p>
58、;<p> ORG 0000H</p><p> LJMP START</p><p> ORG 000BH</p><p> LJMP CTC0</p><p> ORG 0030H</p><p> START: MOV TMOD,#11H ;
59、定時器初始化</p><p> MOV TH0,#3CH</p><p> MOV TL0,#0B0H</p><p> MOV 47H,#00</p><p> MOV 48H,#00</p><p> MOV 49H,#00</p><p> MOV 50
60、H,#00</p><p> MOV P2,#00</p><p> MOV R7,#1 ;軟件計數(shù)器初始化</p><p><b> SETB EA</b></p><p> SETB ET0 ;開中斷</p><p>
61、 SETB TR0 ;開定時器</p><p> W1: LCALL TIME ;調(diào)報時程序</p><p> LCALL PTDS ;調(diào)顯示緩沖區(qū)</p><p> LCALL DISPLAY ;調(diào)顯示</p><p&g
62、t; LCALL ANJIAN ;調(diào)按鍵</p><p><b> LJMP W1</b></p><p> DISPLAY:MOV R0,#30H</p><p> MOV R3,#01H;</p><p> MOV DPTR,#TAB</p><
63、p> N1: MOV A,@R0 ;取數(shù)</p><p> MOVC A,@A+DPTR ;查表取段碼</p><p> MOV P0,A ;段碼送P0</p><p> MOV P1,R3 ;位碼送P1</p><p>
64、 LCALL DELAY</p><p> MOV A,R3</p><p> JB ACC.5,BACK1 ;循環(huán)結(jié)束了嗎?</p><p> RL A ; 左移位碼</p><p> MOV R3,A</p><p> INC R0
65、 ;調(diào)整指針</p><p><b> LJMP N1</b></p><p><b> BACK1:RET</b></p><p><b> 顯示緩沖程序</b></p><p> PTDS:MOV R0,#30H</p>
66、<p> MOV R1,#50H</p><p> MOV R2,#03H</p><p> NEXT:MOV A,@R1</p><p> ANL A,#0FH</p><p> MOV @R0,A</p><p><b> INC R0</b>&
67、lt;/p><p> MOV A,@R1</p><p><b> SWAP A</b></p><p> ANL A,#0FH</p><p> MOV @R0,A</p><p><b> INC R1</b></p><p
68、><b> INC R0</b></p><p> DJNZ R2,NEXT</p><p><b> RET</b></p><p> DELAY:MOV R5,#05</p><p> LOOP2:MOV R6,#00H</p><p>
69、 DJNZ R6,$</p><p> DJNZ R5,LOOP2</p><p><b> RET</b></p><p> TAB:DB 3FH,06H,5BH,4FH,66H</p><p> DB 6DH,7DH,07H,7FH,6FH</p><p> CTC0:PU
70、SH ACC</p><p> PUSH PSW ;保護現(xiàn)場</p><p> DJNZ R7,BACK ;1S到了嗎</p><p> MOV R7,#1</p><p> LCALL DSH ;調(diào)查時子程序</p>&l
71、t;p> MOV R1,#48H</p><p> NEXT1:MOV A,@R1</p><p> ADD A,#01H</p><p><b> DA A</b></p><p> MOV @R1,A</p><p> CJNE R1,#50H,
72、NEXT2 ;到時計數(shù)單元了嗎?</p><p> CJNE A,#24H,BACK;</p><p> MOV @R1,#00H ;時單元清零</p><p> LJMP BACK</p><p> NEXT2:CJNE A,#60H,BACK ;與60H單元相等
73、嗎</p><p> MOV @R1,#00H ;秒單元清零</p><p> INC R1 ;調(diào)整指針</p><p> LJMP NEXT1</p><p> BACK:MOV TH0,#3CH</p><p> MOV T
74、L0,#0B0H ;軟件計數(shù)器重裝初值</p><p> POP PSW</p><p> POP ACC ;恢復現(xiàn)場</p><p><b> RETI</b></p><p> DSH:MOV 45H,#02H</p><p&
75、gt; MOV 46H,#05H</p><p> MOV R4,#00H</p><p> MOV A,48H</p><p> CJNE A,#00H,L6 ;秒單元是否為零</p><p> MOV 47H,#00H</p><p> L6:MOV A
76、,47H</p><p> CJNE A,#14H,L3</p><p> LJMP L4</p><p> L3:MOV 60H,R4</p><p> MOV R1,#49H</p><p> L2:MOV A,R4</p><p> MOV
77、40H,@R1</p><p> ADD A,#19H</p><p> MOVC A,@A+PC</p><p> CJNE A,40H,L1</p><p><b> INC R1</b></p><p><b> INC R4</b>&
78、lt;/p><p> DJNZ 45H,L2</p><p> INC 47H</p><p><b> LJMP L4</b></p><p> L1:MOV 45H,#02H</p><p> MOV A,60H</p><p> ADD
79、 A,#02H</p><p> MOV R4,A</p><p> DJNZ 46H,L3</p><p><b> L4:RET</b></p><p> DB 00H,06H</p><p> DB 15H,07H</p><p> DB 00H
80、,08H</p><p> DB 45H,08H</p><p> DB 55H,08H</p><p> DB 40H,09H</p><p> DB 00H,10H</p><p> DB 45H,10H</p><p> DB 55H,10H</p><p&
81、gt; DB 40H,11H</p><p> DB 30H,14H</p><p> DB 15H,15H</p><p> DB 25H,15H</p><p> DB 10H,16H</p><p> DB 00H,18H</p><p> DB 30H,19H</p&
82、gt;<p> DB 00H,21H</p><p> ANJIAN:JB P3.0,LL1</p><p> LCALL DELAY</p><p> JB P3.0,LL1</p><p> WAIN:LCALL DISPLAY</p><p> JNB
83、 P3.0,WAIN</p><p> CPL TR0</p><p> JB TR0,BACK3</p><p> LL1:JB P3.1,LL2</p><p> LCALL DELAY</p><p> JB P3.1,LL2</p>
84、<p> SD:LCALL DISPLAY</p><p> JNB P3.1,SD</p><p> MOV 48H,#00H</p><p> MOV A,49H</p><p> ADD A,#01H</p><p><b> DA A
85、</b></p><p> MOV 49H,A</p><p> CJNE A,#60H,LL1</p><p> MOV 49H,#00</p><p> LJMP LL1</p><p> LL2:JB P3.2,LL3</p><p&
86、gt; LCALL DELAY</p><p> JB P3.2,LL3</p><p> SD1:LCALL DISPLAY</p><p> JNB P3.2,SD1</p><p> MOV A,50H</p><p> ADD A,#01H</p>
87、<p><b> DA A</b></p><p> MOV 50H,A</p><p> CJNE A,#24H,LL2</p><p> MOV 50H,#00</p><p> LJMP LL2</p><p> LL3:JB P3
88、.3,BACK3</p><p> LCALL DELAY</p><p> JB P3.3,BACK3</p><p> SD2:LCALL DISPLAY</p><p> JNB P3.3,SD2</p><p> MOV 47H,#14H </p><
89、;p><b> BACK3:RET</b></p><p> TIME:MOV A,47H</p><p> JZ BACK2</p><p> CJNE A,#14H,L5</p><p> CLR P2.0</p><p> LJMP BACK2&
90、lt;/p><p> L5:MOV TH1,#0FEH</p><p> MOV TL1,#80H</p><p> SETB TR1</p><p> JNB TF1,$</p><p> CLR TF1</p><p> CPL P2.0</p&g
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設計--單片機作息時間控制系統(tǒng)設計
- 畢業(yè)設計---單片機控制作息時間系統(tǒng)
- 基于單片機的校園作息時間控制系統(tǒng)畢業(yè)設計論文
- 基于單片機的作息時間控制鐘系統(tǒng)畢業(yè)設計
- 畢業(yè)設計基于單片機的作息時間控制器
- 電子畢業(yè)論文--單片機實現(xiàn)作息時間控制系統(tǒng)
- 利用單片機實現(xiàn)作息時間控制系統(tǒng)電子畢業(yè)論文
- 基于單片機的作息時間打鈴系統(tǒng)設計
- 單片機作息時間控制器課程設計
- 單片機課程設計--課設作息時間控制
- 基于單片機的作息時間控制鐘系統(tǒng)論文
- 基于stc89c51單片機作息時間控制鐘控制系統(tǒng)
- 機械電子工程畢業(yè)設計-作息時間控制系統(tǒng)設計
- 校園作息時間控制系統(tǒng)的設計
- 單片機課間作息時間控制器課程設計
- 作息時間控制系統(tǒng)課程設計
- 單片機課程設計報告---作息時間表系統(tǒng)設計
- 基于plc控制的作息時間控制系統(tǒng)
- 單片機洗衣控制系統(tǒng)--畢業(yè)設計
- 單片機張力控制系統(tǒng)畢業(yè)設計
評論
0/150
提交評論