基于單片機AT89C51的電子時鐘的課程設(shè)計_第1頁
基于單片機AT89C51的電子時鐘的課程設(shè)計_第2頁
基于單片機AT89C51的電子時鐘的課程設(shè)計_第3頁
基于單片機AT89C51的電子時鐘的課程設(shè)計_第4頁
基于單片機AT89C51的電子時鐘的課程設(shè)計_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 機械與電子工程學(xué)院課程設(shè)計報告課 程 名 稱 傳感器技術(shù) 設(shè) 計 題 目 數(shù)字電子鐘 所學(xué)專業(yè)名稱 自動化 班 級 自動化 111 班 學(xué) 號 2011210985 學(xué) 生 姓 名 葉明昭 指 導(dǎo) 教 師 李磊 2014 年 5 月 12 日目錄目錄第一章第一章 電子時鐘電子時鐘1 11.1 電子時鐘簡介.11.2 電子時鐘的基本特點.11.3 電子時鐘的原理.1第二章第二章 單片機識的相關(guān)知識單片機識的相關(guān)知識2 22.1 單片機簡介.22.2 單片機的發(fā)展史.22.3 單片機的特點.32.4 89C51 單片機介紹.3第三章第三章 控制系統(tǒng)的硬件設(shè)控制系統(tǒng)的硬件設(shè)計計6 63.1 單片機

2、型號的選擇.63.2 數(shù)碼管顯示工作原理.63.3 鍵盤電路設(shè)計.73.4 系統(tǒng)工作原理.83.5 整個電路原理圖.9第四章第四章 控制系統(tǒng)的軟件設(shè)計控制系統(tǒng)的軟件設(shè)計9 94.1 程序設(shè)計.94.2 程序流程圖.124.3 偉福硬件仿真器簡介.144.4 仿真圖及結(jié)果分析.15第五章第五章 附錄程序附錄程序1717第六章第六章 結(jié)束語結(jié)束語 1919參考文獻.20第 1 頁 共 19 頁第一章第一章 電子時鐘電子時鐘1.11.1 電子時鐘簡介電子時鐘簡介 本作品采用 Atmel 公司的 AT89C51 單片機,以匯編語言為程序設(shè)計的基礎(chǔ),設(shè)計一個用四位數(shù)碼管顯示時、分的時鐘。現(xiàn)代的電子時鐘是

3、基于單片機的一種計時工具,采用延時程序產(chǎn)生一定的時間中斷,用于一秒的定義,通過計數(shù)方式進行滿六十秒分鐘進一,滿六十分小時進一,滿二十四小時小時清零。從而達到計時的功能,是人民日常生活補課缺少的工具。1.21.2 電子時鐘的基本特點電子時鐘的基本特點 現(xiàn)在高精度的計時工具大多數(shù)都使用了石英晶體振蕩器,由于電子鐘、石英鐘、石英表都采用了石英技術(shù),因此走時精度高,穩(wěn)定性好,使用方便,不需要經(jīng)常調(diào)試,數(shù)字式電子鐘用集成電路計時時,譯碼代替機械式傳動,用 LED 顯示器代替指針顯示進而顯示時間,減小了計時誤差,這種表具有時、分、秒顯示時間的功能,還可以進行時和分的校對,片選的靈活性好。1.31.3 電子

4、時鐘的原理電子時鐘的原理 該電子時鐘由 89C51,BUTTON,六段數(shù)碼管等構(gòu)成,采用晶振電路作為驅(qū)動電路,由延時程序和循環(huán)程序產(chǎn)生的一秒定時,達到時分秒的計時,六十秒為一分鐘,六十分鐘為一小時,滿二十四小時為一天。而電路中唯一的一個控制鍵卻擁有多種不同的功能,按下又松開,可以實現(xiàn)屏蔽數(shù)碼管顯示的功能,達到省電的目的;直接按下不松開,則可以通過按鍵實現(xiàn)分鐘的累加,每按一次分鐘加一;而連續(xù)兩次按下按鍵不放松,則可實現(xiàn)小時的調(diào)節(jié),同樣每按一次小時加一。第 2 頁 共 19 頁第二章第二章 單片機識的相關(guān)知識單片機識的相關(guān)知識2.12.1 單片機簡介單片機簡介 單片機單片機是指一個集成在一塊芯片上

5、的完整計算機系統(tǒng)。盡管他的大 部分功能集成在一塊小芯片上,但是它具有一個完整計算機所需要的大部分部件:CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng),目前大部分還會具有外 存。同時集成諸如通訊接口、定時器,實時時鐘等外圍設(shè)備。而現(xiàn)在最強大的 單片機系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊芯片上。2.22.2 單片機的發(fā)展史單片機的發(fā)展史單片機誕生于 20 世紀(jì) 70 年代末,經(jīng)歷了 SCM、MCU、SoC 三大階段。 起起初初模模型型1.SCM 即單片微型計算機(Single Chip Microcomputer)階段,主要是尋求最佳的單片形態(tài)嵌入式系統(tǒng)的最佳體系結(jié)構(gòu)。 “創(chuàng)新模式”獲得

6、成功,奠定了 SCM與通用計算機完全不同的發(fā)展道路。在開創(chuàng)嵌入式系統(tǒng)獨立發(fā)展道路上,Intel 公司功不可沒。 Micro Controller Unit2.MCU 即微控制器( Micro Controller Unit)階段,主要的技術(shù)發(fā)展方向是:不斷擴展?jié)M足嵌入式應(yīng)用時,對象系統(tǒng)要求的各種外圍電路與接口電路,突顯其對象的智能化控制能力。它所涉及的領(lǐng)域都與對象系統(tǒng)相關(guān),因此,發(fā)展MCU 的重任不可避免地落在電氣、電子技術(shù)廠家。從這一角度來看,Intel 逐漸淡出第 3 頁 共 19 頁MCU 的發(fā)展也有其客觀因素。在發(fā)展 MCU 方面,最著名的廠家當(dāng)數(shù) Philips 公司。 Philip

7、s 公司以其在嵌入式應(yīng)用方面的巨大優(yōu)勢,將MCS-51 從單片微型計算機迅速發(fā)展到微控制器。因此,當(dāng)我們回顧嵌入式系統(tǒng)發(fā)展道路時,不要忘記Intel 和 Philips 的歷史功績。 嵌嵌入入式式系系統(tǒng)統(tǒng)單片機是嵌入式系統(tǒng)的獨立發(fā)展之路,向 MCU 階段發(fā)展的重要因素,就是尋求應(yīng)用系統(tǒng)在芯片上的最大化解決;因此,專用單片機的發(fā)展自然形成了 SoC 化趨勢。隨著微電子技術(shù)、IC 設(shè)計、EDA 工具的發(fā)展,基于 SoC 的單片機應(yīng)用系統(tǒng)設(shè)計會有較大的發(fā)展。因此,對單片機的理解可以從單片微型計算機、單片微控制器延伸到單片應(yīng)用系統(tǒng)。2.32.3 單片機的特點單片機的特點 1 . 單片機的存儲器 ROM

8、 和 RAM 時嚴(yán)格區(qū)分的。ROM 稱為程序存儲器,只存放程序,固定常數(shù),及數(shù)據(jù)表格。RAM 則為數(shù)據(jù)存儲器,用作工作區(qū)及存放用戶數(shù)據(jù)。 2 . 采用面向控制的指令系統(tǒng)。為滿足控制需要,單片機有更強的邏輯控制能力,特別是單片機具有很強的位處理能力。 3 . 單片機的 I/O 口通常時多功能的。由于單片機芯片上引腳數(shù)目有限,為了解決實際引腳數(shù)和需要的信號線的矛盾,采用了引腳功能復(fù)用的方法,引腳處于何種功能,可由指令來設(shè)置或由機器狀態(tài)來區(qū)分。 4 . 單片機的外部擴展能力很強。在內(nèi)部的各種功能部件不能滿足應(yīng)用的需求時,均可在外部進行擴展,與許多通用的微機接口芯片兼容,給應(yīng)用系統(tǒng)設(shè)計帶來了很大的方便

9、。2.42.4 89C5189C51 單片機介紹單片機介紹 VCC:電源。 GND:接地。 P0 口:P0 口為一個 8 位漏級開路雙向 I/O 口,每腳可吸收 8TTL 門電流。當(dāng) P1口的管腳第一次寫 1 時,被定義為高阻輸入。P0 能夠用于外部程 序數(shù)據(jù)存儲器,它第 4 頁 共 19 頁可以被定義為數(shù)據(jù)/地址的第八位。在 FIASH 編程時,P0 口作為原碼輸入口,當(dāng)FIASH 進行校驗時,P0 輸出原碼,此時 P0 外部必須被拉高。 P1 口:P1 口是一個內(nèi)部提供上拉電阻的 8 位雙向 I/O 口,P1 口緩沖器能接收輸出 4TTL 門電流。P1 口管腳寫入 1 后,被內(nèi)部上拉為高,

10、可用作 輸入,P1 口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在 FLASH 編程和校驗時,P1口作為第八位地址接收。 P2 口:P2 口為一個內(nèi)部上拉電阻的 8 位雙向 I/O 口,P2 口緩沖器可接收,輸出4 個 TTL 門電流,當(dāng) P2 口被寫“1”時,其管腳被內(nèi)部上拉電阻 拉高,且作為輸入。并因此作為輸入時,P2 口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2 口當(dāng)用于外部程序存儲器或 16 位地址外部數(shù)據(jù)存 儲器進行存取時,P2 口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2 口輸出其特殊功能寄存

11、器 的內(nèi)容。P2 口在 FLASH 編程和校驗時接收高八位地址信號和控制信號。 P3 口:P3 口管腳是 8 個帶內(nèi)部上拉電阻的雙向 I/O 口,可接收輸出 4 個 TTL 門電流。當(dāng) P3 口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3 口將輸出電流(ILL)這是由于上拉的緣故。P3 口也可作為 AT89C51 的一些特殊功能口,如下表所示:口管腳 備選功能P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷 0)P3.3 /INT1(外部中斷 1)P3.4 T0(記時器 0 外部輸入)P3.5 T1(記時器 1

12、 外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲器讀選通) P3 口同時為閃爍編程和編程校驗接收一些控制信號。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持 RST 腳兩個機器周期的高電平時間。第 5 頁 共 19 頁ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在 FLASH 編程期間,此引腳用于輸入編程脈沖。在平時,ALE 端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的 1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器 時,將跳過一個 ALE脈沖。如想禁止 ALE 的輸出

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

14、加 12V編程電源(VPP)。 o圖 2.1 89C51 單片機第 6 頁 共 19 頁第三章第三章 控制系統(tǒng)的硬件設(shè)計控制系統(tǒng)的硬件設(shè)計3.13.1 單片機型號的選擇單片機型號的選擇 通過對多種單片機性能的分析,最終認為 89C51 是最理想的電子時鐘開發(fā)芯片。89C51 是一種帶 4K 字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能 CMOS8 位微處理器,器件采用 ATMEL 高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的 MCS-51 指令集和輸出管腳相兼容。由于將多功能 8 位 CPU 和閃爍存儲器組合在單個芯片中,ATMEL 的 89C51 是一種高效微控制器,而且它與 MCS-51

15、 兼容,且具有 4K 字節(jié)可編程閃爍存儲器和 1000 寫/擦循環(huán),數(shù)據(jù)保留時間為 10 年等特點,是最好的選擇。3.23.2 數(shù)碼管顯示數(shù)碼管顯示工作原理工作原理數(shù)碼管是一種把多個 LED 顯示段集成在一起的顯示設(shè)備。有兩種類型,一種是共陽型,一種是共陰型。共陽型就是把多個 LED 顯示段的陽極接在一起,又稱為公共端。共陰型就是把多個 LED 顯示段的陰極接在一起,即為公共商。陽極即為二極管的正極,又稱為正極,陰極即為二極管的負極,又稱為負極。通常的數(shù)碼管又分為 8 段,即 8個 LED 顯示段,這是為工程應(yīng)用方便如設(shè)計的,分別為A、B、C、D、E、F、G、DP,其中 DP 是小數(shù)點位段。而

16、多位數(shù)碼管,除某一位的公共端會連接在一起,不同位的數(shù)碼管的相同端也會連接在一起。即,所有的 A 段都會連在一起,其它的段也是如此,這是實際最常用的用法。數(shù)碼管顯示方法可分為靜態(tài)顯示和動態(tài)顯示兩種。靜態(tài)顯示就是數(shù)碼管的 8 段輸入及其公共端電平一直有效。動態(tài)顯示的原理是,各個數(shù)碼管的相同段連接在一起,共同占用 8 位段引管線;每位數(shù)碼管的陽極連在一起組成公共端。利用人眼的視覺暫留性,依次給出各個數(shù)碼管公共端加有效信號,在此同時給出該數(shù)碼管加有效的數(shù)據(jù)信號,當(dāng)全段掃描速度大于視覺暫留速度時,顯示就會清晰顯示出來。 第 7 頁 共 19 頁圖 3.1 共陰數(shù)碼管3.33.3 鍵盤電路設(shè)計鍵盤電路設(shè)計

17、 該設(shè)計只用了一個鍵盤,但實現(xiàn)的功能卻是比較完善,減少了硬件資源的損耗,該鍵盤可以實現(xiàn)小時和分鐘的調(diào)節(jié)以及控制是否進入省電模式。當(dāng)按鍵按下又松開,可以實現(xiàn)屏蔽數(shù)碼管顯示的功能,達到省電的目的;直接按下不松開,則可以通過按鍵實現(xiàn)分鐘的累加,每按一次分鐘加一;而連續(xù)兩次按下按鍵不放松,則可實現(xiàn)小時的調(diào)節(jié),同樣每按一次小時加一。達到時間調(diào)節(jié)的目的。圖 3.2 多功能控制鍵 經(jīng)多方論證硬件我們小組采用 AT89C51 單片機和 7SED 六位共陰極數(shù)碼管等來實現(xiàn)單片機電子時鐘的功能,詳細元器件列表如表 3.1 所示:表 3.1 詳細元器件列表AT89c511 片7SED 六位共陰極數(shù)碼管1 片NPN

18、三極管6 個10uf 電容1 個30p 電容2 個10K 電阻11 個360 歐姆電阻8 個1.5k 歐姆電阻8 個開關(guān)1 個第 8 頁 共 19 頁3.43.4 系統(tǒng)工作原理系統(tǒng)工作原理(1) 單片機發(fā)送的信號通過程序控制最終在數(shù)碼管上顯示出來。(2) 單片機通過輸出各種電脈沖信號來驅(qū)動控制各部分正常工作。(3) 為使時鐘走時與標(biāo)準(zhǔn)時間一致,校時電路是必不可少的,鍵盤用來校正數(shù)碼管上顯示的時間。(4) 設(shè)計的電路主要由三模塊構(gòu)成:單片機控制電路,顯示電路、及校正電路。此設(shè)計原理框圖如圖 3-3 所示,此電路包括以下三個部分:單片機,鍵盤及顯示電路圖 3.3 設(shè)計原理框圖本設(shè)計采用匯編語言程序

19、設(shè)計,使單片機控制數(shù)碼管顯示時、分、秒,當(dāng)秒計數(shù)計滿 60 時就向分進位,分計數(shù)器計滿 60 后向時計數(shù)器進位,小時計數(shù)器按“23 翻 0”規(guī)律計數(shù)。時、分、秒的計數(shù)結(jié)果經(jīng)過數(shù)據(jù)處理可直接送顯示器顯示。當(dāng)計時發(fā)生誤差的時候可以用校時電路進行校正。設(shè)計采用的是時、分、秒顯示,單片機對數(shù)據(jù)進行處理同時在數(shù)碼管上顯示第 9 頁 共 19 頁3.53.5 整個電路原理圖整個電路原理圖 圖 3.4 系統(tǒng)電路原理圖 第四章第四章 控制系統(tǒng)的軟件設(shè)計控制系統(tǒng)的軟件設(shè)計 4.14.1 程序設(shè)計程序設(shè)計 本系統(tǒng)的軟件系統(tǒng)主要可分為主程序、定時計數(shù)中斷程序、時間調(diào)整程序、延時程序四大模塊。在程序設(shè)計過程中,加強了

20、部分軟件抗干擾措施,下面對部分模塊作介紹。我們用定時器 1 采用方式 1 定時,M=65536,如果要求定時時間為 50ms,采用12MHz 晶振,則機器周期為 1us,由(65536Z)*1=50*1000 得Z=65536-50000=15536=3CB0H將 3C、B0H 分別預(yù)置給 TH1、TL1,即 TH1=3CH,TH=0B0H根據(jù)需要開始定時器/計數(shù)器工作-將 TR0 或 TR1 置“1”。GATE=0 時,直接由軟件置位啟動,即 SETB TR0 或 SETB TR1;GATE=1 時,除軟件置位外,還必須在外中斷引腳(P3.3)處輸入高電平值才能啟動。定時計數(shù)中斷程序:第 1

21、0 頁 共 19 頁 MOV TMOD,#11H ;設(shè) T0、T1 為 16 位定時器 MOV TL0,#0B0H ;50MS 定時初值(T0 計時用) MOV TH0,#3CH ;50MS 定時初值 MOV TL1,#0B0H ;50MS 定時初值(T1 閃爍定時用) MOV TH1,#3CH ;50MS 定時初值 SETB EA ;總中斷開放SETB ET0 ;允許 T0 中斷SETB TR0 ;開啟 T0 定時器AJMP $ 時間調(diào)整程序:SETMM: cLR ET0 ;關(guān)定時器 T0 中斷CLR TR0 ;關(guān)閉定時器 T0LCALL DL1S ;調(diào)用 1 秒延時程序JB P3.3,CL

22、OSEDIS ;鍵按下時間小于 1 秒,關(guān)閉顯示(省電) MOV R2,#06H ;進入調(diào)時狀態(tài),賦閃爍定時初值 SETB ET1 ;允許 T1 中斷SETB TR1 ;開啟定時器 T1SET2: JNB P3.3,SET1 ;P3.7 口為 0(鍵未釋放),等待SETB 00H ;鍵釋放,分調(diào)整閃爍標(biāo)志置 1SET4: JB P3.3,SET3 ;等待鍵按下LCALL DL05S ;有鍵按下,延時 0.5 秒JNB P3.3,SETHH ;按下時間大于 0.5 秒轉(zhuǎn)調(diào)小時狀態(tài)MOV R0,#77H ;按下時間小于 0.5 秒加 1 分鐘操作LCALL ADD1 ;調(diào)用加 1 子程序MOV A

23、,R3 ;取調(diào)整單元數(shù)據(jù)CLR C ;清進位標(biāo)志CJNE A,#60H,HHH ;調(diào)整單元數(shù)據(jù)與 60 比較HHH: JC SET4 ;調(diào)整單元數(shù)據(jù)小于 60 轉(zhuǎn) SET4 循環(huán)第 11 頁 共 19 頁LCALL CLR0 ;調(diào)整單元數(shù)據(jù)大于或等于 60 時清 0CLR C ;清進位標(biāo)志AJMP SET4 ;跳轉(zhuǎn)到 SET4 循環(huán)CLOSEDIS:SETB ET0 ;省電(LED 不顯示)狀態(tài)。開 T0 中斷SETB TR0 ;開啟 T0 定時器(開時鐘)CLOSE: JB P3.3,CLOSE ;無按鍵按下,等待。LCALL DISPLAY ;有鍵按下,調(diào)顯示子程序延時削抖JB P3.3,

24、CLOSE ;是干擾返回 CLOSE 等待WAITH: JNB P3.3,WAITH ;等待鍵釋放LJMP START1 ;返回主程序(LED 數(shù)據(jù)顯示亮)SETHH: CLR 00H ;分閃爍標(biāo)志清除(進入調(diào)小時狀態(tài))SETHH1: JNB P3.3,SET5 ;等待鍵釋放SETB 01H ;小時調(diào)整標(biāo)志置 1SET6: JB P3.3,SET7 ;等待按鍵按下LCALL DL05S ;有鍵按下延時 0.5 秒JNB P3.3,SETOUT ;按下時間大于 0.5 秒退出時間調(diào)整MOV R0,#79H ;按下時間小于 0.5 秒加 1 小時操作LCALL ADD1 ;調(diào)加 1 子程序MOV

25、A,R3 ;CLR C ;CJNE A,#24H,HOUU ;計時單元數(shù)據(jù)與 24 比較HOUU: JC SET6 小于 24 轉(zhuǎn) SET6 循環(huán)LCALL CLR0 ;大于或等于 24 時清 0 操作AJMP SET6 ; 跳轉(zhuǎn)到 SET6 循環(huán)SETOUT: JNB P3.3,SETOUT1 ;調(diào)時退出程序。等待鍵釋放LCALL DISPLAY ;延時削抖JNB P3.3,SETOUT ;是抖動,返回 SETOUT 再等待CLR 01H ;清調(diào)小時標(biāo)志CLR 00H ;清調(diào)分標(biāo)志第 12 頁 共 19 頁CLR 02H ;清閃爍標(biāo)志CLR TR1 ;關(guān)閉定時器 T1CLR ET1 ;關(guān)定時

26、器 T1 中斷SETB TR0 ;開啟定時器 T0SETB ET0 ;開定時器 T0 中斷(計時開始)LJMP START1 ;跳回主程序SET1: LCALL DISPLAY ;鍵釋放等待時調(diào)用顯示程序(調(diào)分)AJMP SET2 ;防止鍵按下時無時鐘顯示SET3: LCALL DISPLAY ;等待調(diào)分按鍵時時鐘顯示用AJMP SET4SET5: LCALL DISPLAY ;鍵釋放等待時調(diào)用顯示程序(調(diào)小時)AJMP SETHH1 ;防止鍵按下時無時鐘顯示SET7: LCALL DISPLAY ;等待調(diào)小時按鍵時時鐘顯示用AJMP SET6SETOUT1: LCALL DISPLAY ;退

27、出時鐘調(diào)整時鍵釋放等待AJMP SETOUT ;防止鍵按下時無時鐘顯示 延時程序:1MS 延時程序,LED 顯示程序用DL1MS: MOV R6,#14HDL1: MOV R7,#19HDL2: DJNZ R7,DL2DJNZ R6,DL1RET20MS 延時程序,采用調(diào)用顯示子程序以改善 LED 的顯示閃爍現(xiàn)象DS20MS: ACALL DISPLAYACALL DISPLAYACALL DISPLAYRET第 13 頁 共 19 頁4.24.2 程序流程圖程序流程圖 主程序主程序主要是循環(huán)調(diào)用顯示子程序及鍵盤掃描功能設(shè)置子程序,其流程圖如圖4.1 所示。圖 4.1 主程序框圖定時中斷子程序

28、時間計時使用定時器 t0 完成,中斷定時周期設(shè)為 50ms。中斷進入后,判斷時鐘計時累計中斷到 20 次(即 1s)時,對秒計數(shù)單元進行加 1 操作。計時單元的最大值為 23 時 59 分 59 秒。在計數(shù)單元中采用十進制 BCD 碼計數(shù),滿 60 進位。T0 中斷服務(wù)程序流程圖如圖 4.2 所示。 圖 4.2 中斷服務(wù)程序流程圖第 14 頁 共 19 頁T1 中斷服務(wù)程序用于指示調(diào)整單元數(shù)字的亮閃。在時間調(diào)整狀態(tài)下,每過 0.3 秒,將對應(yīng)單元的顯示數(shù)據(jù)換成“熄滅符”數(shù)據(jù)(#0AH)。這樣在調(diào)整時間時,對應(yīng)調(diào)整單元的顯示數(shù)據(jù)會間隔閃亮。T1 中斷服務(wù)程序流程圖如圖 4.3 所示。 圖 4.3

29、 中斷服務(wù)程序4.34.3 偉福硬件仿真器簡介偉福硬件仿真器簡介主機+POD(仿真頭)組合,通過更換 POD,可以對各種 CPU 進行仿真。對待不同的應(yīng)用場合,用戶往往會選擇不同的 CPU,從而需要更換仿真器,偉福仿真軟件 WINDOWS 版本支持本公司多種仿真器。支持多類 CPU 仿真。仿真器則采用主機+POD 組合,通過更換不同的 POD,可對各種不同類型的單片機進行仿真。為用戶提供了一種靈活的多 CPU 仿真系統(tǒng)。1雙平臺DOS 版本,WINDOWS 版本。其中 WINDOWS 版本功能強大。中文界面,英文界面可任選,用戶源程序的大小不再有任何限制,支持 ASM,C,PLM 語言混合編程

30、,具有項目管理功能,為用戶的資源共享,課題重組提供強有力的手段。支持點屏顯示,用鼠標(biāo)左鍵點一下源程序中的某一變量,即可顯示該變量的數(shù)值。有豐富的窗口顯示方式,多方位,動態(tài)地顯示仿真的各種過程,使用極為便利。本操作系統(tǒng)一經(jīng)推出,立即被廣大用戶所喜愛。2雙工作模式1 軟件模擬仿真(不要仿真器也能模擬仿真)。第 15 頁 共 19 頁2 硬件仿真。雙 CPU 結(jié)構(gòu),100% 不占用戶資源。全空間硬件斷點,不受任何條件限制,支持地址、數(shù)據(jù)、外部信號、事件斷點、支持實時斷點計數(shù)、軟件運行時間統(tǒng)計。3雙集成環(huán)境編輯、編譯、下載、調(diào)試全部集中在一個環(huán)境下。飛利蒲公司的 552LPC764DALLAS320,

31、華邦 438 等 51 增強型 CPU。為了跟上形勢,現(xiàn)在很多工程師需要面對和掌握不同和項目管理器、編輯器、編譯器。他們由不多種仿真器,多類 CPU 仿真全部集成在一個環(huán)境下。可仿真 51 系列,196 系列,PIC系列,同的廠家開發(fā),相互不兼容,使用不同的界面。學(xué)習(xí)使用都很吃力。偉福 WINDOWS 調(diào)試軟件為您提供了一個全集成環(huán)境,統(tǒng)一的界面,包含一個項目管理器,一個功能強大的編輯器,匯編 Make、Build 和調(diào)試工具并提供一個與第三方編譯器的接口。4.44.4 仿真圖及結(jié)果分析仿真圖及結(jié)果分析單片機右上角紅色發(fā)光二極管秒燈,每閃爍一次表示時間走動一秒鐘;按鍵正下方黑色按鍵是設(shè)置燈,當(dāng)

32、時間正常走動時此時燈亮,當(dāng)?shù)谝淮伟聪略O(shè)置鍵時,同時秒時熄滅,且分鐘的兩位數(shù)碼管出現(xiàn)閃爍,時間停止走動,進入校時狀態(tài),表示此時可以進行分鐘的調(diào)整,當(dāng)按一次加一鍵(調(diào)整鍵)可實現(xiàn)分鐘的加一功能,分鐘以 60 分為極限,超出 60 分則返回數(shù)值 0,從 0 再重新算起;如果再次按下設(shè)置鍵時,這時秒燈和設(shè)置燈仍舊保持熄滅和點亮狀態(tài),表示分鐘的數(shù)碼管停止閃爍,反過來表示小時的兩位數(shù)碼管則開始閃爍,此時可進行小時的調(diào)整,按加 1 鍵可實現(xiàn)小時的加 1 功能,小時調(diào)整以 24 為上限,同樣超出 24 小時則從新回 0;當(dāng)?shù)谌伟聪略O(shè)置鍵時,數(shù)碼管停止閃爍,設(shè)置燈熄滅,秒燈重新閃爍,時間以設(shè)定值計時。 第 1

33、6 頁 共 19 頁 圖 4.4 偉福軟件模擬圖第 17 頁 共 19 頁第五章第五章 附錄程序附錄程序 ORG 0000H LJMP START ORG 0003H RETI ORG 000BH LJMP INTT0 ORG 0013H RETI ORG 001BH LJMP INTT1 ORG 0023H RETI ORG 002BH RETI START:MOV R0, #70H MOV R7, #0BH MOV 20H, #00H CLEARDISP: MOV R0, #00H INC R0 DJNZ R7,CLEARDISP MOV 7AH,#0AH MOV TMOD,#11H MO

34、V TL0, #0B0H MOV TH0, #3CH MOV TL1, #0B0H MOV TH1, #3CH SETB EA SETB ET0 SETB TR0 MOV R4,#14H START1:LCALL DISPLAY JNB P3.3,SETMM1 SJMP START1 SETMM1:LJMP SETMM INTT0:PUSH ACC PUSH PSW CLR ET0 CLR TR0 MOV A,#0B7H ADD A,TL0 MOV TL0,A MOV A,#3CH ADD A,TH0 MOV TH0,A SETB TR0 DJNZ R4,OUTT0 ADDSS:MOV R4,

35、#14H MOV R0,#71H ACALL ADD1 MOV A,R3 CLR C CJNE A,#60H,ADDMM ADDMM:JC OUTT0 ACALL CLR0 MOV R0,#77H ACALL ADD1 MOV A,R3 CLR C CJNE A,#60H,ADDHH ADDHH:JC OUTT0 ACALL CLR0 MOV R0,#79H ACALL ADD1 MOV A,R3 CLR C CJNE A,#24H,HOUR HOUR:JC OUTT0 ACALL CLR0 OUTT0:MOV 72H,76H MOV 73H,77H MOV 74H,78H MOV 75H,7

36、9H POP PSW POP ACC SETB ET0 RETI INTT1: PUSH ACC PUSH PSW MOV TL1, #0B0H MOV TH1, #3CH DJNZ R2,INTT1OUT MOV R2,#06H CPL 02H JB 02H,FLASH1 MOV 72H,76H MOV 73H,77H MOV 74H,78H MOV 75H,79HINTT1OUT: POP PSW POP ACC RETIFLASH1: JB 01H,FLASH2 MOV 72H,7AH MOV 73H,7AH MOV 74H,78H MOV 75H,79H AJMP INTT1OUTFL

37、ASH2: MOV 72H,76H MOV 73H,77H MOV 74H,7AH MOV 75H,7AH AJMP INTT1OUT ADD1:MOV A,R0 DEC R0 SWAP A ORL A,R0 ADD A,#01H DA A MOV R3,A ANL A,#0FH MOV R0,A MOV A,R3 INC R0 SWAP A ANL A,#0FH MOV R0,A RET CLR0:CLR A MOV R0,A DEC R0 MOV R0,A RET SETMM: CLR ET0 CLR TR0 LCALL DL1S JB P3.3,CLOSEDIS MOV R2,#06H

38、SETB ET1 SETB TR1 SET2: JNB P3.3,SET1 SETB 00H SET4: JB P3.3,SET3 LCALL DL05S JNB P3.3,SETHH MOV R0,#77H LCALL ADD1 MOV A,R3 CLR C CJNE A,#60H,HHH第 18 頁 共 19 頁 HHH:JC SET4 LCALL CLR0 CLR C AJMP SET4 CLOSEDIS: SETB ET0 SETB TR0 CLOSE:JB P3.3,CLOSE LCALL DISPLAY JB P3.3,CLOSE WAITH: JNB P3.3,WAITH LJM

39、P START1 SETHH: CLR 00H SETHH1:JNB P3.3,SET5 SETB 01H SET6: JB P3.3,SET7 LCALL DL05S JNB P3.3,SETOUT MOV R0,#79H LCALL ADD1 MOV A,R3 CLR C CJNE A,#24H,HOUU HOUU:JC SET6 LCALL CLR0 AJMP SET6 SETOUT: JNB P3.3,SETOUT1 LCALL DISPLAY JNB P3.3,SETOUT CLR 01H CLR 00H CLR 02H CLR TR1 CLR ET1 SETB TR0 SETB ET0 LJMP START1 SET1:LCALL DISPLAY AJMP SET2 SET3:LCALL DISPLAY AJMP SET4 SET5:LCALL DISPLAY AJMP SETHH1 SET7:LCALL DISPLAY AJMP SET6SETOUT1:LCALL DISPLAY AJMP SETOUT DISPLAY:MOV DPTR,#TAB SETB P1.0 MOV A,70H MOVC A,A+DPTR ANL A,#7FH ; MOV P0,A LCALL DL1

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論