

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 目 錄</b></p><p> 畢業(yè)論文及答辯評價意見…………………………………………………………(3)</p><p> 畢業(yè)論文任務書……………………………………………………………………(4)</p><p><b> 畢業(yè)論文</b></p><p>
2、 1 摘要……………………………………………………………………… (6)</p><p> 2 引言……………………………………………………………………… (6)</p><p> 2.1 課題的來源和意義…………………………………………………(6)</p><p> 2.2 電子定時器的應用…………………………………………………(6)</p&g
3、t;<p> 2.3 電子定時器的發(fā)展前景……………………………………………(7)</p><p> 3 51單片機內部結構及計數原理…………………………………………(7)</p><p> 3.1 51單片機內部機構……………………………………………… (7)</p><p> 3.2 計數原理……………………………………………………
4、………(8)</p><p> 4 電子定時器的設計………………………………………………………(14)</p><p> 4.1 總體的設計要求………………………………………………… (14)</p><p> 4.2 系統(tǒng)硬件電路設計……………………………………………… (14)</p><p> 4.2.1 芯片的選擇……
5、…………………………………………(14)</p><p> 4.2.2 交流控制接口電路………………………………………(14)</p><p> 4.2.3 顯示電路…………………………………………………(14)</p><p> 4.2.4 報警電路…………………………………………………(14)</p><p> 4.3 系
6、統(tǒng)程序的設計………………………………………………… (14)</p><p> 4.3.1 主程序流程圖……………………………………………(15)</p><p> 5 重要元件及重要電路……………………………………………………(16)</p><p> 5.1 AT89C2051的內部結構及功能和引腳說明………………………(16)</p>
7、<p> 5.1.1 AT89C2051主要性能…………………………………… (16) 5.1.2 AT89C2051的內部結構………………………………… (17)</p><p> 5.1.3 AT89C2051的引腳說明………………………………… (18)</p><p> 5.2 繼電器…………………………………………………………… (18)
8、</p><p> 5.2.1電磁繼電器的工作原理和特性……………………………(18)</p><p> 5.2.2繼電器主要產品技術參數…………………………………(18)</p><p> 5.2.3繼電器的電符號和觸點形式………………………………(19)</p><p> 5.3 數碼管………………………………………………………
9、………(19)</p><p> 5.3.1數碼管的分類………………………………………………(19)</p><p> 5.3.2數碼管的驅動方式…………………………………………(19)</p><p> 6 軟件設計………………………………………………………………… (21)</p><p> 6.1 偽定義…………………………
10、………………………………… (21)</p><p> 6.2 中斷入口………………………………………………………… (22)</p><p> 6.3 主程序…………………………………………………………… (22)</p><p> 6.4 倒計時程序……………………………………………………… (25)</p><p> 6.
11、5 BCD子程序(加1或減1)…………………………………………(27)</p><p> 6.6 加1程序………………………………………………………… (28)</p><p> 6.7 調時快進程序…………………………………………………… (28)</p><p> 6.8 功能菜單程序…………………………………………………… (29)</p&
12、gt;<p> 6.9 到點工作程序…………………………………………………… (32)</p><p> 6.10 響鈴程序………………………………………………………… (33)</p><p> 6.11 顯示程序………………………………………………………… (34)</p><p> 6.12 無顯示(滅燈)程序…………………………………
13、…………… (36)</p><p> 6.13 延時程序………………………………………………………… (37)</p><p> 6.14 ERR(出錯處理)程序………………………………………………(38)</p><p> 7 結 論……………………………………………………………………(39)</p><p> 8 參考文獻
14、…………………………………………………………………(40)</p><p> 畢業(yè)論文及答辯評價意見</p><p><b> 畢業(yè)論文任務書</b></p><p> 畢業(yè)論文題目 電子定時器 </
15、p><p> 題目來源 自選課題 題目性質 □ 真實題目 □ 虛擬題目 </p><p> 起止時間 2011 年 10 月 25 日 —— 2011 年 12 月 23 日 </p><p> 學生姓名 黃澤成 系(院) 機械與電子系 班級 09應用電子1班
16、 </p><p> 一、畢業(yè)論文主要內容</p><p> 二、畢業(yè)論文基本(技術)要求及應提交的成果 </p><p> 三、畢業(yè)論文進度安排</p><p> 四、畢業(yè)論文應收集的資料及主要參考文獻</p><p> 1、 胡漢才.單片機原理及其接口技術.北京:清華大學出版社,2004(第二版)<
17、;/p><p> 2、 趙德安等. 單片機原理與應用. 北京:機械工業(yè)出版社,2004</p><p> 3、 趙曉安等.MCS-51單片機原理及應用.天津:天津大學出版社,2001-3第一版</p><p> 4、 趙亮等. 單片機C語言編程與實例.北京: 人民郵電出版社</p><p> 5、 何立民. MCS-51系列單片機應用系統(tǒng)
18、設計系統(tǒng)配置與接口技術.北京:北京航空航天大學出版社</p><p> 6、 張洪潤等.單片機應用技術教程.北京:清華大學出版社</p><p> 7 、夏繼強. 單片機實驗與實踐教程. 北京:北京航空航天大學出版社.2001</p><p> 8、 徐惠民、安德寧. 單片微型計算機原理接口與應用.第1版.北京:北京</p><p>
19、 9、 李葉紫. MCS-51單片機應用教程.北京:清華大學出版社</p><p> 10、鄒應金. 51系列單片機原理與實驗教程.西安:西安電子科技大學出版社</p><p> 11、郝建國.單片機在電子電路設計中的應用.北京:清華大學出版社</p><p> 12、萬光毅. 單片機實驗與實踐教程(一).北京.北京航空航天大學出版社</p>&
20、lt;p> 指導教師(簽名): </p><p> 教研室主任(簽名): </p><p> 系(院)負責人(簽名): </p><p> 2 0 年 月 日</p><p><
21、;b> 1、摘 要</b></p><p> 隨著時代的進步,電子行業(yè)的發(fā)展,定時器的應用也越來越廣泛。但傳統(tǒng)的定時器都是使用發(fā)條驅動式、電機傳動式或電鐘式等機械定時器。電子定時器相對產痛定時器來說,體積小、重量輕、造價低、精度高、壽命長、而且安全可靠、調整方便、適于頻繁使用。本設計采用AT89C2051單片機為核心,闡述了系統(tǒng)工作原理,給出了軟件流程。該電子定時器滿足對電器的電源進行控制
22、,同時要方便用戶對電子定時器的操作。最大時間能達到30h,且最大精度可以到分鐘</p><p> 關鍵詞:定時器;單片機;AT89C2051;動態(tài)掃描;繼電器</p><p><b> 2、引 言</b></p><p> 我們在日常生活中,經常碰到一些需要定時的事情,例如:印相或放大照片,需要定在零點幾秒的時間,洗衣機洗滌衣物需要定在
23、幾分鐘到幾十分鐘的時間,電風扇需要定在數十分鐘的時間。完成這種定時的定時器有多種多樣,在家用電器中采用機械定時器就是根據一般上弦鐘表原理設計的,這種定時器雖然結構簡單,成本低,維修也比較方便,但是它的觸頭頻繁接觸和斷開,大大的縮減了它的使用壽命,也不利于進一步全自動化。在電子技術突飛猛進的今天,電子定時器一定會逐步取而代之,這是不言而喻的。</p><p> 本文是基于51系列單片機設計的一種用于控制家用電器的
24、設計方案</p><p> 2.1課題的來源和意義</p><p> 本課題是通過導師篩選提出的,電子設計課題不一定很大,只要通過親手做一遍全過程,完成一個產品制作,收獲是很大的。</p><p> 本課題的意義在于通過設計和制作本課題把在學校學習到的知識融會貫通并應用到實際當中。做到學有所成,學有所用。并且希望通過本設計為節(jié)能減排做出貢獻。</p>
25、;<p> 2.2電子定時器的應用</p><p> 電子定時器在家用電器中經常用于延時自動關機、定時。延時自動關機可用于:收音機、電視機、錄音機、催眠器、門燈、路燈、汽車頭燈、轉彎燈以及其他電器的延時斷電及延時自停電源等。定時可用于:照相定時曝光、定時閃光、定時放大、定時調速、定時烘箱、冰箱門開定時報警、水位定時報警、延時催眠器、延時電鈴、延時電子鎖、觸摸定時開關等。例如:空調中的定時器,在工
26、作一段時間之后便能自動切斷電源停止工作。夏季夜間使用,入睡前先頂好時間,等睡熟后到了預定時間,空調自動關機。方便節(jié)能。定時器除了應用</p><p> 家用電器外,還廣泛地用于工業(yè)農業(yè)生產和服務設施,甚至軍事等。</p><p> 2.3電子定時器的發(fā)展前景</p><p> 傳統(tǒng)的定時器絕大多數都是發(fā)條驅動式、電機傳動式或電鐘式等機械定時器,部分電子器械中也
27、有試用時間繼電器的。相對于傳統(tǒng)的定時器,電子定時器的體積小、重量輕、造價低、精度高、壽命長、而且安全可靠、調整方便、適于頻繁使用。所以電子定時器的發(fā)展必定大有前途。同時隨著現代電子技術的發(fā)展,電子定時器也在不斷的進步,朝向著更多用途、更高精度、更小體積發(fā)展著。</p><p> 例如:一個可編程電子定時器,它可以設置20組開、關電源設置,可以當時鐘使用,還也可以按星期組合讓它在一周內的任意一天或幾天按設置程序工
28、作。而且它只有長12.5cm×寬5.5cm×厚5cm大小。且它的功耗特別小只有3W??梢哉f是小巧玲瓏,節(jié)能省電。</p><p> 3、 51單片機內部結構及計數原理</p><p> 3.1 51單片機內部機構</p><p> 51單片機內部有一個8位的CPU,同時CPU內部包含了運算器,控制器及若干寄存器。</p>&
29、lt;p> 從上圖中我們可以看到,在虛線框內的就是CPU的內部結構了,8位的MCS-51單片機的CPU內部有數術邏輯單元ALU(Arithmetic Logic Unit)、累加器A(8位)、寄存器B(8位)、程序狀態(tài)字PSW(8位)、程序計數器PC(有時也稱為指令指針,即IP,16位)、地址寄存器AR(16位)、數據寄存器DR(8位)、指令寄存器IR(8位)、指令譯碼器ID、控制器等部件組成。</p><p
30、><b> 3.2計數原理</b></p><p> 80C51單片機內部設有兩個16位的可編程定時器/計數器??删幊痰囊馑际侵钙涔δ埽ㄈ绻ぷ鞣绞?、定時時間、量程、啟動方式等)均可由指令來確定和改變。在定時器/計數器中除了有兩個16位的計數器之外,還有兩個特殊功能寄存器(控制寄存器和方式寄存器)</p><p> 定時器/計數器的結構:</p>
31、<p> 從上面定時器/計數器的結構圖中我們可以看出,16位的定時/計數器分別由兩個8位專用寄存器組成,即:T0由TH0和TL0構成;T1由TH1和TL1構成。其訪問地址依次為8AH-8DH。每個寄存器均可單獨訪問。這些寄存器是用于存放定時或計數初值的。此外,其內部還有一個8位的定時器方式寄存器TMOD和一個8位的定時控制寄存器TCON。這些寄存器之間是通過內部總線和控制邏輯電路連接起來的。TMOD主要是用于選定定時器的
32、工作方式;TCON主要是用于控制定時器的啟動停止,此外TCON還可以保存T0、T1的溢出和中斷標志。當定時器工作在計數方式時,外部事件通過引腳T0(P3.4)和T1(P3.5)輸入。</p><p><b> 定時計數器的原理:</b></p><p> 16位的定時器/計數器實質上就是一個加1計數器,其控制電路受軟件控制、切換。 </p><
33、p> 當定時器/計數器為定時工作方式時,計數器的加1信號由振蕩器的12分頻信號產生,即每過一個機器周期,計數器加1,直至計滿溢出為止。顯然,定時器的定時時間與系統(tǒng)的振蕩頻率有關。因一個機器周期等于12個振蕩周期,所以計數頻率fcount=1/12osc。如果晶振為12MHz,則計數周期為:</p><p> T=1/(12×106)Hz×1/12=1μs </p>&l
34、t;p> 這是最短的定時周期。若要延長定時時間,則需要改變定時器的初值,并要適當選擇定時器的長度(如8位、13位、16位等)。 </p><p> 當定時器/計數器為計數工作方式時,通過引腳T0和T1對外部信號計數,外部脈沖的下降沿將觸發(fā)計數。計數器在每個機器周期的S5P2期間采樣引腳輸入電平。若一個機器周期采樣值為1,下一個機器周期采樣值為0,則計數器加1。此后的機器周期S3P1期間,新的計數值裝入計
35、數器。所以檢測一個由1至0的跳變需要兩個機器周期,故外部事年的最高計數頻率為振蕩頻率的1/24。例如,如果選用12MHz晶振,則最高計數頻率為0.5MHz。雖然對外部輸入信號的占空比無特殊要求,但為了確保某給定電平在變化前至少被采樣一次,外部計數脈沖的高電平與低電平保持時間均需在一個機器周期以上。 </p><p> 當CPU用軟件給定時器設置了某種工作方式之后,定時器就會按設定的工作方式獨立運行,不再占用CP
36、U的操作時間,除非定時器計滿溢出,才可能中斷CPU當前操作。CPU也可以重新設置定時器工作方式,以改變定時器的操作。由此可見,定時器是單片機中效率高而且工作靈活的部件。 </p><p> 綜上所述,我們已知定時器/計數器是一種可編程部件,所以在定時器/計數器開始工作之前,CPU必須將一些命令(稱為控制字)寫入定時/計數器。將控制字寫入定時/計數器的過程叫定時器/計數器初始化。在初始化過程中,要將工作方式控制字
37、寫入方式寄存器,工作狀態(tài)字(或相關位)寫入控制寄存器,賦定時/計數初值。下面我們就提出的控制字的格式及各位的主要功能與大家詳細的講解。 </p><p> 控制寄存器 定時器/計數器T0和T1有2個控制寄存器-TMOD和TCON,它們分別用來設置各個定時器/計數器的工作方式,選擇定時或計數功能,控制啟動運行,以及作為運行狀態(tài)的標志等。其中,TCON寄存器中另有4位用于中斷系統(tǒng)。</p><p
38、> 定時器/計數器方式寄存器TMOD:</p><p> 定時器方式控制寄存器TMOD在特殊功能寄存器中,字節(jié)地址為89H,無位地址。TMOD的格式如下圖所示。</p><p> 由圖可見,TMOD的高4位用于T1,低4使用于T0,4種符號的含義如下:</p><p> GATE:門控制位。GATE和軟件控制位TR、外部引腳信號INT的狀態(tài),共同控制定
39、時器/計數器的打開或關閉。</p><p> C/T:定時器/計數器選擇位。C/T=1,為計數器方式;C/T=0,為定時器方式。</p><p> M1M0:工作方式選擇位,定時器/計數器的4種工作方式由M1M0設定。</p><p> 定時器/計數器方式控制寄存器TMOD不能進行位尋址,只能用字節(jié)傳送指令設置定時器工作方式,低半字節(jié)定義為定時器0,高半字節(jié)定
40、義為定時器1。復位時,TMOD所有位均為0。</p><p> 定時器/計數器控制寄存器TCON:</p><p> TCON在特殊功能寄存器中,字節(jié)地址為88H,位地址(由低位到高位)為88H一8FH,由于有位地址,十分便于進行位操作。</p><p> TCON的作用是控制定時器的啟、停,標志定時器溢出和中斷情況。</p><p>
41、 TCON的格式如下圖所示。其中,TFl,TRl,TF0和TR0位用于定時器/計數器;IEl,ITl,IE0和IT0位用于中斷系統(tǒng)。</p><p> TCON中低4位與中斷有關,我們將在下節(jié)課講中斷時再給予講解。由于TCON是可以位尋址的,因而如果只清溢出或啟動定時器工作,可以用位操作命令。例如:執(zhí)行“CLR TF0”后則清定時器0的溢出;執(zhí)行“SETB TR1”后可啟動定時器1開始工作(當然前面還要設置方
42、式定)。</p><p> 定時器/計數器的初始化:</p><p> 由于定時器/計數器的功能是由軟件編程確定的,所以一般在使用定時/計數器前都要對其進行初始化,使其按設定的功能工作。初始貨的步驟一般如下:</p><p> 1、確定工作方式(即對TMOD賦值);</p><p> 2、預置定時或計數的初值(可直接將初值寫入TH0、
43、TL0或TH1、TL1);</p><p> 3、根據需要開放定時器/計數器的中斷(直接對IE位賦值);</p><p> 4、啟動定時器/計數器(若已規(guī)定用軟件啟動,則可把TR0或TR1置“1”;若已規(guī)定由外中斷引腳電平啟動,則需給外引腳步加啟動電平。當實現了啟動要求后,定時器即按規(guī)定的工作方式和初值開始計數或定時)。</p><p> 因為在不同工作方式下
44、計數器位數不同,因而最大計數值也不同。</p><p> 現假設最大計數值為M,那么各方式下的最大值M值如下:</p><p> 方式0:M=213=8 192</p><p> 方式1:M=216=65 536</p><p> 方式2:M=28=256</p><p> 方式3:定時器0分成兩個8位計數器
45、,所以兩個M均為256。 </p><p> 因為定時器/計數器是作“加1”計數,并在計數滿溢出時產生中斷,因此初值X可以這樣計算:</p><p><b> X=M-計數值</b></p><p> 定時器/計數器的四種工作方式:</p><p> 定T0或T1無論用作定時器或計數器都有4種工作方式:方式0、方
46、式1、方式2和方式3。除方式3外,T0和T1有完全相同的工作狀態(tài)。下面以T1為例,分述各種工作方式的特點和用法。 </p><p><b> 工作方式0:</b></p><p> 13位方式由TL1的低5位和TH1的8位構成13位計數器(TL1的高3位無效)。工作方式0的結構見下圖:</p><p> 定時/計數選擇:C/T=0,T1為
47、定時器,定時信號為振蕩周期12分頻后的脈沖;C/T=l,T1為計數器,計數信號來自引腳T1的外部信號。</p><p> 定時器T1能否啟動工作,還受到了R1、GATE和引腳信號INT1的控制。由圖中的邏輯電路可知,當GATE=0時,只要TR1=1就可打開控制門,使定時器工作;當GATE=1時,只有TR1=1且INT1=1,才可打開控制門。GATE,TR1,C/T的狀態(tài)選擇由定時器的控制寄存器TMOD,TCON
48、中相應位狀態(tài)確定,INT1則是外部引腳上的信號。</p><p> 在一般的應用中,通常使GATE=0,從而由TRl的狀態(tài)控制Tl的開閉:TRl=1,打開T1;TRl=0,關閉T1。在特殊的應用場合,例如利用定時器測量接于INT1引腳上的外部脈沖高電平的寬度時,可使GATE=1,TRl=1。當外部脈沖出現上升沿,亦即INT1由0變1電平時,啟動T1定時,測量開始;一旦外部脈沖出現下降沿,亦即INT1由l變O時就
49、關閉了T1。</p><p> 定時器啟動后,定時或計數脈沖加到TLl的低5位,從預先設置的初值(時間常數)開始不斷增1。TL1計滿后,向THl進位。當TL1和THl都計滿之后,置位T1的定時器回零標志TFl,以此表明定時時間或計數次數已到,以供查詢或在打開中斷的條件下,可向CPU請求中斷。如需進一步定時/計數,需用指令重置時間常數。 </p><p> 方式0是13位計數結構的工作方
50、式,其計數器由TH0全部8位和TL0的低5位構成。當TL0的低5位計數溢出時,向TH0進位,而全部13位計數溢出時,則向計數溢出標志位TF0進位。</p><p><b> 工作方式1:</b></p><p> 1是16位計數結構的工作方式,計數器由TH0全部8位和TL0全部8位構成。與工作方式0基本相同,區(qū)別僅在于工作方式1的計數器TL1和TH1組成16位計數
51、器,從而比工作方式0有更寬的定時/計數范圍。</p><p><b> 工作方式2:</b></p><p> 8位自動裝入時間常數方式。由TLl構成8位計數器,THl僅用來存放時間常數。啟動T1前,TLl和THl裝入相同的時間常數,當TL1計滿后,除定時器回零標志TFl置位,具有向CPU請求中斷的條件外,THl中的時間常數還會自動地裝入TLl,并重新開始定時或計
52、數。所以,工作方式2是一種自動裝入時間常數的8位計數器方式。由于這種方式不需要指令重裝時間常數,因而操作方便,在允許的條件下,應盡量使用這種工作方式。當然,這種方式的定時/計數范圍要小于方式0和方式1。工作方式2的結構見下圖:</p><p> 當計數溢出后,不是像前兩種工作方式那樣通過軟件方法,而是由預置寄存器TH以硬件方法自動給計數器TL重新加載。變軟件加載為硬件加載。</p><p&g
53、t; 初始化時,8位計數初值同時裝入TL0和TH0中。當TL0計數溢出時,置位TF0,同時把保存在預置寄</p><p> 存器TH0中的計數初值自動加載TL0,然后TL0重新計數。如此重復不止。這不但省去了用戶程序中的</p><p> 重裝指令,而且也有利于提高定時精度。但這種工作方式下是8位計數結構,計數值有限,最大只能到255。</p><p> 這
54、種自動重新加載工作方式非常適用于循環(huán)定時或循環(huán)計數應用,例如用于產生固定脈寬的脈沖,</p><p> 此外還可以作串行數據通信的波特率發(fā)送器使用。</p><p><b> 工作方式3:</b></p><p> 2個8位方式。工作方式3只適用于定時器0。如果使定時器1為工作方式3,則定時器1將處于關閉狀態(tài)。</p>&l
55、t;p> 當T0為工作方式3時,THo和TL0分成2個獨立的8位計數器。其中,TL0既可用作定時器,又可用作計數器,并使用原T0的所有控制位及其定時器回零標志和中斷源。TH0只能用作定時器,并使用T1的控制位TRl、回零標志TFl和中斷源,見下圖:</p><p> 通常情況下,T0不運行于工作方式3,只有在T1處于工作方式2,并不要求中斷的條件下才可能使用。這時,T1往往用作串行口波特率發(fā)生器(見1.
56、4),TH0用作定時器,TL0作為定時器或計數器。所以,方式3是為了使單片機有1個獨立的定時器/計數器、1個定時器以及1個串行口波特率發(fā)生器的應用場合而特地提供的。這時,可把定時器l用于工作方式2,把定時器0用于工作方式3下才可能使用。這時,T1往往用作串行口波特率發(fā)生器,TH0用作定時器,TL0作為定時器或計數器。所以,方式3是為了使單片機有1個獨立的定時器/計數器、1個定時器以及1個串行口波特率發(fā)生器的應用場合而特地提供的。這時,可
57、把定時器l用于工作方式2,把定時器0用于工作方式3。</p><p> 4、電子定時器的設計</p><p> 4.1 總體的設計要求</p><p> 本文所涉及的電子定時器要求能定時給電器供電或斷電,最大時間可以長達30h,操作使用方便,采用AT89C2051單片機控制,4位共陽數碼管顯示時間,繼電器做電器電源輸出控制。</p><p&
58、gt; 4.2 系統(tǒng)硬件電路設計</p><p> 4.2.1芯片的選擇</p><p> 硬件電路要實現對交流大電流電源的控制、定時時間的設定顯示和到點提醒等功能。若采用40腳的單片機有利于設計,但會增大電路板的體積。本設計采用ATMEL公司的AT89C2051單片機,芯片位20腳,體積小,工作電壓范圍寬(2.7V~6V)。性價比比較高。</p><p>
59、 4.2.2交流控制接口電路</p><p> 交流接口電路可以選擇繼電器控制,也可采用可控硅控制等。本設計采用的是前一種——繼電器控制。</p><p><b> 4.2.3顯示電路</b></p><p> 顯示電路采用4個共陽極LED數碼管。為了在定時達到分(鐘)的時候能顯示出時鐘在計時,兩個數碼管之間增加一個發(fā)光二極管,以其閃爍
60、來代表秒走動;為了使硬件電路簡單,采用單片機直接驅動LED數碼管(AT89C2051輸出口能吸收20mA電流),用動態(tài)掃描法實現LED顯示。</p><p><b> 4.2.4報警電路</b></p><p> 報警電路采用普通的5V成品蜂鳴器。</p><p> 4.3系統(tǒng)程序的設計</p><p> 程序采
61、用模塊化、結構化設計,并采用軟件抗干擾,使軟件的可靠性比較高,可維護性較強。</p><p><b> 主要模塊有:</b></p><p><b> 主程序</b></p><p><b> 菜單程序</b></p><p><b> 到點工作程序</
62、b></p><p><b> 抗干擾程序</b></p><p> 4.3.1主程序流程圖</p><p> N Y</p><p><b> N</b></p>&l
63、t;p><b> Y</b></p><p><b> N</b></p><p><b> Y</b></p><p> 5、重要元件及重要電路</p><p> 5.1 AT89C2051的內部結構及功能和引腳說明</p><p>
64、 AT89C2051是美國ATMEL公司生產的低電壓、高性能CMOS 8位單片機,片內含2k bytes的可反復擦寫的只讀程序存儲器(PEROM)和128bytes的隨機數據存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準MCS-51指令系統(tǒng),片內置通用8位中央處理器和Flash存儲單元,功能強大AT89C2051單片機可為您提供許多高性價比的應用場合。</p><p><
65、b> 程序保密</b></p><p> 89C2051設計有2個程序保密位,保密位1被編程之后,程序存儲器不能再被編程除非做一次擦除,保密位2被編程之后,程序不能被讀出。</p><p><b> 軟硬件的開發(fā)</b></p><p> 89C2051可以采用下面2種方法開發(fā)應用系統(tǒng):</p><
66、p> 1)由于89C2051內部程序存貯器為Flash,所以修改它內部的程序十分方便快捷,只要配備一個可以編程89C2051的編程器即可。調試人員可以采用程序編輯-編譯-固化-插到電路板中試驗這樣反復循環(huán)的方法,對于熟練的MCS-51程序員來說,這種調試方法并不十分困難。當做這種調試不能夠了解片內RAM的內容和程序的走向等有關信息。</p><p> 2)將普通8031/80C31仿真器的仿真插頭中P1
67、.0~P1.7和P3.0~P3.6引出來仿真205T,這種方法可以運用單步、斷點的調試方法,但是仿真不夠真實,比如,2051的內部模擬比較器功能,P1口、P3口的增強下拉能力等等。</p><p> 5.1.1 AT89C2051主要性能</p><p> AT89C2051是ATMEL公司生產的帶2K字節(jié)閃速可編程可擦除只讀存儲器(EEPROM)的8位單片機,它具有如下主要特性:
68、</p><p> ·和MCS-51產品的兼容 </p><p> ·2K字節(jié)可重編程閃速存儲器 </p><p> ·耐久性:1,000寫/擦除周期 </p><p> ·2.7V~6V的操作范圍 </p><p> ·全靜態(tài)操作:0H
69、z~24MHz </p><p> ·兩級加密程序存儲器 </p><p> ·128×8位內部RAM </p><p> ·15根可編程I/O引線 </p><p> ·兩個16位定時器/計數
70、器 </p><p> ·六個中斷源 </p><p> ·可編程串行UART通道 </p><p> ·直接LED驅動輸出
71、60; </p><p> ·片內模擬比較器 </p><p> ·低功耗空載和掉電方式 </p><p> 5.1.2 AT89C2051的內部結構</p&
72、gt;<p> 圖1 AT89C2051的內部結構圖</p><p> 圖2 AT89C2051內部示意圖</p><p> AT89C2051是一帶有2K字節(jié)閃速可編程可擦除只讀存儲體(EEPROM)的低電壓,高性能8位CMOS微型計算機。如圖2所示。它采用ATMEL的高密非易失存儲技術制造并和工業(yè)標準MCS—51指令集和引腳結構兼容。AT89C2051是一強
73、勁的微型計算機,它對許多嵌入式控制應用提供一高度靈活和成本低的解決辦法。</p><p> 此外,從AT89C2051內部結構圖也可看出,其內部結構與8051內部結構基本一致(除模擬比較器外),引腳RST、XTAL1、XTAL2的特性和外部連接電路也完全與51系列單片機相應引腳一致,但P1口、P3口有其獨特之處。</p><p> 5.1.3 AT89C2051的引腳說明</p
74、><p> AT89C2051是一個有20個引腳的芯片,引腳如上述圖1所示,與8051內部結構進行對比可發(fā)現,AT89C2051減少了兩個對外端口(即P0、P2口),使它最大可能地減少了對外引腳,因而芯片尺寸有所減少。 </p><p> AT89C2051沒有提供外部擴展存儲器與I/O設備所需的地址、數據、控制信號,因此利用AT89C2051構成的單片機應用系統(tǒng)不能在AT89C2051之
75、外擴展存儲器或I/O設備,也即AT89C2051本身即構成了最小單片機系統(tǒng)。</p><p><b> 5.2 繼電器</b></p><p> 繼電器是一種電子控制器件,它具有控制系統(tǒng)(又稱輸入回路)和被控制系統(tǒng)(又稱輸出回路),通常應用于自動控制電路中,它實際上是用較小的電流去控制較大電流的一種“自動開關”。故在電路中起著自動調節(jié)、安全保護、轉換電路等作用。&
76、lt;/p><p> 5.2.1電磁繼電器的工作原理和特性</p><p> 電磁式繼電器一般由鐵芯、線圈、銜鐵、觸點簧片等組成的。只要在線圈兩端加上一定的電壓,線圈中就會流過一定的電流,從而產生電磁效應,銜鐵就會在電磁力吸引的作用下克服返回彈簧的拉力吸向鐵芯,從而帶動銜鐵的動觸點與靜觸點(常開觸點)吸合。當線圈斷電后,電磁的吸力也隨之消失,銜鐵就會在彈簧的反作用力返回原來的位置,使動觸點
77、與原來的靜觸點(常閉觸點)吸合。這樣吸合、釋放,從而達到了在電路中的導通、切斷的目的。對于繼電器的“常開、常閉”觸點,可以這樣來區(qū)分:繼電器線圈未通電時處于斷開狀態(tài)的靜觸點,稱為“常開觸點”;處于接通狀態(tài)的靜觸點稱為“常閉觸點”。</p><p> 5.2.2繼電器主要產品技術參數</p><p><b> 1)額定工作電壓</b></p><
78、p> 額定工作電壓是指繼電器正常工作時線圈所需要的電壓。根據繼電器的型號不同,可以是交流電壓,也可以是直流電壓。</p><p><b> 2)直流電阻</b></p><p> 直流電阻是指繼電器中線圈的直流電阻,可以通過萬能表測量。</p><p><b> 3)吸合電流</b></p>&
79、lt;p> 吸合電流是指繼電器能夠產生吸合動作的最小電流。在正常使用時,給定的電流必須略大于吸合電流,這樣繼電器才能穩(wěn)定地工作。而對于線圈所加的工作電壓,一般不要超過額定工作電壓的1.5倍,否則會產生較大的電流而把線圈燒毀。</p><p><b> 4)釋放電流</b></p><p> 釋放電流是指繼電器產生釋放動作的最大電流。當繼電器吸合狀態(tài)的電流減
80、小到一定程度時,繼電器就會恢復到未通電的釋放狀態(tài)。這時的電流遠遠小于吸合電流。 </p><p> 5)觸點切換電壓和電流</p><p> 觸點切換電壓和電流是指繼電器允許加載的電壓和電流。它決定了繼電器能控制電壓和電流的大小,使用時不能超過此值,否則很容易損壞繼電器的觸點。</p><p> 5.2.3繼電器的電符號和觸點形式</p><
81、;p> 繼電器線圈在電路中用一個長方框符號表示,如果繼電器有兩個線圈,就畫兩個并列的長方框。同時在長方框內或長方框旁標上繼電器的文字符號“J”。繼電器的觸點有兩種表示方法:一種是把它們直接畫在長方框一側,這種表示法較為直觀。另一種是按照電路連接的需要,把各個觸點分別畫到各自的控制電路中,通常在同一繼電器的觸點與線圈旁分別標注上相同的文字符號,并將觸點組編上號碼,以示區(qū)別。繼電器的觸點有三種基本形式:</p><
82、;p> 1)動合型(H型)線圈不通電時兩觸點是斷開的,通電后,兩個觸點就閉合。以合字的拼音字頭“H”表示。</p><p> 2)動斷型(D型)線圈不通電時兩觸點是閉合的,通電后兩個觸點就斷開。用斷字的拼音字頭“D”表示。</p><p> 3)轉換型(Z型)這是觸點組型。這種觸點組共有三個觸點,即中間是動觸點,上下各一個靜觸點。線圈不通電時,動觸點和其中一個靜觸點斷開和另一個
83、閉合,線圈通電后,動觸點就移動,使原來斷開的成閉合,原來閉合的成斷開狀態(tài),達到轉換的目的。這樣的觸點組稱為轉換觸點。用“轉”字的拼音字頭“z”表示。</p><p><b> 5.3數碼管</b></p><p> 數碼管是一種半導體發(fā)光器件,其基本單元是發(fā)光二極管。</p><p> 5.3.1數碼管的分類</p><
84、;p> 數碼管按段數分為七段數碼管和八段數碼管,八段數碼管比七段數碼管多一個發(fā)光二極管單元(多一個小數點顯示);按能顯示多少個“8”可分為1位、2位、4位等等數碼管;按發(fā)光二極管單元連接方式分為共陽極數碼管和共陰極數碼管。共陽數碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數碼管。共陽數碼管在應用時應將公共極COM接到+5V,當某一字段發(fā)光二極管的陰極為低電平時,相應字段就點亮。當某一字段的陰極為高電平時,相應字
85、段就不亮。。共陰數碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數碼管。共陰數碼管在應用時應將公共極COM接到地線GND上,當某一字段發(fā)光二極管的陽極為高電平時,相應字段就點亮。當某一字段的陽極為低電平時,相應字段就不亮。</p><p> 5.3.2數碼管的驅動方式</p><p> 數碼管要正常顯示,就要用驅動電路來驅動數碼管的各個段碼,從而顯示出我們要的數字,因此
86、根據數碼管的驅動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。</p><p> 1)靜態(tài)顯示驅動:靜態(tài)驅動也稱直流驅動。靜態(tài)驅動是指每個數碼管的每一個段碼都由一個單片機的I/O端口進行驅動,或者使用如BCD碼二-十進制譯碼器譯碼進行驅動。靜態(tài)驅動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用I/O端口多,如驅動5個數碼管靜態(tài)顯示則需要5×8=40根I/O端口來驅動,要知道一個89S51單片機可用的I/O端口才3
87、2個呢:),實際應用時必須增加譯碼驅動器進行驅動,增加了硬件電路的復雜性。</p><p> 2)動態(tài)顯示驅動:數碼管動態(tài)顯示接口是單片機中應用最為廣泛的一種顯示方式之一,動態(tài)驅動是將所有數碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數碼管都接收到相同的字形
88、碼,但究竟是那個數碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數碼管的選通控制打開,該位就顯示出字形,沒有選通的數碼管就不會亮。通過分時輪流控制各個數碼管的的COM端,就使各個數碼管輪流受控顯示,這就是動態(tài)驅動。在輪流顯示過程中,每位數碼管的點亮時間為1~2ms,由于人的視覺暫留現象及發(fā)光二極管的余輝效應,盡管實際上各位數碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數據,不
89、會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O端口,而且功耗更低。</p><p><b> 6、軟件設計</b></p><p><b> 6.1 偽定義</b></p><p> SL EQU 30H ;SL存放秒的個位數 </p><p>
90、SH EQU 3lH ;SH存放秒的十位數</p><p> ML EQU 32H ;ML存放分的個位數</p><p> MH EQU 33H ;MH存放分的十位數</p><p> HL EQU 34H ;HL存放小時的個位數</p><p> HH E
91、QU 35H ;HH存放小時的十位數</p><p><b> ;</b></p><p> L0 EQU 36H ;L0~L3:顯示數據存儲器</p><p> L1 EQU 37H</p><p> L2 EQU 38H</p><p
92、> L3 EQU 39H</p><p> DSPLYP EQU 3AH ;顯示數據指針(DISPLAY—POINT)</p><p> PLYTS EQU 3BH ;顯示次數計數器(DISPLAY—TIMES)</p><p><b> ;</b></p><p>
93、; LPLMOD BIT 39H ;低兩位顯示方式(LOW—PLAY—MOD)</p><p> HPLMOD BIT 3AH ;高兩位顯示方式(HIGH—PLAY—MOD)</p><p> BRIGHT BIT 3BH :DISPLAY子程序參數:亮/滅指示位</p><p><b> ;</b>
94、;</p><p> TCOUNT EQU 3CH ;時間計數器(TIME—COUNT)</p><p><b> ;</b></p><p> ADDRES EQU 3DH ,加l子程序參數</p><p> MAX EQU 3EH ;加l子程序參數</p>
95、<p> IFDEC BIT 20H ;BCD加法子程序參數</p><p><b> ;</b></p><p> R_MOD EQU 3FH ;響鈴方式參數</p><p><b> ?。?lt;/b></p><p> LED4 BIT
96、 30H ;發(fā)光管狀態(tài)位</p><p> BELL BIT P1.7 ;蜂鳴器</p><p> WITCH BIT P3.7 ;繼電器</p><p> FKEY BIT P3.0 ;功能鍵(S1) </p><p> MKEY BIT P3.1 ;修
97、改鍵(S2)</p><p><b> ;</b></p><p> WORKIN BIT 38H ;工作狀態(tài)指示位</p><p><b> 6.2中斷入口</b></p><p> ORG 0000H</p><p> START: LJMP
98、 MAIN ;0000H引向主程序</p><p> LJMP ERR ;0003H</p><p><b> NOP</b></p><p><b> NOP</b></p><p> LJMP ERR ;引向出錯處理程序</p>&l
99、t;p> LJMP PGT0 ;000BH引向中斷處理程序PG丁0</p><p><b> NOP</b></p><p><b> NOP</b></p><p> LJMP ERR ;引向出錯處理程序</p><p> LJMP ERR ;
100、0013H IN丁1</p><p><b> NOP </b></p><p><b> NOP</b></p><p> LJMP ERR</p><p> LJMP ERR ;00lBH T1</p><p><b> NOP
101、</b></p><p><b> NOP</b></p><p> LJMP ERR</p><p> LJMP ERR ;0023H</p><p><b> NOP</b></p><p><b> NOP</b&
102、gt;</p><p> LJMP ERR</p><p> LJMP ERR ;002BH</p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> 6.3主程序</b>&
103、lt;/p><p> MAIN:MOV lE,#00H ;關中斷</p><p> MOV SP,#57H ;設置堆棧指針</p><p> MOV PSW,#00H ;選用寄存器組0</p><p> MOV TMOD,#11H
104、 ;設定中斷工作方式為T0和T1</p><p><b> ,</b></p><p> MOV A,56H</p><p> CJNE A,#0AAH,CSTART ;判斷上電復位標志,無標志轉冷啟動</p><p> MOV A,57H</p><p
105、> CJNE A,#55H,CSTART ;無標志轉冷啟動</p><p> AJMP HSTART ;有上電復位標志轉熱啟動</p><p><b> NOP</b></p><p><b> NOP</b></p><p>
106、 LJMP ERR ;軟件陷阱,引向出錯處理程序</p><p> CSTART:MOV P1,#0FFH ;冷啟動,全面初始化</p><p> MOV P3,#0FFH</p><p> MOV TCON,#00H ;計時停止</p&
107、gt;<p> MOV TL0,#0BOH ;賦中斷T0初值</p><p> MOV TH0,#3CH</p><p> MOV TCOUNT,#0AH ;賦定時器初值</p><p> M()V R5,#00H ;R5為一空單元(備用)<
108、;/p><p> MOV R4,#00H ;R4為工作模式選擇寄存器</p><p> MOV SI一#00H ;定時單元清零</p><p> MOV SH,#00H ;秒</p><p> MOV ML,#00H
109、 ;</p><p> MOV MH,#00H ;分</p><p> MOV HL,#00H ;</p><p> MOV HH,#00H ;時</p><p> MOV PLYTS,#64H
110、 ;賦顯示次數初值為100次</p><p> MOV DSPLYP,#L0 ;顯示指針指向顯存單元</p><p> MOV LO,#0AH ;送顯示數據“一一一一一”</p><p> MOV L1, #0AH</p><p> MOV
111、 L2,#0AH</p><p> MOV L3,共04H</p><p> SETB LED4 ;LED4為數碼管之間的發(fā)光二極管</p><p> SETB LPLMOD ;設定顯示方式為閃爍</p><p> SETB
112、HPLMOD ;</p><p> SETB BRIGHT ;允許顯示</p><p> CLR WORKIN ;清工作標志,待命</p><p> AJMP SETUP ;轉開始工作</p>
113、<p><b> NOP</b></p><p><b> NOP</b></p><p> LJMP ERR ;軟件陷阱</p><p> HSTART:MOV SCON,#00H ;有上電標志,熱啟動,清串行口控制寄存器</p><
114、p> MOV IP,#00H ;清中斷優(yōu)先控制寄存器</p><p> SETB FKEY ;重設按鍵</p><p> SETB MKEY</p><p> SETB EA ;開中斷</p>
115、<p> AJMP BEGIN ;轉向繼續(xù)工作</p><p><b> NOP</b></p><p><b> NOP</b></p><p> LJMP ERR ;軟件陷阱</p><p&g
116、t; SETUP: SETB EA ;開中斷</p><p><b> ??;</b></p><p> MAINl: ACALL DISPLY ;調用顯示</p><p> JB FKEY,JUDGE ;按鍵掃描&
117、lt;/p><p> ACALL KEYDLY ;延時消抖動</p><p> JB FKEY,JUDGE ;無鍵按下轉向判斷是否到點</p><p> CLR ET0 ;功能鍵被按下</p><p> CLR
118、 TR0 ;暫停計日寸</p><p> ACALL MENU ;調用菜單設置程序</p><p> BEGIN: SETB WORKIN ;置工作標志位,開始工作</p><p> SETB ET0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論