




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 畢業(yè)設(shè)計(論文) 題 目 單片機(jī)多功能定時系統(tǒng)的設(shè)計與實(shí)現(xiàn) 學(xué) 院 信息科學(xué)與工程學(xué)院 年級專業(yè) 02級通信1班 學(xué)生姓名 楊甲沛 指導(dǎo)教師 王振裕 專業(yè)負(fù)責(zé)人 答辯日期 燕 山 大 學(xué)計算機(jī)畢業(yè)設(shè)計購買 www.lunwendz.com 工科畢業(yè)設(shè)計代做:www.lunwen168.net 開題:www.ktjia.com目 錄第1章 緒 論11.1 課題背景11.2 課題來源21.3 本章小結(jié)2第2章 mcs-51單片機(jī)的結(jié)構(gòu)32.1 控制器32.1.1 程序計數(shù)器pc(program counter)32.1.2 指令寄存器ir、指令譯碼器及控制邏輯電路42.2 存儲器的結(jié)構(gòu)42.3
2、并行i/o口62.4 時鐘電路與時序72.5 單片機(jī)的工作方式72.6 單片機(jī)的性能特點(diǎn)102.7 單片機(jī)的應(yīng)用領(lǐng)域102.8 本章小結(jié)11第3章 電路的硬件設(shè)計123.1 復(fù)位電路123.2 時鐘電路133.3 按鍵電路133.4 相關(guān)控制電路143.4.1 加熱電路143.4.2 控制打鈴電路153.4.3 時間表顯示電路163.5 數(shù)碼管顯示電路163.6 電源電路設(shè)計173.7 本章小結(jié)17第4章 電路的軟件設(shè)計184.1 軟件程序內(nèi)容184.2 軟件流程圖184.3 定時程序設(shè)計224.3.1實(shí)時時鐘實(shí)現(xiàn)的基本方法224.3.2 實(shí)時時鐘程序設(shè)計步驟234.4 mcs-51的中斷23
3、4.5 程序說明264.6 本章小結(jié)27第5章 電路仿真285.1 仿真結(jié)果285.2 仿真中出現(xiàn)的問題及解決辦法285.3 本章小結(jié)28第6章 結(jié)論與展望296.1 結(jié)論296.2 單片機(jī)的發(fā)展趨勢29參考文獻(xiàn)31附 錄32致 謝41第1章 緒 論1.1 課題背景單片機(jī)自1976年由intel公司推出mcs-48開始,迄今已有二十多年了。由于單片機(jī)集成度高、功能強(qiáng)、可靠性高、體積小、功耗地、使用方便、價格低廉等一系列優(yōu)點(diǎn),目前已經(jīng)滲入到人們工作和生活的方方面面,幾乎“無處不在,無所不為”。單片機(jī)的應(yīng)用領(lǐng)域已從面向工業(yè)控制、通訊、交通、智能儀表等迅速發(fā)展到家用消費(fèi)產(chǎn)品、辦公自動化、汽車電子、p
4、c機(jī)外圍以及網(wǎng)絡(luò)通訊等廣大領(lǐng)域。按照內(nèi)部數(shù)據(jù)通道的寬度,單片機(jī)可分為4位、8位、16位及32位等。單片機(jī)的中央處理器(cpu)和通用微處理器基本相同,只是增設(shè)了“面向控制”的處理功能。例如:位處理、查表、多種地址訪問方式、多種跳轉(zhuǎn)、乘除法運(yùn)算、狀態(tài)監(jiān)測、中斷處理等,增強(qiáng)了實(shí)時性。單片機(jī)有兩種基本結(jié)構(gòu)形式:一種是在通用微型計算機(jī)中廣泛采用的,將程序存儲器和數(shù)據(jù)存儲器合用一個存儲器空間的結(jié)構(gòu),稱為普林斯頓(princeton)結(jié)構(gòu)。另一種是將程序存儲器和數(shù)據(jù)存儲器截然分開,分別尋址的結(jié)構(gòu),一般需要較大的程序存儲器,目前的單片機(jī)以采用程序存儲器和數(shù)據(jù)存儲器截然分開的結(jié)構(gòu)為多。單片微型計算機(jī)自從問世以
5、來,作為微型計算機(jī)一個很重要的分支,應(yīng)用廣泛,發(fā)展迅速,尤其是美國intel公司生產(chǎn)的mcs-51系列單片機(jī),由于其具有集成度高,處理功能強(qiáng),可靠性高,系統(tǒng)結(jié)構(gòu)簡單,價格低廉等優(yōu)點(diǎn),在智能儀器儀表、工業(yè)檢測控制、機(jī)電一體化等方面取得了令人矚目的成就。本文討論的單片機(jī)多功能定時器的核心是目前應(yīng)用極為廣泛的51系列單片機(jī),配置了外圍設(shè)備,構(gòu)成了一個可編程的計時定時系統(tǒng),具有體積小,可靠性高,功能強(qiáng)等特點(diǎn)。不僅能滿足所需要求而且還有很多功能可供開發(fā),有著廣泛的應(yīng)用領(lǐng)域。20世紀(jì)80年代中期以后,intel公司以專利轉(zhuǎn)讓的形式把8051內(nèi)核技術(shù)轉(zhuǎn)讓給許多半導(dǎo)體芯片生產(chǎn)廠家,如atmel、philips
6、、analog、devices、dallas等。這些廠家生產(chǎn)的芯片是mcs-51系列的兼容產(chǎn)品,準(zhǔn)確地說是與mcs-51指令系統(tǒng)兼容的單片機(jī)。這些兼容機(jī)與8051的系統(tǒng)結(jié)構(gòu)(主要是指令系統(tǒng))相同,采用cmos工藝,因而,常用80c51系列來稱呼所有具有8051指令系統(tǒng)的單片機(jī),它們對8051單片機(jī)一般都作了一些擴(kuò)充,更有特點(diǎn)。其功能和市場競爭力更強(qiáng),不該把它們直接稱呼為mcs-51系列單片機(jī),因為mcs只是intel公司專用的單片機(jī)系列型號。mcs-51系列及80c51單片機(jī)有多種品種。它們的引腳及指令系統(tǒng)相互兼容,主要在內(nèi)部結(jié)構(gòu)上有些區(qū)別。目前使用的mcs-51系列單片機(jī)及其兼容產(chǎn)品通常分成
7、以下幾類:基本型、增強(qiáng)型、低功耗型、專用型、超8位型、片內(nèi)閃爍存儲器型。1.2 課題來源在日常生活和工作中,我們常常用到定時控制,如擴(kuò)印過程中的曝光定時等。早期常用的一些時間控制單元都使用模擬電路設(shè)計制作的,其定時準(zhǔn)確性和重復(fù)精度都不是很理想,現(xiàn)在基本上都是基于數(shù)字技術(shù)的新一代產(chǎn)品,這種產(chǎn)品功能強(qiáng),是前者的換代之物。隨著單片機(jī)性能價格比的不斷提高,新一代產(chǎn)品的應(yīng)用也越來越廣泛,大可構(gòu)成復(fù)雜的工業(yè)過程控制系統(tǒng),完成復(fù)雜的控制功能。小則可以用于家電控制,甚至可以用于兒童電子玩具。它功能強(qiáng)大,體積小,質(zhì)量輕,靈活好用,配以適當(dāng)?shù)慕涌谛酒梢詷?gòu)造各種各樣、功能各異的微電子產(chǎn)品。隨著電子技術(shù)的飛速發(fā)展
8、,家用電器和辦公電子設(shè)備逐漸增多,不同的設(shè)備都有自己的控制器,使用起來很不方便。根據(jù)這種實(shí)際情況,設(shè)計了一個單片機(jī)多功能定時系統(tǒng),它可以避免多種控制器的混淆,利用一個控制器對多路電器進(jìn)行控制,同時又可以進(jìn)行時鐘校準(zhǔn)和定點(diǎn)打鈴。它可以執(zhí)行不同的時間表(考試時間和日常作息時間)的打鈴,可以任意設(shè)置時間,可以控制加熱器定時工作。這種具有人們所需要的智能化特性的產(chǎn)品減輕了人的勞動,擴(kuò)大了數(shù)字化的范圍,為家庭數(shù)字化提供了可能。本文介紹的單片機(jī)多功能定時系統(tǒng),功能較多,操作簡單,開機(jī)后,系統(tǒng)按默認(rèn)值開始走時,按時間表切換鍵可以隨意選擇當(dāng)前要執(zhí)行的時間表是日常作息時間表還是考試時間表。可以按鍵校時,按功能移
9、位鍵一次,表示要校小時的十位上的數(shù)字;再按功能移位鍵,表示要校小時的個位上的數(shù)字;按第三次,則當(dāng)前校的是分十位;按第四次,表示當(dāng)前校對分個位上的數(shù)字。當(dāng)時鐘與時間表里存儲的時間一致時,相應(yīng)的i/o口控制電鈴開始工作;到一定的時間,另外的i/o口控制加熱器工作。本設(shè)計是針對教學(xué)的多功能定時器,定時精確,功能較多,可以完美的完成學(xué)校教學(xué)時間的控制。在本設(shè)計上按照個人的意圖稍加擴(kuò)展,就可以實(shí)現(xiàn)更多更強(qiáng)大的功能。1.3 本章小結(jié) 本文介紹的設(shè)計是針對教學(xué)所用的多功能定時器,可以完成教學(xué)所需的各種功能。該定時器操作簡單,功能齊全,是單片機(jī)智能化的一種應(yīng)用。第2章 mcs-51單片機(jī)的結(jié)構(gòu)mcs-51單片
10、機(jī)是把那些作為控制應(yīng)用所必需的基本內(nèi)容都集成在一個尺寸有限的集成電路芯片上。如果按功能劃分,它由如下功能部件組成,即微處理器(cpu)、數(shù)據(jù)存儲器(ram)、程序存儲器(rom/eprom)、并行i/o口、串行口、定時器/計數(shù)器、中斷系統(tǒng)及特殊功能寄存器(sfr)。它們都是通過片內(nèi)單一總線連接而成,其基本結(jié)構(gòu)依舊是cpu加上外圍芯片的傳統(tǒng)結(jié)構(gòu)模式。但對各種功能部件的控制是采用特殊功能寄存器(sfr)的集中控制方式。2.1 控制器控制器是單片機(jī)的指揮控制部件,控制器的主要任務(wù)是識別指令,并根據(jù)指令的性質(zhì)控制單片機(jī)各功能部件,從而保證單片機(jī)各部分能自動而協(xié)調(diào)地工作。單片機(jī)執(zhí)行指令是在控制器的控制下
11、進(jìn)行的。首先從程序存儲器中讀出指令,送指令寄存器保存,然后送至指令譯碼器進(jìn)行譯碼,譯碼結(jié)果送定時控制邏輯電路,由定時控制邏輯產(chǎn)生各種定時信號和控制信號,再送到單片機(jī)的各個部件去進(jìn)行相應(yīng)的操作。這就是執(zhí)行一條指令的全過程,執(zhí)行程序就是不斷重復(fù)這一過程??刂破髦饕ǔ绦蛴嫈?shù)器、程序地址寄存器、指令寄存器ir、指令譯碼器、條件轉(zhuǎn)移邏輯電路及時序控制邏輯電路。2.1.1 程序計數(shù)器pc(program counter)程序計數(shù)器pc是控制部件中最基本的寄存器,是一個獨(dú)立的計數(shù)器,存放著下一條將要從程序存儲器中取出的指令的地址。其基本的工作過程是:讀指令時,程序計數(shù)器將其中的數(shù)作為所取指令的地址輸出給
12、程序存儲器,然后程序存儲器按此地址輸出指令字節(jié),同時程序計數(shù)器本身自動加1,讀完本指令,pc指向下一條指令在程序存儲器中的地址。程序計數(shù)器pc中內(nèi)容的變化決定程序的流程。程序計數(shù)器的寬度決定了單片機(jī)對程序存儲器可以直接尋址的范圍。在mcs-51單片機(jī)中,程序計數(shù)器pc是一個16位的計數(shù)器,故可對64kb(216=65536=64k)的程序存儲器進(jìn)行尋址。程序計數(shù)器的基本工作方式有以下幾種:(1) 程序計數(shù)器自動加1,這是最基本的工作方式,這也是為何該寄存器被稱為計數(shù)器的原因。(2) 執(zhí)行有條件或無條件轉(zhuǎn)移指令時,程序計數(shù)器將被置入新的數(shù)值,從而使程序的流向發(fā)生變化。(3) 在執(zhí)行調(diào)用子程序指令
13、或響應(yīng)中斷時,單片機(jī)自動完成如下的操作: 1. pc的現(xiàn)行值,即下一條將要執(zhí)行的指令的地址,即斷點(diǎn)值,自動送入堆棧。2. 將子程序的入口地址或中斷向量的地址送入pc,程序流向發(fā)生變化,執(zhí)行子程序或中斷子程序。子程序或中斷子程序執(zhí)行完畢,遇到返回指令ret或reti時,、將棧頂?shù)臄帱c(diǎn)值彈到程序計數(shù)器pc中,程序的流程又返回到原來的地方,繼續(xù)執(zhí)行。2.1.2 指令寄存器ir、指令譯碼器及控制邏輯電路 指令寄存器ir是用來存放指令操作碼的專用寄存器。執(zhí)行程序時,首先進(jìn)行程序存儲器的讀指令操作,也就是根據(jù)pc給出的地址從程序存儲器中取出指令,并送指令寄存器ir,ir的輸出送指令譯碼器;然后由指令譯碼器
14、對該指令進(jìn)行譯碼,譯碼結(jié)果送定時控制邏輯電路。定時控制邏輯電路根據(jù)指令的性質(zhì)發(fā)出一系列的定時控制信號,控制單片機(jī)的各組成部件進(jìn)行相應(yīng)的工作,執(zhí)行指令。條件轉(zhuǎn)移邏輯電路主要用來控制程序的分支轉(zhuǎn)移。綜上所述,單片機(jī)整個程序的執(zhí)行過程就是在控制部件的控制下,將指令從程序存儲器中逐條去處,進(jìn)行譯碼,然后由定時控制電路發(fā)出各種定時控制信號,控制指令的執(zhí)行。對于運(yùn)算指令,還要將運(yùn)算的結(jié)果特征送入程序狀態(tài)寄存器psw。以主振頻率為基準(zhǔn)(每個主振周期為振蕩周期),控制器控制cpu的時序,對指令進(jìn)行譯碼,然后發(fā)出各種控制信號,它將各個硬件環(huán)節(jié)的動作組織在一起.2.2 存儲器的結(jié)構(gòu)mcs-51單片機(jī)存儲器采用的是
15、哈佛(har-vard)結(jié)構(gòu),即程序存儲器空間和數(shù)據(jù)存儲器空間截然分開,程序存儲器和數(shù)據(jù)存儲器各有自己的尋址方式,尋址空間和控制系統(tǒng).這種結(jié)構(gòu)對于單片機(jī)”面向控制”的實(shí)際應(yīng)用極為方便,有利.在8051/8751彈片擊中,不僅在片內(nèi)集成了一定容量的程序存儲器和數(shù)據(jù)存儲器及眾多的特殊功能寄存器,而且還具有極強(qiáng)的外存儲器的擴(kuò)展能力,尋址能力分別可達(dá)64kb,尋址和操作簡單方便.mcs-51的存儲器空間可劃分為如如下幾類:1. 程序存儲器單片機(jī)系統(tǒng)之所以能夠按照一定的次序進(jìn)行工作,主要是程序存儲器中存放了經(jīng)調(diào)試正確的應(yīng)用程序和表格之類的固定常數(shù).程序?qū)嶋H上是一串二進(jìn)制碼,程序存儲器可以分為片內(nèi)和片外兩
16、部分.8031由于無內(nèi)部存儲器,所以只能外擴(kuò)程序存儲器來存放程序.mcs-51單片機(jī)復(fù)位后,程序存儲器pc的內(nèi)容為0000h,故系統(tǒng)必須從0000h單元開始取指令,執(zhí)行程序.程序存儲器中的0000h地址是系統(tǒng)程序的啟動地址.一般在該單元存放一條絕對跳轉(zhuǎn)指令,跳向用戶設(shè)計的主程序的起始地址.64k程序存儲器中有5個單元具有特殊用途.5個特殊單元分別對應(yīng)于5種中斷源的中斷服務(wù)程序的入口地址.通常在這些中斷入口地址處都放一條絕對跳轉(zhuǎn)指令.加跳轉(zhuǎn)指令的目的是由于兩個中斷入口間隔僅有8個單元,存放中斷服務(wù)程序往往是不夠用的.在mcs-51單片機(jī)的指令系統(tǒng)中,同外部程序存儲器打交道的指令僅有兩條:(1)
17、movc a a+dptr(2) movc a a+pc2. 內(nèi)部數(shù)據(jù)存儲器mcs-51單片機(jī)內(nèi)部有128個字節(jié)的隨機(jī)存取存儲器ram,作為用戶的數(shù)據(jù)寄存器,它能滿足大多數(shù)控制型應(yīng)用場合的需要,用作處理問題的數(shù)據(jù)緩沖器.mcs-51單片機(jī)的片內(nèi)存儲器的字節(jié)地址為00h-7fh.mcs-51單片機(jī)對其內(nèi)部ram的存儲器有很豐富的操作指令,從而使得用戶在設(shè)計程序時非常方便.地址為00h-1fh的32個單元是4組通用工作寄存器區(qū),每個區(qū)含8個8位寄存器,編號為r7-r0.用戶可以通過指令改變psw中的rs1,rs0這二位來切換當(dāng)前的工作寄存器區(qū),這種功能給軟件設(shè)計帶來極大的方便,特別是在中斷嵌套時,
18、為實(shí)現(xiàn)工作寄存器現(xiàn)場內(nèi)容保護(hù)提供了極大的方便.地址為20h-2fh的16個單元可進(jìn)行共128位的位尋址,這些單元構(gòu)成了1位處理機(jī)的存儲空間.單元中的每一位都有自己的位地址,這16個單元也可以進(jìn)行字節(jié)尋址.地址為30h-7fh的單元為用戶ram區(qū),只能進(jìn)行字節(jié)尋址.3. 特殊功能寄存器(sfr-special function register)特殊功能寄存器反映了mcs-51單片機(jī)的狀態(tài),實(shí)際上是mcs-51單片機(jī)各功能部件的狀態(tài)及控制寄存器.sfr綜合的,實(shí)際的反應(yīng)了整個單片機(jī)基本系統(tǒng)內(nèi)部的工作狀態(tài)及工作方式.sfr實(shí)質(zhì)上是一些具有特殊功能的片內(nèi)ram單元,字節(jié)地址范圍為80h-ffh.特殊
19、功能寄存器的總數(shù)為21個,離散的分布在該區(qū)域中,其中有些sfr還可以進(jìn)行位尋址.128個字節(jié)的sfr塊中僅有21個字節(jié)是由定義的.對于尚未定義的字節(jié)地址單元,用戶不能作寄存器使用,若訪問沒有定義的單元,則將得到一個不確定的隨機(jī)數(shù).4. 位尋址空間mcs-51單片機(jī)的一個很大優(yōu)點(diǎn)在于它具有一個功能很強(qiáng)的位處理器.在mcs-51單片機(jī)的指令系統(tǒng)中,有一個位處理指令的子集,使用這些指令,所處理的數(shù)據(jù)僅為一位二進(jìn)制數(shù)(0或1).在mcs-51單片機(jī)內(nèi)共有211個可尋址位,它們存在于內(nèi)部ram(共有128個)和特殊功能寄存器區(qū)(共有83個)中.5. 當(dāng)mcs-51單片機(jī)的片內(nèi)ram不夠用時,可在片外擴(kuò)充
20、數(shù)據(jù)存儲器.mcs-51單片機(jī)給用戶提供了可尋址64k字節(jié)的外擴(kuò)ram的能力,至于擴(kuò)多少ram,則根據(jù)用戶實(shí)際需要來定.2.3 并行i/o口mcs-51單片機(jī)共有4個雙向的8位并行i/o端口(port),分別記作p0-p3,共有32根口線,各口的每一位均由鎖存器、輸出驅(qū)動器和輸入緩沖器所組成。實(shí)際上p0-p3已被歸入特殊功能寄存器之列。這四個口除了按字節(jié)尋址以外,還可以按位尋址。由于它們在結(jié)構(gòu)上有一些差異,故各口的性質(zhì)和功能有一些差異。p0口是雙向8位三態(tài)i/o口,此口為地址總線(低8位)及數(shù)據(jù)總線分時復(fù)用口,可驅(qū)動8個ls型ttl負(fù)載。p1口是8位準(zhǔn)雙向i/o口,可驅(qū)動4個ls 型負(fù)載。p2
21、口是8位準(zhǔn)雙向i/o口,與地址總線(高8位)復(fù)用,可驅(qū)動4個ls型ttl負(fù)載。p3口是8位準(zhǔn)雙向i/o口,是雙功能復(fù)用口,可驅(qū)動4個ls型ttl負(fù)載。p1口、p2口、p3口各i/o口線片內(nèi)均有固定的上拉電阻,當(dāng)這3個準(zhǔn)雙向i/o口做輸入口使用時,要向該口先寫“1”,另外準(zhǔn)雙向i/o口無高阻的“浮空”狀態(tài),故稱為雙向三態(tài)i/o 口。p0-p3口都是并行i/o口,都可用于數(shù)據(jù)的輸入和輸出,但p0口和p2口出了可進(jìn)行數(shù)據(jù)的輸入/輸出外,通常用來構(gòu)建系統(tǒng)的數(shù)據(jù)總線和地址總線,所以在電路中有一個多路轉(zhuǎn)換開關(guān)mux,以便進(jìn)行兩種用途的轉(zhuǎn)換。而p1口和p3口沒有構(gòu)建系統(tǒng)的數(shù)據(jù)總線和地址總線的功能。因此,在電
22、路中沒有多路轉(zhuǎn)接開關(guān)mux.由于p0口可作為地址/數(shù)據(jù)復(fù)用線試用,需傳送系統(tǒng)的低8位地址和8位數(shù)據(jù),因此,mux的一個輸入端為”地址/數(shù)據(jù)”信號.而p2口僅作為高位地址線試用,不涉及數(shù)據(jù),所以mux的一個輸入信號為”地址”在4個口中只有p0口是一個真正的雙向口,p1-p3這三個口都是準(zhǔn)雙向口.原因是在應(yīng)用系統(tǒng)中,p0口作為系統(tǒng)的數(shù)據(jù)總線使用時,為保證數(shù)據(jù)的正確傳頌,需要解決芯片內(nèi)外的隔離問題,即只有在數(shù)據(jù)傳送時芯片內(nèi)外才接通;不進(jìn)行數(shù)據(jù)傳遞時,芯片內(nèi)外處于隔離狀態(tài).為此,要求p0口的輸出緩沖器是一個三態(tài)門.在p0口中輸出三態(tài)門是由兩只場效應(yīng)管(fet)組成,所以說它是一個真正的雙向口.而其他的
23、三個口中,上拉電阻代替p0口中的場效應(yīng)管,輸出緩沖器不是三態(tài)的,因此不是真正的雙向口,只能稱其為準(zhǔn)雙向口.p3口的口線具有第二功能.為系統(tǒng)提供一些控制信號.因此在p3口電路增加了第二功能控制邏輯.這是p3口與其他各口的不同之處.2.4 時鐘電路與時序時鐘電路用于產(chǎn)生mcs-51單片機(jī)工作時所必需的時鐘信號。mcs-51單片機(jī)本身就是一個復(fù)雜的同步時序電路,為保證同步工作方式的實(shí)現(xiàn),mcs-51單片機(jī)應(yīng)在唯一的時鐘信號控制下,嚴(yán)格地按時序執(zhí)行進(jìn)行工作,而時序所研究的是指令執(zhí)行中各個信號的關(guān)系。在執(zhí)行指令時,cpu首先要到程序存儲器中取出需要執(zhí)行的指令操作碼,然后譯碼,并由時序電路產(chǎn)生一系列控制信
24、號去完成指令所規(guī)定的操作。cpu發(fā)出的時序信號有兩類,一類用于片內(nèi)對各個功能部件的控制,這列信號很多。另一類用于片外存儲器或i/o端口的控制,這部分時序?qū)τ诜治?、設(shè)計硬件接口電路至關(guān)重要。這也是單片機(jī)應(yīng)用系統(tǒng)設(shè)計者普遍關(guān)心的問題。2.5 單片機(jī)的工作方式單片機(jī)的工作方式包括:復(fù)位方式、程序執(zhí)行方式、單步執(zhí)行方式、低功耗操作方式以及eprom編程和校驗方式。1. 復(fù)位方式rst引腳師復(fù)位信號的輸入端。復(fù)位信號是高電平有效。高電平有效的持續(xù)時間應(yīng)為24個振蕩周期以上。若時鐘頻率為6mhz,則復(fù)位信號至少應(yīng)持續(xù)4us以上,才可以使單片機(jī)復(fù)位。復(fù)位以后,07h寫入棧指針sp,p0-p3口均置1(允許輸
25、入),程序計數(shù)器pc和其他特殊功能寄存器sfr全部清零。只要該腳保持高電平,mcs-51便循環(huán)復(fù)位。當(dāng)rst端由高變低后,mcs-51由rom的0000h開始執(zhí)行程序。mcs-51的復(fù)位操作不影響內(nèi)部ram的內(nèi)容。當(dāng)vcc加電后,ram的內(nèi)容是隨機(jī)的。單片機(jī)的復(fù)位方式有上電自動復(fù)位和手工復(fù)位兩種。2. 程序執(zhí)行方式程序執(zhí)行方式是單片機(jī)的基本工作方式。所執(zhí)行的程序可以在內(nèi)部rom、外部rom或者同時放在內(nèi)外rom中。若程序放在外部rom中(如對8031),則應(yīng)使=0,否則,可使=1。由于復(fù)位之后pc=0000h,所以程序的執(zhí)行總是從地址0000h開始的。但真正的程序一般不可能從0000h開始存放
26、,因此,需要在0000h單元開始存放一條轉(zhuǎn)移指令,從而使程序跳轉(zhuǎn)到真正的程序入口地址。3. 單步執(zhí)行方式單步執(zhí)行方式是使程序的執(zhí)行處于外加脈沖(通常用一個按鍵產(chǎn)生)的控制下,一條指令一條指令地執(zhí)行,即按一次鍵,執(zhí)行一條指令。單步執(zhí)行方式可以利用mcs-51的中斷控制來實(shí)現(xiàn)。其中斷系統(tǒng)規(guī)定:從中斷服務(wù)程序返回以后至少要執(zhí)行一條指令后才能重新進(jìn)入中斷。將外加脈沖加到輸入,平時為低電平。通過編程規(guī)定使信號低電平有效,因此不來脈沖時總是處于響應(yīng)中斷的狀態(tài)。在中斷服務(wù)中要安排這樣的指令:jnb p3.2 $ ;不往下執(zhí)行jb p3.2 $ ;不往下執(zhí)行reti ;返回主程序執(zhí)行一條指令因此,只有/int
27、0上來一個正脈沖,才能通過第一、第二兩條指令,返回主程序并執(zhí)行一條指令,由于此時已回到0,故重新進(jìn)入中斷,在第一條指令處等待正脈沖的到來。從而實(shí)現(xiàn)來一個脈沖執(zhí)行一條指令的單步操作。4. 低功耗操作方式cmos型單片機(jī)有兩種低功耗操作方式:節(jié)電操作方式和掉電操作方式。在節(jié)電方式時,cpu停止工作,而ram、定時器、串行口和中斷系統(tǒng)繼續(xù)工作。在掉電方式時,僅給片內(nèi)ram供電,片內(nèi)所有其他的電路均不工作。cmos型單片機(jī)用軟件來選擇操作方式,由電源控制寄存器pcon中的有關(guān)位控制。這些有關(guān)的位是:idl(pcon.0) ;節(jié)電方式位。idl=1時,激活節(jié)電方式pd(pcon.1) ;掉電方式位。pd
28、=1時,激活掉電方式gf0(pcon.2) ;通用標(biāo)志位gf1(pcon.3) ;通用標(biāo)志位(1)節(jié)電方式一條將idl位置1的指令執(zhí)行后,mcs-51就進(jìn)入節(jié)電方式。這時提供給cpu的時鐘信號被切斷,但時鐘信號仍提供給ram、定時器、中斷系統(tǒng)和串行口,同時cpu的狀態(tài)被保留起來,也就是棧指針sp、程序計數(shù)器pc、程序狀態(tài)字psw、累加器acc及通用寄存器的內(nèi)容。在節(jié)電方式下, vcc仍為5v,但消耗電流由正常工作方式的24ma降為3.7ma。可以有兩條途徑退出節(jié)電方式恢復(fù)到正常方式。一條途徑是有任一種中斷被激活,此時idl位將被硬件清除,隨之節(jié)電狀態(tài)被結(jié)束。中斷返回時將回到進(jìn)入節(jié)電方式的指令后
29、的一條指令,恢復(fù)到正常方式。pcon中的標(biāo)志位gf0和gf1可以用作軟件標(biāo)志,若置idl=1的同時也置gf0=gf1=1,則節(jié)電方式中激活的中斷服務(wù)程序查詢到此標(biāo)志便可以確定服務(wù)的性質(zhì)。推出節(jié)電方式的另一種方法是靠硬件復(fù)位,復(fù)位后pcon中各位均被清零。(2)掉電方式一條將pd位置1的指令執(zhí)行后,80c51就進(jìn)入掉電工作方式。掉電后,片內(nèi)振蕩器停止工作,時鐘凍結(jié),一切工作都停止,只有片內(nèi)ram的內(nèi)容被保持,sfr內(nèi)容也被破壞。掉電方式下vcc可以降到2v,耗電僅50a。退出掉電方式恢復(fù)正常工作方式的唯一途徑是硬件復(fù)位,應(yīng)在vcc恢復(fù)到正常值后再進(jìn)入復(fù)位,復(fù)位時間需10ms時間,以保證振蕩器再啟
30、動并達(dá)到穩(wěn)定,實(shí)際上復(fù)位本身只需24個振蕩周期(2-4 us)。但在進(jìn)入掉電方式前,vcc不能掉下來,因此要有掉電監(jiān)測點(diǎn)路。5. eprom編程和校驗方式對于內(nèi)部集成有eprom的mcs-51單片機(jī),可以進(jìn)入編程或校驗方式。(1)內(nèi)部eprom編程編程時,時鐘頻率應(yīng)在4mhz-6mhz的范圍內(nèi),其余有關(guān)引腳的接法和用法如下:1)p1口和p2口的p2.0-p2.3為eprom的4kb的高地址輸入,p1口為低8位地址;2)p2.4-p2.6以及/psen應(yīng)為低電平;3)p0口為編程數(shù)據(jù)輸入;4)p2.7和rs應(yīng)為高電平,rst的高電平可為2.5v,其余的都以ttl的高低電平為準(zhǔn);5)/vpp端加+
31、12.5v的編程脈沖,此電壓要求穩(wěn)定,不能大于12.5v,否則會破壞eprom;在/vpp出現(xiàn)正脈沖期間,ale/prog端上加50ms的負(fù)脈沖,完成一次寫入。8751的eprom編程一般要用專門的單片機(jī)編程器來完成。(2)eprom程序校驗在程序的保密位尚未設(shè)置,無論在寫入的當(dāng)時或?qū)懭胫螅蓪⑵铣绦虼鎯ζ鞯膬?nèi)容讀出進(jìn)行校驗。在讀出時,除p2.7腳保持為ttl低電平之外,其他引腳與eprom的連接方式相同。要讀出的程序存儲器單元地址由p1口和p2口的p2.0-p2.3送入,p2口的其他引腳及/psen保持低電平,ale、/ea和rst接高電平,校驗的單元內(nèi)容由p0口送出。在校驗操作時,需
32、在p0口、p1口和p2口的p2.0-p2.3的狀態(tài)隨意。加上編程脈沖后就可使保密位寫入。保密位一旦寫入,內(nèi)部程序存儲器便不能再被寫入和讀出校驗,而且也不能執(zhí)行外部程序存儲器的程序。只有eprom全部擦除時,保密位才能一起擦除,也才可以再次寫入。2.6 單片機(jī)的性能特點(diǎn)單片機(jī)把各功能部件集成在一塊芯片上,因此它結(jié)構(gòu)緊湊、超小型化、可靠性高、價格低廉、易于開發(fā)應(yīng)用。它的的主要特點(diǎn)是:(1)集成度高。在單片機(jī)芯片中,除中央處理器 cpu之外,還有存儲器rom/ram,i/o接口電路、定時器/計數(shù)器等部件,因此集成度高,在幾至幾十平方毫米的芯片上可制作上萬個晶體管電路。(2)結(jié)構(gòu)緊湊、可靠性高。單片機(jī)
33、把各功能部件集成在一塊芯片上,采用內(nèi)部總線結(jié)構(gòu),減少了多片機(jī)中各芯片之間的連線,大大提高了單片機(jī)的抗干擾能力。另外,單片機(jī)超小型化、結(jié)構(gòu)緊湊、體積小,對于強(qiáng)磁場環(huán)境易于采取屏蔽措施,因而抗干擾能力強(qiáng),可靠性高,適合在一些惡劣環(huán)境中工作。(3)數(shù)據(jù)處理能力強(qiáng)、速度快。單片機(jī)除具有一般微處理器的數(shù)據(jù)處理能力外,在一系列產(chǎn)品(如mcs-51)的指令系統(tǒng)中,增加了乘除法指令及布爾(二進(jìn)制)處理機(jī)功能,提高了數(shù)據(jù)處理能力。同時,由于中央處理器與存儲器在同一芯片上,因而減少了多片之間數(shù)據(jù)傳遞所需時間,提高了數(shù)據(jù)處理速度。例如mcs-51的cpu,采用12mhz時鐘時,單字節(jié)乘除法僅需要6.5us。(4)功
34、耗小、成本低。單片機(jī)結(jié)構(gòu)緊湊,數(shù)據(jù)傳送路徑短,所需要功耗小;內(nèi)部采用準(zhǔn)靜態(tài)ram類似,但不需要刷新,可使功耗下降。單片機(jī)內(nèi)部電路雖然比相應(yīng)微處理器芯片復(fù)雜,但是一旦設(shè)計好后,進(jìn)入批量生產(chǎn),成本不會提高。單片機(jī)內(nèi)部設(shè)置一定容量的只讀存儲器rom/eprom,用于存儲用戶的專用程序,這些程序稱之為內(nèi)部程序。內(nèi)部程序可由廠方在制作芯片時代為燒制,也可由用戶自己寫入,這樣可使單片機(jī)成為具有不同特殊功能的專用機(jī),易于形成產(chǎn)品。2.7 單片機(jī)的應(yīng)用領(lǐng)域單片機(jī)應(yīng)用領(lǐng)域可以歸納為以下幾個方面。1智能儀表用單片機(jī)系統(tǒng)取代老式的測量、控制儀表,實(shí)現(xiàn)從模擬儀表向數(shù)字化、智能化儀表的轉(zhuǎn)化,如各種溫度儀表、壓力儀表、流
35、量儀表、電能計量儀表等。 2. 測控系統(tǒng) 用單片機(jī)取代原有的復(fù)雜的模擬數(shù)字電路,完成各種工業(yè)控制、數(shù)據(jù)采集系統(tǒng)等工作。 3電能變換 應(yīng)用單片機(jī)設(shè)計變頻調(diào)速控制電路。 4通信 用單片機(jī)開發(fā)通信模塊、通信器材等。 5機(jī)電產(chǎn)品 應(yīng)用單片機(jī)檢測、控制傳統(tǒng)的機(jī)械產(chǎn)品,使傳統(tǒng)的機(jī)械產(chǎn)品結(jié)構(gòu)簡化,控制智能化,提高了機(jī)電產(chǎn)品的可靠性,增強(qiáng)了產(chǎn)品的功能 6智能接口在數(shù)據(jù)傳輸中,用單片機(jī)實(shí)現(xiàn)外部設(shè)備與微機(jī)通信。2.8 本章小結(jié) 本章介紹了單片機(jī)的一些基本硬件結(jié)構(gòu)。單片機(jī)是微計算機(jī)的一個分支,在原理和結(jié)構(gòu)上,單片機(jī)與微型機(jī)之間沒有根本性的差別,而且微計算機(jī)的許多技術(shù)都被單片機(jī)繼承下來。單片機(jī)的基本結(jié)構(gòu)依然是cpu加
36、上外圍芯片的傳統(tǒng)結(jié)構(gòu)模式,但對各種功能部件的控制是采用特殊功能寄存器的集中控制方式。第3章 電路的硬件設(shè)計3.1 復(fù)位電路 mcs-51單片機(jī)的復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的。復(fù)位引腳rst通過一個斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來抑制噪聲,在每個機(jī)器周期的s5p2,斯密特觸發(fā)器的輸出電平由復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號。復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式。 上電復(fù)位:上電復(fù)位電路是種簡單的復(fù)位電路,只要在rst復(fù)位引腳接一個電容到vcc,接一個電阻到地就可以了。上電復(fù)位是指在給系統(tǒng)上電時,復(fù)位電路通過電容加到rst復(fù)位引腳一個短暫的高電平信號,這
37、個復(fù)位信號隨著vcc對電容的充電過程而回落,所以rst引腳復(fù)位的高電平維持時間取決于電容的充電時間。為了保證系統(tǒng)安全可靠的復(fù)位,rst引腳的高電平信號必須維持足夠長的時間。 手動復(fù)位:手動復(fù)位需要人為在復(fù)位輸入端加高電平讓系統(tǒng)復(fù)位。一般采用的方法是在rst端和正電源vcc之間接一個按鍵,當(dāng)按下按鍵后,vcc和rst端接通,rst引腳處有高電平,而且按鍵動作一般是數(shù)十毫秒、大于兩個機(jī)器周期的時間,能夠安全的讓系統(tǒng)復(fù)位。本電路采用的是上電復(fù)位方式。電路圖如下:上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的。只要vcc的上升時間不超過1ms,就可以實(shí)現(xiàn)自動上電復(fù)位。除了上電復(fù)位外,有時還需要按鍵手
38、動復(fù)位。按鍵手動復(fù)位有電平方式和脈沖方式兩種。3.2 時鐘電路時鐘是單片機(jī)的心臟,單片機(jī)各功能部件的運(yùn)行都是以時鐘頻率為基準(zhǔn),有條不紊的一拍一拍地工作。因此,時鐘頻率直接影響單片機(jī)的速度,時鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。常用的時鐘電路有兩種方式:一種是內(nèi)部時鐘方式,另一種為外部時鐘方式。本文用的是內(nèi)部時鐘方式。電路圖如下:mcs-51單片機(jī)內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,該高增益反向放大器的輸入端為芯片引腳xtal1,輸出端為引腳xtal2。這兩個引腳跨接石英晶體振蕩器和微調(diào)電容,就構(gòu)成一個穩(wěn)定的自激振蕩器。3.3 按鍵電路 按鍵是一組常開的按鍵開關(guān),每個按鍵都被賦予一
39、個代碼,稱為鍵碼.按鍵的開關(guān)狀態(tài)通過一定的電路轉(zhuǎn)換為高、低電平狀態(tài)。按鍵閉合過程在相應(yīng)的i/o端口形成一個負(fù)脈沖。閉合和釋放過程都要經(jīng)過一定的過程才能達(dá)到穩(wěn)定,這一過程是處于高、低電平之間的一種不穩(wěn)定狀態(tài),稱為抖動。抖動持續(xù)時間的常長短與開關(guān)的機(jī)械特性有關(guān),一般在5-10ms之間。為了避免cpu多次處理按鍵的一次閉合,應(yīng)采用措施消除抖動。本文在軟件中采用了相應(yīng)的軟件程序來消除抖動。當(dāng)發(fā)現(xiàn)有鍵按下時,延時10-20ms再查詢是否有鍵按下,若沒有鍵按下,說明上次查詢結(jié)果為干擾或抖動;若仍有鍵按下。則說明閉合鍵已穩(wěn)定。 本文采用的是獨(dú)立式按鍵,直接用i/o口線構(gòu)成單個按鍵電路,每個按鍵占用一條i/o
40、口線,每個按鍵的工作狀態(tài)不會產(chǎn)生互相影響。 電路圖如下: p1.0口表示功能移位鍵,按鍵選擇要調(diào)整的時十位、時個位、分十位或分個位。 p1.1口表示數(shù)字“+“鍵,按一下則對應(yīng)的數(shù)字加1。 p1.2口表示數(shù)字“-”鍵,按一下則對應(yīng)的數(shù)字減1。 p1.3口表示時間表的切換,程序默認(rèn)為日常時間表,當(dāng)按下該開關(guān),使輸入為低電平時,表示當(dāng)前執(zhí)行的是考試時間表,并有綠發(fā)光二極管顯示。再按鍵,使鍵抬起,輸入維高電平時,表示當(dāng)前執(zhí)行的是日常作息時間表,用紅發(fā)光二級管顯示。3.4 相關(guān)控制電路3.4.1 加熱電路p1.4口控制繼電器進(jìn)而控制加熱器的工作。主程序查詢控制加熱的標(biāo)志位,當(dāng)該標(biāo)志位為1,p1.4輸出高
41、電平,控制繼電器閉合,從而合上開關(guān),啟動加熱器進(jìn)行工作。當(dāng)加熱一定時間時,標(biāo)志位置0,p1.4改變狀態(tài),輸出低電平,控制繼電器斷開,從而打開開關(guān),加熱器停止加熱。電路圖如下:3.4.2 控制打鈴電路p1.5口控制繼電器進(jìn)而控制電鈴工作。當(dāng)時鐘當(dāng)前的時間和當(dāng)前所執(zhí)行的時間表的時間一致時,相應(yīng)得標(biāo)志位為1,p1.5口輸出高電平,控制繼電器閉合,從而合上開關(guān),啟動電鈴進(jìn)行打鈴。打鈴一定時間,標(biāo)志位置0,p1.5輸出低電平,繼電器打開,電鈴?fù)V构ぷ鳌k娐穲D如下:3.4.3 時間表顯示電路因為該電路可以執(zhí)行兩個時間表,即正常作息時間表和考試時間表。為了能夠從外觀上看出當(dāng)前正在執(zhí)行的是那種時間表,為此,在
42、電路中加上了紅、綠兩個不同的發(fā)光二極管,當(dāng)紅發(fā)光二極管接通時,表示當(dāng)前正在執(zhí)行日常作息時間表;當(dāng)綠發(fā)光二極管接通時則表示當(dāng)前正在執(zhí)行的是考試時間表。有了紅綠兩發(fā)光二極管表示,就可以明顯看出當(dāng)前執(zhí)行的是何種時間表,不會混淆。電路圖如下: 3.5 數(shù)碼管顯示電路 數(shù)碼管顯示器成本低,配置靈活,與單片機(jī)接口簡單,在單片機(jī)應(yīng)用系統(tǒng)中廣泛應(yīng)用。1.數(shù)碼管的工作原理數(shù)碼管是由8個發(fā)光二極管構(gòu)成的顯示器件。在數(shù)碼管中,若將二極管的陽極連在一起,稱為共陽極數(shù)碼管;若將二極管的陰極連在一起,稱為共陰極數(shù)碼管。本文用到的6個數(shù)碼管均是共陰極的。當(dāng)發(fā)光二極管導(dǎo)通時,它就會發(fā)光。每個二極管就是一個筆劃,若干個二極管發(fā)
43、光時,就構(gòu)成了一個顯示字符。將單片機(jī)的i/o口控制相應(yīng)的芯片與數(shù)碼管的a-g相連,高電平的位對應(yīng)的發(fā)光二極管亮,這樣,由i/o口輸出不同的代碼,就可以控制數(shù)碼管顯示不同的字符。例如:當(dāng)i/o口控制芯片輸出的代碼是00111111時,數(shù)碼管顯示的字符為0。這樣形成的顯示字符的代碼稱為顯示代碼或段選碼。2.數(shù)碼管顯示器與單片機(jī)的接口電路 數(shù)碼管顯示器有兩種工作方式,即靜態(tài)顯示方式和動態(tài)顯示方式。在靜態(tài)顯示方式下,每位數(shù)碼管的a-g和h端與一個8位的i/o相連。要在某一位數(shù)碼管上顯示字符時,只要從對應(yīng)的i/o口輸出并鎖存其顯示代碼即可。其特點(diǎn)是:數(shù)碼管中的發(fā)光二極管恒定地導(dǎo)通或截止,直到顯示字符改變
44、為止。動態(tài)顯示方式的每位數(shù)碼管都需要一個數(shù)據(jù)鎖存器,因此,其硬件電路比較復(fù)雜。但它的顯示程序法常簡單。選擇動態(tài)顯示方式,可以使耗電量更小。在動態(tài)顯示方式中,各位數(shù)碼管的a-h并聯(lián)在一起,與單片機(jī)系統(tǒng)的一個i/o口相連,從該i/o口輸出顯示代碼。每只數(shù)碼管的共陰極則與另一i/o口相連,控制被點(diǎn)亮的位。動態(tài)顯示方式的特點(diǎn)是:每一時刻只能有1位數(shù)碼管被點(diǎn)亮,各位依次輪流被點(diǎn)亮;對于每一位來講,每隔一段時間點(diǎn)亮一次。為了每位數(shù)碼管能夠充分被點(diǎn)亮,二極管應(yīng)持續(xù)發(fā)光一段時間。利用發(fā)光二極管的余輝和人眼的駐留效應(yīng),通過適當(dāng)?shù)卣{(diào)整每位數(shù)碼管被點(diǎn)亮的時間間隔,可以觀察到穩(wěn)定的顯示輸出。本文的6個數(shù)碼管均采用動態(tài)
45、顯示方式,顯示當(dāng)前的時間。整個顯示電路應(yīng)用了2個164芯片,1個244芯片。第一個164芯片把從單片機(jī)傳出的串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)。164只能存儲8位數(shù)據(jù),因此,當(dāng)單片機(jī)輸出第9-14位數(shù)據(jù)的時候,第一個164芯片中的8位數(shù)據(jù)就被傳到第二個164芯片中,這8位數(shù)據(jù)就是段選信號,控制數(shù)碼管將要顯示的字符。第9-14位數(shù)據(jù)輸出后,控制244芯片的單片機(jī)的p1.7口置為高電平,244芯片選通。這六位數(shù)據(jù)經(jīng)過244芯片以后是片選信號,即控制動態(tài)顯示的是哪一位數(shù)碼管。在片選信號和段選信號的控制下,數(shù)碼管就正確的動態(tài)顯示當(dāng)前的時間。由于選用的是7段譯碼器,因此沒有用到數(shù)碼管的h段,不能在數(shù)碼管中顯示小數(shù)點(diǎn)
46、。在時、分、秒的間隔處用了兩個紅發(fā)光二極管表示小數(shù)點(diǎn)。3.6 電源電路設(shè)計電源電路包括變壓器、橋式整流器、電容和穩(wěn)壓器。通過變壓器變壓,使得220v電壓變?yōu)? v,在通過橋式整流,電容的濾波作用,穩(wěn)壓器的穩(wěn)壓作用,可輸出6v的穩(wěn)定電壓。由于單片機(jī)的工作電壓是5v,二極管上的電壓降一般為0.7v。因此,在電源的輸出端,再串聯(lián)一個二極管降壓,就可得到所需的5v電壓。3.7 本章小結(jié)本章介紹的是本設(shè)計的硬件結(jié)構(gòu),單片機(jī)的相關(guān)i/o口輸入輸出就可以實(shí)現(xiàn)相應(yīng)的控制功能。還介紹了單片機(jī)的復(fù)位電路和時鐘電路。 第4章 電路的軟件設(shè)計4.1 軟件程序內(nèi)容本設(shè)計的軟件程序包括主程序、中斷子程序、打鈴子程序、加熱
47、子程序、時鐘顯示子程序、查詢時間表切換程序和延時子程序等等。另外由于電路中有四個按鍵,還另外設(shè)計了防抖動程序來防止干擾。4.2 軟件流程圖軟件程序整個流程圖如下:查詢“-”鍵時十位減1查詢功能移位鍵2次開始初始化時鐘運(yùn)行查詢功能移位鍵1次切換到時十位查詢“+”鍵查詢是否按時間表切換鍵切換時間表時十位加1 是否是 否 是 否 是 否 否是查詢“+”鍵切換到分十位分十位加1查詢“-”鍵分十位減1切換到時個位查詢“+”鍵查詢“-”鍵時個位加1時個位減1查詢功能移位鍵3次 是 否 是 否 否 是 是 否 是 否查詢是否加熱調(diào)用加熱子程序當(dāng)前時間與時間表時間是否匹配調(diào)用打鈴子程序查詢功能移位健4次查詢“
48、+”鍵分個位加1查詢“-”鍵分個位減1查詢功能移位鍵 否 是 是 否 是 否 是 否 是 否 是 否4.3 定時程序設(shè)計 在工業(yè)檢測、控制中,許多場合都要用到計數(shù)或定時功能。例如,對外部脈沖進(jìn)行計數(shù)、產(chǎn)生精確的定時時間等。mcs-51單片機(jī)內(nèi)有兩個可編程的定時器/計數(shù)器t1、t0,已滿足這方面的需要。兩個定時器/計數(shù)器都具有定時器和計數(shù)器兩種工作模式。單片機(jī)的定時功能也是通過計數(shù)器的計數(shù)來實(shí)現(xiàn)的,此時的計數(shù)脈沖來自單片機(jī)的內(nèi)部,即每個機(jī)器周期產(chǎn)生一個計數(shù)脈沖,也就是每經(jīng)過1個機(jī)器周期的時間,計數(shù)器加1。如果mcs-51采用的12mhz晶體,則計數(shù)頻率為1mhz,即每過1us的時間計數(shù)器加1。這
49、樣可以根據(jù)計數(shù)值計算出定時時間,也可以根據(jù)定時時間的要求計算出計數(shù)器的初值。mcs-51單片機(jī)的定時器/計數(shù)器具有4種工作方式(方式0、方式1、方式2和方式3),其控制字均在相應(yīng)的特殊功能寄存器中,通過對特殊功能寄存器的編程,可以方便的選擇定時器/計數(shù)器兩種工作模式和4種工作方式。定時器/計數(shù)器工作在方式0時,為13位的計數(shù)器,由tlx(x=0、1)的低5位和thx的高8位所構(gòu)成。tlx低5位溢出則向thx進(jìn)位,thx計數(shù)溢出則置位tcon中的溢出標(biāo)志位tfx.當(dāng)定時器/計數(shù)器工作于方式1,為16位的計數(shù)器。本設(shè)計師單片機(jī)多功能定時器,所以mcs-51內(nèi)部的定時器/計數(shù)器被選定為定時器工作模式
50、,計數(shù)輸入信號是內(nèi)部時鐘脈沖,每個機(jī)器周期產(chǎn)生一個脈沖使計數(shù)器增1。4.3.1實(shí)時時鐘實(shí)現(xiàn)的基本方法時鐘的最小計時單位是秒,但使用定時器的方式1,最大的定時時間也只能達(dá)到131ms。我們可把定時器的定時時間定為50ms。這樣,計數(shù)溢出20次即可得到時鐘的最小計時單位:秒。而計數(shù)20次可以用軟件實(shí)現(xiàn)。(1)計數(shù)初值得計算:由于使用定時器的方式1,進(jìn)行50ms定時。單片機(jī)的晶振頻率是12mhz,為得到50ms的定時,設(shè)計數(shù)初值為x,則:(216- x)*1*10-6=5*10-2因而:x=15536=0011110010110000b=3cb0h(2)秒、分、時計時的實(shí)現(xiàn)秒計時是采用中斷方式進(jìn)行溢出次數(shù)的累積,計滿20次,即得到秒計時。從秒到分,從分到時是通過軟件累加并進(jìn)行比較的方法來實(shí)現(xiàn)的。要求每滿1秒,則“秒”單元中的內(nèi)容加1;“秒”單元滿60,則“分”單元中的內(nèi)容加1;“分”單元滿60,則“時”單元中的內(nèi)容加1;“時”單元滿24,則將時、分、秒的內(nèi)容全部清零。4.3.2 實(shí)時時鐘程序設(shè)計步驟(1)選擇工作方式,計算初值;(2)采用中斷方式進(jìn)行溢出次數(shù)累計;(3)從秒分時的計時是通過累加和數(shù)值比較實(shí)現(xiàn)的;(4)時鐘顯示緩沖區(qū):時鐘時間在方位數(shù)碼管上進(jìn)行顯示,為此在內(nèi)部ram中要
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 瑜伽行業(yè)私教課程合同
- 房屋代理銷售協(xié)議
- 夫妻共同擔(dān)保簽字借款合同
- 外立面裝修施工合同
- 汽車零部件生產(chǎn)加工合作協(xié)議
- 數(shù)字文化創(chuàng)意產(chǎn)業(yè)投資合同
- 產(chǎn)品研發(fā)合作框架協(xié)議
- 國家建造師聘用協(xié)議書
- 機(jī)關(guān)事業(yè)單位編外人員勞動合同書
- 協(xié)議離婚制度存在的問題及完善
- 2025年度光伏電站光伏組件回收處理合同示范文本
- 2025年春季少先隊工作計劃及安排表(附:少先隊每月工作安排表)
- 2025年電力鐵塔市場分析現(xiàn)狀
- 中央2025年公安部部分直屬事業(yè)單位招聘84人筆試歷年參考題庫附帶答案詳解
- GB 12158-2024防止靜電事故通用要求
- 《教育強(qiáng)國建設(shè)規(guī)劃綱要(2024-2035年)》全文
- 山東省濱州市2024-2025學(xué)年高二上學(xué)期期末地理試題( 含答案)
- 體育老師籃球說課
- 化學(xué)-江蘇省蘇州市2024-2025學(xué)年2025屆高三第一學(xué)期學(xué)業(yè)期末質(zhì)量陽光指標(biāo)調(diào)研卷試題和答案
- 蛋雞生產(chǎn)飼養(yǎng)養(yǎng)殖培訓(xùn)課件
- GB/T 45015-2024鈦石膏綜合利用技術(shù)規(guī)范
評論
0/150
提交評論