單片機簡易數(shù)字時鐘畢業(yè)設計_第1頁
已閱讀1頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  畢業(yè)設計(論文)任務書</p><p> 學 生姓 名學號班級高電04-1專業(yè)應用電子技術</p><p> 設計(或論文)題目電子鐘的設計</p><p> 指導教師姓名職 稱工作單位及所從事專業(yè)聯(lián)系方式備 注</p><p> 助教電子工程系 實驗教學</p><p> 設計(論文)內容:以

2、單片機技術為核心,充分應用各種外圍電路元器件,設計一通過顯示器顯示時間(時、分、秒)的電子鐘。要求:1、上電時,時、分、秒顯示為00 時、00 分、00 秒。2、運行狀態(tài)下,按動控制按扭SW1,對秒進行調整;3、運行狀態(tài)下,按動控制按扭SW2,對分進行調整;4、運行狀態(tài)下,按動控制按扭SW3,對小時進行調整。</p><p> 進度安排:第5、6、7周查找資料、選擇參考方案; 第8、9周確定方案、系統(tǒng)硬件電路的設

3、計;第10、11周系統(tǒng)軟件的設計、期中檢查;第12、13周調試仿真; 第14、15周完成設計報告第16、17周答辯。</p><p> 主要參考文獻、資料(寫清楚參考文獻名稱、作者、出版單位):1.《單片機應用技術》,朱永金等主編,中國勞動社會保障出版社。2.《單片機實驗教程》,彭冬明.韋友春主編,理工大學出版社。 3.《單片機原理及應用》,朱家建主編,機械工業(yè)出版社。4.《單片機原理及接口技術》,胡漢才主編,清

4、華大學出版社。 5.《單片機原理及應用》,張偉主編,機械工業(yè)出版社。</p><p><b>  目 錄</b></p><p><b>  摘 要1</b></p><p>  第1章 緒 論2</p><p>  1.1 電子鐘的發(fā)展史2</p><p> 

5、 1.2 設計的目的與意義2</p><p>  1.3 設計的基本思路與主要內容3</p><p>  第2章 時鐘系統(tǒng)的整體設計4</p><p>  2.1系統(tǒng)功能要求4</p><p>  2.2 整體方案4</p><p>  第3章 硬件設計與分析6</p><p>  

6、3.1 硬件設計原理6</p><p>  3.2各單元電路介紹6</p><p>  3.2.1 AT89C51單片機介紹6</p><p>  3.2.2單片機最小應用系統(tǒng)6</p><p>  3.2.3顯示電路8</p><p>  3.2.4 鍵盤及其接口9</p><p>

7、;  3.3 系統(tǒng)原理圖11</p><p>  第四章 軟件設計12</p><p>  4.1 主程序的設計12</p><p>  4.2 鍵輸入程序13</p><p>  4.3 顯示程序14</p><p>  4.4 延時程序15</p><p>  2.5 中斷程序

8、16</p><p>  第5章 調試與運行19</p><p>  5.1 電路仿真19</p><p>  5.2 調試和運行20</p><p>  第6章 結 論21</p><p><b>  致 謝22</b></p><p><b>

9、  參考文獻23</b></p><p>  附錄一 系統(tǒng)原理圖24</p><p>  附錄二 元件清單25</p><p>  附錄三 程序清單26</p><p><b>  第1章 </b></p><p>  1.1 數(shù)字時鐘的發(fā)展史</p>

10、<p>  電子鐘有著很長的歷史,從民國19年的電鐘,研制始於60年代中期的國內電晶體、半導體管鐘,到研制始於70年代末的石英電子鐘,再到今天我們所用的智能電子鐘。以前的電子鐘存在著很多缺點,其外觀體積龐大,在功能上有死擺、走時時間不長、走時精確度不高等缺點。如今無論是外觀,還是在功能上,電子鐘都有了很大的改進。</p><p>  雖然世界絕大多數(shù)鐘表都是中國制造,但鐘表對于國內市場來說只是個小行

11、業(yè),2003年總盤子不過才100多億,但不是沒有前景。近年來,市場在急劇膨脹。根據(jù)國外的統(tǒng)計數(shù)據(jù)顯示,發(fā)達國家人均一生擁有手表23塊,發(fā)展中國家12塊,而目前中國的城鎮(zhèn)人口人均擁有量不多于6塊,空間很大。比如彩電一般是一個家庭一臺,手表則是每人一塊,但從銷售量來看,光TCL一家公司兩個月的彩電銷量可以接近300萬臺,而我們手表每年總共才賣200多萬只。所以絕對不是市場潛力不夠的問題,而是我們應該如何去做的問題。</p>&

12、lt;p>  1.2 設計的目的。</p><p>  做一個簡易的時鐘電路并帶有調節(jié)功能。</p><p>  1.3 設計的基本思路與主要內容</p><p>  設計一個電子產品,首先了解它能實現(xiàn)的功能,時鐘系統(tǒng)最基本的功能就是實現(xiàn)計時,在這里設計的數(shù)字電子時鐘,它能實現(xiàn)計時和校時的功能,給電子鐘加上電自動計時,設計一個按鍵對時鐘進行復位和三個按鍵對時間

13、進行調整。</p><p>  硬件設計主要包括:單片機、按鍵電路、驅動顯示電路,以及LED顯示器四個部分。單片機選用AT89C51芯片,它無須外擴程序存儲器,設計電路很簡單。由于只用了四個按鍵,所以采用獨立式按鍵使設計更簡單。顯示時、分、秒加兩個分隔符,采用8位的數(shù)碼管,用常用的74LS244來驅動LED數(shù)碼管顯示字符。</p><p>  簡易數(shù)字時鐘可實現(xiàn)校時和整點報時功能,該軟件采

14、用C語言來實現(xiàn),主要包括主程序、鍵輸入程序、顯示程序、定時程序和中斷程序等軟件模塊。把原程序加入原理圖,做出電子鐘的仿真,以秒計數(shù)并顯示時、分、秒。其中秒和分為60進制,小時為24進制計數(shù)??赏ㄟ^按鍵實現(xiàn)時鐘復位和分、秒、時的校正。</p><p>  第2章 簡易數(shù)字時鐘系統(tǒng)的整體設計</p><p><b>  2.1系統(tǒng)功能要求</b></p>

15、<p>  以單片機技術為核心,充分應用各種外圍電路元器件,設計一個通過顯示器顯示時間(時、分、秒)的電子鐘。要求:</p><p>  1、上電時,時、分、秒顯示為00時、00分、00秒,并以秒為單位開始計時;</p><p>  2、運行狀態(tài)下,按動控制按扭S-SET,對秒進行調整;</p><p>  3、運行狀態(tài)下,按動控制按扭M-SET,對分

16、進行調整;</p><p>  4、運行狀態(tài)下,按動控制按扭H-SET,對小時進行調整。</p><p>  5、當數(shù)字時鐘運行到正點時,實現(xiàn)自動報時功能。</p><p>  6、當按下T-SET鍵是實現(xiàn)小時由24進制和12進制的相互轉換。</p><p>  2.2 整體方案</p><p>  電子鐘的電路圖

17、主要由單片機(AT89C51)、鍵盤電路、驅動顯示電路和LED顯示器四部分組成,它主要實現(xiàn)時鐘的顯示,以及對時、分、秒進行調整,即實現(xiàn)調時的功能。其數(shù)字鐘系統(tǒng)整體結構如圖2-1所示。</p><p>  圖2-1 電子鐘系統(tǒng)整體結構</p><p><b> ?。?)顯示方案</b></p><p>  方案一:靜態(tài)顯示就是當CPU將要顯示的

18、字或字段碼送到輸出口,顯示器就可以顯示出所要顯示的字符,如果CPU不去改寫它,它將一直保持下去;靜態(tài)顯示硬件開銷大,電路復雜,信息刷新速度慢。</p><p>  方案二:動態(tài)顯示則是一位一位地輪流點亮顯示器地各個位(掃描)。對于顯示器的每一位而言,每隔一段時間點亮一次;動態(tài)顯示耗能較小,但編寫程序較復雜。動態(tài)顯示硬件連接簡單,信息刷新速度快。</p><p>  由于本次設計是對時間進行

19、顯示,如采用靜態(tài)顯示,則所占用的I/O口較多,電路較復雜,所以在此選擇的是方案二,采用動態(tài)顯示。</p><p><b>  (2)鍵盤方案</b></p><p>  方案一:獨立式鍵盤。獨立式鍵盤的各個按鍵相互獨立,每個按鍵獨立地與一根數(shù)據(jù)輸入線(單片機并行接口或其他芯片的并行接口)連接。獨立式鍵盤配置靈活,軟件結構簡單,但每個按鍵必須占用一根接口線,在按鍵數(shù)量不

20、多時,接口線占用多。所以,獨立式按鍵常用于按鍵數(shù)量不多的場合。</p><p>  方案二:矩陣式鍵盤。矩陣式鍵盤采用的是行列式結構,按鍵設置在行列的交點上.(當接口線數(shù)量為8時,可以將4根接口線定義為行線,另4根接口線定義為列線,形成4*4鍵盤,可以配置16個按鍵。)</p><p>  由于本設計只用了四個按鍵,不需要采用矩陣式鍵盤,所以選用第一種方案,采用獨立式鍵盤。</p&g

21、t;<p><b>  (3)計時方案</b></p><p><b>  采用軟件控制:</b></p><p>  利用單片機內部的定時/計數(shù)器進行定時,配合軟件定時實現(xiàn)時、分、秒的計時。該方案能夠使設計者,在設計的過程中容易實現(xiàn),且節(jié)省硬件成本,因此本系統(tǒng)將采用軟件方法實現(xiàn)計時。</p><p>  第

22、3章 硬件設計與分析</p><p>  3.1 硬件設計原理</p><p>  時鐘電路的核心是AT89C51單片機,其內部帶有2KB的可反復擦寫的只讀Flash程序存儲器和128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),無須外擴程序存儲器。電腦時鐘沒有大量的運算和暫存數(shù)據(jù),現(xiàn)有的128B片內RAM已能滿足要求,也不必外擴片RAM。系統(tǒng)配備8位LED數(shù)碼管顯示和3個獨立式按鍵,用

23、P0口作為鍵盤接口電路,P1口和P3口作為段碼和位碼輸出口,并在字段碼輸出口接74LS245芯片,用該芯片來驅動LED數(shù)碼管顯示。利用P0.0、P0.1和P0.2作為功能按鍵輸入口。</p><p>  3.2各單元電路介紹</p><p>  3.2.1AT89C51單片機介紹</p><p>  AT89C51是一個低電壓,高性能CMOS 8位單片機,片內含2k

24、 bytes的可反復擦寫的只讀Flash程序存儲器和128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準MCS-51指令系統(tǒng),片內置通用8位中央處理器和Flash存儲單元,所以說AT89C51是一個功能強大的單片機。 AT89C51是一個低功耗高性能單片機,它有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內含2個外中斷口,2個16位可編程定時計數(shù)器,2個全

25、雙工串行通信口,AT89C51可以按照常規(guī)方法進行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發(fā)成本。</p><p>  同時AT89C51的時鐘頻率可以為零,即具備可用軟件設置的睡眠省電功能,系統(tǒng)的喚醒方式有RAM、定時/計數(shù)器、串行口和外中斷口,系統(tǒng)喚醒后即進入繼續(xù)工作狀態(tài)。省電模式中,片內RAM將被凍結,時鐘停止振蕩,所有功能停止工

26、作,直至系統(tǒng)被硬件復位方可繼續(xù)運行。</p><p>  3.2.2 單片機最小應用系統(tǒng)</p><p>  時鐘電路和復位電路是單片機最小應用系統(tǒng)中必不可少的。</p><p>  單片機時鐘電路圖,如圖3-1所示:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,XTAL2

27、應不接。有余輸入至內部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p>  圖3-1 單片機時鐘電路圖</p><p>  復位是使單片機或系統(tǒng)中的其他部件處于某種確定的初始狀態(tài)。單片機的工作就是從復位開始的,當在單片機的RST引腳引入高電平并保持2個機器周期時,單片機內部就執(zhí)復位操作(若該引腳持續(xù)保持高電平,單片機就

28、處于循環(huán)復位狀態(tài))。</p><p>  實際應用中,復位操作有兩種基本的形式:一種是上電復位,另一種是上電與按鍵均有效的復位。由于本次設計采用的是上電復位,所以這里只介紹上電復位,如下圖3-3所示:</p><p>  圖3-3上電復位電路</p><p>  上電復位要求接通電源后,單片機自動實現(xiàn)復位操作。常用的上電復位如上圖所示。上電瞬間RST引腳獲得高電平,

29、隨著電容C1的充電,RST引腳的高電平將逐漸下降。</p><p><b>  3.2.3顯示電路</b></p><p>  一、七段LED顯示器的原理</p><p>  顯示器是單片機應用系統(tǒng)常用的設備,包括LED、LCD等。LED顯示器由若干個發(fā)光二極管組成。七段LED通常構成字型“8”,還有一個發(fā)光二極管用來顯示小數(shù)點。每段LED分別

30、引出一個電極,電極的名為a、b、c、d、e、d、g、dp,其中dp是小數(shù)點段的引出電極。當發(fā)光二極管導通時,相應的一個筆畫或一個點就發(fā)光。控制相應的二極管導通,就能顯示出對應字符。</p><p>  說明:在該設計中,沒有用到電極(dp),而是用單位的數(shù)碼管來顯示分隔符,其</p><p>  七段LED顯示器如圖3-4所示</p><p>  圖3-4 七段LE

31、D顯示器</p><p><b>  動態(tài)顯示</b></p><p>  本設計共用了八位LED顯示器,因此采用動態(tài)顯示方式。所謂動態(tài)顯示就是一位一位的輪流點亮顯示器的各個位。對于顯示器的每一位而言,每隔一段時間點亮一次。雖然在同一時刻只有一位顯示器在工作,但由于人眼的視覺暫留效應和發(fā)光二極管熄滅時的余暉,我們看到的卻是多個字符“同時“顯示。顯示器亮度既與點亮時的導

32、通電流有關,也與點亮時間長短和時間間隔有關。</p><p>  顯示器的位數(shù)不大于8位,則控制顯示器公共極電位只需要一個I/O接口,稱為掃描口或字位口,控制各位LED顯示器所顯示的字型也需要一個8位接口,稱為段數(shù)據(jù)口或字型口。圖3-5為驅動顯示電路框圖。</p><p>  圖3-4 驅動顯示電路框圖</p><p>  74LS244是我們常用的芯片,用來驅動

33、led或者其他的設備</p><p>  當8051單片機的P1口總線負載達到或超過P1最大負載能力時,必須接入74LS244等總線驅動器。</p><p>  當片選端/CE低電平有效時,DIR=“0”,信號由 B 向 A 傳輸;(接收)</p><p>  3.2.4 鍵盤及其接口</p><p>  鍵盤是由若干個按鍵組成的,它是單片

34、機最簡單的輸入設備。通過鍵盤輸入數(shù)據(jù)或命令,就可實現(xiàn)簡單的人機對話。</p><p><b>  一、按鍵的抖動現(xiàn)象</b></p><p>  按鍵就是一個簡單的開關。當按鍵按下時,相當于開關閉合;當按鍵松開時,相當于開關斷開。按鍵在閉合和斷開時,觸點會存在抖動現(xiàn)象。按鍵抖動時間一般為5ms~10ms,抖動可能造成一次按鍵的多次處理問題。應采取措施消除抖動的影響。消

35、除的方法很多,本設計采用軟件延時的方法來消除抖動。當單片機檢測到有按鍵按下時先定時,然后再檢測按鍵的狀態(tài),若仍是閉合狀態(tài)則認為真的有鍵按下。當檢測到按鍵釋放時,亦需要做同樣的處理。</p><p><b>  二、按鍵電路</b></p><p>  獨立式鍵盤的各個按鍵相互獨立,每個按鍵獨立地與一根數(shù)據(jù)輸入線(單片機并行接口或其他芯片的并行接口)連接。獨立式鍵盤配置

36、靈活,軟件結構簡單,但每個按鍵必須占用一根接口線,在按鍵數(shù)量不多時,接口線占用多。所以,獨立式按鍵常用于按鍵數(shù)量不多的場合。</p><p>  該設計只用了三個按鍵,來實現(xiàn)功能控制。在運行狀態(tài)下,按動控制按扭S-SET,可對秒進行調整;按動控制按扭M-SET,可對分進行調整;按動控制按扭H-SET,可對時進行調整;因此采用獨立式鍵盤方式,設計起來比較簡單。如圖3-6所示</p><p>

37、  圖3-5 鍵盤電路</p><p>  3.3 系統(tǒng)原理圖</p><p>  AT89C51的P1口接入三個按鍵,對時、分、秒進行調整。P0口輸出字段碼,控制要顯示的字符,外接74LS245芯片,驅動LED顯示。P3口輸出字位碼,去控制要顯示的位,其原理圖如圖3-6所示。</p><p>  圖3-6 電子鐘原理圖</p><p>

38、;  當接入電源時,數(shù)字電子鐘以秒為單位開始計時。運行狀態(tài)下,按下控制按鍵S-SET,對秒進行調整;按下M-SET調整分鐘;按下H-SET對小時進行調整。這樣通過三個按鍵,分別對時、分、秒進行調整,從而實現(xiàn)調時。</p><p>  第4章 軟件設計</p><p>  在軟件設計中,整個程序的主框架是以定時1s計算的方式來實現(xiàn)電子鐘。定時1s的程序段,使用動態(tài)顯示程序實現(xiàn)延時,既完成

39、了延時,也完成了數(shù)字的顯示。在計算程序中,使對應于時、分、秒的變化量按照60進制和24進制進行計算,動態(tài)顯示程序直接引用這些變量,達到顯示的數(shù)字也隨之不斷變化,即完成了電子鐘的功能。</p><p>  其軟件功能模塊主要有鍵輸入程序、中斷程序、顯示程序,以及延時程序。</p><p>  需要說明的是,這里設計的是簡易的電子鐘,主要是用程序運行來計算時間,這樣用程序來確定出1s的時間精度

40、是很有限的,所以整個時鐘的精度不太高。</p><p>  4.1 主程序的設計</p><p>  初始化將時、分、秒各單元的內容清空,置T0為計數(shù)器方式1,分別給計數(shù)器的高8位和低8位賦計數(shù)初值,啟動T0工作。鍵入一個按鍵,如執(zhí)行此動作,秒值加1,否則重新鍵如按鍵。</p><p>  主程序模塊:主程序流程圖,如圖4-1所示 </p><p

41、>  圖4-1 主程序流程圖</p><p>  4.2 鍵輸入程序</p><p>  鍵輸入程序用于調整時間。以秒為例,按下按鍵S-SET,判斷S-SET是否真的被按下,若沒有鍵按下,轉到A1程序段,再次鍵入按鍵,重新判斷。若按鍵按下了,則調用延時程序,消除抖動現(xiàn)象秒值加1,當秒值大于60時,秒清零,進行下一次計時,同時分加一,并轉到J0顯示。此過程循環(huán)執(zhí)行,其程序流程圖如圖4

42、-2所示:</p><p>  圖4-2 鍵輸入程序流程圖</p><p>  A1:LCALLDISPLAY;調用延時程序</p><p>  JNBS_SET,S1;判斷按鍵是否按下</p><p>  JNBM_SET,S2</p><p>  JNBH_SET,S3</p&

43、gt;<p><b>  LJMPA1</b></p><p>  S1: LCALLDELAY;去抖動</p><p>  JBS_SET,A1</p><p>  INCSECOND;秒值加1</p><p>  MOVA,SECOND</p><p&

44、gt;  CJNEA,#60,J0;判斷是否加到60秒</p><p>  MOVSECOND,#0 ;秒清0</p><p><b>  LJMPJ0</b></p><p>  J0:JBS_SET,A1</p><p>  LCALLDISPLAY ;調用顯示</p><

45、;p><b>  SJMPJ0</b></p><p><b>  4.3 顯示程序</b></p><p>  顯示其時、分、秒的數(shù)值,和兩個分隔符。以顯示秒為例,當P3.7輸入高電平時,秒的個位所對應的字段碼點亮,顯示其秒的個位;當秒有十位輸入時,P3.6輸入高電平,秒所十位對應的字段碼點亮,顯示其秒十位。其程序流程圖如圖4-3所示

46、:</p><p>  圖4-3 顯示程序流程圖</p><p>  DISPLAY:MOVA,SECOND;顯示秒</p><p>  MOVB,#10</p><p><b>  DIVAB</b></p><p><b>  CLRP3.6</b>&l

47、t;/p><p>  MOVCA, @A+DPTR ;取字段碼</p><p>  MOVP0, A</p><p>  LCALLDELAY ;調用延時</p><p>  SETBP3.6 ;顯示秒十位</p><p><b>  MOVA,B</b></p><

48、;p><b>  CLRP3.7</b></p><p>  MOVCA,@A+DPTR ;取字段碼</p><p><b>  MOVP0,A</b></p><p>  LCALLDELAY ; 調用延時,去抖動</p><p>  SETBP3.7 ;顯示秒個位<

49、/p><p><b>  CLRP3.5</b></p><p><b>  4.4延時程序</b></p><p>  按鍵抖動時間一般為5ms~10ms,因此延時10ms,其流程圖如圖4-4所示:</p><p>  圖4-4 延時程序流程圖</p><p>  DEL

50、AY:MOVR6,#10 ;延時10ms</p><p>  D1:MOVR7,#250</p><p><b>  DJNZR7,$</b></p><p>  DJNZR6,D1</p><p><b>  RET</b></p><p><b&

51、gt;  2.5 中斷程序</b></p><p>  中斷程序主要用于控制顯示的字符。當秒值大于60時,秒清零,重新計數(shù),分值加1,秒、分同時顯示;當分值大于60時,分清零,重新計數(shù),小時加1,秒、分、時同時顯示,當小時大于23時,一天的計時完畢,秒、分、時均清零,進行第二天的計時。此任務循環(huán)執(zhí)行。其程序流程圖如圖4-5所示:</p><p>  圖4-4 中斷程序流程

52、圖</p><p>  DISPLAY: </p><p>  MOVA,SECOND;顯示秒</p><p>  MOVB,#10</p><p><b>  DIVAB</b></p><p><b>  CLRP3.6</b></p&

53、gt;<p>  MOVCA, @A+DPTR</p><p>  MOVP0, A</p><p>  LCALLDELAY ;調用延時</p><p>  SETBP3.6 ;顯示秒的十位</p><p><b>  MOVA,B</b></p><p><

54、;b>  CLRP3.7</b></p><p>  MOVCA,@A+DPTR</p><p><b>  MOVP0,A</b></p><p>  LCALLDELAY</p><p>  SETBP3.7 ;顯示秒的個位</p><p><b>

55、  CLRP3.5</b></p><p>  MOVP0,#40H;顯示分隔符</p><p>  LCALLDELAY</p><p><b>  SETBP3.5</b></p><p>  MOVA,MINUTE;顯示分鐘</p><p>  MOVB

56、,#10</p><p><b>  DIVAB</b></p><p><b>  CLRP3.3</b></p><p>  MOVCA,@A+DPTR</p><p><b>  MOVP0,A</b></p><p>  LCALL

57、DELAY</p><p>  SETBP3.3 ;顯示分的十位</p><p><b>  MOVA,B</b></p><p><b>  CLRP3.4</b></p><p>  MOVCA,@A+DPTR</p><p><b>  MOV

58、P0,A</b></p><p>  LCALLDELAY</p><p>  SETBP3.4 ;顯示分個位</p><p><b>  CLRP3.2</b></p><p>  MOVP0,#40H;顯示分隔符</p><p>  LCALLDELAY<

59、;/p><p><b>  SETBP3.2</b></p><p>  MOVA,HOUR;顯示小時</p><p>  MOVB,#10</p><p><b>  DIVAB</b></p><p><b>  CLRP3.0</b&g

60、t;</p><p>  MOVCA,@A+DPTR</p><p><b>  MOVP0,A</b></p><p>  LCALLDELAY</p><p>  SETBP3.0 ;顯示時的十位</p><p><b>  MOVA,B</b></p

61、><p><b>  CLRP3.1</b></p><p>  MOVCA,@A+DPTR</p><p><b>  MOVP0,A</b></p><p>  LCALLDELAY</p><p>  SETBP3.1 ;顯示時的個位</p>

62、<p><b>  RET</b></p><p><b>  第5章 調試與運行</b></p><p><b>  5.1 電路仿真</b></p><p>  此設計的電路在單片機仿真軟件[Proteus.Professional.7.1]中進行仿真,仿真電路如圖5-1所示:</

63、p><p>  圖5-1 電子鐘仿真電路圖</p><p><b>  5.2 調試和運行</b></p><p>  在KEIL (單片機匯編) C51軟件中編寫好的程序,將程序放入單片機仿真軟件中,結合硬件電路進行調試與運行。</p><p>  通過按鍵對時間進行調整。如顯示時間為14-30-22,既是14點30分22

64、秒,通過以下調整則可實現(xiàn)。</p><p>  按動S-SET鍵,將秒調到22;</p><p>  按動M-SET鍵,將分調到30;</p><p>  按動H-SET鍵,將時調到14。</p><p>  則將時間調到了所要顯示的時間14-30-22,通過此方法可將時間調整到任何需要顯示的時間。</p><p>&

65、lt;b>  第6章 結 論</b></p><p>  因為單片機的種類多,而型號雜,也是我們學習中的困難,所以就MCS—51系列的產品來說,就是一個典型的學習方法。對于類似匯編的單片機編程過程,也是一個十分有趣的過程。為了更好的說明,我以上介紹先從應用電路切入,同時介紹它們的使用方法,以便能快速掌握它們的應用。</p><p>  通過本次的課程設計,我學會了單片

66、機的一般設計過程,通常都要進行系統(tǒng)擴展與配置,因此,要完成一個單片機的設計工作,必須依次做到下述工作:1、硬件電路的設計、組裝與調試;2、應用軟件的編寫、調試;3、完整應用軟件的調試、固化和脫機運行。而在進行硬件系統(tǒng)設計時我們應當盡量做到:1、盡可能的選擇典型電路,并符合單片機的常規(guī)使用方法;2、在充分滿足系統(tǒng)功能要求前提下,留余地以便于二次開發(fā);3、硬件結構設計應與軟件設計方案一并考慮;4、整個系統(tǒng)相關器件要力求性能的匹配;5、硬件上

67、要有可靠性與抗干擾設計;6、充分考慮單片機的帶載驅動能力。所以我用單片機編寫了上面的程序,因為基礎知識學的不怎么好,如有錯誤之處,還望老師理解,并加以批改。通過這次設計使我對單片機有了更深入的了解。培養(yǎng)了我的動手實踐能力。</p><p><b>  致 謝</b></p><p>  本文從擬定題目到定稿,經歷了很長一段時間。在本論文完成之際,首先要向我的導師劉老

68、師致以誠摯的謝意。在論文的寫作過程中,劉老師給予我許許多多的幫助,劉老師不厭其煩地為我講解畢業(yè)設計中繁瑣的問題,并且多次提出寶貴意見,使我的畢業(yè)設計能夠更完整,更充實。</p><p>  同時,還要感謝四年中孜孜不倦的為我們講課的老師們,是他們毫無保留地將他們的知識傳授給我們,才使得今天的我能夠順利的完成我的畢業(yè)設計,感謝**學院,是這里給我提供了良好的學習環(huán)境和生活環(huán)境,讓我的大學生活豐富多彩,讓我對今后的生

69、活更加充滿了信心。</p><p>  另外,衷心感謝我的同窗同學們,在我畢業(yè)論文寫作中,與他們的探討交流使我受益頗多;同時,他們也給了我很多無私的幫助和支持,我在此深表謝意!</p><p>  最后,向我親愛的家人和朋友表示深深的謝意,他們給予我的愛、理解、關心和支持是我不斷前進的動力。</p><p>  “懼懷逸興思斗志,欲上青天攬日月?!?lt;/p>

70、;<p><b>  參考文獻</b></p><p>  [1].朱永金等主編,《單片機應用技術》,中國勞動社會保障出版社。</p><p>  [2].彭冬明.韋友春主編,《單片機實驗教程》,理工大學出版社。 </p><p>  [3].朱家建主編,《單片機原理及應用》,機械工業(yè)出版社。</p><p&g

71、t;  [4].胡漢才主編,《單片機原理及接口技術》,清華大學出版社。 </p><p>  [5].張偉主編,《單片機原理及應用》,機械工業(yè)出版社。</p><p>  附錄一 系統(tǒng)原理圖</p><p>  附錄二 元件清單</p><p>  附錄三 程序清單</p><p>  S_SETBIT

72、P1.0;數(shù)字鐘秒控制位</p><p>  M_SETBITP1.1;分鐘控制位</p><p>  H_SETBITP1.2;小時控制位</p><p>  SECONDEQU30H</p><p>  MINUTEEQU31H</p><p>  HO

73、UREQU32H</p><p>  TCNTEQU34H </p><p><b>  ORG00H</b></p><p>  SJMPSTART</p><p><b>  ORG0BH</b></p><p>  LJMPINT_T0 <

74、;/p><p>  START: </p><p>  MOVDPTR,#TABLE</p><p>  MOVHOUR,#0;初始化</p><p>  MOVMINUTE,#0</p><p>  MOVSECOND,#0</p><p>  MOV

75、TCNT,#0</p><p>  MOVTMOD,#01H ;置T0為計數(shù)器方式1</p><p>  MOVTH0,#(65536-50000)/256;定時50毫秒</p><p>  MOVTL0,#(65536-50000)MOD 256</p><p>  MOVIE,#82H</p&g

76、t;<p>  SETB TR0 ;啟動T0工作</p><p>  A1:LCALL DISPLAY</p><p>  JNBS_SET,S1</p><p>  JNBM_SET,S2</p><p>  JNBH_SET,S3</p><p>&

77、lt;b>  LJMPA1</b></p><p>  S1: </p><p>  LCALLDELAY;去抖動</p><p>  JBS_SET,A1</p><p>  INCSECOND;秒值加1</p><p>  MOVA,SECOND</p

78、><p>  CJNEA,#60,J0;判斷是否加到60秒</p><p>  MOVSECOND,#0</p><p><b>  LJMPJ0</b></p><p><b>  S2: </b></p><p>  LCALLDELAY</p>

79、<p>  JBM_SET,A1</p><p>  K1: </p><p>  INCMINUTE;分鐘值加1</p><p>  MOVA,MINUTE</p><p>  CJNEA,#60,J1;判斷是否加到60分</p><p>  MOVMINUTE,#

80、0</p><p><b>  LJMPJ1</b></p><p>  S3: </p><p>  LCALLDELAY</p><p>  JBH_SET,A1</p><p>  K2: </p><p>  INCHOUR

81、;小時值加1</p><p>  MOVA,HOUR</p><p>  CJNEA,#24,J2;判斷是否加到24小時</p><p>  MOVHOUR,#0 </p><p><b>  LJMPJ2 </b></p><p>  J0:JBS_SET,A1<

82、;/p><p>  LCALLDISPLAY</p><p><b>  SJMPJ0</b></p><p>  J1:JB M_SET,A1 </p><p>  LCALLDISPLAY</p><p><b>  SJMPJ1</b></p

83、><p>  J2: </p><p>  JB H_SET,A1</p><p>  LCALL DISPLAY</p><p><b>  SJMP J2</b></p><p><b>  INT_T0: </b></p><

84、;p>  MOVTH0,#(65536-50000)/256</p><p>  MOVTL0,#(65536-50000)MOD 256</p><p><b>  INCTCNT</b></p><p>  MOVA,TCNT</p><p>  CJNEA,#20,RETUNE;計時1

85、秒</p><p>  INCSECOND</p><p>  MOVTCNT,#0</p><p>  MOVA,SECOND</p><p>  CJNEA,#60,RETUNE</p><p>  INCMINUTE</p><p>  MOVSECOND,#0<

86、;/p><p>  MOVA,MINUTE</p><p>  CJNEA,#60,RETUNE</p><p><b>  INCHOUR</b></p><p>  MOVMINUTE,#0</p><p>  MOVA,HOUR</p><p>  CJ

87、NEA,#24,RETUNE</p><p>  MOVHOUR,#0 </p><p>  RETUNE: </p><p><b>  RETI</b></p><p>  DISPLAY: </p><p>  MOVA,SECOND;顯示秒&l

88、t;/p><p>  MOVB,#10</p><p><b>  DIVAB</b></p><p><b>  CLRP3.6</b></p><p>  MOVCA, @A+DPTR</p><p>  MOVP0, A</p><p&

89、gt;  LCALLDELAY</p><p><b>  SETBP3.6</b></p><p><b>  MOVA,B</b></p><p><b>  CLRP3.7</b></p><p>  MOVCA,@A+DPTR</p><

90、;p><b>  MOVP0,A</b></p><p>  LCALLDELAY</p><p><b>  SETBP3.7</b></p><p><b>  CLRP3.5</b></p><p>  MOVP0,#40H;顯示分隔符</

91、p><p>  LCALLDELAY</p><p><b>  SETBP3.5</b></p><p>  MOVA,MINUTE;顯示分鐘</p><p>  MOVB,#10</p><p><b>  DIVAB</b></p><

92、p><b>  CLRP3.3</b></p><p>  MOVCA,@A+DPTR</p><p><b>  MOVP0,A</b></p><p>  LCALLDELAY</p><p><b>  SETBP3.3</b></p>

93、<p><b>  MOVA,B</b></p><p><b>  CLRP3.4</b></p><p>  MOVCA,@A+DPTR</p><p><b>  MOVP0,A</b></p><p>  LCALLDELAY</p>

94、;<p><b>  SETBP3.4</b></p><p><b>  CLRP3.2</b></p><p>  MOVP0,#40H;顯示分隔符</p><p>  LCALLDELAY</p><p><b>  SETBP3.2</b>

95、;</p><p>  MOVA,HOUR;顯示小時</p><p>  MOVB,#10</p><p><b>  DIVAB</b></p><p><b>  CLRP3.0</b></p><p>  MOVCA,@A+DPTR</p&g

96、t;<p><b>  MOVP0,A</b></p><p>  LCALLDELAY</p><p><b>  SETBP3.0</b></p><p><b>  MOVA,B</b></p><p><b>  CLRP3.1&

97、lt;/b></p><p>  MOVCA,@A+DPTR</p><p><b>  MOVP0,A</b></p><p>  LCALLDELAY</p><p><b>  SETBP3.1</b></p><p><b>  RET<

98、;/b></p><p>  TABLE: </p><p>  DB 3FH,06H,5BH,4FH,66H</p><p>  DB6DH,7DH,07H,7FH,6FH</p><p>  DELAY: </p><p>  MOVR6,#10</p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論