版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 《單片機(jī)技術(shù)》課程設(shè)計說明書</p><p><b> 數(shù)字式秒表</b></p><p> 學(xué) 院: 電氣與信息工程學(xué)院 </p><p> 學(xué)生姓名: </p><p> 指導(dǎo)教師: 職稱/學(xué)位 講師/碩士
2、</p><p> 專 業(yè): 自動化 </p><p> 班 級: </p><p> 學(xué) 號: </p><p> 完成時間: 2016年6月 <
3、/p><p> 湖南工學(xué)院《單片機(jī)技術(shù)》課程設(shè)計課題任務(wù)書</p><p> 學(xué)院:電氣與信息工程學(xué)院 專業(yè):自動化</p><p><b> 摘 要</b></p><p> 電子技術(shù)的飛速發(fā)展,使電子產(chǎn)品滲透進(jìn)了社會的各個方面。數(shù)字式秒表的設(shè)計使人們對于
4、時間有了更直觀,更精確的認(rèn)識。相比于傳統(tǒng)秒表,數(shù)字電子鐘的設(shè)計具有走時準(zhǔn)確,顯示直觀,穩(wěn)定的優(yōu)點。</p><p> 數(shù)字式秒表的設(shè)計方案:采用以AT89S52單片機(jī)為核心,加上按鍵模塊和數(shù)碼管顯示模塊等來實現(xiàn)硬件電路的設(shè)計;軟件設(shè)計則通過匯編語言來實現(xiàn),有監(jiān)控程序、顯示程序、鍵盤程序、中斷程序、進(jìn)位程序和延時程序等組成。</p><p> 數(shù)字式秒表設(shè)計中共有6個按鍵,1個電源按鍵,
5、1個復(fù)位按鍵,4個獨立按鍵:S1、S2、S3和S4。按下S1,秒表開始計時;按下S2,暫停;按下S3,繼續(xù)計時;按下S4,秒表停止計時。</p><p> 關(guān)鍵詞:數(shù)字式秒表;單片機(jī);數(shù)碼管顯示</p><p><b> 目 錄 </b></p><p> 1 設(shè)計課題任務(wù)、功能、性能要求說明及總體方案介紹1</p>
6、;<p> 1.1 設(shè)計課題任務(wù)1</p><p> 1.2 功能、性能要求說明1</p><p> 1.3 設(shè)計課題總體方案介紹及工作原理說明1</p><p> 2 設(shè)計課題硬件系統(tǒng)的設(shè)計2</p><p> 2.1 設(shè)計課題硬件系統(tǒng)各模塊功能介紹2</p><p>
7、2.2 設(shè)計課題電路原理圖、實物圖5</p><p> 2.3 設(shè)計課題元器件清單5</p><p> 3 設(shè)計課題軟件系統(tǒng)的設(shè)計6</p><p> 3.1 設(shè)計課題使用單片機(jī)資源的情況6</p><p> 3.2 設(shè)計課題軟件系統(tǒng)各模塊功能介紹6</p><p> 3.3 設(shè)計課題軟
8、件系統(tǒng)程序流程框圖7</p><p> 3.4 設(shè)計課題軟件系統(tǒng)程序清單9</p><p> 4 設(shè)計課題操作使用說明、測試過程、誤差分析、設(shè)計結(jié)論、設(shè)計體會10</p><p> 4.1 設(shè)計課題的操作使用說明10</p><p> 4.2 設(shè)計課題的測試過程10</p><p> 4.3
9、 設(shè)計課題的誤差分析11</p><p> 4.4 設(shè)計課題的設(shè)計結(jié)論、設(shè)計體會11</p><p><b> 結(jié)束語13</b></p><p><b> 參考文獻(xiàn)14</b></p><p><b> 致 謝15</b></p><
10、;p><b> 附 錄16</b></p><p> 附錄A 原理圖16</p><p> 附錄B 實物圖18</p><p> 附錄C 元器件清單19</p><p> 附錄D 程序清單20</p><p> 1 設(shè)計課題任務(wù)、功能、性能要求說明及總體方案
11、介紹</p><p> 1.1 設(shè)計課題任務(wù)</p><p> 設(shè)計一個具有特定功能的數(shù)字式秒表。</p><p> 1.2 功能、性能要求說明</p><p> 數(shù)字式秒表上電或按鍵復(fù)位后能自動顯示系統(tǒng)提示符“P.”,進(jìn)入準(zhǔn)備工作狀態(tài)。該數(shù)字式秒表應(yīng)具有開始、暫停、連續(xù)、清零和停止功能。</p><p>
12、 1.3 設(shè)計課題總體方案介紹及工作原理說明</p><p> 數(shù)字式秒表主要由單片機(jī)AT89S52、電源電路、振蕩電路、復(fù)位電路、下載電路、鍵盤和數(shù)碼管顯示模塊組成。設(shè)計的系統(tǒng)框圖如圖1所示。</p><p> 圖1 課題的系統(tǒng)框圖</p><p> 數(shù)字式秒表的所有的軟件、參數(shù)均存放在AT89S52芯片中。鍵盤采用動態(tài)掃描方式。利用單片機(jī)定時器/計數(shù)
13、器產(chǎn)生定時效果通過編程形成秒表效果,再利用數(shù)碼管動態(tài)掃描顯示單片機(jī)內(nèi)部處理的數(shù)據(jù),同時通過端口讀入當(dāng)前外部控制狀態(tài)來改變程序的不同狀態(tài),實現(xiàn)不同功能。通過對定時/計數(shù)器0設(shè)定一個62.5ms的初值,當(dāng)溢出滿16次時計為1s,實線秒表1s的計時。</p><p> 2 設(shè)計課題硬件系統(tǒng)的設(shè)計</p><p> 2.1 設(shè)計課題硬件系統(tǒng)各模塊功能介紹</p><p&
14、gt; 設(shè)計的硬件系統(tǒng)主要采用以下基本模塊來實現(xiàn),單片機(jī)最小系統(tǒng)模塊,按鍵模塊、顯示模塊。</p><p> 單片機(jī)最小系統(tǒng)模塊:包括單片機(jī)AT89S52、復(fù)位電路、晶振電路、電源電路、下載電路。AT89S52單片機(jī)系統(tǒng)復(fù)位由復(fù)位電路接RST引腳完成,單片機(jī)內(nèi)部有一個高增益、反相放大器,輸入端為引腳XTAL1,輸出端為引腳XTAL2。通過兩個引腳在芯片外并接石英晶體振蕩器和兩只電容,構(gòu)成一個穩(wěn)定的自激振蕩器。
15、AT89S52引腳圖如圖2所示。</p><p> 圖2 AT89S52引腳圖</p><p> ?。?)按鍵模塊:主要為秒表提供輸入信號。當(dāng)按鍵沒有按下時兩個觸點斷開,單片機(jī)I/O口輸入高電平;當(dāng)按鍵閉合時,I/O口輸入低電平。模塊中一共用到6個按鍵,1個電源按鍵,1個復(fù)位按鍵,4個獨立按鍵。在獨立按鍵中,S1鍵控制秒表的開始,S2鍵為秒表的暫停,S3為秒表的繼續(xù),S4鍵為秒表的停止
16、。S1、S2、S3、S4任一鍵都獨自連一個I/O(P1.0、P1.1、P1.2、P1.3)口線,說明它們可以獨立實現(xiàn)相應(yīng)的電子鐘功能。按鍵模塊如圖3所示。</p><p> 圖3 按鍵模塊電路圖</p><p> ?。?)顯示模塊:采用兩個四位一體的數(shù)碼管(共陽極)作為顯示器,分別顯示時、分、秒。數(shù)碼管驅(qū)動芯片為74HC573。秒表設(shè)計中采用共陽極接法,其中所有陽極連接起來形成公共端,陰
17、極相互獨立。采用動態(tài)顯示方式。電路中的470起限流作用,防止數(shù)碼管損壞。顯示模塊如圖4所示。</p><p> 圖4 顯示模塊電路圖</p><p> ?。?)下載電路:如圖5所示,電路中1腳接P1.5;2腳懸空;3腳接RET;4腳接P1.7;5腳接P1.6;6腳接VCC;7、8、9、10腳接GND用下載線將單片機(jī)與電腦相連,實現(xiàn)程序的下載和擦除,在這里還要充當(dāng)電源來使用。</p
18、><p> 圖5 下載模塊電路圖</p><p> 2.2 設(shè)計課題電路原理圖、實物圖</p><p> 設(shè)計課程原理圖見附錄A。</p><p> 設(shè)計課程實物圖見附錄B。</p><p> 2.3 設(shè)計課題元器件清單</p><p> 設(shè)計課題元器件清單見附錄C。</p&
19、gt;<p> 3 設(shè)計課題軟件系統(tǒng)的設(shè)計</p><p> 3.1 設(shè)計課題使用單片機(jī)資源的情況</p><p> 設(shè)計課題使用單片機(jī)資源的情況如下:</p><p> P0口,P2口:數(shù)碼管。</p><p><b> P1口:按鍵。</b></p><p> 定
20、時器0、通用寄存器R0~R7。</p><p> 專用寄存器A、SP、DPTR等。</p><p> 3.2 設(shè)計課題軟件系統(tǒng)各模塊功能介紹</p><p> 本設(shè)計的軟件系統(tǒng)主要采用以下基本模塊來實現(xiàn),監(jiān)控程序、中斷服務(wù)程序、鍵盤掃描程序、進(jìn)位程序、數(shù)碼管顯示程序和延時模塊。 </p><p> 監(jiān)控程序:主要是用于對輸
21、入信號的處理、輸出信號的控制和對各個功能程序模塊的運用及其控制。 </p><p> 鍵盤掃描程序:主要是用于確定按鍵并得到特定的鍵碼值。 </p><p> 數(shù)碼管顯示程序:主要是用于驅(qū)動數(shù)碼管及利用數(shù)碼管顯示時間。</p><p> 進(jìn)位程序:主要用于個位向十位進(jìn)位,秒向分、分向小時進(jìn)位。</p><p> 延
22、時程序:主要用于動態(tài)顯示的延時。</p><p> 中斷服務(wù)程序:主要用于1S定時的產(chǎn)生。</p><p> 3.3 設(shè)計課題軟件系統(tǒng)程序流程框圖</p><p> 監(jiān)控程序流程圖如圖6所示。</p><p> .圖6 監(jiān)控程序流程圖</p><p> 鍵盤掃描程序流程圖見圖7(a)。</p>
23、<p> 數(shù)碼管顯示程序流程圖如圖7(b)。</p><p> ?。╝)鍵盤掃描程序流程圖 (b)顯示程序流程圖</p><p> 圖7 鍵盤和顯示程序流程圖</p><p> 進(jìn)位程序流程圖如圖8(a)。</p><p> 中斷服務(wù)程序流程圖如圖8(b)。</p><
24、p> (a)進(jìn)位程序流程圖 (b)中斷服務(wù)程序流程圖 </p><p> 圖8 進(jìn)位和中斷程序流程圖</p><p> 3.4 設(shè)計課題軟件系統(tǒng)程序清單</p><p> 設(shè)計課題軟件系統(tǒng)程序清單,詳見附錄D。</p><p> 4 設(shè)計課題操作使用說明、測試過程、誤差分析、設(shè)計結(jié)論、設(shè)計
25、體會</p><p> 4.1 設(shè)計課題的操作使用說明</p><p> 課程設(shè)計中使用2個四位一體的共陽數(shù)碼管做為顯示器,用來顯示時間值。時間顯示格式為:小時—分—秒。設(shè)計中有4個獨立按鍵按鍵:按鍵S1:按下后開始計時;按鍵S2:按下后計時暫停;按鍵S3:按下后計時繼續(xù);按鍵S4:按下后計時停止。</p><p> 4.2 設(shè)計課題的測試過程</p
26、><p> 用PROGISP將程序?qū)懭胄酒油娫撮_始測試。</p><p> ?。?)“P.”狀態(tài)的測試:</p><p> 依靠上電或按復(fù)位鍵進(jìn)入,在“P.”狀態(tài)下,按S2、S3、S4鍵均無效,按S1鍵有效。測試結(jié)果如圖9所示。</p><p> 圖9 “P.”狀態(tài)測試圖</p><p> (2)“計時狀態(tài)
27、”的測試:</p><p> 按S1,進(jìn)入“計時狀態(tài)”,在“計時狀態(tài)”下,按S1、S3鍵無效,按S2,S4有效。測試結(jié)果如圖10所示。</p><p> 圖10 “計時狀態(tài)”的測試</p><p> “暫停狀態(tài)”的測試:</p><p> 按S2,進(jìn)入“暫停狀態(tài)”,在“暫停狀態(tài)”下,按S1,重新開始“計時狀態(tài)”;按S3,繼續(xù)“計時狀
28、態(tài)”;按S4,進(jìn)入“停止?fàn)顟B(tài)”。</p><p><b> “停止?fàn)顟B(tài)”的測試</b></p><p> 按下S4,進(jìn)入“停止?fàn)顟B(tài)”,在“停止?fàn)顟B(tài)”下,按S2、S3無效;按S1,進(jìn)入“計時狀態(tài)”。測試結(jié)果如圖11所示。</p><p> 圖11 “停止?fàn)顟B(tài)”測試圖</p><p> 4.3 設(shè)計課題的誤差分析
29、</p><p> 產(chǎn)生誤差的原因有兩方面,一方面是軟件方面,另一方面是硬件方面。</p><p> 軟件方面:計時是利用定時器中斷來實現(xiàn)的,每運行62.5ms時,單片機(jī)就要去執(zhí)行中斷程序,這個過程是需要時間的,并且每1S要執(zhí)行16次中斷程序,所以就產(chǎn)生了一定的誤差。</p><p> 硬件方面:單片機(jī)的振蕩電路產(chǎn)生的誤差,以及單片機(jī)自身的誤差,這使得機(jī)器周期
30、有誤差,而計時的最小時間是以機(jī)器周期為標(biāo)準(zhǔn)的。所以就會產(chǎn)生誤差。</p><p> 4.4 設(shè)計課題的設(shè)計結(jié)論、設(shè)計體會</p><p><b> ?。?)設(shè)計結(jié)論</b></p><p> 課程設(shè)計的結(jié)果為“P.”狀態(tài)下,按S2、S3、S4鍵均無效,按S1鍵有效,進(jìn)入“計時狀態(tài)”。在“計時狀態(tài)”下,按S1、S3鍵均無效,按S2、S4鍵有
31、效,按下S2鍵后,進(jìn)入“暫停狀態(tài)”。在“暫停狀態(tài)”下,按S1,重新開始“計時狀態(tài)”;按S3,繼續(xù)“計時狀態(tài)”;按S4,進(jìn)入“停止?fàn)顟B(tài)”。課題設(shè)計的結(jié)果與設(shè)計要求一致,所以完成了設(shè)計任務(wù)。</p><p><b> ?。?)設(shè)計體會</b></p><p> 通過課程設(shè)計,進(jìn)一步的鞏固了在課堂上所學(xué)的知識,還起到了查缺補漏的作用。找到了許多缺點和不足,深深的感受到了理
32、論聯(lián)系實際的必要性及其重要性。在以往的學(xué)習(xí)過程中,刻意地去加強(qiáng)理論的基礎(chǔ),對于一個程序只求它在運行時沒有出錯,便以為計劃成功了,卻不知曉它能否在硬件結(jié)構(gòu)中得以實現(xiàn)。所以就要求動手能力強(qiáng),如果無法使軟件與硬件實現(xiàn)有機(jī)的結(jié)合,那么所做的工作就是徒勞的。在設(shè)計過程當(dāng)中遇到了很多問題,更有一些細(xì)節(jié)的小問題,稍有不注意就不會發(fā)現(xiàn),還好有老師和同學(xué)的幫助,課程設(shè)計才得以順利完成。課程設(shè)計雖然完成了,但在課程設(shè)計中學(xué)習(xí)到的知識,提高的能力,卻是最寶貴
33、的財富。</p><p><b> 結(jié)束語</b></p><p> 通過課程設(shè)計,對單片機(jī)技術(shù)有了進(jìn)一步的認(rèn)識,更為重要的是掌握了很多軟硬件的基本操作,使知識與技能都得到了進(jìn)一步的提高。</p><p> 數(shù)字式秒表的設(shè)計采用AT89S52單片機(jī)為核心,輔以按鍵模塊和數(shù)碼管顯示模塊等來實現(xiàn)硬件電路的設(shè)計,軟件設(shè)計則通過匯編編程來實現(xiàn),有
34、監(jiān)控程序、顯示程序、鍵盤程序、中斷程序、進(jìn)位程序和延時程序等組成。數(shù)字式秒表的設(shè)計具有計時準(zhǔn)確,顯示直觀,穩(wěn)定的優(yōu)點,滿足人們對計時的各種要求。</p><p> 數(shù)字式秒表最大的優(yōu)點就是顯示直觀,系統(tǒng)穩(wěn)定。在日常生活中應(yīng)用極為廣泛,而且操作方法方便簡單。當(dāng)然設(shè)計中肯定會存在一定的誤差,時間不是非常精確。但是從整體上看滿足了設(shè)計要求,由于學(xué)識和設(shè)計時間有限,課程設(shè)計當(dāng)中還有一定的缺陷,因此請各位專家、老師批評指
35、正。隨著電子技術(shù)飛速的發(fā)展,數(shù)字式秒表的功能會日益的完善,具有一定的發(fā)展前景。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]李廣弟.單片機(jī)基礎(chǔ)[M].第3版.北京:北京航空航天大學(xué)出版社,2007.6.</p><p> [2]李全利.單片機(jī)原理及應(yīng)用(C51編程)[M].北京:高等教育出版社,2012.12.&l
36、t;/p><p> [3]魏鴻磊.單片機(jī)原理及應(yīng)用(C51編程)[M].上海:同濟(jì)大學(xué)出版社,2015.6.</p><p> [4]武愛平.C語言程序設(shè)計[M].長春:吉林大學(xué)出版社,2010.1. </p><p> [5]李全利.單片機(jī)原理及應(yīng)用(C51編程)[M].北京:高等教育出版社,2012.12.</p><p> [6]
37、屈楊. 數(shù)字秒表的設(shè)計[J]. 科技信息,2013,02.</p><p> [7]姜瑜,楊靜,朱健. 數(shù)字式電秒表測量誤差的檢定[J]. 中國計量,2015,07.</p><p><b> 致 謝</b></p><p> 首先,我要感謝我的父母,沒有他們就沒有我的今天。</p><p> 其次,我要感謝給
38、過我?guī)椭睦蠋熀屯瑢W(xué),若是沒有他們我的課程設(shè)計不會這么順利的完成,老師給了我設(shè)計的思路和方向,沒有老師的指導(dǎo),我的思路不會這么的清晰有條理,感謝王老師對我的幫助。同時,我要感謝幫助我檢查文檔的老師,正是老師的認(rèn)真細(xì)心,并且不厭其煩的為我查找錯誤,我的文檔才得以順利完成,由衷的感謝老師。我相信這次文檔的編寫,為我今后的畢業(yè)設(shè)計及工作都奠定了良好的基礎(chǔ)。我還要謝謝我親愛的同學(xué)們,在設(shè)計當(dāng)中,他們指出了一些我忽略的細(xì)節(jié)問題,謝謝大家!<
39、/p><p> 通過這次的課程設(shè)計讓我學(xué)習(xí)到了很多知識,懂得了很多道理。從最初焊接實物,檢測實物,再到編寫程序,遇到了許多問題。其實這些問題大多數(shù)老師都在課堂上提及過,只是我沒有記住,還有一部分問題,是需要通過實踐才能得出來的。通過這些問題讓我明白了,學(xué)習(xí)要嚴(yán)謹(jǐn),要溫故而知新,戒驕戒躁。同時,還要增強(qiáng)自己的動手能力。做事情要有始有終,不要中途放棄。</p><p> 最后,恭祝老師和同學(xué)們
40、身體健康,前程似錦!</p><p><b> 附 錄</b></p><p><b> 附錄A 原理圖</b></p><p><b> 附錄B 實物圖</b></p><p> 附錄C 元器件清單</p><p><b>
41、 表1 元器件清單</b></p><p><b> 附錄D 程序清單</b></p><p> ;---------------------------------------------------------------------</p><p> ;課 題 名:數(shù)字式秒表</p><p>
42、<b> ;編 寫 者:</b></p><p><b> ;指導(dǎo)老師:</b></p><p> ;時 間:2016年6月</p><p><b> ;班 級:</b></p><p> ;功 能:秒表計時</p><
43、;p> ;使用說明:按鍵接P1口;數(shù)碼管顯示接P0口</p><p> ;型 號:AT89S52 使用晶振為12MHz</p><p> ;---------------------------------------------------------------------</p><p> ORG0000H</p>
44、<p> LJMPMAIN</p><p> ORG000BH</p><p><b> LJMPVT0</b></p><p> ORG0100H</p><p> ;---------------------------------------------------------
45、------------</p><p> ;監(jiān)控程序MAIN:程序初始化和對各個功能程序模塊的運用及其控制</p><p> ;調(diào)用子程序:顯示程序SMG,鍵盤掃描程序JS</p><p> ;通用寄存器:R5,R6,R0</p><p> ;---------------------------------------------
46、------------------------</p><p> MAIN:MOVSP,#3FH;堆棧初始化</p><p> MOVIE,#82H;中斷初始化</p><p> MOVTMOD,#01H;定時器0,方式1</p><p> MOVTL0,#0DCH;定時62.5mS&
47、lt;/p><p> MOVTH0,#0BH</p><p> MOVR5,#16;計數(shù)溢出16次為1S</p><p> MOVR6,#7</p><p> MOVR0,#80H</p><p> MAIN1:MOV@R0,#12;顯示滅</p>
48、<p><b> INCR0</b></p><p> DJNZR6,MAIN1</p><p> MOV@R0,#10;顯示P.</p><p> MAIN2:ACALLSMG</p><p><b> ACALLJS</b>&
49、lt;/p><p> JIAN:MOVA,20H</p><p> JZMAIN2</p><p> CJNEA,#01H,J1</p><p> LJMPJIAN1</p><p> J1:CJNEA,#02H,J2</p><p>
50、 LJMPJIAN2</p><p> J2:CJNEA,#04H,J3</p><p> LJMPJIAN3</p><p> J3:CJNEA,#08H,MAIN2</p><p> LJMPJIAN4</p><p> JIAN1:SETB20H
51、 ;按鍵S1(開始)</p><p> ACALLCLR0</p><p><b> SETBTR0</b></p><p> V1:ACALLSMG</p><p><b> ACALLJS</b></p><p> MOVA,
52、20H</p><p><b> JZV1</b></p><p> CJNEA,#01H,JIAN</p><p> LJMPV1</p><p> JIAN2:JNB20H,MAIN2 ;按鍵S2(暫停)</p><p><b>
53、CLRTR0</b></p><p> V2:ACALLSMG</p><p><b> ACALLJS</b></p><p> MOVA,20H</p><p><b> JZV2</b></p><p> CJNE
54、A,#02H,JIAN</p><p><b> LJMPV2</b></p><p> JIAN3:JNB20H,MAIN2 ;按鍵S3(繼續(xù))</p><p><b> SETBTR0</b></p><p> V3:ACALLSMG</p>
55、;<p><b> ACALLJS</b></p><p> MOVA,20H</p><p> JZV3</p><p> CJNEA,#04H,JIAN</p><p><b> LJMPV3</b></p>
56、<p> JIAN4:JNB20H,MAIN2;按鍵S4(停止)</p><p><b> CLR20H</b></p><p><b> CLRTR0</b></p><p> ACALLCLR0</p><p> V4:ACALLSMG&
57、lt;/p><p><b> ACALLJS</b></p><p> MOVA,20H</p><p><b> JZV4</b></p><p> CJNEA,#08H,JIAN</p><p><b> LJMPV4<
58、/b></p><p> ;---------------------------------------------------------------------</p><p> ;中斷服務(wù)程序VT0:定時時間的產(chǎn)生,到達(dá)1S后進(jìn)位</p><p> ;調(diào)用子程序:進(jìn)位程序JW</p><p><b> ;通用寄
59、存器:R5</b></p><p> ;---------------------------------------------------------------------</p><p> VT0:MOVTL0,#0DCH</p><p> MOVTH0,#0BH</p><p> DJNZR5
60、,VTRET;是否達(dá)到1S,是,進(jìn)位</p><p> MOVR5,#16</p><p><b> ACALLJW</b></p><p> VTRET:RETI</p><p> ;----------------------------------------------------
61、-----------------</p><p> ;進(jìn)位程序JW:個位到十位,秒到分,分到小時的進(jìn)位</p><p> ;調(diào)用子程序:全部清0子程序CLR0</p><p><b> ;通用寄存器:R1</b></p><p> ;---------------------------------------
62、------------------------------</p><p> JW:MOVR1,#80H</p><p> MOVA,@R1;取值</p><p> INCA;加1</p><p> CJNEA,#0AH,JW1;是否進(jìn)位,否,到JW1</p>&
63、lt;p> CLRA;有進(jìn)位,個位清0</p><p> MOV@R1,A;送值</p><p> INCR1;下一位</p><p> MOVA,@R1</p><p><b> INCA</b></p><p>
64、CJNEA,#06H,JW1</p><p><b> CLRA</b></p><p> MOV@R1,A</p><p><b> INCR1</b></p><p><b> INCR1</b></p><p>
65、; MOVA,@R1</p><p><b> INCA</b></p><p> CJNEA,#0AH,JW1</p><p><b> CLRA</b></p><p> MOV@R1,A</p><p><b> I
66、NCR1</b></p><p> MOVA,@R1</p><p><b> INCA</b></p><p> CJNEA,#06H,JW1</p><p><b> CLRA</b></p><p> MOV@R
67、1,A</p><p><b> INCR1</b></p><p><b> INCR1</b></p><p> MOVA,@R1</p><p><b> INCA</b></p><p> CJNEA,
68、#0AH,JW1</p><p><b> CLRA</b></p><p> MOV@R1,A</p><p><b> INCR1</b></p><p> MOVA,@R1</p><p><b> INCA</
69、b></p><p> CJNEA,#0AH,JW1</p><p> ACALLCLR0</p><p> LJMPJWRET</p><p> JW1: MOV@R1,A</p><p> JWRET:RET</p><p> ;-------
70、--------------------------------------------------------------</p><p> ;全部清0程序CLR0:重置顯示緩沖區(qū),使數(shù)碼管顯示00-00-00</p><p><b> ;調(diào)用子程序:無</b></p><p><b> ;通用寄存器:R1</b>
71、</p><p> ;---------------------------------------------------------------------</p><p> CLR0:MOVR1,#80H</p><p> MOV@R1,#00H;顯示0</p><p><b> INCR
72、1</b></p><p> MOV@R1,#00H</p><p><b> INCR1</b></p><p> MOV@R1,#11;顯示—</p><p><b> INCR1</b></p><p> MOV
73、@R1,#00H</p><p><b> INCR1</b></p><p> MOV@R1,#00H</p><p><b> INCR1</b></p><p> MOV@R1,#11</p><p><b> INC
74、R1</b></p><p> MOV@R1,#00H</p><p><b> INCR1</b></p><p> MOV@R1,#00H</p><p><b> RET</b></p><p> ;--------------
75、-------------------------------------------------------</p><p> ;顯示程序SMG:動態(tài)顯示8位數(shù)碼管</p><p> ;調(diào)用子程序:延時子程序YS2MS</p><p> ;通用寄存器:R7,R0</p><p> ;-------------------------
76、--------------------------------------------</p><p> SMG:MOVR7,#01H</p><p> MOVR0,#80H</p><p> MOVDPTR,#0300H</p><p> SMG1:MOVA,R7 ;位控<
77、;/p><p> MOVP2,A</p><p><b> RLA</b></p><p> MOVR7,A</p><p> MOVA,@R0;段控</p><p> MOVCA,@A+DPTR</p><p> MOV
78、P0,A</p><p><b> INCR0</b></p><p> ACALLYS2MS</p><p> CJNER7,#01H,SMG1;現(xiàn)在最高位?否,顯示下一位</p><p><b> RET</b></p><p>
79、 ;---------------------------------------------------------------------</p><p> ;延時程序YS2MS:延時2mS</p><p><b> ;調(diào)用子程序:無</b></p><p> ;通用寄存器:R3,R4</p><p> ;-
80、--------------------------------------------------------------------</p><p> YS2MS:MOV R3,#04H</p><p> DL0:MOV R4,#0F8H</p><p> DJNZ R4,$</p><p> DJN
81、Z R3,DL0</p><p><b> NOP</b></p><p><b> RET</b></p><p> ;---------------------------------------------------------------------</p><p> ;鍵
82、盤掃描程序JS:取鍵值</p><p> ;調(diào)用子程序:顯示程序SMG</p><p><b> ;通用寄存器:無</b></p><p> ;---------------------------------------------------------------------</p><p> JS:
83、MOVA,P1</p><p><b> CPLA</b></p><p> MOV20H,A</p><p><b> JZJSRET</b></p><p> LCALLSMG;調(diào)顯示程序延時</p><p><b>
84、 LCALLSMG</b></p><p> MOVA,P1</p><p><b> CPLA</b></p><p><b> JZJSRET</b></p><p> MOV20H,A</p><p> JSRET:R
85、ET</p><p> ;---------------------------------------------------------------------</p><p><b> ;數(shù)碼管段碼</b></p><p> ;-----------------------------------------------------
86、----------------</p><p> ORG0300H</p><p> DB0C0H,0F9H,0A4H,0B0H;0~9</p><p> DB099H,092H,082H,0F8H</p><p> DB080H,090H</p><p> DB0CH,0BFH,0
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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è)計--數(shù)字式秒表
- 數(shù)字式秒表單片機(jī)數(shù)字秒表課程設(shè)計
- 單片機(jī)課程設(shè)計說明書——電子秒表
- 課程設(shè)計---基于單片機(jī)的數(shù)字式秒表的設(shè)計
- 單片機(jī)課程設(shè)計電子秒表設(shè)計說明書
- 單片機(jī)課程設(shè)計--電子秒表設(shè)計說明書
- 單片機(jī)數(shù)字秒表課程設(shè)計
- 單片機(jī)課程設(shè)計-數(shù)字秒表
- 單片機(jī)課程設(shè)計-數(shù)字秒表
- 數(shù)字式秒表課程設(shè)計
- 數(shù)字式秒表課程設(shè)計
- 數(shù)字式秒表課程設(shè)計
- 單片機(jī)的數(shù)字秒表課程設(shè)計
- 數(shù)字式秒表課程設(shè)計
- 數(shù)字秒表課程設(shè)計說明書
- 單片機(jī)課程設(shè)計說明書
- 00-60秒表單片機(jī)課程設(shè)計說明書
- 單片機(jī)課程設(shè)計說明書
- 單片機(jī)課程設(shè)計-數(shù)字秒表系統(tǒng)設(shè)計
- 數(shù)字式秒表的課程設(shè)計
評論
0/150
提交評論