單片機課程設計_基于89C51的數字電子時鐘的設計(共28頁)_第1頁
單片機課程設計_基于89C51的數字電子時鐘的設計(共28頁)_第2頁
單片機課程設計_基于89C51的數字電子時鐘的設計(共28頁)_第3頁
單片機課程設計_基于89C51的數字電子時鐘的設計(共28頁)_第4頁
單片機課程設計_基于89C51的數字電子時鐘的設計(共28頁)_第5頁
已閱讀5頁,還剩25頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、 課程設計單片機系統(xtng)課 程 設 計成績(chngj)評定表設計(shj)課題 基于89C51的數字電子時鐘設計 學院名稱 : 電氣工程學院 專業班級 : 學生姓名 : 學 號 : 指導教師 : 設計地點 : 設計時間 : 指導教師意見:成績: 簽名: 年 月 日單片機系統(xtng)課 程 設 計課程設計名稱(mngchng): 基于89C51的數字電子時鐘(shzhng)設計 專 業 班 級 : 學 生 姓 名 : 學 號 : 指 導 教 師 : 課程設計地點(ddin): 課程設計時間(shjin): 2014-01-012015-01-12 單片機系統(xtng) 課程設計任

2、務書學生姓名 專業班級學號題 目課題性質工程設計課題來源自擬指導教師主要內容(參數)利用89C51設計數字電子時鐘,實現以下功能:1開機時顯示00-00-00,并開始連續計時;2記時滿23-59-59時,返回00-00-00重新開始計時;3在單片機的P1.0P1.3口分別接入4個按鍵,P1.0P1.2分別用于“秒”“分”“時”的調整,P1.3用做復位鍵。任務要求(進度)第1-2天:熟悉課程設計任務及要求,查閱技術資料,確定設計方案。第3-4天:按照確定的方案設計單元電路。要求畫出單元電路圖,元件及元件參數選擇要有依據,各單元電路的設計要有詳細論述。第5-6天:軟件設計,編寫程序。第7-8天:實

3、驗室調試。第9-10天:撰寫課程設計報告。要求內容完整、圖表清晰、文理流暢、格式規范、方案合理、設計正確,篇幅不少于6000字。主要參考資料1 張迎新等.單片微型計算機原理、應用與接口技術.北京:國防工業出版社,2009.8;2 謝維成等.單片機原理與運用及匯編程序設計.北京:清華大學出版社2006.8;3周潤景,劉曉霞等.單片機實用系統設計與仿真經典實例.北京:電子工業出版社,2014.1;4夏路易,石宗義.Protel 99sSE設計教程.北京:北京希望電子出版社.2002.6。審查意見系(教研室)主任簽字: 年 月 日 目錄(ml) TOC o 1-3 h z u HYPERLINK l

4、 _Toc408946040 1 引言(ynyn)5 HYPERLINK l _Toc408946041 2 設計(shj)目的5 HYPERLINK l _Toc408946042 3 系統方案與總體結構設計5 HYPERLINK l _Toc408946043 3.1系統方案設計5 HYPERLINK l _Toc408946044 3.2數字時鐘框圖設計6 HYPERLINK l _Toc408946046 4數字時鐘的硬件構成8 HYPERLINK l _Toc408946047 4.1 選用芯片簡介8 HYPERLINK l _Toc408946049 4.2 LED數碼顯示器簡介1

5、2 HYPERLINK l _Toc408946051 5各個模塊工作原理及原理圖12 HYPERLINK l _Toc408946052 5.1計時模塊13 HYPERLINK l _Toc408946053 5.2數字時鐘控制模塊13 HYPERLINK l _Toc408946054 5.3振蕩模塊14 HYPERLINK l _Toc408946055 5.4顯示模塊14 HYPERLINK l _Toc408946056 6系統軟件設計15 HYPERLINK l _Toc408946057 6.1軟件設計的要點(yodin)15 HYPERLINK l _Toc408946058

6、6.2 AT89C51內部(nib)定時器/計數器0的使用(shyng)方法15 HYPERLINK l _Toc408946059 6.3 程序設計流程圖16 HYPERLINK l _Toc408946060 7系統調試與總結17 HYPERLINK l _Toc408946061 7.1電路調試17 HYPERLINK l _Toc408946062 7.2軟件調試17 HYPERLINK l _Toc408946063 8結論與心得18 HYPERLINK l _Toc408946064 附錄A系統原理圖18 HYPERLINK l _Toc408946065 附錄B 源程序20 HY

7、PERLINK l _Toc408946066 參考文獻261 引言數字時鐘是一種用數字電路技術實現時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,無機械裝置,具有更長的使用壽命。數字集成電路的發展和石英晶體振蕩器的廣泛應用,使得數字時鐘的精度,遠遠超過老式鐘表,使其得到了廣泛的使用。該課程設計為數字電子鐘的設計。以AT89C51為核心,配合8位7段共陰極LED數碼管顯示實時數據,按鍵可以進行數據調整,為用戶提供長期、連續、可靠、穩定的工作環境。該數字電子鐘有時分秒顯示功能以及時間的調整的功能。系統軟件設計主要實現參數設置、串行口數據接收、指令發送以及數據的顯示和存儲,并且實現

8、鍵盤、液晶顯示器等各模塊的功能,采用匯編語言編程。關鍵詞: 數字電子鐘單片機匯編語言 2 設計(shj)目的深化和擴充在單片機原理及相關課程方面的基本知識、基本理論和基本技能熟悉設計過程,了解設計步驟,掌握(zhngw)設計內容,培養設計電路、實現軟件編程和編寫設計說明書能力的目的,為今后從事相關方面的實際工作打下良好基礎。(1)熟悉(shx)AT89C51內部定時器/計數器原理和應用,把理論加以實踐;(2)了解使用單片機處理復雜邏輯的方法;(3)掌握多位數碼動態顯示的方法;(4)掌握多個按鍵的讀鍵和處理方法。3 系統方案與總體結構設計3.1系統方案設計系統采用通用的80C51芯片,顯示器為8

9、個共陰極LED數碼管,用1個八總線接收/發送器74LS245驅動數碼管,因為采用了上述兩個芯片,所以在對數碼管進行掃描顯示時,只需要單片機的8條I/O線就能完成顯示功能了。 選用P0.0-P0.7作為顯示數據值的輸出,連接在八總線接收/發送器74LS245輸入端。由于LED數據管點亮時耗電量較大,因此使用了排阻作為電源驅動輸出,以保證數碼管的正常亮度。單片機的P1.0-P1.4口分別接在S1S4 4個按鍵上,以控制“時”,“分”,“秒”的調整。時間以24小時為一個周期,數字時鐘鐘的格式為:XX-XX-XX,由左向右分別為:“時-分-秒”(由于沒有采用小數點,符號 “-”為分隔“時”“分”“秒”

10、的分隔符)。完成顯示由秒加1,一直加1至59,再恢復為00;分加1,一直加1至59,再恢復00;時加1,一直加1至23,再恢復00。* 按鍵功能* 啟動時,數字時鐘從00-00-00 開始自動計時; 按鍵(n jin)S1控制對“秒”的調整(tiozhng),每按一次時計數值加1; 按鍵(n jin)S2控制對“分”的調整,每按一次分計數值加1; 按鍵S3控制對“時”的調整,每按一次秒計數值加1; 按鍵S4用做復位鍵,在計時過程中,如果按下復位鍵,則返回00-00-00重新計時。3.2數字時鐘框圖設計數字時鐘總體結構框圖設計如圖3-1所示。圖3-1 數字時鐘設計框圖 用AT89C51單片機的定

11、時器/計數器T0產生1s的定時時間,作為秒計數時間,當1s產生時,秒計數加1開始計時。顯示00-00-00的時間,開始計時;P1.0口控制“秒”的調整,每次按鍵加1s;P1.1口控制“分”的調整,每按一次按鍵加1min;P1.2口控制“時”的調整,每按一次加1h。計時滿23-59-59時,返回00-00-00重新計時。P1.3口用作復位鍵,在計時過程中,如果按下復位鍵,則返回00-00-00重新計時。 3.2.1計時模塊:用AT89C51單片機的定時器/計數器T0產生1s的定時時間,作為秒計數時間;當1s產生時,秒計數加1,當加到60s時向分鐘位進一位,當分鐘位加到60時,向時鐘位進一;開機時

12、,顯示(xinsh)00-00-00,并開始連續計時;計時滿23-59-59時,返回(fnhu)00-00-00重新開始計時。3.2.2數字時鐘(shzhng)控制模塊:在以上設計基礎上,在單片機的P1.0P1.3口分別接入4個按鍵。P1.0口控制“秒”的調整,每次按鍵加1s;P1.1口控制“分”的調整,每按一次按鍵加1min;P1.2口控制“時”的調整,每按一次加1h;P1.3口用作復位鍵控制,在計時過程中,如果按下復位鍵,則返回00-00-00重新計時。3.2.3振蕩模塊:晶體振蕩器電路給數字時鐘提供一個頻率穩定準確的12MHz的方波信號,不管是指針式的電子鐘還是數字顯示的電子鐘都使用了晶

13、體振蕩器電路。3.2.4顯示模塊:顯示電路采用8位7段共陰極LED數碼管顯示實時數據,采用74LS245增加I/O口的驅動能力。4數字時鐘的硬件構成4.1 選用芯片簡介 4.1.1 89C51簡介AT89C51是一種帶4K字節FLASH存儲器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機,其引腳圖如圖4-1所示。AT89C51提供以下標準功能:4k 字節Flash 閃速存儲器,128字節內部RAM,32 個I/O 口線,兩個16位定時/計數器,一個5向量兩級中斷結構,一個全雙工串

14、行通信口,片內振蕩器及時鐘電路。同時,AT89C51可降至0Hz的靜態邏輯操作,并支持兩種軟件可選的節電工作模式。空閑方式停止CPU的工作,但允許RAM,定時/計數器,串行通信口及中斷系統繼續工作。掉電方式保存RAM中的內容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復位。1.管腳說明(shumng)VCC:供電(n din)電壓。GND:接地(jid)。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P0口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的低八位。在FIASH編程時,P0 口作為原碼輸入口,當F

15、IASH進行校驗時,P0輸出原碼,此時P0外部必須接上拉電阻。P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為低八位地址接收。P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存

16、儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示:2.口管腳 備選功能P3.0 RXD(串行輸入(shr)口)P3.1 TXD(串行輸出(shch)口)P3.2

17、/INT0(外部(wib)中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(定時器0外部輸入)P3.5 T1(定時器1外部輸入)P3.6 /WR(外部數據存儲器寫選通)P3.7 /RD(外部數據存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注

18、意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序

19、存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內部時鐘(shzhng)工作電路的輸入。XTAL2:來自反向(fn xin)振蕩器的輸出。 圖4-1 89C51單片機引腳圖4.1.2 74LS245簡介(jin ji) HYPERLINK l _Toc167014042 74LS245是我們常用的芯片,用來驅動led或者其他的設備,它是8路同相三態雙向總線收發器,可雙向傳輸數據,其引腳圖如圖4-5。當片選端/CE有效時,74LS245的輸入/輸出方向由DIR控制。74LS245還具有雙向三態功能,既可以輸出,也可以輸入數據。其工作方式如

20、表4-1所示。 表4-1 74LS245的工作方式控制信號數據傳輸方向/EDIRLLBALHABLX高阻 由表4-1可知,當8051單片機的P0口總線負載達到或超過P0最大負載能力時,必須接入74LS245等總線驅動器。當片選端/CE低電平有效時,DIR=“0”,信號由 B 向 A 傳輸(接收);DIR=“1”,信號由 A向 B 傳輸(發送);當/CE為高電平時,A、B均為高阻態。由于P2口始終輸出地址的高8位,接口時74LS245的三態控制端1G和2G接地,P2口與驅動器輸入線對應相連。P0口與74LS245輸入端相連,E端接地,保證數據線暢通。8051的/RD和/PSEN相與后接DIR,使

21、得RD且PSEN有效時,74LS245輸入(P0.1D1),其它時間處于輸出(P0.1D1)。圖4.3 74LS245管腳圖 若將DIR接固定TTL邏輯電平(高或低),則74LS245變為單向緩沖器,但這種方式是極少采用的。一般都是使用它的雙向輸出功能。為此,DIR必須可控,使其根據(gnj)需要變為高電平或低電平,并與/E相結合控制數據傳輸方向。在單片機系統中,可采用讀信號或者寫信號實現控制。當/WR有效時數據通過74LS245的B(B0B7)端輸入,由(A1A8)輸出;當/RD有效時數據由A端輸入,B端輸出。由此可見,由于74LS245芯片具有雙向緩沖和驅動作用,很適合作單片機的數據總線的

22、收發器。4.2 LED數碼(shm)顯示器簡介LED數碼顯示器是1種由LED發光二極管組合顯示字符的顯示器件。它使用(shyng)了8個LED發光二極管,其中7個用于顯示字符,1個用于顯示小數點,在本設計中用不到小數點,故不予考慮。LED數碼顯示器有兩種連接方法。 (1)共陽極接法。把發光二極管的陽極連在一起構成公共陽極,使用時公共陽極接+5V,每個發光二極管的陰極通過電阻與輸入端相連。當陰極端輸入低電平時,段發光二極管就導通點亮,而輸入高電平時則不點亮。(2)共陰極接法。把發光二極管的陰極連在一起構成公共陰極,使用時公共陰極接地。每個發光二極管的陽極通過電阻與輸入端相連。當陽極端輸入高電平時

23、,段發光二極管就導通點亮,而輸入低電平時則不點亮。在本設計中所采用的是共陰極LED數碼顯示器,其引腳排列如圖7所示: (b)圖4-4 (a)典型LED數碼(shm)顯示器 (b) 典型LED數碼顯示器共陰極、共陽極接法5各個模塊(m kui)工作原理及原理圖用AT89C51單片機的定時器/計數器T0產生1s的定時時間,作為秒計數時間,當1s產生時,秒計數加1開始(kish)計時。顯示00-00-00的時間,開始計時;P1.0口控制“秒”的調整,每次按鍵加1s;P1.1口控制“分”的調整,每按一次按鍵加1min;P1.2口控制“時”的調整,每按一次加1h。計時滿23-59-59時,返回00-00

24、-00重新計時。P1.3口用作復位鍵,在計時過程中,如果按下復位鍵,則返回00-00-00重新計時。5.1計時模塊用AT89C51單片機的定時器/計數器T0產生1s的定時時間,作為秒計數時間;當1s產生時,秒計數(j sh)加1,當加到60s時向分鐘位進一位,當分鐘位加到60時,向時鐘位進一;開機時,顯示(xinsh)00-00-00,并開始連續計時;計時滿23-59-59時,返回00-00-00重新(chngxn)開始計時。5.2數字時鐘控制模塊在以上設計基礎上,在單片機的P1.0P1.3口分別接入4個按鍵S1、S2、S3、S4。控制模塊的原理圖如圖5-1P1.0口控制“秒”的調整,每次按鍵

25、加1s,;P1.1口控制“分”的調整,每按一次按鍵加1min;P1.2口控制“時”的調整,每按一次加1h;P1.3口用作復位鍵控制,在計時過程中,如果按下復位鍵,則返回00-00-00重新計時。 圖5-1 數字時鐘控制模塊原理圖5.3振蕩模塊晶體振蕩器電路給數字時鐘提供一個頻率穩定準確的12MHz的方波信號,不管是指針式的電子鐘還是數字顯示的電子鐘都使用了晶體振蕩器電路振蕩模塊的原理圖如圖5-2。圖5-2 振蕩(zhndng)模塊電路原理圖5.4顯示(xinsh)模塊 顯示電路采用8位7段共陰極LED數碼管顯示實時數據(shj),采用74LS245增加I/O口的驅動能力。圖5-3顯示模塊電路原

26、理圖6系統軟件(x tn run jin)設計6.1軟件設計的要點(yodin)由于電路設計得極其巧妙,許多(xdu)功能都可以由硬件完成,因此軟件設計就比較簡單了。下面介紹軟件設計的要點:主程序:首先進行初始化,設置數字時鐘的計時初值為00-00-00,啟動T0進行50ms定時,且允許T0中斷。然后檢測S1S4是否按下,當按鍵S1S4按下時,轉入時、分、秒計數值的調整程序。定時器T0中斷子程序:中斷服務子程序的作用是進行時、分、秒的計時與顯示。定時器T0用于定時,定時周期設為50ms,中斷累計20次(即1s)。時、分、秒計數值調整子程序TIME:時間計數單元在30H(s),31H(min),

27、32H(h)內存單元中,在計數單元中采用組合BCD碼計數。TIME子程序的作用是當滿1秒時,對秒計數單元進行加1操作,滿60向分進位;對分計數單元進行加1操作,滿60向時進位;對時計數單元進行加1操作,滿24清零。顯示子程序VIEW:VIEW子程序的作用是分別將時間計數單元30H(s),31H(min),32H(h)中的十進制時間值轉化為個位和十位存放在顯示緩沖區中,顯示緩沖區地址為30H-34H。其中30H-31H存放秒數據,31H-32H存放分數據,33H-33H存放時數據。掃描子程序SCAN:SCAN子程序的作用是把顯示緩沖區中的數據依次送往顯示器顯示。,所以用10H和40H單元存放掃描

28、指針,即10H和40H中存放的是數碼管的序號,顯示時,只需取出30H-34H某一地址中的數據,P0口作為掃描值輸出,就能保證數碼管的正常工作。 6.2 AT89C51內部定時器/計數器0的使用方法AT89C51單片機的內部16位定時/計數器是一個可編程定時/計數器,它既可以工作在13位定時方式,也可以工作在16位的定時方式或8位的定時方式,只要通過特殊功能寄存器TMOD即可完成。定時/計數器何時工作也是通過TCON特殊功能寄存器來設置的。在本課程設計中,選擇16位定時工作方式。對于T0來說,系統時鐘為12MHZ,最大定時時間65.536ms,無法達到(d do)1s的定時,因此必須通過軟件處理

29、來解決這個問題。假設取T0的最大定時時間為50ms。既要定時1s的需要經過20次的50ms定時。對于這20次計數,可采用軟件的方法來統計。設定(sh dn)TMOD=00000001H,即設置定時/計數器0工作在方式1。給定時/計數器T0的TH0、TL0預置初值,通過(tnggu)下面的公式可以計算出來,即 TH0=(65536-50000)/256 TL0=(65536-50000)MOD 256這樣,當定時/計數器0計滿50ms時,產生一個中斷,可以在中斷服務程序中對中斷次數加以統計,以實現數字鐘的邏輯功能。6.3 程序設計流程圖 綜合以上內容設計出數字鐘程序設計流程圖,如圖6-1所示。

30、圖6-1 數字鐘程序設計(chn x sh j)流程圖7系統調試(dio sh)與總結7.1電路(dinl)調試把相應編譯好的目標源程序代碼加載到單片機芯片AT89C51,可接+5V電壓電源即開始進行硬件電路的調試工作。如果顯示結果不符合設計要求,即檢查代碼程序是否符合硬件電路的設計,若有錯即進行相應的修改,編譯后,再進行硬件電路的調試工作。如此反復操作,直到調試出正確的結果。7.2軟件調試(1)在計算機上運行程序調試軟件Keill,進行程序調試,若顯示0錯誤(S), 0警告(S)即證明程序代碼正確。(2)在Protel軟件畫好的電路原理圖中加載程序代碼到單片機芯片AT89C51中,進行模擬仿

31、真。若出現錯誤,查看錯誤后進行相應的修改(xigi)再進行調試與模擬仿真,直到調試出正確的結果。系統調試完成之后,系統上電進行功能測試,通過測試觀察(gunch)到,系統上電后數碼管上顯示時間:00-00-00。按下S1鍵進行(jnxng)“秒”的調整,每次按鍵加1s如圖按S1兩次,LED數碼管由00-00-00顯示為00-00-02,如圖7-1所示 圖7-1 系統由初始狀態進行秒調整兩次后的仿真圖按下S3鍵進行“時”的調整,每按一次加1h;按下S4鍵進行復位鍵控制,在計時過程中,按下復位鍵,則返回00-00-00重新計時。通過測試,本設按下S2鍵進行“分”的調整,每按一次按鍵加1min;計實

32、現了數字電子鐘的基本功能,且系統工作穩定。8結論與心得本單片機數字電子鐘系統的功能顯示格式為XX-XX-XX即時-分-秒,采用24小時制顯示,并且設置4個獨立式按鍵進行時間的調整,并且可以按自己的要求設置擴展小鍵盤個數,經過測試,系統的可靠性基本上能夠達到數字電子鐘的設計要求,同時本單片機數字電子鐘系統具有擴展性。課程設計是培養學生綜合運用所學知識,發現實際問題、提出實際問題、分析和解決實際問題,鍛煉實踐能力的重要環節,是對學生實際學習能力、動手能力的具體訓練和考察過程。在此次課程設計中,在學習新知識的同時,把在課程中學到的理論和知識運用到了實踐中去,更進一步地熟悉掌握(zhngw)了單片機的

33、結構及掌握了其工作原理和具體的使用方法與相關元件的計算方法、使用方法,了解了電路的開發和制作及課程設計報告的的編寫。加深了相關理論知識及專業知識的掌握度,增強了自身的動手能力,鍛煉及提高了理解問題、分析問題、解決問題、的能力,更深刻的體會到了理論聯系實際的重要性,進一步掌握畫圖軟件的使用和提高相應的畫圖操作水平及技巧。附錄(fl)A系統原理圖附錄(fl)B 源程序【匯編語言(hu bin y yn)源程序代碼】 S_SET BIT P1.0 ;數字(shz)秒控制位M_SET BIT P1.1 ;分控制位H_SET BIT P1.2 ;小時控制位RESET BIT P1.3 ;復位鍵SECON

34、D EQU 30HMINUTE EQU 31HHOUR EQU 32HTCNT EQU 34H ORG 00H SJMP START ORG 00H LIMP INT_T0START: MOV DPTR,#TABLEMOV HOUR,#0MOV MINUTE,#0MOV SECOND,#0MOV TCNT,#0MOV TMOD,#01HMOV TH0,#(65536-50000)/256 ;定時50msMOV TLO,# (65536-50000)MOD256MOV IE,#82HSETB TR0;*;判斷是否有控制鍵按下,若有鍵按下,掃描是哪個鍵按下;*A1:LCALL DISPLAY MO

35、V P1,#0FFHJNB S_SET,S1JNB M_SET,S2JNB H_SET,S3JNB RESET,RESETLJMP A1S1: LCALL DELAY ;去抖動(dudng)JB S_SET,A1INC SECOND ;秒值加1LCALL DISPLAYMOV A,SECONDCJNE A,#60,J0 ;判斷(pndun)是否加到60sMOV SECOND,#0LJMP K1S2: LCALL DELAYJB M_SET,A1K1:INC MINUTE ;分鐘值加1MOV A,MINUTECJNE A,#60,J1;判斷(pndun)是否加到60分鐘MOV MINUTE,#0LJMP K2S3: LCALL DELAYJB H_SET,A1K2:INC HOURMOV A,HOURCJNE A,#24,J2 ;判斷是否加到24hMOV HOUR,#0MOV MINUTE,#0MOV SECONG,#0LJMP A1;*;等待(dngdi)鍵釋放;*J0:JB S_SET,A1LCALL DISPLAYSJMP JOJ1:JB M_SET,A1LCALL DISPLAYSJMP J1J2:JB H_SET,A1LCALL DISPLAYSJMP J2;*;定時器中斷(zhng

溫馨提示

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

評論

0/150

提交評論