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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

5、來(lái),作為微型計(jì)算機(jī)一個(gè)很重要的分支,應(yīng)用廣泛,發(fā)展迅速,尤其是美國(guó)intel公司生產(chǎn)的mcs-51系列單片機(jī),由于其具有集成度高,處理功能強(qiáng),可靠性高,系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,價(jià)格低廉等優(yōu)點(diǎn),在智能儀器儀表、工業(yè)檢測(cè)控制、機(jī)電一體化等方面取得了令人矚目的成就。本文討論的單片機(jī)多功能定時(shí)器的核心是目前應(yīng)用極為廣泛的51系列單片機(jī),配置了外圍設(shè)備,構(gòu)成了一個(gè)可編程的計(jì)時(shí)定時(shí)系統(tǒng),具有體積小,可靠性高,功能強(qiáng)等特點(diǎn)。不僅能滿(mǎn)足所需要求而且還有很多功能可供開(kāi)發(fā),有著廣泛的應(yīng)用領(lǐng)域。20世紀(jì)80年代中期以后,intel公司以專(zhuān)利轉(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)確地說(shuō)是與mcs-51指令系統(tǒng)兼容的單片機(jī)。這些兼容機(jī)與8051的系統(tǒng)結(jié)構(gòu)(主要是指令系統(tǒng))相同,采用cmos工藝,因而,常用80c51系列來(lái)稱(chēng)呼所有具有8051指令系統(tǒng)的單片機(jī),它們對(duì)8051單片機(jī)一般都作了一些擴(kuò)充,更有特點(diǎn)。其功能和市場(chǎng)競(jìng)爭(zhēng)力更強(qiáng),不該把它們直接稱(chēng)呼為mcs-51系列單片機(jī),因?yàn)閙cs只是intel公司專(zhuān)用的單片機(jī)系列型號(hào)。mcs-51系列及80c51單片機(jī)有多種品種。它們的引腳及指令系統(tǒng)相互兼容,主要在內(nèi)部結(jié)構(gòu)上有些區(qū)別。目前使用的mcs-51系列單片機(jī)及其兼容產(chǎn)品通常分成

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

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

9、位鍵一次,表示要校小時(shí)的十位上的數(shù)字;再按功能移位鍵,表示要校小時(shí)的個(gè)位上的數(shù)字;按第三次,則當(dāng)前校的是分十位;按第四次,表示當(dāng)前校對(duì)分個(gè)位上的數(shù)字。當(dāng)時(shí)鐘與時(shí)間表里存儲(chǔ)的時(shí)間一致時(shí),相應(yīng)的i/o口控制電鈴開(kāi)始工作;到一定的時(shí)間,另外的i/o口控制加熱器工作。本設(shè)計(jì)是針對(duì)教學(xué)的多功能定時(shí)器,定時(shí)精確,功能較多,可以完美的完成學(xué)校教學(xué)時(shí)間的控制。在本設(shè)計(jì)上按照個(gè)人的意圖稍加擴(kuò)展,就可以實(shí)現(xiàn)更多更強(qiáng)大的功能。1.3 本章小結(jié) 本文介紹的設(shè)計(jì)是針對(duì)教學(xué)所用的多功能定時(shí)器,可以完成教學(xué)所需的各種功能。該定時(shí)器操作簡(jiǎn)單,功能齊全,是單片機(jī)智能化的一種應(yīng)用。第2章 mcs-51單片機(jī)的結(jié)構(gòu)mcs-51單片

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

11、進(jìn)行的。首先從程序存儲(chǔ)器中讀出指令,送指令寄存器保存,然后送至指令譯碼器進(jìn)行譯碼,譯碼結(jié)果送定時(shí)控制邏輯電路,由定時(shí)控制邏輯產(chǎn)生各種定時(shí)信號(hào)和控制信號(hào),再送到單片機(jī)的各個(gè)部件去進(jìn)行相應(yīng)的操作。這就是執(zhí)行一條指令的全過(guò)程,執(zhí)行程序就是不斷重復(fù)這一過(guò)程。控制器主要包括程序計(jì)數(shù)器、程序地址寄存器、指令寄存器ir、指令譯碼器、條件轉(zhuǎn)移邏輯電路及時(shí)序控制邏輯電路。2.1.1 程序計(jì)數(shù)器pc(program counter)程序計(jì)數(shù)器pc是控制部件中最基本的寄存器,是一個(gè)獨(dú)立的計(jì)數(shù)器,存放著下一條將要從程序存儲(chǔ)器中取出的指令的地址。其基本的工作過(guò)程是:讀指令時(shí),程序計(jì)數(shù)器將其中的數(shù)作為所取指令的地址輸出給

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

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

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

15、哈佛(har-vard)結(jié)構(gòu),即程序存儲(chǔ)器空間和數(shù)據(jù)存儲(chǔ)器空間截然分開(kāi),程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器各有自己的尋址方式,尋址空間和控制系統(tǒng).這種結(jié)構(gòu)對(duì)于單片機(jī)”面向控制”的實(shí)際應(yīng)用極為方便,有利.在8051/8751彈片擊中,不僅在片內(nèi)集成了一定容量的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器及眾多的特殊功能寄存器,而且還具有極強(qiáng)的外存儲(chǔ)器的擴(kuò)展能力,尋址能力分別可達(dá)64kb,尋址和操作簡(jiǎn)單方便.mcs-51的存儲(chǔ)器空間可劃分為如如下幾類(lèi):1. 程序存儲(chǔ)器單片機(jī)系統(tǒng)之所以能夠按照一定的次序進(jìn)行工作,主要是程序存儲(chǔ)器中存放了經(jīng)調(diào)試正確的應(yīng)用程序和表格之類(lèi)的固定常數(shù).程序?qū)嶋H上是一串二進(jìn)制碼,程序存儲(chǔ)器可以分為片內(nèi)和片外兩

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

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

18、為實(shí)現(xiàn)工作寄存器現(xiàn)場(chǎng)內(nèi)容保護(hù)提供了極大的方便.地址為20h-2fh的16個(gè)單元可進(jìn)行共128位的位尋址,這些單元構(gòu)成了1位處理機(jī)的存儲(chǔ)空間.單元中的每一位都有自己的位地址,這16個(gè)單元也可以進(jìn)行字節(jié)尋址.地址為30h-7fh的單元為用戶(hù)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)了整個(gè)單片機(jī)基本系統(tǒng)內(nèi)部的工作狀態(tài)及工作方式.sfr實(shí)質(zhì)上是一些具有特殊功能的片內(nèi)ram單元,字節(jié)地址范圍為80h-ffh.特殊

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

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

21、口是8位準(zhǔn)雙向i/o口,與地址總線(高8位)復(fù)用,可驅(qū)動(dòng)4個(gè)ls型ttl負(fù)載。p3口是8位準(zhǔn)雙向i/o口,是雙功能復(fù)用口,可驅(qū)動(dòng)4個(gè)ls型ttl負(fù)載。p1口、p2口、p3口各i/o口線片內(nèi)均有固定的上拉電阻,當(dāng)這3個(gè)準(zhǔn)雙向i/o口做輸入口使用時(shí),要向該口先寫(xiě)“1”,另外準(zhǔn)雙向i/o口無(wú)高阻的“浮空”狀態(tài),故稱(chēng)為雙向三態(tài)i/o 口。p0-p3口都是并行i/o口,都可用于數(shù)據(jù)的輸入和輸出,但p0口和p2口出了可進(jìn)行數(shù)據(jù)的輸入/輸出外,通常用來(lái)構(gòu)建系統(tǒng)的數(shù)據(jù)總線和地址總線,所以在電路中有一個(gè)多路轉(zhuǎn)換開(kāi)關(guān)mux,以便進(jìn)行兩種用途的轉(zhuǎn)換。而p1口和p3口沒(méi)有構(gòu)建系統(tǒng)的數(shù)據(jù)總線和地址總線的功能。因此,在電

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

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

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

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

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

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

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

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

30、動(dòng)并達(dá)到穩(wěn)定,實(shí)際上復(fù)位本身只需24個(gè)振蕩周期(2-4 us)。但在進(jìn)入掉電方式前,vcc不能掉下來(lái),因此要有掉電監(jiān)測(cè)點(diǎn)路。5. eprom編程和校驗(yàn)方式對(duì)于內(nèi)部集成有eprom的mcs-51單片機(jī),可以進(jìn)入編程或校驗(yàn)方式。(1)內(nèi)部eprom編程編程時(shí),時(shí)鐘頻率應(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,否則會(huì)破壞eprom;在/vpp出現(xiàn)正脈沖期間,ale/prog端上加50ms的負(fù)脈沖,完成一次寫(xiě)入。8751的eprom編程一般要用專(zhuān)門(mén)的單片機(jī)編程器來(lái)完成。(2)eprom程序校驗(yàn)在程序的保密位尚未設(shè)置,無(wú)論在寫(xiě)入的當(dāng)時(shí)或?qū)懭胫螅蓪⑵铣绦虼鎯?chǔ)器的內(nèi)容讀出進(jìn)行校驗(yàn)。在讀出時(shí),除p2.7腳保持為ttl低電平之外,其他引腳與eprom的連接方式相同。要讀出的程序存儲(chǔ)器單元地址由p1口和p2口的p2.0-p2.3送入,p2口的其他引腳及/psen保持低電平,ale、/ea和rst接高電平,校驗(yàn)的單元內(nèi)容由p0口送出。在校驗(yàn)操作時(shí),需

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

33、把各功能部件集成在一塊芯片上,采用內(nèi)部總線結(jié)構(gòu),減少了多片機(jī)中各芯片之間的連線,大大提高了單片機(jī)的抗干擾能力。另外,單片機(jī)超小型化、結(jié)構(gòu)緊湊、體積小,對(duì)于強(qiáng)磁場(chǎ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í),由于中央處理器與存儲(chǔ)器在同一芯片上,因而減少了多片之間數(shù)據(jù)傳遞所需時(shí)間,提高了數(shù)據(jù)處理速度。例如mcs-51的cpu,采用12mhz時(shí)鐘時(shí),單字節(jié)乘除法僅需要6.5us。(4)功

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

35、量?jī)x表、電能計(jì)量?jī)x表等。 2. 測(cè)控系統(tǒng) 用單片機(jī)取代原有的復(fù)雜的模擬數(shù)字電路,完成各種工業(yè)控制、數(shù)據(jù)采集系統(tǒng)等工作。 3電能變換 應(yīng)用單片機(jī)設(shè)計(jì)變頻調(diào)速控制電路。 4通信 用單片機(jī)開(kāi)發(fā)通信模塊、通信器材等。 5機(jī)電產(chǎn)品 應(yīng)用單片機(jī)檢測(cè)、控制傳統(tǒng)的機(jī)械產(chǎn)品,使傳統(tǒng)的機(jī)械產(chǎn)品結(jié)構(gòu)簡(jiǎn)化,控制智能化,提高了機(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ì)算機(jī)的一個(gè)分支,在原理和結(jié)構(gòu)上,單片機(jī)與微型機(jī)之間沒(méi)有根本性的差別,而且微計(jì)算機(jī)的許多技術(shù)都被單片機(jī)繼承下來(lái)。單片機(jī)的基本結(jié)構(gòu)依然是cpu加

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

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

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

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

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

41、電平,控制繼電器閉合,從而合上開(kāi)關(guān),啟動(dòng)加熱器進(jìn)行工作。當(dāng)加熱一定時(shí)間時(shí),標(biāo)志位置0,p1.4改變狀態(tài),輸出低電平,控制繼電器斷開(kāi),從而打開(kāi)開(kāi)關(guān),加熱器停止加熱。電路圖如下:3.4.2 控制打鈴電路p1.5口控制繼電器進(jìn)而控制電鈴工作。當(dāng)時(shí)鐘當(dāng)前的時(shí)間和當(dāng)前所執(zhí)行的時(shí)間表的時(shí)間一致時(shí),相應(yīng)得標(biāo)志位為1,p1.5口輸出高電平,控制繼電器閉合,從而合上開(kāi)關(guān),啟動(dòng)電鈴進(jìn)行打鈴。打鈴一定時(shí)間,標(biāo)志位置0,p1.5輸出低電平,繼電器打開(kāi),電鈴?fù)V构ぷ?。電路圖如下:3.4.3 時(shí)間表顯示電路因?yàn)樵撾娐房梢詧?zhí)行兩個(gè)時(shí)間表,即正常作息時(shí)間表和考試時(shí)間表。為了能夠從外觀上看出當(dāng)前正在執(zhí)行的是那種時(shí)間表,為此,在

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

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

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

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

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

47、子程序、時(shí)鐘顯示子程序、查詢(xún)時(shí)間表切換程序和延時(shí)子程序等等。另外由于電路中有四個(gè)按鍵,還另外設(shè)計(jì)了防抖動(dòng)程序來(lái)防止干擾。4.2 軟件流程圖軟件程序整個(gè)流程圖如下:查詢(xún)“-”鍵時(shí)十位減1查詢(xún)功能移位鍵2次開(kāi)始初始化時(shí)鐘運(yùn)行查詢(xún)功能移位鍵1次切換到時(shí)十位查詢(xún)“+”鍵查詢(xún)是否按時(shí)間表切換鍵切換時(shí)間表時(shí)十位加1 是否是 否 是 否 是 否 否是查詢(xún)“+”鍵切換到分十位分十位加1查詢(xún)“-”鍵分十位減1切換到時(shí)個(gè)位查詢(xún)“+”鍵查詢(xún)“-”鍵時(shí)個(gè)位加1時(shí)個(gè)位減1查詢(xún)功能移位鍵3次 是 否 是 否 否 是 是 否 是 否查詢(xún)是否加熱調(diào)用加熱子程序當(dāng)前時(shí)間與時(shí)間表時(shí)間是否匹配調(diào)用打鈴子程序查詢(xún)功能移位健4次查詢(xún)“

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

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

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論