定時器畢業(yè)論文_第1頁
定時器畢業(yè)論文_第2頁
定時器畢業(yè)論文_第3頁
定時器畢業(yè)論文_第4頁
定時器畢業(yè)論文_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

1、目錄 畢業(yè)論文及答辯評價意見(3) 畢業(yè)論文任務書(4) 畢業(yè)論文 1摘要(6) 2引言(6) 2.1課題的來源和意義(6) 2.2電子定時器的應用(6) 2.3電子定時器的發(fā)展前景(7) 3 51 單片機內部結構及計數原理(7) 3.1 51 單片機內部機構(7) 3.2計數原理(8) 4電子定時器的設計(14) 4.1總體的設計要求(14) 4.2系統硬件電路設計(14) 4.2.1 芯片的選擇(14) 4.2.2 交流控制接口電路(14) 4.2.3 顯示電路(14) 4.2.4 報警電路(14) 4.3 系統程序的設計(14) 4.3.1 主程序流程圖(15) 5重要元件及重要電路(1

2、6) 5.1 AT89C2051 的內部結構及功能和引腳說明(16) 5.1.1 AT89C2051 主要性能(16)5.1.2 AT89C2051 的內部結構(17) 5.1.3 AT89C2051 的引腳說明(18) 5.2繼電器(18) 5.2.1 電磁繼電器的工作原理和特性(18) 5.2.2 繼電器主要產品技術參數(18) 5.2.3 繼電器的電符號和觸點形式(19) 5.3數碼管(19) 5.3.1 數碼管的分類(19) 5.3.2 數碼管的驅動方式(19) 6軟件設計(21) 1 6.1偽定義(21) 6.2中斷入口(22) 6.3主程序(22) 6.4倒計時程序(25) 6.5

3、 BCD 子程序(加 1 或減 1)(27) 6.6加 1 程序(28) 6.7調時快進程序(28) 6.8功能菜單程序(29) 6.9到點工作程序(32) 6.10 響鈴程序(33) 6.11 顯示程序(34) 6.12 無顯示(滅燈)程序(36) 6.13 延時程序(37) 6.14 ERR(出錯處理)程序(38) 7結論(39) 8參考文獻(40) 2 畢畢業(yè)論文及答辯評價意見業(yè)論文及答辯評價意見 指導教師評語: 指導教師(簽字) :日期: 答辯委員會(評審小組)意見: 綜合成績 (評審小組組長) 答辯委員會主任(簽字) :日期: 3 畢業(yè)論文任務書 畢業(yè)論文題目電子定時器 題目來源自選

4、課題題目性質真實題目虛擬題目 起止時間 2011年 10 月 25日 2011年 12月 23 日 學生姓名黃澤成系(院)機械與電子系班級 09 應用電子 1 班 一、畢業(yè)論文主要內容 1、硬件設計 2、重要元件及重要電路 3、單片機程序設計 二、畢業(yè)論文基本(技術)要求及應提交的成果 按照學院和系部對畢業(yè)論文的要求按質按量按時完成(文字不能少于 8000 字) 。具體 要求如下: 1、硬件設計 2、硬件制作 3、程序設計 三、畢業(yè)論文進度安排 2011 年 10 月 25 日2011 年 12 月 2 日畢業(yè)設計及收集資料 2011 年 12 月 3 日2011 年 12 月 9 日硬件制作

5、 2011 年 12 月 10 日2011 年 12 月 16 日單片機程序設計并調試 2011 年 12 月 17 日2011 年 12 月 23 日撰寫、整理裝訂畢業(yè)設計說明書 4 四、畢業(yè)論文應收集的資料及主要參考文獻 1、胡漢才.單片機原理及其接口技術.北京:清華大學出版社,2004(第二版) 2、趙德安等. 單片機原理與應用. 北京:機械工業(yè)出版社,2004 3、趙曉安等.MCS-51 單片機原理及應用.天津:天津大學出版社,2001-3 第一 版 4、趙亮等. 單片機 C 語言編程與實例.北京: 人民郵電出版社 5、何立民.MCS-51 系列單片機應用系統設計系統配置與接口技術.北

6、京:北京 航空航天大學出版社 6、張洪潤等.單片機應用技術教程.北京:清華大學出版社 7 、夏繼強. 單片機實驗與實踐教程. 北京:北京航空航天大學出版社.2001 8、徐惠民、安德寧單片微型計算機原理接口與應用第 1 版北京:北京 9、李葉紫. MCS-51 單片機應用教程.北京:清華大學出版社 10、鄒應金. 51 系列單片機原理與實驗教程.西安:西安電子科技大學出版社 11、郝建國.單片機在電子電路設計中的應用.北京:清華大學出版社 12、萬光毅.單片機實驗與實踐教程(一).北京.北京航空航天大學出版社 指導教師(簽名) : 教研室主任(簽名) : 系(院)負責人(簽名) : 2 0 年

7、月日 1 1、摘要、摘要 5 隨著時代的進步,電子行業(yè)的發(fā)展,定時器的應用也越來越廣泛。但傳統的定時器都是 使用發(fā)條驅動式、電機傳動式或電鐘式等機械定時器。電子定時器相對產痛定時器來說,體 積小、重量輕、造價低、精度高、壽命長、而且安全可靠、調整方便、適于頻繁使用。本設 計采用 AT89C2051 單片機為核心,闡述了系統工作原理,給出了軟件流程。該電子定時器滿 足對電器的電源進行控制,同時要方便用戶對電子定時器的操作。最大時間能達到30h,且最 大精度可以到分鐘 關鍵詞:定時器;單片機;AT89C2051;動態(tài)掃描;繼電器 2 2、引言、引言 我們在日常生活中,經常碰到一些需要定時的事情,例

8、如:印相或放大照片,需要定在 零點幾秒的時間,洗衣機洗滌衣物需要定在幾分鐘到幾十分鐘的時間,電風扇需要定在數十 分鐘的時間。完成這種定時的定時器有多種多樣,在家用電器中采用機械定時器就是根據一 般上弦鐘表原理設計的,這種定時器雖然結構簡單,成本低,維修也比較方便,但是它的觸 頭頻繁接觸和斷開,大大的縮減了它的使用壽命,也不利于進一步全自動化。在電子技術突 飛猛進的今天,電子定時器一定會逐步取而代之,這是不言而喻的。 本文是基于 51 系列單片機設計的一種用于控制家用電器的設計方案 2.1 課題的來源和意義 本課題是通過導師篩選提出的,電子設計課題不一定很大,只要通過親手做一遍全過程, 完成一個

9、產品制作,收獲是很大的。 本課題的意義在于通過設計和制作本課題把在學校學習到的知識融會貫通并應用到實際 當中。做到學有所成,學有所用。并且希望通過本設計為節(jié)能減排做出貢獻。 2.2 電子定時器的應用 電子定時器在家用電器中經常用于延時自動關機、定時。延時自動關機可用于:收音機、 電視機、錄音機、催眠器、門燈、路燈、汽車頭燈、轉彎燈以及其他電器的延時斷電及延時 自停電源等。定時可用于:照相定時曝光、定時閃光、定時放大、定時調速、定時烘箱、冰 箱門開定時報警、水位定時報警、延時催眠器、延時電鈴、延時電子鎖、觸摸定時開關等。 例如:空調中的定時器,在工作一段時間之后便能自動切斷電源停止工作。夏季夜間

10、使用, 入睡前先頂好時間,等睡熟后到了預定時間,空調自動關機。方便節(jié)能。定時器除了應用 6 家用電器外,還廣泛地用于工業(yè)農業(yè)生產和服務設施,甚至軍事等。 2.3 電子定時器的發(fā)展前景 傳統的定時器絕大多數都是發(fā)條驅動式、電機傳動式或電鐘式等機械定時器,部分電子 器械中也有試用時間繼電器的。相對于傳統的定時器,電子定時器的體積小、重量輕、造價 低、精度高、壽命長、而且安全可靠、調整方便、適于頻繁使用。所以電子定時器的發(fā)展必 定大有前途。同時隨著現代電子技術的發(fā)展,電子定時器也在不斷的進步,朝向著更多用途、 更高精度、更小體積發(fā)展著。 例如:一個可編程電子定時器,它可以設置20 組開、關電源設置,

11、可以當時鐘使用,還 也可以按星期組合讓它在一周內的任意一天或幾天按設置程序工作。而且它只有長 12.5cm 寬 5.5cm厚 5cm 大小。且它的功耗特別小只有3W。可以說是小巧玲瓏,節(jié)能省電。 3 3、5151 單片機內部結構及計數原理單片機內部結構及計數原理 3.1 51 單片機內部機構 51 單片機內部有一個 8 位的 CPU,同時 CPU 內部包含了運算器,控制器及若干寄存器。 從上圖中我們可以看到,在虛線框內的就是 CPU 的內部結構了,8 位的 MCS-51 單片機的 CPU 內部有數術邏輯單元 ALU(Arithmetic Logic Unit)、累加器 A(8 位)、寄存器 B

12、(8 7 位)、程序狀態(tài)字 PSW(8 位)、程序計數器 PC(有時也稱為指令指針,即 IP,16 位)、地 址寄存器 AR(16 位)、數據寄存器DR(8 位)、指令寄存器IR(8 位)、指令譯碼器ID、控 制器等部件組成。 3.2 計數原理 80C51 單片機內部設有兩個 16 位的可編程定時器/計數器。可編程的意思是指其功能(如 工作方式、定時時間、量程、啟動方式等)均可由指令來確定和改變。在定時器/計數器中除 了有兩個 16 位的計數器之外,還有兩個特殊功能寄存器(控制寄存器和方式寄存器) 定時器/計數器的結構: 從上面定時器/計數器的結構圖中我們可以看出,16 位的定時/計數器分別由

13、兩個 8 位專 用寄存器組成, 即: T0 由 TH0 和 TL0 構成; T1 由 TH1 和 TL1 構成。 其訪問地址依次為 8AH-8DH。 每個寄存器均可單獨訪問。這些寄存器是用于存放定時或計數初值的。此外,其內部還有一 個 8 位的定時器方式寄存器TMOD 和一個 8 位的定時控制寄存器TCON。 這些寄存器之間是通過 內部總線和控制邏輯電路連接起來的。TMOD 主要是用于選定定時器的工作方式;TCON 主要是 用于控制定時器的啟動停止,此外 TCON 還可以保存 T0、T1 的溢出和中斷標志。當定時器工 作在計數方式時,外部事件通過引腳T0(P3.4)和 T1(P3.5)輸入。

14、定時計數器的原理: 16 位的定時器/計數器實質上就是一個加1 計數器,其控制電路受軟件控制、切換。 當定時器/計數器為定時工作方式時,計數器的加 1 信號由振蕩器的 12 分頻信號產生, 即每過一個機器周期,計數器加1,直至計滿溢出為止。顯然,定時器的定時時間與系統的振 8 蕩頻率有關。因一個機器周期等于12 個振蕩周期,所以計數頻率fcount=1/12osc。如果晶振 為 12MHz,則計數周期為: T=1/(12106)Hz1/12=1s 這是最短的定時周期。若要延長定時時間,則需要改變定時器的初值, 并要適當選擇定時 器的長度(如 8 位、13 位、16 位等)。 當定時器/計數器為

15、計數工作方式時, 通過引腳 T0 和 T1 對外部信號計數, 外部脈沖的下降 沿將觸發(fā)計數。計數器在每個機器周期的S5P2 期間采樣引腳輸入電平。若一個機器周期采樣 值為 1,下一個機器周期采樣值為0,則計數器加1。此后的機器周期S3P1 期間,新的計數值 裝入計數器。所以檢測一個由 1 至 0 的跳變需要兩個機器周期,故外部事年的最高計數頻率 為振蕩頻率的 1/24。例如,如果選用 12MHz 晶振,則最高計數頻率為0.5MHz。雖然對外部輸 入信號的占空比無特殊要求,但為了確保某給定電平在變化前至少被采樣一次,外部計數脈 沖的高電平與低電平保持時間均需在一個機器周期以上。 當 CPU 用軟

16、件給定時器設置了某種工作方式之后, 定時器就會按設定的工作方式獨立運行, 不再占用 CPU 的操作時間,除非定時器計滿溢出,才可能中斷CPU 當前操作。CPU 也可以重新 設置定時器工作方式,以改變定時器的操作。由此可見,定時器是單片機中效率高而且工作 靈活的部件。 綜上所述,我們已知定時器/計數器是一種可編程部件,所以在定時器/計數器開始工作之 前,CPU 必須將一些命令(稱為控制字)寫入定時 /計數器。將控制字寫入定時/計數器的過程 叫定時器/計數器初始化。在初始化過程中,要將工作方式控制字寫入方式寄存器,工作狀態(tài) 字(或相關位)寫入控制寄存器,賦定時/計數初值。下面我們就提出的控制字的格

17、式及各位 的主要功能與大家詳細的講解。 控制寄存器定時器計數器 T0 和 T1 有 2 個控制寄存器-TMOD 和 TCON,它們分別用來設 置各個定時器計數器的工作方式,選擇定時或計數功能,控制啟動運行,以及作為運行狀 態(tài)的標志等。其中,TCON 寄存器中另有 4 位用于中斷系統。 定時器/計數器方式寄存器 TMOD: : 定時器方式控制寄存器 TMOD 在特殊功能寄存器中,字節(jié)地址為89H,無位地址。TMOD 的 格式如下圖所示。 由圖可見,TMOD 的高 4 位用于 T1,低 4 使用于 T0,4 種符號的含義如下: GATE:門控制位。GATE 和軟件控制位 TR、外部引腳信號 INT

18、 的狀態(tài),共同控制定時器 計數器的打開或關閉。 9 CT:定時器計數器選擇位。C/T1,為計數器方式;CT0,為定時器方式。 M1M0:工作方式選擇位,定時器計數器的4 種工作方式由 M1M0 設定。 定時器/計數器方式控制寄存器 TMOD 不能進行位尋址,只能用字節(jié)傳送指令設置定時器 工作方式,低半字節(jié)定義為定時器0,高半字節(jié)定義為定時器1。復位時,TMOD 所有位均為 0。 定時器/計數器控制寄存器 TCON: TCON 在特殊功能寄存器中,字節(jié)地址為88H,位地址(由低位到高位)為 88H 一 8FH,由于 有位地址,十分便于進行位操作。 TCON 的作用是控制定時器的啟、停,標志定時器

19、溢出和中斷情況。 TCON 的格式如下圖所示。 其中,TFl,TRl,TF0 和 TR0 位用于定時器計數器; IEl,ITl, IE0 和 IT0 位用于中斷系統。 TCON 中低 4 位與中斷有關,我們將在下節(jié)課講中斷時再給予講解。 由于 TCON 是可以位尋 址的,因而如果只清溢出或啟動定時器工作,可以用位操作命令。例如:執(zhí)行“CLR TF0”后 則清定時器 0 的溢出;執(zhí)行“SETB TR1”后可啟動定時器 1 開始工作(當然前面還要設置方 式定)。 定時器/計數器的初始化: 由于定時器/計數器的功能是由軟件編程確定的,所以一般在使用定時/計數器前都要對 其進行初始化,使其按設定的功能

20、工作。初始貨的步驟一般如下: 1、確定工作方式(即對TMOD 賦值); 2、預置定時或計數的初值(可直接將初值寫入TH0、TL0 或 TH1、TL1); 3、根據需要開放定時器/計數器的中斷(直接對 IE 位賦值); 4、啟動定時器/計數器(若已規(guī)定用軟件啟動,則可把TR0 或 TR1 置“1”;若已規(guī)定由 外中斷引腳電平啟動,則需給外引腳步加啟動電平。當實現了啟動要求后,定時器即按規(guī)定 的工作方式和初值開始計數或定時)。 因為在不同工作方式下計數器位數不同,因而最大計數值也不同。 現假設最大計數值為 M,那么各方式下的最大值M 值如下: 10 方式 0:M=2 =8 192 方式 1:M=2

21、 =65 536 方式 2:M=2 =256 方式 3:定時器 0 分成兩個 8 位計數器,所以兩個M 均為 256。 因為定時器/計數器是作“加 1”計數,并在計數滿溢出時產生中斷,因此初值 X 可以這 樣計算: X=M-計數值 定時器/計數器的四種工作方式: 定 T0 或 T1 無論用作定時器或計數器都有4 種工作方式:方式 0、方式 1、方式 2 和方式 3。 除方式 3 外,T0 和 T1 有完全相同的工作狀態(tài)。下面以 T1 為例,分述各種工作方式的特點和 用法。 工作方式 0: 13 位方式由 TL1 的低 5 位和 TH1 的 8 位構成 13 位計數器(TL1 的高 3 位無效)

22、。工作方 式 0 的結構見下圖: 8 16 13 定時計數選擇:CT0,T1 為定時器,定時信號為振蕩周期 12 分頻后的脈沖;CT l,T1 為計數器,計數信號來自引腳T1 的外部信號。 定時器 T1 能否啟動工作,還受到了R1、GATE 和引腳信號 INT1 的控制。由圖中的邏輯電 路可知,當 GATE0 時,只要 TR11 就可打開控制門,使定時器工作;當GATE1 時,只有 TR11 且 INT11,才可打開控制門。GATE,TR1,CT 的狀態(tài)選擇由定時器的控制寄存器 TMOD,TCON 中相應位狀態(tài)確定,INT1 則是外部引腳上的信號。 在一般的應用中,通常使 GATE0,從而由

23、TRl 的狀態(tài)控制 Tl 的開閉:TRl1,打開 T1; TRl0,關閉T1。在特殊的應用場合,例如利用定時器測量接于INT1 引腳上的外部脈沖高電 平的寬度時,可使 GATE1,TRl1。當外部脈沖出現上升沿,亦即 INT1 由 0 變 1 電平時, 啟動 T1 定時,測量開始;一旦外部脈沖出現下降沿,亦即INT1 由 l 變 O 時就關閉了 T1。 定時器啟動后,定時或計數脈沖加到 TLl 的低 5 位,從預先設置的初值(時間常數)開始 不斷增 1。TL1 計滿后,向 THl 進位。當 TL1 和 THl 都計滿之后,置位 T1 的定時器回零標志 11 TFl,以此表明定時時間或計數次數已

24、到,以供查詢或在打開中斷的條件下,可向CPU 請求中 斷。如需進一步定時/計數,需用指令重置時間常數。 方式 0 是 13 位計數結構的工作方式,其計數器由TH0 全部 8 位和 TL0 的低 5 位構成。當 TL0 的低 5 位計數溢出時,向 TH0 進位,而全部 13 位計數溢出時,則向計數溢出標志位 TF0 進位。 工作方式 1: 1 是 16 位計數結構的工作方式,計數器由TH0 全部 8 位和 TL0 全部 8 位構成。與工作方 式 0 基本相同,區(qū)別僅在于工作方式1 的計數器 TL1 和 TH1 組成 16 位計數器,從而比工作方 式 0 有更寬的定時/計數范圍。 工作方式 2:

25、8 位自動裝入時間常數方式。由TLl 構成 8 位計數器,THl 僅用來存放時間常數。啟動T1 前,TLl 和 THl 裝入相同的時間常數,當 TL1 計滿后,除定時器回零標志 TFl 置位,具有向 CPU 請求中斷的條件外,THl 中的時間常數還會自動地裝入 TLl,并重新開始定時或計數。所 以,工作方式 2 是一種自動裝入時間常數的 8 位計數器方式。由于這種方式不需要指令重裝 時間常數,因而操作方便,在允許的條件下,應盡量使用這種工作方式。當然,這種方式的 定時計數范圍要小于方式0 和方式 1。工作方式 2 的結構見下圖: 當計數溢出后,不是像前兩種工作方式那樣通過軟件方法,而是由預置寄

26、存器TH 以硬件 方法自動給計數器 TL 重新加載。變軟件加載為硬件加載。 初始化時,8 位計數初值同時裝入 TL0 和 TH0 中。當 TL0 計數溢出時,置位TF0,同時把 保存在預置寄 存器 TH0 中的計數初值自動加載TL0,然后TL0 重新計數。如此重復不止。這不但省去了 用戶程序中的 12 重裝指令,而且也有利于提高定時精度。但這種工作方式下是 8 位計數結構,計數值有 限,最大只能到 255。 這種自動重新加載工作方式非常適用于循環(huán)定時或循環(huán)計數應用,例如用于產生固定脈 寬的脈沖, 此外還可以作串行數據通信的波特率發(fā)送器使用。 工作方式 3: 2 個 8 位方式。工作方式 3 只

27、適用于定時器 0。如果使定時器 1 為工作方式 3,則定時器 1 將處于關閉狀態(tài)。 當 T0 為工作方式 3 時,THo 和 TL0 分成 2 個獨立的 8 位計數器。其中,TL0 既可用作定 時器,又可用作計數器,并使用原 T0 的所有控制位及其定時器回零標志和中斷源。TH0 只能 用作定時器,并使用 T1 的控制位 TRl、回零標志 TFl 和中斷源,見下圖: 通常情況下,T0 不運行于工作方式 3,只有在T1 處于工作方式 2,并不要求中斷的條件下 才可能使用。這時,T1 往往用作串行口波特率發(fā)生器(見 14),TH0 用作定時器,TL0 作為 定時器或計數器。所以,方式3 是為了使單片

28、機有1 個獨立的定時器計數器、1 個定時器以 及 1 個串行口波特率發(fā)生器的應用場合而特地提供的。這時,可把定時器l 用于工作方式 2, 把定時器 0 用于工作方式 3 下才可能使用。這時,T1 往往用作串行口波特率發(fā)生器,TH0 用 作定時器,TL0 作為定時器或計數器。所以,方式3 是為了使單片機有 1 個獨立的定時器計 13 數器、1 個定時器以及 1 個串行口波特率發(fā)生器的應用場合而特地提供的。這時,可把定時器 l 用于工作方式 2,把定時器 0 用于工作方式 3。 4 4、電子定時器的設計、電子定時器的設計 4.1 總體的設計要求 本文所涉及的電子定時器要求能定時給電器供電或斷電,最

29、大時間可以長達30h,操作使 用方便, 采用 AT89C2051 單片機控制, 4 位共陽數碼管顯示時間, 繼電器做電器電源輸出控制。 4.2 系統硬件電路設計 4.2.1 芯片的選擇 硬件電路要實現對交流大電流電源的控制、定時時間的設定顯示和到點提醒等功能。 若采用 40 腳的單片機有利于設計,但會增大電路板的體積。本設計采用 ATMEL 公司的 AT89C2051 單片機,芯片位20 腳,體積小,工作電壓范圍寬( 2.7V6V) 。性價比比較高。 4.2.2 交流控制接口電路 交流接口電路可以選擇繼電器控制,也可采用可控硅控制等。本設計采用的是前一 種繼電器控制。 4.2.3 顯示電路 顯

30、示電路采用 4 個共陽極 LED 數碼管。為了在定時達到分(鐘)的時候能顯示出時 鐘在計時,兩個數碼管之間增加一個發(fā)光二極管,以其閃爍來代表秒走動;為了使硬件 電路簡單,采用單片機直接驅動LED 數碼管(AT89C2051 輸出口能吸收 20mA 電流) ,用動 態(tài)掃描法實現 LED 顯示。 4.2.4 報警電路 報警電路采用普通的 5V 成品蜂鳴器。 4.3 系統程序的設計 程序采用模塊化、結構化設計,并采用軟件抗干擾,使軟件的可靠性比較高,可維護性 較強。 主要模塊有: 1) 主程序 14 2) 菜單程序 3) 到點工作程序 4) 抗干擾程序 4.3.1 主程序流程圖 N Y 有上電復位標

31、志? N 冷啟動 全面初始化 熱啟動 恢復正常 開關中斷,設置堆棧 開始 調用顯示程序 F 鍵被按下? Y N 到點了嗎? 開始計時、工作 調用顯示程序,設定時間 Y 5 5、重要元件及重要電路、重要元件及重要電路 15 停止計時, 調用到點工作程序 結束 5.1 AT89C2051 的內部結構及功能和引腳說明 AT89C2051 是美國 ATMEL 公司生產的低電壓、高性能CMOS 8 位單片機,片內含2k bytes 的可反復擦寫的只讀程序存儲器 (PEROM) 和 128bytes 的隨機數據存儲器 (RAM) , 器件采用 ATMEL 公司的高密度、非易失性存儲技術生產,兼容標準MCS

32、-51 指令系統, 片內置通用 8 位中央處理器和 Flash 存儲單元,功能強大 AT89C2051 單片機可為您提供 許多高性價比的應用場合。 程序保密 89C2051 設計有 2 個程序保密位, 保密位 1 被編程之后, 程序存儲器不能再被編程 除非做一次擦除,保密位2 被編程之后,程序不能被讀出。 軟硬件的開發(fā) 89C2051 可以采用下面 2 種方法開發(fā)應用系統: 1)由于 89C2051 內部程序存貯器為Flash,所以修改它內部的程序十分方便快捷, 只要配備一個可以編程89C2051 的編程器即可。調試人員可以采用程序編輯-編譯-固化 -插到電路板中試驗這樣反復循環(huán)的方法,對于熟

33、練的 MCS-51 程序員來說, 這種調試方 法并不十分困難。當做這種調試不能夠了解片內RAM 的內容和程序的走向等有關信息。 2) 將普通 8031/80C31 仿真器的仿真插頭中P1.0P1.7 和 P3.0P3.6 引出來仿真 205T,這種方法可以運用單步、斷點的調試方法,但是仿真不夠真實,比如,2051 的內 部模擬比較器功能, P1 口、P3 口的增強下拉能力等等。 5.1.1AT89C2051 主要性能 AT89C2051 是 ATMEL 公司生產的帶 2K 字節(jié)閃速可編程可擦除只讀存儲器(EEPROM)的 8 位單片機,它具有如下主要特性: 和 MCS-51 產品的兼容 2K

34、字節(jié)可重編程閃速存儲器 耐久性:1,000 寫擦除周期 2.7V6V 的操作范圍 全靜態(tài)操作:0Hz24MHz 兩級加密程序存儲器 1288 位內部 RAM 15 根可編程 I/O 引線 兩個 16 位定時器/計數器 六個中斷源 可編程串行 UART 通道 16 直接 LED 驅動輸出 片內模擬比較器 低功耗空載和掉電方式 5.1.2 AT89C2051 的內部結構 圖 1 AT89C2051 的內部結構圖 圖 2 AT89C2051 內部示意圖 AT89C2051是一帶有2K字節(jié)閃速可編程可擦除只讀存儲體(EEPROM)的低電壓,高性能 8 位 CMOS 微型計算機。如圖 2 所示。它采用

35、ATMEL 的高密非易失存儲技術制造并和工業(yè) 17 標準 MCS51 指令集和引腳結構兼容。AT89C2051 是一強勁的微型計算機,它對許多嵌入 式控制應用提供一高度靈活和成本低的解決辦法。 此外,從 AT89C2051 內部結構圖也可看出,其內部結構與 8051 內部結構基本一致(除 模擬比較器外),引腳 RST、XTAL1、XTAL2 的特性和外部連接電路也完全與 51 系列單片 機相應引腳一致,但 P1 口、P3 口有其獨特之處。 5.1.3 AT89C2051 的引腳說明 AT89C2051是一個有20 個引腳的芯片,引腳如上述圖1 所示,與 8051 內部結構進行對 比可發(fā)現,AT

36、89C2051 減少了兩個對外端口(即P0、P2 口),使它最大可能地減少了對外 引腳,因而芯片尺寸有所減少。 AT89C2051 沒有提供外部擴展存儲器與I/O 設備所需的地址、數據、控制信號,因此利 用 AT89C2051 構成的單片機應用系統不能在AT89C2051 之外擴展存儲器或 I/O 設備,也即 AT89C2051 本身即構成了最小單片機系統。 5.2 繼電器 繼電器是一種電子控制器件,它具有控制系統(又稱輸入回路)和被控制系統(又稱輸 出回路),通常應用于自動控制電路中, 它實際上是用較小的電流去控制較大電流的一種 “自 動開關”。故在電路中起著自動調節(jié)、安全保護、轉換電路等作

37、用。 5.2.1 電磁繼電器的工作原理和特性 電磁式繼電器一般由鐵芯、線圈、銜鐵、觸點簧片等組成的。只要在線圈兩端加上 一定的電壓,線圈中就會流過一定的電流,從而產生電磁效應,銜鐵就會在電磁力吸引 的作用下克服返回彈簧的拉力吸向鐵芯,從而帶動銜鐵的動觸點與靜觸點(常開觸點) 吸合。當線圈斷電后,電磁的吸力也隨之消失,銜鐵就會在彈簧的反作用力返回原來的 位置,使動觸點與原來的靜觸點(常閉觸點)吸合。這樣吸合、釋放,從而達到了在電 路中的導通、切斷的目的。對于繼電器的“常開、常閉”觸點,可以這樣來區(qū)分:繼電 器線圈未通電時處于斷開狀態(tài)的靜觸點,稱為“常開觸點”;處于接通狀態(tài)的靜觸點稱 為“常閉觸點

38、”。 5.2.2 繼電器主要產品技術參數 1)額定工作電壓 額定工作電壓是指繼電器正常工作時線圈所需要的電壓。根據繼電器的型號不 同,可以是交流電壓,也可以是直流電壓。 2)直流電阻 直流電阻是指繼電器中線圈的直流電阻,可以通過萬能表測量。 3)吸合電流 18 吸合電流是指繼電器能夠產生吸合動作的最小電流。在正常使用時,給定的電 流必須略大于吸合電流,這樣繼電器才能穩(wěn)定地工作。而對于線圈所加的工作電壓, 一般不要超過額定工作電壓的1.5 倍,否則會產生較大的電流而把線圈燒毀。 4)釋放電流 釋放電流是指繼電器產生釋放動作的最大電流。當繼電器吸合狀態(tài)的電流減小 到一定程度時,繼電器就會恢復到未通

39、電的釋放狀態(tài)。這時的電流遠遠小于吸合電 流。 5)觸點切換電壓和電流 觸點切換電壓和電流是指繼電器允許加載的電壓和電流。它決定了繼電器能控 制電壓和電流的大小,使用時不能超過此值,否則很容易損壞繼電器的觸點。 5.2.3 繼電器的電符號和觸點形式 繼電器線圈在電路中用一個長方框符號表示,如果繼電器有兩個線圈,就畫兩個并 列的長方框。同時在長方框內或長方框旁標上繼電器的文字符號“J”。繼電器的觸點有 兩種表示方法:一種是把它們直接畫在長方框一側,這種表示法較為直觀。另一種是按 照電路連接的需要,把各個觸點分別畫到各自的控制電路中,通常在同一繼電器的觸點 與線圈旁分別標注上相同的文字符號,并將觸點

40、組編上號碼,以示區(qū)別。繼電器的觸點 有三種基本形式: 1)動合型(H 型)線圈不通電時兩觸點是斷開的,通電后,兩個觸點就閉合。以合 字的拼音字頭“H”表示。 2)動斷型(D 型)線圈不通電時兩觸點是閉合的,通電后兩個觸點就斷開。用斷字 的拼音字頭“D”表示。 3)轉換型(Z 型)這是觸點組型。這種觸點組共有三個觸點,即中間是動觸點,上 下各一個靜觸點。線圈不通電時,動觸點和其中一個靜觸點斷開和另一個閉合,線圈通 電后,動觸點就移動,使原來斷開的成閉合,原來閉合的成斷開狀態(tài),達到轉換的目的。 這樣的觸點組稱為轉換觸點。用“轉”字的拼音字頭“z”表示。 5.3 數碼管 數碼管是一種半導體發(fā)光器件,

41、其基本單元是發(fā)光二極管。 5.3.1 數碼管的分類 數碼管按段數分為七段數碼管和八段數碼管,八段數碼管比七段數碼管多一個 發(fā)光二極管單元(多一個小數點顯示) ;按能顯示多少個“ 8”可分為 1 位、2 位、4 位等等數碼管;按發(fā)光二極管單元連接方式分為共陽極數碼管和共陰極數碼管。共 陽數碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數碼管。共 陽數碼管在應用時應將公共極COM 接到+5V,當某一字段發(fā)光二極管的陰極為低電 19 平時,相應字段就點亮。當某一字段的陰極為高電平時,相應字段就不亮。共陰 數碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數碼管。共陰 數

42、碼管在應用時應將公共極COM 接到地線 GND 上,當某一字段發(fā)光二極管的陽極為 高電平時,相應字段就點亮。當某一字段的陽極為低電平時,相應字段就不亮 。 5.3.2 數碼管的驅動方式 數碼管要正常顯示,就要用驅動電路來驅動數碼管的各個段碼,從而顯示出我 們要的數字,因此根據數碼管的驅動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。 1)靜態(tài)顯示驅動:靜態(tài)驅動也稱直流驅動。靜態(tài)驅動是指每個數碼管的每一 個段碼都由一個單片機的I/O 端口進行驅動,或者使用如BCD 碼二-十進制譯碼器 譯碼進行驅動。 靜態(tài)驅動的優(yōu)點是編程簡單, 顯示亮度高,缺點是占用 I/O 端口多, 如驅動 5 個數碼管靜態(tài)顯示則需

43、要5840 根 I/O 端口來驅動,要知道一個 89S51 單片機可用的 I/O 端口才 32 個呢: ) ,實際應用時必須增加譯碼驅動器進行驅動, 增加了硬件電路的復雜性。 2)動態(tài)顯示驅動:數碼管動態(tài)顯示接口是單片機中應用最為廣泛的一種顯示 方式之一,動態(tài)驅動是將所有數碼管的8 個顯示筆劃 a,b,c,d,e,f,g,dp 的同名端 連在一起,另外為每個數碼管的公共極COM 增加位選通控制電路,位選通由各自獨 立的 I/O 線控制,當單片機輸出字形碼時,所有數碼管都接收到相同的字形碼,但 究竟是那個數碼管會顯示出字形,取決于單片機對位選通COM 端電路的控制,所以 我們只要將需要顯示的數碼

44、管的選通控制打開,該位就顯示出字形,沒有選通的數 碼管就不會亮。通過分時輪流控制各個數碼管的的COM 端,就使各個數碼管輪流受 控顯示,這就是動態(tài)驅動。在輪流顯示過程中,每位數碼管的點亮時間為12ms, 由于人的視覺暫留現象及發(fā)光二極管的余輝效應,盡管實際上各位數碼管并非同時 點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數據,不會有閃 爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O 端口,而且功耗 更低。 6 6、軟件設計、軟件設計 20 6.1 偽定義 SL EQU 30H;SL 存放秒的個位數 SH EQU 3lH;SH 存放秒的十位數 ML EQU 32H;M

45、L 存放分的個位數 MH EQU 33H;MH 存放分的十位數 HL EQU 34H;HL 存放小時的個位數 HH EQU 35H;HH 存放小時的十位數 ; L0 EQU 36H;L0L3:顯示數據存儲器 L1 EQU 37H L2 EQU 38H L3 EQU 39H DSPLYP EQU 3AH;顯示數據指針(DISPLAYPOINT) PLYTS EQU 3BH;顯示次數計數器(DISPLAYTIMES) ; LPLMOD BIT 39H;低兩位顯示方式(LOWPLAYMOD) HPLMOD BIT 3AH;高兩位顯示方式(HIGHPLAYMOD) BRIGHT BIT 3BH:DIS

46、PLAY 子程序參數:亮滅指示位 ; TCOUNT EQU 3CH;時間計數器(TIMECOUNT) ; ADDRES EQU 3DH,加 l 子程序參數 MAX EQU 3EH;加 l 子程序參數 IFDEC BIT 20H;BCD 加法子程序參數 ; R_MOD EQU 3FH;響鈴方式參數 ; LED4 BIT 30H;發(fā)光管狀態(tài)位 BELL BIT P17;蜂鳴器 WITCH BIT P37;繼電器 FKEY BIT P30;功能鍵(S1) MKEY BIT P31;修改鍵(S2) ; WORKIN BIT 38H;工作狀態(tài)指示位 6.2 中斷入口 21 ORG 0000H START

47、: LJMP MAIN;0000H 引向主程序 LJMP ERR;0003H NOP NOP LJMP ERR;引向出錯處理程序 LJMP PGT0;000BH 引向中斷處理程序 PG 丁 0 NOP NOP LJMP ERR;引向出錯處理程序 LJMP ERR;0013H IN 丁 1 NOP NOP LJMP ERR LJMP ERR;00lBH T1 NOP NOP LJMP ERR LJMP ERR;0023H NOP NOP LJMP ERR LJMP ERR;002BH NOP NOP 6.3 主程序 MAIN:MOV lE,#00H;關中斷 MOV SP,#57H;設置堆棧指針

48、MOV PSW,#00H;選用寄存器組 0 MOV TMOD,#11H;設定中斷工作方式為T0 和 T1 , MOV A,56H CJNE A,#0AAH,CSTART ;判斷上電復位標志,無標志轉冷啟動 22 MOV A,57H CJNE A,#55H,CSTART;無標志轉冷啟動 AJMP HSTART;有上電復位標志轉熱啟動 NOP NOP LJMP ERR;軟件陷阱,引向出錯處理程序 CSTART:MOV P1,#0FFH;冷啟動,全面初始化 MOV P3,#0FFH MOV TCON,#00H;計時停止 MOV TL0,#0BOH;賦中斷 T0 初值 MOV TH0,#3CH MOV

49、 TCOUNT,#0AH;賦定時器初值 M()V R5,#00H;R5 為一空單元(備用) MOV R4,#00H;R4 為工作模式選擇寄存器 MOV SI 一#00H;定時單元清零 MOV SH,#00H;秒 MOV ML,#00H; MOV MH,#00H;分 MOV HL,#00H; MOV HH,#00H;時 MOV PLYTS,#64H;賦顯示次數初值為100 次 MOV DSPLYP,#L0;顯示指針指向顯存單元 MOV LO,#0AH;送顯示數據“一一一一一” MOV L1, #0AH MOV L2,#0AH MOV L3,共 04H SETB LED4;LED4 為數碼管之間的

50、發(fā)光二極管 SETB LPLMOD;設定顯示方式為閃爍 SETB HPLMOD; SETB BRIGHT;允許顯示 CLR WORKIN;清工作標志,待命 AJMP SETUP;轉開始工作 NOP NOP LJMP ERR;軟件陷阱 HSTART:MOV SCON,#00H ;有上電標志,熱啟動,清串行口控制寄存器 23 MOV IP,#00H;清中斷優(yōu)先控制寄存器 SETB FKEY;重設按鍵 SETB MKEY SETB EA;開中斷 AJMP BEGIN;轉向繼續(xù)工作 NOP NOP LJMP ERR;軟件陷阱 SETUP: SETB EA ; MAINl: ACALL DISPLY J

51、B FKEY,JUDGE ACALL KEYDLY JB FKEY,JUDGE CLR ET0 CLR TR0 ACALL MENU BEGIN: SETB WORKIN SETB ET0 SETB TR0 MOV A,R4 RL A MOV DPTR,并 MTAB JMP A+DPTR MTAB: AJMP WORKl AJMP WORK2 AJMP WORK3 AJMP WORK4 NOP NOP LJMP ERR WORKl: ; WORK2: CLR SWITCH AJMP MAIN2 NOP NOP ;開中斷 ;調用顯示 ;按鍵掃描 ;延時消抖動 ;無鍵按下轉向判斷是否到點 ;功能鍵

52、被按下 ;暫停計日寸 ;調用菜單設置程序 ;置工作標志位,開始工作 ;開中斷 ;開始計時 ;移人工作模式選擇 ;指針放大 ;根據工作模式跳轉到相應程序段 ;軟件陷阱 ;工作方式 1 和 2:開繼電器 24 LJMP ERR;軟件陷阱 WORK3: ; WORK4: SETB SWI 丁 CH;工作方式 3 和 4:不開繼電器 MAIN2, CLR BELL;蜂鳴器短鳴一聲,以示開始工作 ACALL DL05S SETB BELL JUDGl JNB WORKIN,MAINl:判斷是否在定時之中 MOV A,SL,判斷秒是否為零 JNZ MAINl MOV A,SH;判斷秒是否為零 JNZ MA

53、INl MOV A,ML;判斷分是否為零 JNZ MAINl MOV A,MH;判斷分是否為零 JNZ MAINl MOV A,HL;判斷時是否為零 JNZ MAINl MOV A,HH;判斷時是否為零 JNZ MAINl;若時、分、秒全為零 CLR ET0;停止計時 CLR TR0 ACALL ACTION;調用到點工作子程序 AJMP MAIN 返回 NOP NOP lJMP ERR;軟件陷阱 6.4 倒計時程序 PGTO: CLR EA;關中斷 PUSH ACC;保護現場 PUSH PSW PUSH DPI PUSH DPH 25 MOy PSW,#08H;選用寄存器組 1 CLR TR

54、0;暫停計時 MOV A,#0B7H;中斷同步修正 ADD A,TL0 MOV TL0,A MOV A,#3CH ADD A,TH0 MOV TH0,A SETB TR0;恢復計時 DEC TCOUNT;定時器 T0 每 50 000 ms 溢出一次 M()V A,TCOUNT;溢出 10 次為 05 s JNZ OUTT0;判斷是否到 05 s MOV丁 C()UNT,#0AH; CPL LED4;若到 05 sI。ED 取反 JNB LED4,OUTT0;LED 每閃爍一次是 1 s MOV R0,#SH;移人秒位的地址 SETB IFDEC;BCD 子程序參數,使其做減法 ACALL ADDBCD;調用 BCD 子程序,秒減 l CJNE R3,#99H,OUTT0 ;判斷秒是否要

溫馨提示

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

最新文檔

評論

0/150

提交評論