單片機多功能定時系統(tǒng)畢設論文_第1頁
單片機多功能定時系統(tǒng)畢設論文_第2頁
單片機多功能定時系統(tǒng)畢設論文_第3頁
單片機多功能定時系統(tǒng)畢設論文_第4頁
單片機多功能定時系統(tǒng)畢設論文_第5頁
已閱讀5頁,還剩40頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 畢業(yè)設計(論文) 題 目 單片機多功能定時系統(tǒng)的設計與實現 學 院 信息科學與工程學院 年級專業(yè) 02級通信1班 學生姓名 楊甲沛 指導教師 王振裕 專業(yè)負責人 答辯日期 燕 山 大 學計算機畢業(yè)設計購買 www.lunwendz.com 工科畢業(yè)設計代做:www.lunwen168.net 開題:www.ktjia.com目 錄第1章 緒 論11.1 課題背景11.2 課題來源21.3 本章小結2第2章 mcs-51單片機的結構32.1 控制器32.1.1 程序計數器pc(program counter)32.1.2 指令寄存器ir、指令譯碼器及控制邏輯電路42.2 存儲器的結構42.3

2、并行i/o口62.4 時鐘電路與時序72.5 單片機的工作方式72.6 單片機的性能特點102.7 單片機的應用領域102.8 本章小結11第3章 電路的硬件設計123.1 復位電路123.2 時鐘電路133.3 按鍵電路133.4 相關控制電路143.4.1 加熱電路143.4.2 控制打鈴電路153.4.3 時間表顯示電路163.5 數碼管顯示電路163.6 電源電路設計173.7 本章小結17第4章 電路的軟件設計184.1 軟件程序內容184.2 軟件流程圖184.3 定時程序設計224.3.1實時時鐘實現的基本方法224.3.2 實時時鐘程序設計步驟234.4 mcs-51的中斷23

3、4.5 程序說明264.6 本章小結27第5章 電路仿真285.1 仿真結果285.2 仿真中出現的問題及解決辦法285.3 本章小結28第6章 結論與展望296.1 結論296.2 單片機的發(fā)展趨勢29參考文獻31附 錄32致 謝41第1章 緒 論1.1 課題背景單片機自1976年由intel公司推出mcs-48開始,迄今已有二十多年了。由于單片機集成度高、功能強、可靠性高、體積小、功耗地、使用方便、價格低廉等一系列優(yōu)點,目前已經滲入到人們工作和生活的方方面面,幾乎“無處不在,無所不為”。單片機的應用領域已從面向工業(yè)控制、通訊、交通、智能儀表等迅速發(fā)展到家用消費產品、辦公自動化、汽車電子、p

4、c機外圍以及網絡通訊等廣大領域。按照內部數據通道的寬度,單片機可分為4位、8位、16位及32位等。單片機的中央處理器(cpu)和通用微處理器基本相同,只是增設了“面向控制”的處理功能。例如:位處理、查表、多種地址訪問方式、多種跳轉、乘除法運算、狀態(tài)監(jiān)測、中斷處理等,增強了實時性。單片機有兩種基本結構形式:一種是在通用微型計算機中廣泛采用的,將程序存儲器和數據存儲器合用一個存儲器空間的結構,稱為普林斯頓(princeton)結構。另一種是將程序存儲器和數據存儲器截然分開,分別尋址的結構,一般需要較大的程序存儲器,目前的單片機以采用程序存儲器和數據存儲器截然分開的結構為多。單片微型計算機自從問世以

5、來,作為微型計算機一個很重要的分支,應用廣泛,發(fā)展迅速,尤其是美國intel公司生產的mcs-51系列單片機,由于其具有集成度高,處理功能強,可靠性高,系統(tǒng)結構簡單,價格低廉等優(yōu)點,在智能儀器儀表、工業(yè)檢測控制、機電一體化等方面取得了令人矚目的成就。本文討論的單片機多功能定時器的核心是目前應用極為廣泛的51系列單片機,配置了外圍設備,構成了一個可編程的計時定時系統(tǒng),具有體積小,可靠性高,功能強等特點。不僅能滿足所需要求而且還有很多功能可供開發(fā),有著廣泛的應用領域。20世紀80年代中期以后,intel公司以專利轉讓的形式把8051內核技術轉讓給許多半導體芯片生產廠家,如atmel、philips

6、、analog、devices、dallas等。這些廠家生產的芯片是mcs-51系列的兼容產品,準確地說是與mcs-51指令系統(tǒng)兼容的單片機。這些兼容機與8051的系統(tǒng)結構(主要是指令系統(tǒng))相同,采用cmos工藝,因而,常用80c51系列來稱呼所有具有8051指令系統(tǒng)的單片機,它們對8051單片機一般都作了一些擴充,更有特點。其功能和市場競爭力更強,不該把它們直接稱呼為mcs-51系列單片機,因為mcs只是intel公司專用的單片機系列型號。mcs-51系列及80c51單片機有多種品種。它們的引腳及指令系統(tǒng)相互兼容,主要在內部結構上有些區(qū)別。目前使用的mcs-51系列單片機及其兼容產品通常分成

7、以下幾類:基本型、增強型、低功耗型、專用型、超8位型、片內閃爍存儲器型。1.2 課題來源在日常生活和工作中,我們常常用到定時控制,如擴印過程中的曝光定時等。早期常用的一些時間控制單元都使用模擬電路設計制作的,其定時準確性和重復精度都不是很理想,現在基本上都是基于數字技術的新一代產品,這種產品功能強,是前者的換代之物。隨著單片機性能價格比的不斷提高,新一代產品的應用也越來越廣泛,大可構成復雜的工業(yè)過程控制系統(tǒng),完成復雜的控制功能。小則可以用于家電控制,甚至可以用于兒童電子玩具。它功能強大,體積小,質量輕,靈活好用,配以適當的接口芯片,可以構造各種各樣、功能各異的微電子產品。隨著電子技術的飛速發(fā)展

8、,家用電器和辦公電子設備逐漸增多,不同的設備都有自己的控制器,使用起來很不方便。根據這種實際情況,設計了一個單片機多功能定時系統(tǒng),它可以避免多種控制器的混淆,利用一個控制器對多路電器進行控制,同時又可以進行時鐘校準和定點打鈴。它可以執(zhí)行不同的時間表(考試時間和日常作息時間)的打鈴,可以任意設置時間,可以控制加熱器定時工作。這種具有人們所需要的智能化特性的產品減輕了人的勞動,擴大了數字化的范圍,為家庭數字化提供了可能。本文介紹的單片機多功能定時系統(tǒng),功能較多,操作簡單,開機后,系統(tǒng)按默認值開始走時,按時間表切換鍵可以隨意選擇當前要執(zhí)行的時間表是日常作息時間表還是考試時間表??梢园存I校時,按功能移

9、位鍵一次,表示要校小時的十位上的數字;再按功能移位鍵,表示要校小時的個位上的數字;按第三次,則當前校的是分十位;按第四次,表示當前校對分個位上的數字。當時鐘與時間表里存儲的時間一致時,相應的i/o口控制電鈴開始工作;到一定的時間,另外的 i/o口控制加熱器工作。本設計是針對教學的多功能定時器,定時精確,功能較多,可以完美的完成學校教學時間的控制。在本設計上按照個人的意圖稍加擴展,就可以實現更多更強大的功能。1.3 本章小結 本文介紹的設計是針對教學所用的多功能定時器,可以完成教學所需的各種功能。該定時器操作簡單,功能齊全,是單片機智能化的一種應用。第2章 mcs-51單片機的結構mc

10、s-51單片機是把那些作為控制應用所必需的基本內容都集成在一個尺寸有限的集成電路芯片上。如果按功能劃分,它由如下功能部件組成,即微處理器(cpu)、數據存儲器(ram)、程序存儲器(rom/eprom)、并行i/o口、串行口、定時器/計數器、中斷系統(tǒng)及特殊功能寄存器(sfr)。它們都是通過片內單一總線連接而成,其基本結構依舊是cpu加上外圍芯片的傳統(tǒng)結構模式。但對各種功能部件的控制是采用特殊功能寄存器(sfr)的集中控制方式。2.1 控制器控制器是單片機的指揮控制部件,控制器的主要任務是識別指令,并根據指令的性質控制單片機各功能部件,從而保證單片機各部分能自動而協(xié)調地工作。單片機執(zhí)行指令是在控

11、制器的控制下進行的。首先從程序存儲器中讀出指令,送指令寄存器保存,然后送至指令譯碼器進行譯碼,譯碼結果送定時控制邏輯電路,由定時控制邏輯產生各種定時信號和控制信號,再送到單片機的各個部件去進行相應的操作。這就是執(zhí)行一條指令的全過程,執(zhí)行程序就是不斷重復這一過程??刂破髦饕ǔ绦蛴嫈灯鳌⒊绦虻刂芳拇嫫?、指令寄存器ir、指令譯碼器、條件轉移邏輯電路及時序控制邏輯電路。2.1.1 程序計數器pc(program counter)程序計數器pc是控制部件中最基本的寄存器,是一個獨立的計數器,存放著下一條將要從程序存儲器中取出的指令的地址。其基本的工作過程是:讀指令時,程序計數器將其中的數作為所取指令

12、的地址輸出給程序存儲器,然后程序存儲器按此地址輸出指令字節(jié),同時程序計數器本身自動加1,讀完本指令,pc指向下一條指令在程序存儲器中的地址。程序計數器pc中內容的變化決定程序的流程。程序計數器的寬度決定了單片機對程序存儲器可以直接尋址的范圍。在mcs-51單片機中,程序計數器pc是一個16位的計數器,故可對64kb(216=65536=64k)的程序存儲器進行尋址。程序計數器的基本工作方式有以下幾種:(1) 程序計數器自動加1,這是最基本的工作方式,這也是為何該寄存器被稱為計數器的原因。(2) 執(zhí)行有條件或無條件轉移指令時,程序計數器將被置入新的數值,從而使程序的流向發(fā)生變化。(3) 在執(zhí)行調

13、用子程序指令或響應中斷時,單片機自動完成如下的操作: 1. pc的現行值,即下一條將要執(zhí)行的指令的地址,即斷點值,自動送入堆棧。2. 將子程序的入口地址或中斷向量的地址送入pc,程序流向發(fā)生變化,執(zhí)行子程序或中斷子程序。子程序或中斷子程序執(zhí)行完畢,遇到返回指令ret或reti時,、將棧頂的斷點值彈到程序計數器pc中,程序的流程又返回到原來的地方,繼續(xù)執(zhí)行。2.1.2 指令寄存器ir、指令譯碼器及控制邏輯電路 指令寄存器ir是用來存放指令操作碼的專用寄存器。執(zhí)行程序時,首先進行程序存儲器的讀指令操作,也就是根據pc給出的地址從程序存儲器中取出指令,并送指令寄存器ir,ir的輸出送指令譯碼器;然后

14、由指令譯碼器對該指令進行譯碼,譯碼結果送定時控制邏輯電路。定時控制邏輯電路根據指令的性質發(fā)出一系列的定時控制信號,控制單片機的各組成部件進行相應的工作,執(zhí)行指令。條件轉移邏輯電路主要用來控制程序的分支轉移。綜上所述,單片機整個程序的執(zhí)行過程就是在控制部件的控制下,將指令從程序存儲器中逐條去處,進行譯碼,然后由定時控制電路發(fā)出各種定時控制信號,控制指令的執(zhí)行。對于運算指令,還要將運算的結果特征送入程序狀態(tài)寄存器psw。以主振頻率為基準(每個主振周期為振蕩周期),控制器控制cpu的時序,對指令進行譯碼,然后發(fā)出各種控制信號,它將各個硬件環(huán)節(jié)的動作組織在一起.2.2 存儲器的結構mcs-51單片機存

15、儲器采用的是哈佛(har-vard)結構,即程序存儲器空間和數據存儲器空間截然分開,程序存儲器和數據存儲器各有自己的尋址方式,尋址空間和控制系統(tǒng).這種結構對于單片機”面向控制”的實際應用極為方便,有利.在8051/8751彈片擊中,不僅在片內集成了一定容量的程序存儲器和數據存儲器及眾多的特殊功能寄存器,而且還具有極強的外存儲器的擴展能力,尋址能力分別可達64kb,尋址和操作簡單方便.mcs-51的存儲器空間可劃分為如如下幾類:1. 程序存儲器單片機系統(tǒng)之所以能夠按照一定的次序進行工作,主要是程序存儲器中存放了經調試正確的應用程序和表格之類的固定常數.程序實際上是一串二進制碼,程序存儲器可以分為

16、片內和片外兩部分.8031由于無內部存儲器,所以只能外擴程序存儲器來存放程序.mcs-51單片機復位后,程序存儲器pc的內容為0000h,故系統(tǒng)必須從0000h單元開始取指令,執(zhí)行程序.程序存儲器中的0000h地址是系統(tǒng)程序的啟動地址.一般在該單元存放一條絕對跳轉指令,跳向用戶設計的主程序的起始地址.64k程序存儲器中有5個單元具有特殊用途.5個特殊單元分別對應于5種中斷源的中斷服務程序的入口地址.通常在這些中斷入口地址處都放一條絕對跳轉指令.加跳轉指令的目的是由于兩個中斷入口間隔僅有8個單元,存放中斷服務程序往往是不夠用的.在mcs-51單片機的指令系統(tǒng)中,同外部程序存儲器打交道的指令僅有兩

17、條:(1) movc a a+dptr(2) movc a a+pc2. 內部數據存儲器mcs-51單片機內部有128個字節(jié)的隨機存取存儲器ram,作為用戶的數據寄存器,它能滿足大多數控制型應用場合的需要,用作處理問題的數據緩沖器.mcs-51單片機的片內存儲器的字節(jié)地址為00h-7fh.mcs-51單片機對其內部ram的存儲器有很豐富的操作指令,從而使得用戶在設計程序時非常方便.地址為00h-1fh的32個單元是4組通用工作寄存器區(qū),每個區(qū)含8個8位寄存器,編號為r7-r0.用戶可以通過指令改變psw中的rs1,rs0這二位來切換當前的工作寄存器區(qū),這種功能給軟件設計帶來極大的方便,特別是在

18、中斷嵌套時,為實現工作寄存器現場內容保護提供了極大的方便.地址為20h-2fh的16個單元可進行共128位的位尋址,這些單元構成了1位處理機的存儲空間.單元中的每一位都有自己的位地址,這16個單元也可以進行字節(jié)尋址.地址為30h-7fh的單元為用戶ram區(qū),只能進行字節(jié)尋址.3. 特殊功能寄存器(sfr-special function register)特殊功能寄存器反映了mcs-51單片機的狀態(tài),實際上是mcs-51單片機各功能部件的狀態(tài)及控制寄存器.sfr綜合的,實際的反應了整個單片機基本系統(tǒng)內部的工作狀態(tài)及工作方式.sfr實質上是一些具有特殊功能的片內ram單元,字節(jié)地址范圍為80h-

19、ffh.特殊功能寄存器的總數為21個,離散的分布在該區(qū)域中,其中有些sfr還可以進行位尋址.128個字節(jié)的sfr塊中僅有21個字節(jié)是由定義的.對于尚未定義的字節(jié)地址單元,用戶不能作寄存器使用,若訪問沒有定義的單元,則將得到一個不確定的隨機數.4. 位尋址空間mcs-51單片機的一個很大優(yōu)點在于它具有一個功能很強的位處理器.在mcs-51單片機的指令系統(tǒng)中,有一個位處理指令的子集,使用這些指令,所處理的數據僅為一位二進制數(0或1).在mcs-51單片機內共有211個可尋址位,它們存在于內部ram(共有128個)和特殊功能寄存器區(qū)(共有83個)中.5. 當mcs-51單片機的片內ram不夠用時,

20、可在片外擴充數據存儲器.mcs-51單片機給用戶提供了可尋址64k字節(jié)的外擴ram的能力,至于擴多少ram,則根據用戶實際需要來定.2.3 并行i/o口mcs-51單片機共有4個雙向的8位并行i/o端口(port),分別記作p0-p3,共有32根口線,各口的每一位均由鎖存器、輸出驅動器和輸入緩沖器所組成。實際上p0-p3已被歸入特殊功能寄存器之列。這四個口除了按字節(jié)尋址以外,還可以按位尋址。由于它們在結構上有一些差異,故各口的性質和功能有一些差異。p0口是雙向8位三態(tài)i/o口,此口為地址總線(低8位)及數據總線分時復用口,可驅動8個ls型ttl負載。p1口是8位準雙向i/o口,可驅動4個ls

21、型負載。p2口是8位準雙向i/o口,與地址總線(高8位)復用,可驅動4個ls型ttl負載。p3口是8位準雙向i/o口,是雙功能復用口,可驅動4個ls型ttl負載。p1口、p2口、p3口各i/o口線片內均有固定的上拉電阻,當這3個準雙向i/o口做輸入口使用時,要向該口先寫“1”,另外準雙向i/o口無高阻的“浮空”狀態(tài),故稱為雙向三態(tài)i/o 口。p0-p3口都是并行i/o口,都可用于數據的輸入和輸出,但p0口和p2口出了可進行數據的輸入/輸出外,通常用來構建系統(tǒng)的數據總線和地址總線,所以在電路中有一個多路轉換開關mux,以便進行兩種用途的轉換。而p1口和p3口沒有構建系統(tǒng)的數據總線和地址總線的功能

22、。因此,在電路中沒有多路轉接開關mux.由于p0口可作為地址/數據復用線試用,需傳送系統(tǒng)的低8位地址和8位數據,因此,mux的一個輸入端為”地址/數據”信號.而p2口僅作為高位地址線試用,不涉及數據,所以mux的一個輸入信號為”地址”在4個口中只有p0口是一個真正的雙向口,p1-p3這三個口都是準雙向口.原因是在應用系統(tǒng)中,p0口作為系統(tǒng)的數據總線使用時,為保證數據的正確傳頌,需要解決芯片內外的隔離問題,即只有在數據傳送時芯片內外才接通;不進行數據傳遞時,芯片內外處于隔離狀態(tài).為此,要求p0口的輸出緩沖器是一個三態(tài)門.在p0口中輸出三態(tài)門是由兩只場效應管(fet)組成,所以說它是一個真正的雙向

23、口.而其他的三個口中,上拉電阻代替p0口中的場效應管,輸出緩沖器不是三態(tài)的,因此不是真正的雙向口,只能稱其為準雙向口.p3口的口線具有第二功能.為系統(tǒng)提供一些控制信號.因此在p3口電路增加了第二功能控制邏輯.這是p3口與其他各口的不同之處.2.4 時鐘電路與時序時鐘電路用于產生mcs-51單片機工作時所必需的時鐘信號。mcs-51單片機本身就是一個復雜的同步時序電路,為保證同步工作方式的實現,mcs-51單片機應在唯一的時鐘信號控制下,嚴格地按時序執(zhí)行進行工作,而時序所研究的是指令執(zhí)行中各個信號的關系。在執(zhí)行指令時,cpu首先要到程序存儲器中取出需要執(zhí)行的指令操作碼,然后譯碼,并由時序電路產生

24、一系列控制信號去完成指令所規(guī)定的操作。cpu發(fā)出的時序信號有兩類,一類用于片內對各個功能部件的控制,這列信號很多。另一類用于片外存儲器或i/o端口的控制,這部分時序對于分析、設計硬件接口電路至關重要。這也是單片機應用系統(tǒng)設計者普遍關心的問題。2.5 單片機的工作方式單片機的工作方式包括:復位方式、程序執(zhí)行方式、單步執(zhí)行方式、低功耗操作方式以及eprom編程和校驗方式。1. 復位方式rst引腳師復位信號的輸入端。復位信號是高電平有效。高電平有效的持續(xù)時間應為24個振蕩周期以上。若時鐘頻率為6mhz,則復位信號至少應持續(xù)4us以上,才可以使單片機復位。復位以后,07h寫入棧指針sp,p0-p3口均

25、置1(允許輸入),程序計數器pc和其他特殊功能寄存器sfr全部清零。只要該腳保持高電平,mcs-51便循環(huán)復位。當rst端由高變低后,mcs-51由rom的0000h開始執(zhí)行程序。mcs-51的復位操作不影響內部ram的內容。當vcc加電后,ram的內容是隨機的。單片機的復位方式有上電自動復位和手工復位兩種。2. 程序執(zhí)行方式程序執(zhí)行方式是單片機的基本工作方式。所執(zhí)行的程序可以在內部rom、外部rom或者同時放在內外rom中。若程序放在外部rom中(如對8031),則應使=0,否則,可使=1。由于復位之后pc=0000h,所以程序的執(zhí)行總是從地址0000h開始的。但真正的程序一般不可能從000

26、0h開始存放,因此,需要在0000h單元開始存放一條轉移指令,從而使程序跳轉到真正的程序入口地址。3. 單步執(zhí)行方式單步執(zhí)行方式是使程序的執(zhí)行處于外加脈沖(通常用一個按鍵產生)的控制下,一條指令一條指令地執(zhí)行,即按一次鍵,執(zhí)行一條指令。單步執(zhí)行方式可以利用mcs-51的中斷控制來實現。其中斷系統(tǒng)規(guī)定:從中斷服務程序返回以后至少要執(zhí)行一條指令后才能重新進入中斷。將外加脈沖加到輸入,平時為低電平。通過編程規(guī)定使信號低電平有效,因此不來脈沖時總是處于響應中斷的狀態(tài)。在中斷服務中要安排這樣的指令:jnb p3.2 $ ;不往下執(zhí)行jb p3.2 $ ;不往下執(zhí)行reti ;返回主程序執(zhí)行一條指令因此,

27、只有/int0上來一個正脈沖,才能通過第一、第二兩條指令,返回主程序并執(zhí)行一條指令,由于此時已回到0,故重新進入中斷,在第一條指令處等待正脈沖的到來。從而實現來一個脈沖執(zhí)行一條指令的單步操作。4. 低功耗操作方式cmos型單片機有兩種低功耗操作方式:節(jié)電操作方式和掉電操作方式。在節(jié)電方式時,cpu停止工作,而ram、定時器、串行口和中斷系統(tǒng)繼續(xù)工作。在掉電方式時,僅給片內ram供電,片內所有其他的電路均不工作。cmos型單片機用軟件來選擇操作方式,由電源控制寄存器pcon中的有關位控制。這些有關的位是:idl(pcon.0) ;節(jié)電方式位。idl=1時,激活節(jié)電方式pd(pcon.1) ;掉電

28、方式位。pd=1時,激活掉電方式gf0(pcon.2) ;通用標志位gf1(pcon.3) ;通用標志位(1)節(jié)電方式一條將idl位置1的指令執(zhí)行后,mcs-51就進入節(jié)電方式。這時提供給cpu的時鐘信號被切斷,但時鐘信號仍提供給ram、定時器、中斷系統(tǒng)和串行口,同時cpu的狀態(tài)被保留起來,也就是棧指針sp、程序計數器pc、程序狀態(tài)字psw、累加器acc及通用寄存器的內容。在節(jié)電方式下, vcc仍為5v,但消耗電流由正常工作方式的24ma降為3.7ma??梢杂袃蓷l途徑退出節(jié)電方式恢復到正常方式。一條途徑是有任一種中斷被激活,此時idl位將被硬件清除,隨之節(jié)電狀態(tài)被結束。中斷返回時將回到進入節(jié)電

29、方式的指令后的一條指令,恢復到正常方式。pcon中的標志位gf0和gf1可以用作軟件標志,若置idl=1的同時也置gf0=gf1=1,則節(jié)電方式中激活的中斷服務程序查詢到此標志便可以確定服務的性質。推出節(jié)電方式的另一種方法是靠硬件復位,復位后pcon中各位均被清零。(2)掉電方式一條將pd位置1的指令執(zhí)行后,80c51就進入掉電工作方式。掉電后,片內振蕩器停止工作,時鐘凍結,一切工作都停止,只有片內ram的內容被保持,sfr內容也被破壞。掉電方式下vcc可以降到2v,耗電僅50a。退出掉電方式恢復正常工作方式的唯一途徑是硬件復位,應在vcc恢復到正常值后再進入復位,復位時間需10ms時間,以保

30、證振蕩器再啟動并達到穩(wěn)定,實際上復位本身只需24個振蕩周期(2-4 us)。但在進入掉電方式前,vcc不能掉下來,因此要有掉電監(jiān)測點路。5. eprom編程和校驗方式對于內部集成有eprom的mcs-51單片機,可以進入編程或校驗方式。(1)內部eprom編程編程時,時鐘頻率應在4mhz-6mhz的范圍內,其余有關引腳的接法和用法如下:1)p1口和p2口的p2.0-p2.3為eprom的4kb的高地址輸入,p1口為低8位地址;2)p2.4-p2.6以及/psen應為低電平;3)p0口為編程數據輸入;4)p2.7和rs應為高電平,rst的高電平可為2.5v,其余的都以ttl的高低電平為準;5)/

31、vpp端加+12.5v的編程脈沖,此電壓要求穩(wěn)定,不能大于12.5v,否則會破壞eprom;在/vpp出現正脈沖期間,ale/prog端上加50ms的負脈沖,完成一次寫入。8751的eprom編程一般要用專門的單片機編程器來完成。(2)eprom程序校驗在程序的保密位尚未設置,無論在寫入的當時或寫入之后,均可將片上程序存儲器的內容讀出進行校驗。在讀出時,除p2.7腳保持為ttl低電平之外,其他引腳與eprom的連接方式相同。要讀出的程序存儲器單元地址由p1口和p2口的p2.0-p2.3送入,p2口的其他引腳及/psen保持低電平,ale、/ea和rst接高電平,校驗的單元內容由p0口送出。在校

32、驗操作時,需在p0口、p1口和p2口的p2.0-p2.3的狀態(tài)隨意。加上編程脈沖后就可使保密位寫入。保密位一旦寫入,內部程序存儲器便不能再被寫入和讀出校驗,而且也不能執(zhí)行外部程序存儲器的程序。只有eprom全部擦除時,保密位才能一起擦除,也才可以再次寫入。2.6 單片機的性能特點單片機把各功能部件集成在一塊芯片上,因此它結構緊湊、超小型化、可靠性高、價格低廉、易于開發(fā)應用。它的的主要特點是:(1)集成度高。在單片機芯片中,除中央處理器 cpu之外,還有存儲器rom/ram,i/o接口電路、定時器/計數器等部件,因此集成度高,在幾至幾十平方毫米的芯片上可制作上萬個晶體管電路。(2)結構緊湊、可靠

33、性高。單片機把各功能部件集成在一塊芯片上,采用內部總線結構,減少了多片機中各芯片之間的連線,大大提高了單片機的抗干擾能力。另外,單片機超小型化、結構緊湊、體積小,對于強磁場環(huán)境易于采取屏蔽措施,因而抗干擾能力強,可靠性高,適合在一些惡劣環(huán)境中工作。(3)數據處理能力強、速度快。單片機除具有一般微處理器的數據處理能力外,在一系列產品(如mcs-51)的指令系統(tǒng)中,增加了乘除法指令及布爾(二進制)處理機功能,提高了數據處理能力。同時,由于中央處理器與存儲器在同一芯片上,因而減少了多片之間數據傳遞所需時間,提高了數據處理速度。例如mcs-51的cpu,采用12mhz時鐘時,單字節(jié)乘除法僅需要6.5u

34、s。(4)功耗小、成本低。單片機結構緊湊,數據傳送路徑短,所需要功耗??;內部采用準靜態(tài)ram類似,但不需要刷新,可使功耗下降。單片機內部電路雖然比相應微處理器芯片復雜,但是一旦設計好后,進入批量生產,成本不會提高。單片機內部設置一定容量的只讀存儲器rom/eprom,用于存儲用戶的專用程序,這些程序稱之為內部程序。內部程序可由廠方在制作芯片時代為燒制,也可由用戶自己寫入,這樣可使單片機成為具有不同特殊功能的專用機,易于形成產品。2.7 單片機的應用領域單片機應用領域可以歸納為以下幾個方面。1智能儀表用單片機系統(tǒng)取代老式的測量、控制儀表,實現從模擬儀表向數字化、智能化儀表的轉化,如各種溫度儀表、

35、壓力儀表、流量儀表、電能計量儀表等。 2. 測控系統(tǒng) 用單片機取代原有的復雜的模擬數字電路,完成各種工業(yè)控制、數據采集系統(tǒng)等工作。 3電能變換 應用單片機設計變頻調速控制電路。 4通信 用單片機開發(fā)通信模塊、通信器材等。 5機電產品 應用單片機檢測、控制傳統(tǒng)的機械產品,使傳統(tǒng)的機械產品結構簡化,控制智能化,提高了機電產品的可靠性,增強了產品的功能 6智能接口在數據傳輸中,用單片機實現外部設備與微機通信。2.8 本章小結 本章介紹了單片機的一些基本硬件結構。單片機是微計算機的一個分支,在原理和結構上,單片機與微型機之間沒有根本性的差別,而且微計算機的許多技術都被單片機繼承下來。單片機的基本結構依

36、然是cpu加上外圍芯片的傳統(tǒng)結構模式,但對各種功能部件的控制是采用特殊功能寄存器的集中控制方式。第3章 電路的硬件設計3.1 復位電路 mcs-51單片機的復位是由外部的復位電路來實現的。復位引腳rst通過一個斯密特觸發(fā)器與復位電路相連,斯密特觸發(fā)器用來抑制噪聲,在每個機器周期的s5p2,斯密特觸發(fā)器的輸出電平由復位電路采樣一次,然后才能得到內部復位操作所需要的信號。復位電路通常采用上電自動復位和按鈕復位兩種方式。 上電復位:上電復位電路是種簡單的復位電路,只要在rst復位引腳接一個電容到vcc,接一個電阻到地就可以了。上電復位是指在給系統(tǒng)上電時,復位電路通過電容加到rst復位引腳一個短暫的高

37、電平信號,這個復位信號隨著vcc對電容的充電過程而回落,所以rst引腳復位的高電平維持時間取決于電容的充電時間。為了保證系統(tǒng)安全可靠的復位,rst引腳的高電平信號必須維持足夠長的時間。 手動復位:手動復位需要人為在復位輸入端加高電平讓系統(tǒng)復位。一般采用的方法是在rst端和正電源vcc之間接一個按鍵,當按下按鍵后,vcc和rst端接通,rst引腳處有高電平,而且按鍵動作一般是數十毫秒、大于兩個機器周期的時間,能夠安全的讓系統(tǒng)復位。本電路采用的是上電復位方式。電路圖如下:上電自動復位是通過外部復位電路的電容充電來實現的。只要vcc的上升時間不超過1ms,就可以實現自動上電復位。除了上電復位外,有時

38、還需要按鍵手動復位。按鍵手動復位有電平方式和脈沖方式兩種。3.2 時鐘電路時鐘是單片機的心臟,單片機各功能部件的運行都是以時鐘頻率為基準,有條不紊的一拍一拍地工作。因此,時鐘頻率直接影響單片機的速度,時鐘電路的質量也直接影響單片機系統(tǒng)的穩(wěn)定性。常用的時鐘電路有兩種方式:一種是內部時鐘方式,另一種為外部時鐘方式。本文用的是內部時鐘方式。電路圖如下:mcs-51單片機內部有一個用于構成振蕩器的高增益反相放大器,該高增益反向放大器的輸入端為芯片引腳xtal1,輸出端為引腳xtal2。這兩個引腳跨接石英晶體振蕩器和微調電容,就構成一個穩(wěn)定的自激振蕩器。3.3 按鍵電路 按鍵是一組常開的按鍵開關,每個按

39、鍵都被賦予一個代碼,稱為鍵碼.按鍵的開關狀態(tài)通過一定的電路轉換為高、低電平狀態(tài)。按鍵閉合過程在相應的i/o端口形成一個負脈沖。閉合和釋放過程都要經過一定的過程才能達到穩(wěn)定,這一過程是處于高、低電平之間的一種不穩(wěn)定狀態(tài),稱為抖動。抖動持續(xù)時間的常長短與開關的機械特性有關,一般在5-10ms之間。為了避免cpu多次處理按鍵的一次閉合,應采用措施消除抖動。本文在軟件中采用了相應的軟件程序來消除抖動。當發(fā)現有鍵按下時,延時10-20ms再查詢是否有鍵按下,若沒有鍵按下,說明上次查詢結果為干擾或抖動;若仍有鍵按下。則說明閉合鍵已穩(wěn)定。 本文采用的是獨立式按鍵,直接用i/o口線構成單個按鍵電路,每個按鍵占

40、用一條i/o口線,每個按鍵的工作狀態(tài)不會產生互相影響。 電路圖如下: p1.0口表示功能移位鍵,按鍵選擇要調整的時十位、時個位、分十位或分個位。 p1.1口表示數字“+“鍵,按一下則對應的數字加1。 p1.2口表示數字“-”鍵,按一下則對應的數字減1。 p1.3口表示時間表的切換,程序默認為日常時間表,當按下該開關,使輸入為低電平時,表示當前執(zhí)行的是考試時間表,并有綠發(fā)光二極管顯示。再按鍵,使鍵抬起,輸入維高電平時,表示當前執(zhí)行的是日常作息時間表,用紅發(fā)光二級管顯示。3.4 相關控制電路3.4.1 加熱電路p1.4口控制繼電器進而控制加熱器的工作。主程序查詢控制加熱的標志位,當該標志位為1,p

41、1.4輸出高電平,控制繼電器閉合,從而合上開關,啟動加熱器進行工作。當加熱一定時間時,標志位置0,p1.4改變狀態(tài),輸出低電平,控制繼電器斷開,從而打開開關,加熱器停止加熱。電路圖如下:3.4.2 控制打鈴電路p1.5口控制繼電器進而控制電鈴工作。當時鐘當前的時間和當前所執(zhí)行的時間表的時間一致時,相應得標志位為1,p1.5口輸出高電平,控制繼電器閉合,從而合上開關,啟動電鈴進行打鈴。打鈴一定時間,標志位置0,p1.5輸出低電平,繼電器打開,電鈴停止工作。電路圖如下:3.4.3 時間表顯示電路因為該電路可以執(zhí)行兩個時間表,即正常作息時間表和考試時間表。為了能夠從外觀上看出當前正在執(zhí)行的是那種時間

42、表,為此,在電路中加上了紅、綠兩個不同的發(fā)光二極管,當紅發(fā)光二極管接通時,表示當前正在執(zhí)行日常作息時間表;當綠發(fā)光二極管接通時則表示當前正在執(zhí)行的是考試時間表。有了紅綠兩發(fā)光二極管表示,就可以明顯看出當前執(zhí)行的是何種時間表,不會混淆。電路圖如下: 3.5 數碼管顯示電路 數碼管顯示器成本低,配置靈活,與單片機接口簡單,在單片機應用系統(tǒng)中廣泛應用。1.數碼管的工作原理數碼管是由8個發(fā)光二極管構成的顯示器件。在數碼管中,若將二極管的陽極連在一起,稱為共陽極數碼管;若將二極管的陰極連在一起,稱為共陰極數碼管。本文用到的6個數碼管均是共陰極的。當發(fā)光二極管導通時,它就會發(fā)光。每個二極管就是一個筆劃,若

43、干個二極管發(fā)光時,就構成了一個顯示字符。將單片機的i/o口控制相應的芯片與數碼管的a-g相連,高電平的位對應的發(fā)光二極管亮,這樣,由i/o口輸出不同的代碼,就可以控制數碼管顯示不同的字符。例如:當i/o口控制芯片輸出的代碼是00111111時,數碼管顯示的字符為0。這樣形成的顯示字符的代碼稱為顯示代碼或段選碼。2.數碼管顯示器與單片機的接口電路 數碼管顯示器有兩種工作方式,即靜態(tài)顯示方式和動態(tài)顯示方式。在靜態(tài)顯示方式下,每位數碼管的a-g和h端與一個8位的i/o相連。要在某一位數碼管上顯示字符時,只要從對應的i/o口輸出并鎖存其顯示代碼即可。其特點是:數碼管中的發(fā)光二極管恒定地導通或截止,直到

44、顯示字符改變?yōu)橹?。動態(tài)顯示方式的每位數碼管都需要一個數據鎖存器,因此,其硬件電路比較復雜。但它的顯示程序法常簡單。選擇動態(tài)顯示方式,可以使耗電量更小。在動態(tài)顯示方式中,各位數碼管的a-h并聯(lián)在一起,與單片機系統(tǒng)的一個i/o口相連,從該i/o口輸出顯示代碼。每只數碼管的共陰極則與另一i/o口相連,控制被點亮的位。動態(tài)顯示方式的特點是:每一時刻只能有1位數碼管被點亮,各位依次輪流被點亮;對于每一位來講,每隔一段時間點亮一次。為了每位數碼管能夠充分被點亮,二極管應持續(xù)發(fā)光一段時間。利用發(fā)光二極管的余輝和人眼的駐留效應,通過適當地調整每位數碼管被點亮的時間間隔,可以觀察到穩(wěn)定的顯示輸出。本文的6個數碼

45、管均采用動態(tài)顯示方式,顯示當前的時間。整個顯示電路應用了2個164芯片,1個244芯片。第一個164芯片把從單片機傳出的串行數據轉換成并行數據。164只能存儲8位數據,因此,當單片機輸出第9-14位數據的時候,第一個164芯片中的8位數據就被傳到第二個164芯片中,這8位數據就是段選信號,控制數碼管將要顯示的字符。第9-14位數據輸出后,控制244芯片的單片機的p1.7口置為高電平,244芯片選通。這六位數據經過244芯片以后是片選信號,即控制動態(tài)顯示的是哪一位數碼管。在片選信號和段選信號的控制下,數碼管就正確的動態(tài)顯示當前的時間。由于選用的是7段譯碼器,因此沒有用到數碼管的h段,不能在數碼管

46、中顯示小數點。在時、分、秒的間隔處用了兩個紅發(fā)光二極管表示小數點。3.6 電源電路設計電源電路包括變壓器、橋式整流器、電容和穩(wěn)壓器。通過變壓器變壓,使得220v電壓變?yōu)? v,在通過橋式整流,電容的濾波作用,穩(wěn)壓器的穩(wěn)壓作用,可輸出6v的穩(wěn)定電壓。由于單片機的工作電壓是5v,二極管上的電壓降一般為0.7v。因此,在電源的輸出端,再串聯(lián)一個二極管降壓,就可得到所需的5v電壓。3.7 本章小結本章介紹的是本設計的硬件結構,單片機的相關i/o口輸入輸出就可以實現相應的控制功能。還介紹了單片機的復位電路和時鐘電路。 第4章 電路的軟件設計4.1 軟件程序內容本設計的軟件程序包括主程序、中斷子程序、打鈴

47、子程序、加熱子程序、時鐘顯示子程序、查詢時間表切換程序和延時子程序等等。另外由于電路中有四個按鍵,還另外設計了防抖動程序來防止干擾。4.2 軟件流程圖軟件程序整個流程圖如下:查詢“-”鍵時十位減1查詢功能移位鍵2次開始初始化時鐘運行查詢功能移位鍵1次切換到時十位查詢“+”鍵查詢是否按時間表切換鍵切換時間表時十位加1 是否是 否 是 否 是 否 否是查詢“+”鍵切換到分十位分十位加1查詢“-”鍵分十位減1切換到時個位查詢“+”鍵查詢“-”鍵時個位加1時個位減1查詢功能移位鍵3次 是 否 是 否 否 是 是 否 是 否查詢是否加熱調用加熱子程序當前時間與時間表時間是否匹配調用打鈴子程序查詢功能移位

48、健4次查詢“+”鍵分個位加1查詢“-”鍵分個位減1查詢功能移位鍵 否 是 是 否 是 否 是 否 是 否 是 否4.3 定時程序設計 在工業(yè)檢測、控制中,許多場合都要用到計數或定時功能。例如,對外部脈沖進行計數、產生精確的定時時間等。mcs-51單片機內有兩個可編程的定時器/計數器t1、t0,已滿足這方面的需要。兩個定時器/計數器都具有定時器和計數器兩種工作模式。單片機的定時功能也是通過計數器的計數來實現的,此時的計數脈沖來自單片機的內部,即每個機器周期產生一個計數脈沖,也就是每經過1個機器周期的時間,計數器加1。如果mcs-51采用的12mhz晶體,則計數頻率為1mhz,即每過1us的時間計

49、數器加1。這樣可以根據計數值計算出定時時間,也可以根據定時時間的要求計算出計數器的初值。mcs-51單片機的定時器/計數器具有4種工作方式(方式0、方式1、方式2和方式3),其控制字均在相應的特殊功能寄存器中,通過對特殊功能寄存器的編程,可以方便的選擇定時器/計數器兩種工作模式和4種工作方式。定時器/計數器工作在方式0時,為13位的計數器,由tlx(x=0、1)的低5位和thx的高8位所構成。tlx低5位溢出則向thx進位,thx計數溢出則置位tcon中的溢出標志位tfx.當定時器/計數器工作于方式1,為16位的計數器。本設計師單片機多功能定時器,所以mcs-51內部的定時器/計數器被選定為定

50、時器工作模式,計數輸入信號是內部時鐘脈沖,每個機器周期產生一個脈沖使計數器增1。4.3.1實時時鐘實現的基本方法時鐘的最小計時單位是秒,但使用定時器的方式1,最大的定時時間也只能達到131ms。我們可把定時器的定時時間定為50ms。這樣,計數溢出20次即可得到時鐘的最小計時單位:秒。而計數20次可以用軟件實現。(1)計數初值得計算:由于使用定時器的方式1,進行50ms定時。單片機的晶振頻率是12mhz,為得到50ms的定時,設計數初值為x,則:(216- x)*1*10-6=5*10-2因而:x=15536=0011110010110000b=3cb0h(2)秒、分、時計時的實現秒計時是采用中斷方式進行溢出次數的累積,計滿20次,即得到秒計時。從秒到分,從分到時是通過軟件累加并進行比較的方法來實現的。要求每滿1秒,則“秒”單元中的內容加1;“秒”單元滿60,則“分”單元中的內容加1;“分”單元滿60,則“時”單元中的內容加1;“時”單元滿24,則將時、分、秒的內容全部清零。4.3.2 實時時鐘程序設計步驟(1)選擇工作方式,計算初值;(2)采用中斷方式進行溢出次數累計;(3)從秒分時的計時是通過累加和數值比較實現的;(4)時鐘顯示緩沖區(qū):時鐘時間在方位數碼管上進行顯示,為此在內部ram中要

溫馨提示

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

評論

0/150

提交評論