版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 大學(xué)生本科畢業(yè)設(shè)計(jì)(論文)</p><p> 題目:智能去電控制器的設(shè)計(jì)</p><p><b> 領(lǐng)域:電子通信類</b></p><p><b> 摘 要</b></p><p> 隨著辦公自動(dòng)化的發(fā)展,越來越多的公司選擇了組建本公司的局域網(wǎng)電話系統(tǒng),從而達(dá)到提高公
2、司整體工作效率和節(jié)約通信費(fèi)用的目的。這種電話系統(tǒng)一般有一臺(tái)總機(jī)和若干臺(tái)分機(jī)組成,主機(jī)有一個(gè)固定的公用電話號(hào)碼,若干分機(jī)各有自己的局域網(wǎng)號(hào)碼,當(dāng)其他公司或單位的電話打進(jìn)本公司時(shí),首先是主機(jī)接到來電號(hào)碼,主機(jī)判斷來電是打給公司哪個(gè)部門的,完成判斷后就將來電轉(zhuǎn)到相應(yīng)的部門,來電呼叫處理完畢。對于打進(jìn)公司的電話,由于不是公司支付通信費(fèi)用,一般單位對此無限制,當(dāng)公司內(nèi)部需要打出電話時(shí),由于通信費(fèi)用完全是公司自己支付,為了避免公司的員工把公司的電話
3、私用,就必須對去電進(jìn)行區(qū)分和權(quán)限限制,可以通過設(shè)置黑名單或者白名單控制某個(gè)電話的能夠打出或者禁止。本項(xiàng)目主要是單片機(jī)控制去電電話,即根據(jù)主叫所拔的號(hào)碼,通過檢測存儲(chǔ)器預(yù)設(shè)的黑名單或者白名單控制某個(gè)電話的能夠打出或者禁止,或者控制某一局向號(hào),來確定能否打出。該系統(tǒng)采用了單片機(jī)AT89C51作為CPU,它是系統(tǒng)的控制核心。系統(tǒng)同時(shí)利用74LS373緩沖器、74LS138譯碼器、7404反相器、DAC0832 D/A轉(zhuǎn)換器完成對黑白名單的區(qū)分
4、和限制。系統(tǒng)的軟件采用匯編語言編寫,</p><p> 關(guān)鍵詞 智能電話; 單片機(jī); 去電控制</p><p><b> Abstract</b></p><p> With the development of office automation, more and more companies build up the local a
5、rea calling network of itself, in order to increase efficiency and decrease the communication cost. This calling system is generally composed of a master telephone and several extension telephone numbers. The master tel
6、ephone has a fixed number, and the several extension telephones have their own numbers in the network. When the outside phone dials, the master telephone firstly receive the call and decide the</p><p> Keyw
7、ords intelligent phone; microcontroller;phone number controlling </p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p> AbstractII</p><p> 第1章
8、 緒 論1</p><p> 1.1 課題背景1</p><p> 1.2 課題來源2</p><p> 1.3 本論文的工作和特點(diǎn)2</p><p> 1.4 本章小結(jié)3</p><p> 第2章 MCS-51單片機(jī)的結(jié)構(gòu)4</p><p> 2.1 控制器
9、4</p><p> 2.1.1 程序計(jì)數(shù)器4</p><p> 2.1.2 指令控制邏輯電路5</p><p> 2.2 存儲(chǔ)器的結(jié)構(gòu)5</p><p> 2.3 并行I/O口7</p><p> 2.4 時(shí)鐘電路與時(shí)序8</p><p> 2.5 單片機(jī)的
10、中斷9</p><p> 2.6 單片機(jī)的工作方式12</p><p> 2.7 單片機(jī)的性能特點(diǎn)15</p><p> 2.8 單片機(jī)的應(yīng)用領(lǐng)域16</p><p> 2.9 本章小結(jié)17</p><p> 第3章 電路的硬件設(shè)計(jì)18</p><p> 3.1
11、 總體方案設(shè)計(jì)18</p><p> 3.1.1 系統(tǒng)總體框圖18</p><p> 3.1.2 去電信號(hào)的產(chǎn)生18</p><p> 3.2 復(fù)位電路19</p><p> 3.3 時(shí)鐘電路20</p><p> 3.4 按鍵電路21</p><p> 3.5
12、 模數(shù)轉(zhuǎn)換及去電輸出電路22</p><p> 3.6 本章小結(jié)23</p><p> 第4章 電路的軟件設(shè)計(jì)24</p><p> 4.1 軟件程序內(nèi)容24</p><p> 4.2 軟件總體流程圖25</p><p> 4.3 去電信號(hào)產(chǎn)生子程序26</p><p
13、> 4.4 黑白名單區(qū)分子程序27</p><p> 4.5 模數(shù)轉(zhuǎn)換及去電輸出子程序28</p><p> 4.6 本章小結(jié)29</p><p> 第5章 電路調(diào)試與仿真30</p><p> 5.1 硬件焊接30</p><p> 5.2 調(diào)試30</p>&l
14、t;p> 5.2.1 硬件調(diào)試方法31</p><p> 5.2.2 軟件調(diào)試方法32</p><p> 5.3 仿真中出現(xiàn)的問題及解決辦法32</p><p> 5.3 本章小結(jié)33</p><p><b> 結(jié) 論34</b></p><p><b
15、> 參考文獻(xiàn)35</b></p><p><b> 附錄36</b></p><p><b> 致謝45</b></p><p> 畢業(yè)設(shè)計(jì)(論文)評(píng)審意見表46</p><p><b> 第1章 緒 論</b></p>&l
16、t;p><b> 1.1 課題背景</b></p><p> 單片機(jī)自1976年由Intel公司推出MCS-48開始,迄今已有二十多年了。由于單片機(jī)集成度高、功能強(qiáng)、可靠性高、體積小、功耗低、使用方便、價(jià)格低廉等一系列優(yōu)點(diǎn),目前已經(jīng)滲入到人們工作和生活的方方面面,幾乎“無處不在,無所不為”。單片機(jī)的應(yīng)用領(lǐng)域已從面向工業(yè)控制、通訊、交通、智能儀表等迅速發(fā)展到家用消費(fèi)產(chǎn)品、辦公自動(dòng)化
17、、汽車電子、PC機(jī)外圍以及網(wǎng)絡(luò)通訊等廣大領(lǐng)域。</p><p> 按照內(nèi)部數(shù)據(jù)通道的寬度,單片機(jī)可分為4位、8位、16位及32位等。單片機(jī)的中央處理器(CPU)和通用微處理器基本相同,只是增設(shè)了“面向控制”的處理功能。例如:位處理、查表、多種地址訪問方式、多種跳轉(zhuǎn)、乘除法運(yùn)算、狀態(tài)監(jiān)測、中斷處理等,增強(qiáng)了實(shí)時(shí)性。</p><p> 單片機(jī)有兩種基本結(jié)構(gòu)形式:一種是在通用微型計(jì)算機(jī)中廣泛
18、采用的,將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器合用一個(gè)存儲(chǔ)器空間的結(jié)構(gòu),稱為普林斯頓結(jié)構(gòu)。另一種是將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開,分別尋址的哈佛結(jié)構(gòu),一般需要較大的程序存儲(chǔ)器,目前的單片機(jī)以采用程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開的哈佛結(jié)構(gòu)為多。</p><p> 單片微型計(jì)算機(jī)自從問世以來,作為微型計(jì)算機(jī)一個(gè)很重要的分支,應(yīng)用廣泛,發(fā)展迅速,尤其是美國Intel公司生產(chǎn)的MCS-51系列單片機(jī),由于其具有集成度高,處理功能強(qiáng),
19、可靠性高,系統(tǒng)結(jié)構(gòu)簡單,價(jià)格低廉等優(yōu)點(diǎn),在智能儀器儀表、工業(yè)檢測控制、機(jī)電一體化等方面取得了令人矚目的成就。</p><p> 本文討論的主要是單片機(jī)控制去電電話,即根據(jù)主叫所拔的號(hào)碼,通過檢測存儲(chǔ)器預(yù)設(shè)的黑名單或者白名單控制某個(gè)電話的能夠打出或者禁止,或者控制某一局向號(hào),來確定能否打出。</p><p> 20世紀(jì)80年代中期以后,Intel公司以專利轉(zhuǎn)讓的形式把89C51內(nèi)核技術(shù)轉(zhuǎn)
20、讓給許多半導(dǎo)體芯片生產(chǎn)廠家,如ATMEL、PHILIPS、ANALOG、DEVICES、DALLAS等。這些廠家生產(chǎn)的芯片是MCS-51系列的兼容產(chǎn)品,準(zhǔn)確地說是與MCS-51指令系統(tǒng)兼容的單片機(jī)。這些兼容機(jī)與89C51的系統(tǒng)結(jié)構(gòu)(主要是指令系統(tǒng))相同,采用CMOS工藝,因而,常用89C51系列來稱呼所有具有89C51指令系統(tǒng)的單片機(jī),它們對89C51單片機(jī)一般都作了一些擴(kuò)充,更有特點(diǎn)。其功能和市場競爭力更強(qiáng),不該把它們直接稱呼為MCS
21、-51系列單片機(jī),因?yàn)镸CS只是Intel公司專用的單片機(jī)系列型號(hào)。MCS-51系列及89C51單片機(jī)有多種品種。它們的引腳及指令系統(tǒng)相互兼容,主要在內(nèi)部結(jié)構(gòu)上有些區(qū)別。目前使用的MCS-51系列單片機(jī)及其兼容產(chǎn)品通常分成以下幾類:基本型、增強(qiáng)型、低功耗型、專用型、超8位型、片內(nèi)閃爍存儲(chǔ)器型。</p><p><b> 1.2 課題來源</b></p><p>
22、 隨著辦公自動(dòng)化的發(fā)展,越來越多的公司選擇了組建本公司的局域網(wǎng)電話系統(tǒng),從而達(dá)到提高公司整體工作效率和節(jié)約通信費(fèi)用的目的。這種電話系統(tǒng)一般有一臺(tái)總機(jī)和若干臺(tái)分機(jī)組成,主機(jī)有一個(gè)固定的公用電話號(hào)碼,若干分機(jī)各有自己的局域網(wǎng)號(hào)碼,當(dāng)其他公司或單位的電話打進(jìn)本公司時(shí),首先是主機(jī)接到來電號(hào)碼,主機(jī)判斷來電是打給公司哪個(gè)部門的,完成判斷后就將來電轉(zhuǎn)到相應(yīng)的部門,來電呼叫處理完畢。對于打進(jìn)公司的電話,由于不是公司支付通信費(fèi)用,一般單位對此無限制,當(dāng)
23、公司內(nèi)部需要打出電話時(shí),由于通信費(fèi)用完全是公司自己支付,為了避免公司的員工把公司的電話私用,就必須對去電進(jìn)行區(qū)分和權(quán)限限制,可以通過設(shè)置黑名單或者白名單控制某個(gè)電話的能夠打出或者禁止。</p><p> 本項(xiàng)目主要是單片機(jī)控制去電電話,即根據(jù)主叫所拔的號(hào)碼,通過檢測存儲(chǔ)器預(yù)設(shè)的黑名單或者白名單控制某個(gè)電話的能夠打出或者禁止,或者控制某一局向號(hào),來確定能否打出。該系統(tǒng)采用了單片機(jī)AT89C51作為CPU,它是系統(tǒng)
24、的控制核心。系統(tǒng)同時(shí)利用74LS373緩沖器、74LS138譯碼器、7404反相器、DAC0832 D/A轉(zhuǎn)換器完成對黑白名單的區(qū)分和限制。系統(tǒng)的軟件采用匯編語言編寫,主要由主程序、鍵盤輸入子程序、D/A轉(zhuǎn)換子程序、黑白名單區(qū)分子程序組成。在完成硬件設(shè)計(jì)和軟件編制后,對系統(tǒng)進(jìn)行了聯(lián)機(jī)仿真調(diào)試,系統(tǒng)的正常運(yùn)行驗(yàn)證了設(shè)計(jì)的正確性。最后,用Protel 99SE繪制了電路原理圖。</p><p> 本設(shè)計(jì)是針公司的辦
25、公自動(dòng)化而設(shè)計(jì)的,由于具有工作速度快、信噪比高;可以節(jié)省通信費(fèi)用,避免公司電話私用,提高公司整體辦公效率,適用于大、中、小型企業(yè)</p><p> 1.3 本論文的工作和特點(diǎn)</p><p> 本論文探討了一種基于單片機(jī)的智能去電控制系統(tǒng)的軟硬件設(shè)計(jì),并搭建硬件電路進(jìn)行軟硬件調(diào)試,驗(yàn)證了系統(tǒng)設(shè)計(jì)的正確性。</p><p> 1. 論文所作的工作</p
26、><p> (1) 智能去電控制系統(tǒng)的整體規(guī)劃</p><p> (2) 完成智能去電控制系統(tǒng)的硬件設(shè)計(jì)(包括去電信號(hào)產(chǎn)生電路、模數(shù)轉(zhuǎn)換電路、去電輸出接口電路等各個(gè)部分電路的設(shè)計(jì))</p><p> (3) 完成智能去電控制系統(tǒng)的軟件設(shè)計(jì)(包括主程序、鍵盤輸入處理子程序、D/A轉(zhuǎn)換及去電輸出子程序和黑白名單區(qū)分子程序的編制)</p><p>
27、; (4) 搭建硬件電路并進(jìn)行聯(lián)機(jī)和脫機(jī)調(diào)試,實(shí)現(xiàn)了智能去電控制功能</p><p> (5) 利用Protel 99SE繪制了電路原理圖</p><p><b> 2. 主要特點(diǎn)</b></p><p> (1) 是基于單片機(jī)的智能去電控制系統(tǒng),系統(tǒng)的可擴(kuò)展性好</p><p> (2) 主要依靠軟件來實(shí)現(xiàn)
28、的智能去電控制系統(tǒng),降低了成本、提高了系統(tǒng)的性價(jià)比</p><p><b> 1.4 本章小結(jié)</b></p><p> 本章作為論文的開始,介紹了有關(guān)課題背景方面的知識(shí)。首先介紹了單片機(jī)的歷史和發(fā)展現(xiàn)狀;然后對智能去電控制器系統(tǒng)進(jìn)行了分析;最后,對本論文所作的工作及論文的特點(diǎn)進(jìn)行了總結(jié)。</p><p> 第2章 MCS-51單片機(jī)
29、的結(jié)構(gòu)</p><p> MCS-51單片機(jī)是把那些作為控制應(yīng)用所必需的基本內(nèi)容都集成在一個(gè)尺寸有限的集成電路芯片上。如果按功能劃分,它由如下功能部件組成,即微處理器(CPU)、數(shù)據(jù)存儲(chǔ)器(RAM)、程序存儲(chǔ)器(ROM/EPROM)、并行I/O口、串行口、定時(shí)器/計(jì)數(shù)器、中斷系統(tǒng)及特殊功能寄存器(SFR)。它們都是通過片內(nèi)單一總線連接而成,其基本結(jié)構(gòu)依舊是CPU加上外圍芯片的傳統(tǒng)結(jié)構(gòu)模式。但對各種功能部件的控制
30、是采用特殊功能寄存器(SFR)的集中控制方式。</p><p><b> 2.1 控制器</b></p><p> 控制器是單片機(jī)的指揮控制部件,控制器的主要任務(wù)是識(shí)別指令,并根據(jù)指令的性質(zhì)控制單片機(jī)各功能部件,從而保證單片機(jī)各部分能自動(dòng)而協(xié)調(diào)地工作。</p><p> 單片機(jī)執(zhí)行指令是在控制器的控制下進(jìn)行的。首先從程序存儲(chǔ)器中讀出指令
31、,送指令寄存器保存,然后送至指令譯碼器進(jìn)行譯碼,譯碼結(jié)果送定時(shí)控制邏輯電路,由定時(shí)控制邏輯產(chǎn)生各種定時(shí)信號(hào)和控制信號(hào),再送到單片機(jī)的各個(gè)部件去進(jìn)行相應(yīng)的操作。這就是執(zhí)行一條指令的全過程,執(zhí)行程序就是不斷重復(fù)這一過程。</p><p> 控制器主要包括程序計(jì)數(shù)器、程序地址寄存器、指令寄存器IR、指令譯碼器、條件轉(zhuǎn)移邏輯電路及時(shí)序控制邏輯電路。</p><p> 2.1.1 程序計(jì)數(shù)器&
32、lt;/p><p> 程序計(jì)數(shù)器PC是控制部件中最基本的寄存器,是一個(gè)獨(dú)立的計(jì)數(shù)器,存放著下一條將要從程序存儲(chǔ)器中取出的指令的地址。其基本的工作過程是:讀指令時(shí),程序計(jì)數(shù)器將其中的數(shù)作為所取指令的地址輸出給程序存儲(chǔ)器,然后程序存儲(chǔ)器按此地址輸出指令字節(jié),同時(shí)程序計(jì)數(shù)器本身自動(dòng)加1,讀完本指令,PC指向下一條指令在程序存儲(chǔ)器中的地址。</p><p> 程序計(jì)數(shù)器PC中內(nèi)容的變化決定程序的流
33、程。程序計(jì)數(shù)器的寬度決定了單片機(jī)對程序存儲(chǔ)器可以直接尋址的范圍。在MCS-51單片機(jī)中,程序計(jì)數(shù)器PC是一個(gè)16位的計(jì)數(shù)器,故可對64KB(216=65536=64K)的程序存儲(chǔ)器進(jìn)行尋址。</p><p> 程序計(jì)數(shù)器的基本工作方式有以下幾種:</p><p> (1) 序計(jì)數(shù)器自動(dòng)加1,這是最基本的工作方式,這也是為何該寄存器被稱為計(jì)數(shù)器的原因。</p><p&
34、gt; (2) 行有條件或無條件轉(zhuǎn)移指令時(shí),程序計(jì)數(shù)器將被置入新的數(shù)值,從而使程序的流向發(fā)生變化。</p><p> (3) 在執(zhí)行調(diào)用子程序指令或響應(yīng)中斷時(shí),單片機(jī)自動(dòng)完成如下的操作: </p><p> [1] PC的現(xiàn)行值, 即下一條將要執(zhí)行的指令的地址,即斷點(diǎn)值,自動(dòng)送入堆棧。</p><p> [2] 將子程序的入口地址或中斷向量的地址送入PC,程
35、序流向發(fā)生變化,執(zhí)行子程序或中斷子程序。子程序或中斷子程序執(zhí)行完畢,遇到返回指令RET或RETI時(shí),將棧頂?shù)臄帱c(diǎn)值彈到程序計(jì)數(shù)器PC中,程序的流程又返回到原來的地方,繼續(xù)執(zhí)行。</p><p> 2.1.2 指令控制邏輯電路</p><p> 指令寄存器IR是用來存放指令操作碼的專用寄存器。執(zhí)行程序時(shí),首先進(jìn)行程序存儲(chǔ)器的讀指令操作,也就是根據(jù)PC給出的地址從程序存儲(chǔ)器中取出指令,并
36、送指令寄存器IR,IR的輸出送指令譯碼器;然后由指令譯碼器對該指令進(jìn)行譯碼,譯碼結(jié)果送定時(shí)控制邏輯電路。定時(shí)控制邏輯電路根據(jù)指令的性質(zhì)發(fā)出一系列的定時(shí)控制信號(hào),控制單片機(jī)的各組成部件進(jìn)行相應(yīng)的工作,執(zhí)行指令。</p><p> 條件轉(zhuǎn)移邏輯電路主要用來控制程序的分支轉(zhuǎn)移。</p><p> 綜上所述,單片機(jī)整個(gè)程序的執(zhí)行過程就是在控制部件的控制下,將指令從程序存儲(chǔ)器中逐條去處,進(jìn)行譯碼
37、,然后由定時(shí)控制電路發(fā)出各種定時(shí)控制信號(hào),控制指令的執(zhí)行。對于運(yùn)算指令,還要將運(yùn)算的結(jié)果特征送入程序狀態(tài)寄存器PSW。以主振頻率為基準(zhǔn)(每個(gè)主振周期為振蕩周期),控制器控制CPU的時(shí)序,對指令進(jìn)行譯碼,然后發(fā)出各種控制信號(hào),它將各個(gè)硬件環(huán)節(jié)的動(dòng)作組織在一起。</p><p> 2.2 存儲(chǔ)器的結(jié)構(gòu)</p><p> MCS-51單片機(jī)存儲(chǔ)器采用的是哈佛(Har-vard)結(jié)構(gòu),即程序
38、存儲(chǔ)器空間和數(shù)據(jù)存儲(chǔ)器空間截然分開,程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器各有自己的尋址方式,尋址空間和控制系統(tǒng)。</p><p> 這種結(jié)構(gòu)對于單片機(jī)“面向控制”的實(shí)際應(yīng)用極為方便和有利。在89C51/8751單片機(jī)中,不僅在片內(nèi)集成了一定容量的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器及眾多的特殊功能寄存器,而且還具有極強(qiáng)的外存儲(chǔ)器的擴(kuò)展能力,尋址能力分別可達(dá)64KB,尋址和操作簡單方便。MCS-51的存儲(chǔ)器空間可劃分為如下幾類:</p
39、><p><b> 1. 程序存儲(chǔ)器</b></p><p> 單片機(jī)系統(tǒng)之所以能夠按照一定的次序進(jìn)行工作,主要是程序存儲(chǔ)器中存放了經(jīng)調(diào)試正確的應(yīng)用程序和表格之類的固定常數(shù)。程序?qū)嶋H上是一串二進(jìn)制碼,程序存儲(chǔ)器可以分為片內(nèi)和片外兩部分。8031由于無內(nèi)部存儲(chǔ)器,所以只能外擴(kuò)程序存儲(chǔ)器來存放程序。</p><p> MCS-51單片機(jī)復(fù)位后,
40、程序存儲(chǔ)器PC的內(nèi)容為0000H,故系統(tǒng)必須從0000H單元開始取指令,執(zhí)行程序。程序存儲(chǔ)器中的0000H地址是系統(tǒng)程序的啟動(dòng)地址。一般在該單元存放一條絕對跳轉(zhuǎn)指令,跳向用戶設(shè)計(jì)的主程序的起始地址。</p><p> 64K程序存儲(chǔ)器中有5個(gè)單元具有特殊用途。5個(gè)特殊單元分別對應(yīng)于5種中斷源的中斷服務(wù)程序的入口地址。通常在這些中斷入口地址處都放一條絕對跳轉(zhuǎn)指令。加跳轉(zhuǎn)指令的目的是由于兩個(gè)中斷入口間隔僅有8個(gè)單元
41、,存放中斷服務(wù)程序往往是不夠用的。</p><p> 在MCS-51單片機(jī)的指令系統(tǒng)中,同外部程序存儲(chǔ)器打交道的指令僅有兩條:</p><p> (1) MOVC A @A+DPTR</p><p> (2) MOVC A @A+PC</p><p> 2. 內(nèi)部數(shù)據(jù)存儲(chǔ)器</p><p> M
42、CS-51單片機(jī)內(nèi)部有128個(gè)字節(jié)的隨機(jī)存取存儲(chǔ)器RAM,作為用戶的數(shù)據(jù)寄存器,它能滿足大多數(shù)控制型應(yīng)用場合的需要,用作處理問題的數(shù)據(jù)緩沖器。</p><p> MCS-51單片機(jī)的片內(nèi)存儲(chǔ)器的字節(jié)地址為00H-7FH。MCS-51單片機(jī)對其內(nèi)部RAM的存儲(chǔ)器有很豐富的操作指令,從而使得用戶在設(shè)計(jì)程序時(shí)非常方便。地址為00H-1FH的32個(gè)單元是4組通用工作寄存器區(qū),每個(gè)區(qū)含八個(gè)8位寄存器,編號(hào)為R7-R0。用
43、戶可以通過指令改變PSW中的RS1、RS0這二位來切換當(dāng)前的工作寄存器區(qū),這種功能給軟件設(shè)計(jì)帶來極大的方便,特別是在中斷嵌套時(shí),為實(shí)現(xiàn)工作寄存器現(xiàn)場內(nèi)容保護(hù)提供了極大的方便。</p><p> 地址為20H-2FH的16個(gè)單元可進(jìn)行共128位的位尋址,這些單元構(gòu)成了1位處理機(jī)的存儲(chǔ)空間。單元中的每一位都有自己的位地址,這16個(gè)單元也可以進(jìn)行字節(jié)尋址。地址為30H-7FH的單元為用戶RAM區(qū),只能進(jìn)行字節(jié)尋址。&
44、lt;/p><p> 3. 特殊功能寄存器(SFR-Special Function Register)</p><p> 特殊功能寄存器反映了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.特殊功能寄存器的
45、總數(shù)為21個(gè),離散的分布在該區(qū)域中,其中有些SFR還可以進(jìn)行位尋址。128個(gè)字節(jié)的SFR塊中僅有21個(gè)字節(jié)是由定義的。對于尚未定義的字節(jié)地址單元,用戶不能作寄存器使用,若訪問沒有定義的單元,則將得到一個(gè)不確定的隨機(jī)數(shù)。</p><p><b> 4. 位尋址空間</b></p><p> MCS-51單片機(jī)的一個(gè)很大優(yōu)點(diǎn)在于它具有一個(gè)功能很強(qiáng)的位處理器。在MCS
46、-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è))中。 當(dāng)MCS-51單片機(jī)的片內(nèi)RAM不夠用時(shí),可在片外擴(kuò)充數(shù)據(jù)存儲(chǔ)器。MCS-51單片機(jī)給用戶提供了可尋址64K字節(jié)的外擴(kuò)RAM的能力,至于擴(kuò)多少RAM,則根據(jù)用戶實(shí)際需要來定。</p><p>
47、 2.3 并行I/O口</p><p> MCS-51單片機(jī)共有4個(gè)雙向的8位并行I/O端口(Port),分別記作P0-P3,共有32根口線,各口的每一位均由鎖存器、輸出驅(qū)動(dòng)器和輸入緩沖器所組成。實(shí)際上P0-P3已被歸入特殊功能寄存器之列。這四個(gè)口除了按字節(jié)尋址以外,還可以按位尋址。由于它們在結(jié)構(gòu)上有一些差異,故各口的性質(zhì)和功能有一些差異。</p><p> P0口是雙向8位三態(tài)I/
48、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口是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í),要向該口先寫“1”,另外準(zhǔn)雙向I/O口無高阻的“浮空”狀態(tài)
49、,故稱為雙向三態(tài)I/O 口。</p><p> P0-P3口都是并行I/O口,都可用于數(shù)據(jù)的輸入和輸出,但P0口和P2口出了可進(jìn)行數(shù)據(jù)的輸入/輸出外,通常用來構(gòu)建系統(tǒng)的數(shù)據(jù)總線和地址總線,所以在電路中有一個(gè)多路轉(zhuǎn)換開關(guān)MUX,以便進(jìn)行兩種用途的轉(zhuǎn)換。而P1口和P3口沒有構(gòu)建系統(tǒng)的數(shù)據(jù)總線和地址總線的功能。因此,在電路中沒有多路轉(zhuǎn)接開關(guān)MUX。由于P0口可作為地址/數(shù)據(jù)復(fù)用線試用,需傳送系統(tǒng)的低8位地址和8位數(shù)據(jù)
50、,因此,MUX的一個(gè)輸入端為“地址/數(shù)據(jù)”信號(hào)。而P2口僅作為高位地址線試用,不涉及數(shù)據(jù),所以MUX的一個(gè)輸入信號(hào)為“地址”。</p><p> 在4個(gè)口中只有P0口是一個(gè)真正的雙向口,P1-P3這三個(gè)口都是準(zhǔn)雙向口。原因是在應(yīng)用系統(tǒng)中,P0口作為系統(tǒng)的數(shù)據(jù)總線使用時(shí),為保證數(shù)據(jù)的正確傳送,需要解決芯片內(nèi)外的隔離問題,即只有在數(shù)據(jù)傳送時(shí)芯片內(nèi)外才接通;不進(jìn)行數(shù)據(jù)傳遞時(shí),芯片內(nèi)外處于隔離狀態(tài)。為此,要求P0口的輸
51、出緩沖器是一個(gè)三態(tài)門。</p><p> 在P0口中輸出三態(tài)門是由兩只場效應(yīng)管(FET)組成,所以說它是一個(gè)真正的雙向口。而其他的三個(gè)口中,上拉電阻代替P0口中的場效應(yīng)管,輸出緩沖器不是三態(tài)的,因此不是真正的雙向口,只能稱其為準(zhǔn)雙向口。P3口的口線具有第二功能,為系統(tǒng)提供一些控制信號(hào),因此在P3口電路增加了第二功能控制邏輯。這是P3口與其他各口的不同之處。</p><p> 2.4
52、時(shí)鐘電路與時(shí)序</p><p> 時(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)系。</p><p> 在執(zhí)行指令時(shí),CPU首先要到程序存儲(chǔ)器中取出需要執(zhí)行的指令操作碼,然后譯碼,并由時(shí)序電路
53、產(chǎn)生一系列控制信號(hào)去完成指令所規(guī)定的操作。CPU發(fā)出的時(shí)序信號(hào)有兩類,一類用于片內(nèi)對各個(gè)功能部件的控制,這類信號(hào)很多。另一類用于片外存儲(chǔ)器或I/O端口的控制,這部分時(shí)序?qū)τ诜治?、設(shè)計(jì)硬件接口電路至關(guān)重要。這也是單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)者普遍關(guān)心的問題。</p><p> 2.5 單片機(jī)的中斷</p><p> MCS-51系列中,有5個(gè)中斷源。它們可分為2個(gè)優(yōu)先級(jí).其中每一個(gè)中斷源的優(yōu)先級(jí)
54、都可以由程序排定。5個(gè)中斷源的中斷要求是否會(huì)得到響應(yīng),受允許中斷寄存器IE中各位的控制;它們的優(yōu)先級(jí)分別由中斷優(yōu)先級(jí)寄存器IP的各位確定;同—優(yōu)先級(jí)內(nèi)的各中斷源同時(shí)要求中斷時(shí),還要靠內(nèi)部的查詢邏輯來確定響應(yīng)的次序,不同的中斷源有不同的中斷向量。MCS-52子系列的中斷系統(tǒng)與此類同,只不過增加了一個(gè)中斷源。</p><p> 1. 允許中斷寄存器IE</p><p> (1) EA(I
55、E.7)總允許位。EA=0,禁止一切中斷。EA=l,則每個(gè)中斷源是允許還是禁止,分別由各自的允許位確定。</p><p> (2) (IE.6)保留位。</p><p> (3) (IE.5)保留位。</p><p> (4) ES(IE.4)串行口中斷允許位。ES=0,禁止串行口中斷。</p><p> (5) ETl(IE.3)定
56、時(shí)器1中斷允許這。ET1=0,禁止定時(shí)器1中斷。</p><p> (6) EXl(IE.2)外部中斷l(xiāng)允許位。EX1=0,禁止外部中斷1。</p><p> (7) ET0(IE.1)定時(shí)器0中斷允許位。ET0=0,禁止定時(shí)器0中斷。</p><p> (8) EX0(IE .0)外部中斷0允許位。EX0=0,禁止外部中斷0。</p><
57、p> 2. 中斷優(yōu)先級(jí)寄存器IP</p><p> MCS-51的中斷分為2個(gè)優(yōu)先級(jí)。每個(gè)中斷源的優(yōu)先級(jí)都可以通過中斷優(yōu)先級(jí)寄存器IP中的相應(yīng)位來設(shè)定。其中:</p><p> (1) (IP.7)保留位。</p><p> (2) (IP.6)保留位。</p><p> (3) (IP.5)保留位。</p>
58、<p> (4) PS(1P.4)串行口中斷優(yōu)先級(jí)設(shè)定位。PS=1,設(shè)定為高優(yōu)先級(jí)。</p><p> (5) PT1(1P.3)定時(shí)器1中斷優(yōu)先級(jí)設(shè)定位。PTl=1.設(shè)定為高優(yōu)先級(jí)。</p><p> (6) PXl(IP.2)外部中斷1優(yōu)先級(jí)設(shè)定位。PXl=1,設(shè)定為高優(yōu)先級(jí)。</p><p> (7) PT0(IP.l)定時(shí)器0中斷優(yōu)先級(jí)設(shè)定
59、位。PT0=1,設(shè)定為高優(yōu)先級(jí)。</p><p> (8) PX0(1P0)外部中斷0優(yōu)先級(jí)設(shè)定位。PX0=1,設(shè)定為高優(yōu)先級(jí)。</p><p><b> 3. 優(yōu)先級(jí)結(jié)構(gòu)</b></p><p> 靠IP寄存器把各中斷源的優(yōu)先級(jí)分為高低兩級(jí)。它們遵循這樣兩條基本規(guī)則:</p><p> (1) 低優(yōu)先級(jí)中斷可
60、被高優(yōu)先級(jí)中斷所中斷,反之不能;</p><p> (2) 一種中斷(不管是什么優(yōu)先級(jí))一旦得到響應(yīng),與它同級(jí)的中斷不能再中斷它。</p><p> 為了實(shí)現(xiàn)這兩條規(guī)則,中斷系統(tǒng)內(nèi)部包含兩個(gè)不可尋址的“優(yōu)先級(jí)激活”觸發(fā)器。其中一個(gè)觸發(fā)器指示某高優(yōu)先級(jí)的中斷正在得到服務(wù),所有后來的中斷都被阻斷。另一個(gè)觸發(fā)器指示某低優(yōu)先級(jí)的中斷正得到服務(wù),所有同級(jí)的中斷都被阻斷,但不阻斷高優(yōu)先級(jí)的中斷。&
61、lt;/p><p> 當(dāng)同時(shí)收到幾個(gè)同一優(yōu)先級(jí)的中斷要求時(shí),哪一個(gè)要求得到服務(wù),取決于內(nèi)部的查詢順序,相當(dāng)于在每個(gè)優(yōu)先級(jí)內(nèi),還同時(shí)存在另一個(gè)輔助優(yōu)先結(jié)構(gòu)。如;</p><p> 中斷源: 同級(jí)內(nèi)的優(yōu)先權(quán)</p><p> 外部中斷0 最高</p><p> 定時(shí)器
62、/計(jì)數(shù)器0溢出</p><p><b> 外部中斷1</b></p><p> 定時(shí)器/計(jì)數(shù)器1溢出</p><p> 串行口 最低</p><p> 在每一機(jī)器周期中,所有中斷源都順序地被檢查一遍;這樣到任一周期的S6狀態(tài)時(shí),找到了所有已激活的中斷請求,并排好了優(yōu)
63、先權(quán)。在下一機(jī)器周期的S1狀態(tài),只要不受阻斷就開始響應(yīng)其中最高優(yōu)先級(jí)的中斷請求。若發(fā)生下列情況,中斷響應(yīng)會(huì)受到阻斷:</p><p> (1) 同級(jí)或高優(yōu)先級(jí)的中斷已在進(jìn)行中;</p><p> (2) 正在執(zhí)行的指令,尚未完成其最后一個(gè)機(jī)器周期(換言之,正在執(zhí)行的指令完成前,任何中斷請求都得不到響應(yīng));</p><p> (3) 正在執(zhí)行的是一條RETI或者
64、訪問專用寄存器IE或IP的指令(換言之,在RETI或者讀寫IE或IP之后,不會(huì)馬上響應(yīng)中斷請求,而至少在執(zhí)行一條其他指令之后才會(huì)響應(yīng))。</p><p> 若存在上述任一種情況,中斷查詢結(jié)果就被取消。否則.在緊接著的下一個(gè)機(jī)器周期,中斷查詢結(jié)果變?yōu)橛行А?lt;/p><p> 4. 中斷響應(yīng)協(xié)議</p><p> 當(dāng)某中斷源提出中斷請求后,作為應(yīng)答,CPU首先使
65、相應(yīng)的“優(yōu)先級(jí)激活”觸發(fā)器置位,以阻斷同級(jí)和低級(jí)的中斷。然后,根據(jù)中斷源的類別,在硬件的控制下,程序轉(zhuǎn)向相應(yīng)的向量單元,執(zhí)行中斷服務(wù)子程序。</p><p> 硬件中斷服務(wù)子程序調(diào)用時(shí),把當(dāng)時(shí)程序計(jì)數(shù)器PC的內(nèi)容壓入堆棧(在MCS—5l中,PC是16位的,占用了2個(gè)字節(jié),沒有自動(dòng)保存程序狀態(tài)字PSW的內(nèi)容),同時(shí)還根據(jù)中斷的來源,把相應(yīng)的向量單元地址裝入PC中。這些向量地址是:</p><p
66、> 中斷源 向量單元</p><p> 外部中斷0 0003H</p><p> 定時(shí)器0溢出 000BH</p><p> 外部中斷1 00l3H</p>&l
67、t;p> 定時(shí)器1溢出 001BH</p><p> 串行口 0023H</p><p> 中斷服務(wù)子程序的最后一條指令應(yīng)是RETI(中斷返回)。RETI指令將清除“優(yōu)先級(jí)激活”觸發(fā)器(該觸發(fā)器在響應(yīng)中斷時(shí)被置位)。然后由堆棧彈出兩個(gè)字節(jié)(下一條指令地址)裝入到PC中。</p>
68、;<p><b> 5. 外部中斷</b></p><p> 外部中斷的激活方式分為兩種:一種是電平激活.另一種是邊沿激活。這兩種方式可以靠TCON寄存器中的中斷方式位ITI或IT0來控制。若=0(X為0或l,后文中用到類同的符號(hào),其含意相似),則采用電平激活方式:在引腳上檢測到低電平,將觸發(fā)外部中斷。若=1,則采用邊沿激活方式:在相繼的兩個(gè)周期中,對引腳進(jìn)行連續(xù)兩次采樣
69、,若第一次采樣值為高,第二次為低,則TCON寄存器中的中斷請求標(biāo)志IEx被置1,以請求中斷。</p><p> 由于外部中斷引腳每個(gè)機(jī)器周期被采樣一次,為確保采樣,由引腳輸入的信號(hào)應(yīng)至少保持一個(gè)機(jī)器周期,即12個(gè)振蕩器周期。如果外部中斷為邊沿激活方式,則引腳處的高電平和低電平值至少各保持一個(gè)機(jī)器周期,才能確保CPU檢測到電平的跳變,而把中斷請求標(biāo)志IEx置1。</p><p> 如果采
70、用電平激活外部中斷方式,外部中斷源應(yīng)一直保持中斷請求有效,直至所請求的中斷得到響應(yīng)時(shí)為止。</p><p> 6 . 中斷請求的撤除</p><p> CPU響應(yīng)某中斷請求后,在中斷返回(RETI)前,該中斷請求應(yīng)該撤除,否則會(huì)引起另一次中斷。</p><p> 對于定時(shí)器0或1溢出中斷,CPU在響應(yīng)中斷后,就用硬件清除了有關(guān)的中斷請求標(biāo)志TF0(TCON.
71、5)或TFl(TCON.?),即中斷請求是自動(dòng)撤除的,無需采取其他措施。</p><p> 對于邊沿激活的外部中斷,CPU在響應(yīng)中斷后,也用硬件清除了有關(guān)的中斷請求標(biāo)志IE0(TCON.1),或IEl(TCON.3), 自動(dòng)撤除了中斷請求。</p><p> 對于電平激活的外部中斷,由于在硬件上,CPU對和引腳的信號(hào)完全沒有控制(在專用寄存器中,沒有相應(yīng)的中斷請求標(biāo)志),也不像某些微處
72、理機(jī)那樣.響應(yīng)中斷后會(huì)自動(dòng)發(fā)出一個(gè)應(yīng)答信號(hào)。因此在MCS-5l的用戶系統(tǒng)中,要另外采取撤除外部中斷的措施。例如,可以利用單穩(wěn)態(tài)觸發(fā)器對中斷源信號(hào)進(jìn)行整形,使之符合要求。</p><p> 7. 中斷響應(yīng)時(shí)間</p><p> 現(xiàn)以外部中斷為例,說明中斷響應(yīng)的最短時(shí)間。在每個(gè)機(jī)器周期的S5P2,和端的電平被鎖到內(nèi)部保持寄存器中,而實(shí)際上在下一個(gè)周期才會(huì)查詢這些值。如果中斷請求有效,一般
73、情況下,下一條要執(zhí)行的指令將是一條硬件子程序調(diào)用指令,調(diào)用所要求的服務(wù)程序。調(diào)用本身要花費(fèi)兩個(gè)機(jī)器周期。這樣,從外部中斷請求有效到開始執(zhí)行服務(wù)程序的第一條指令,中間要隔3個(gè)周期,這是最短的響應(yīng)時(shí)間。</p><p> 如果發(fā)生了第3節(jié)所述的3種情況之一,那么中斷請求受阻,中斷響應(yīng)時(shí)間會(huì)更長些。如果一個(gè)同級(jí)的或高優(yōu)先級(jí)的中斷已經(jīng)在進(jìn)行,則很顯然,附加的等待時(shí)間將取決正在進(jìn)行的中斷服務(wù)程序。若正在執(zhí)行的一條指令還沒
74、有進(jìn)行到最后一個(gè)周期,那么附加的等待時(shí)間不會(huì)超過3個(gè)周期,因?yàn)橐粭l指令的最長執(zhí)行時(shí)間為4個(gè)周期(MUL和DIV)。如果正在執(zhí)行的是RETI指令或者是訪問IE或IP的指令,則附加的等待時(shí)間不會(huì)超過5個(gè)周期(為完成正在執(zhí)行的指令,還需要一個(gè)周期,加上為完成下一條指令所需要的最長時(shí)間——4個(gè)周期,故最長為5個(gè)周期)。若系統(tǒng)中只有一個(gè)中斷源,則響應(yīng)時(shí)間在3個(gè)同期到8個(gè)周期之間。</p><p> 2.6 單片機(jī)的工作
75、方式</p><p> 單片機(jī)的工作方式包括:復(fù)位方式、程序執(zhí)行方式、單步執(zhí)行方式、低功耗操作方式以及EPROM編程和校驗(yàn)方式。</p><p><b> 1. 復(fù)位方式</b></p><p> RST引腳是復(fù)位信號(hào)的輸入端。復(fù)位信號(hào)是高電平有效。高電平有效的持續(xù)時(shí)間應(yīng)為24個(gè)振蕩周期以上。若時(shí)鐘頻率為6MHz,則復(fù)位信號(hào)至少應(yīng)持續(xù)4
76、us以上,才可以使單片機(jī)復(fù)位。復(fù)位以后,07H寫入棧指針SP,P0-P3口均置1(允許輸入),程序計(jì)數(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ī)的。</p><p> 單片機(jī)的復(fù)位方式有上電自動(dòng)復(fù)位和手工復(fù)位兩種。<
77、/p><p> 2. 程序執(zhí)行方式</p><p> 程序執(zhí)行方式是單片機(jī)的基本工作方式。所執(zhí)行的程序可以在內(nèi)部ROM、外部ROM或者同時(shí)放在內(nèi)外ROM中。若程序放在外部ROM中(如對8031),則應(yīng)使=0,否則,可使=1。由于復(fù)位之后PC=0000H,所以程序的執(zhí)行總是從地址0000H開始的。但真正的程序一般不可能從0000H開始存放,因此,需要在0000H單元開始存放一條轉(zhuǎn)移指令,從
78、而使程序跳轉(zhuǎn)到真正的程序入口地址。</p><p> 3. 單步執(zhí)行方式</p><p> 單步執(zhí)行方式是使程序的執(zhí)行處于外加脈沖(通常用一個(gè)按鍵產(chǎn)生)的控制下,逐次逐條執(zhí)行指令,即按一次鍵,執(zhí)行一條指令。</p><p> 單步執(zhí)行方式可以利用MCS-51的中斷控制來實(shí)現(xiàn)。其中斷系統(tǒng)規(guī)定:從中斷服務(wù)程序返回以后至少要執(zhí)行一條指令后才能重新進(jìn)入中斷。將外加脈
79、沖加到輸入,平時(shí)為低電平。通過編程規(guī)定使信號(hào)低電平有效,因此不來脈沖時(shí)總是處于響應(yīng)中斷的狀態(tài)。在中斷服務(wù)中要安排這樣的指令:</p><p> JNB P3.2 $ ;不往下執(zhí)行</p><p> JB P3.2 $ ;不往下執(zhí)行</p><p> RETI ;返回主程序執(zhí)行一條指令</p><p>
80、 因此,只有上來一個(gè)正脈沖,才能通過第一、第二兩條指令,返回主程序并執(zhí)行一條指令,由于此時(shí)已回到0,故重新進(jìn)入中斷,在第一條指令處等待正脈沖的到來。從而實(shí)現(xiàn)來一個(gè)脈沖執(zhí)行一條指令的單步操作。</p><p> 4. 低功耗操作方式</p><p> CMOS型單片機(jī)有兩種低功耗操作方式:節(jié)電操作方式和掉電操作方式。在節(jié)電方式時(shí),CPU停止工作,而RAM、定時(shí)器、串行口和中斷系統(tǒng)繼續(xù)工
81、作。在掉電方式時(shí),僅給片內(nèi)RAM供電,片內(nèi)所有其他的電路均不工作。</p><p> CMOS型單片機(jī)用軟件來選擇操作方式,由電源控制寄存器PCON中的有關(guān)位控制。這些有關(guān)的位是:</p><p> IDL(PCON.0) ;節(jié)電方式位。IDL=1時(shí),激活節(jié)電方式</p><p> PD(PCON.1) ;掉電方式位。PD=1時(shí),激活掉電方式
82、</p><p> GF0(PCON.2) ;通用標(biāo)志位</p><p> GF1(PCON.3) ;通用標(biāo)志位</p><p><b> (1) 節(jié)電方式</b></p><p> 一條將IDL位置1的指令執(zhí)行后,MCS-51就進(jìn)入節(jié)電方式。這時(shí)提供給CPU的時(shí)鐘信號(hào)被切斷,但時(shí)鐘信號(hào)仍提供給R
83、AM、定時(shí)器、中斷系統(tǒng)和串行口,同時(shí)CPU的狀態(tài)被保留起來,也就是棧指針SP、程序計(jì)數(shù)器PC、程序狀態(tài)字PSW、累加器Acc及通用寄存器的內(nèi)容。</p><p> 在節(jié)電方式下, Vcc仍為5V,但消耗電流由正常工作方式的24mA降為3.7mA??梢杂袃蓷l途徑退出節(jié)電方式恢復(fù)到正常方式。</p><p> 一條途徑是有任一種中斷被激活,此時(shí)IDL位將被硬件清除,隨之節(jié)電狀態(tài)被結(jié)束。中斷
84、返回時(shí)將回到進(jìn)入節(jié)電方式的指令后的一條指令,恢復(fù)到正常方式。</p><p> PCON中的標(biāo)志位GF0和GF1可以用作軟件標(biāo)志,若置IDL=1的同時(shí)也置GF0=GF1=1,則節(jié)電方式中激活的中斷服務(wù)程序查詢到此標(biāo)志便可以確定服務(wù)的性質(zhì)。推出節(jié)電方式的另一種方法是靠硬件復(fù)位,復(fù)位后PCON中各位均被清零。</p><p><b> (2) 掉電方式</b><
85、/p><p> 一條將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í)間,以保證振蕩器再啟動(dòng)并達(dá)到穩(wěn)定,實(shí)際上復(fù)位本身只需24個(gè)振蕩周期(2-4 us)。但在進(jìn)
86、入掉電方式前,VCC不能掉下來,因此要有掉電監(jiān)測電路。</p><p> 5. EPROM編程和校驗(yàn)方式</p><p> 對于內(nèi)部集成有EPROM的MCS-51單片機(jī),可以進(jìn)入編程或校驗(yàn)方式。</p><p> (1) 內(nèi)部EPROM編程</p><p> 編程時(shí),時(shí)鐘頻率應(yīng)在4MHz-6MHz的范圍內(nèi),其余有關(guān)引腳的接法和用法如
87、下:</p><p> [1] P1口和P2口的P2.0-P2.3為EPROM的4KB的高地址輸入,P1口為低8位地址;</p><p> [2] P2.4-P2.6以及應(yīng)為低電平;</p><p> [3] P0口為編程數(shù)據(jù)輸入;</p><p> [4] P2.7和RS應(yīng)為高電平,RST的高電平可為2.5V,其余的都以TTL的高低
88、電平為準(zhǔn);</p><p> [5] /VPP端加+12.5V的編程脈沖,此電壓要求穩(wěn)定,不能大于12.5V,否則會(huì)破壞EPROM;</p><p> 在/VPP出現(xiàn)正脈沖期間,ALE/PROG端上加50ms的負(fù)脈沖,完成一次寫入。8751的EPROM編程一般要用專門的單片機(jī)編程器來完成。</p><p> (2) EPROM程序校驗(yàn)</p>&
89、lt;p> 在程序的保密位尚未設(shè)置,無論在寫入的當(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í),需在P0口、P1口和P2口的P2.0-P2.3的狀態(tài)隨意。加上編程脈
90、沖后就可使保密位寫入。</p><p> 保密位一旦寫入,內(nèi)部程序存儲(chǔ)器便不能再被寫入和讀出校驗(yàn),而且也不能執(zhí)行外部程序存儲(chǔ)器的程序。只有EPROM全部擦除時(shí),保密位才能一起擦除,也才可以再次寫入。</p><p> 2.7 單片機(jī)的性能特點(diǎn)</p><p> 單片機(jī)把各功能部件集成在一塊芯片上,因此它結(jié)構(gòu)緊湊、超小型化、可靠性高、價(jià)格低廉、易于開發(fā)應(yīng)用。它
91、的主要特點(diǎn)是:</p><p> (1) 集成度高。在單片機(jī)芯片中,除中央處理器 CPU之外,還有存儲(chǔ)器ROM/RAM,I/O接口電路、定時(shí)器/計(jì)數(shù)器等部件,因此集成度高,在幾至幾十平方毫米的芯片上可制作上萬個(gè)晶體管電路。</p><p> (2) 結(jié)構(gòu)緊湊、可靠性高。單片機(jī)把各功能部件集成在一塊芯片上,采用內(nèi)部總線結(jié)構(gòu),減少了多片機(jī)中各芯片之間的連線,大大提高了單片機(jī)的抗干擾能力。另
92、外,單片機(jī)超小型化、結(jié)構(gòu)緊湊、體積小,對于強(qiáng)磁場環(huán)境易于采取屏蔽措施,因而抗干擾能力強(qiáng),可靠性高,適合在一些惡劣環(huán)境中工作。</p><p> (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ù)
93、處理速度。例如MCS-51的CPU,采用12MHz時(shí)鐘時(shí),單字節(jié)乘除法僅需要6.5us。</p><p> (4) 功耗小、成本低。單片機(jī)結(jié)構(gòu)緊湊,數(shù)據(jù)傳送路徑短,所需要功耗??;內(nèi)部采用準(zhǔn)靜態(tài)RAM類似,但不需要刷新,可使功耗下降。</p><p> 單片機(jī)內(nèi)部電路雖然比相應(yīng)微處理器芯片復(fù)雜,但是一旦設(shè)計(jì)好后,進(jìn)入批量生產(chǎn),成本不會(huì)提高。單片機(jī)內(nèi)部設(shè)置一定容量的只讀存儲(chǔ)器ROM/EPR
94、OM,用于存儲(chǔ)用戶的專用程序,這些程序稱之為內(nèi)部程序。內(nèi)部程序可由廠方在制作芯片時(shí)代為燒制,也可由用戶自己寫入,這樣可使單片機(jī)成為具有不同特殊功能的專用機(jī),易于形成產(chǎn)品。</p><p> 2.8 單片機(jī)的應(yīng)用領(lǐng)域</p><p> 單片機(jī)應(yīng)用領(lǐng)域可以歸納為以下幾個(gè)方面。</p><p><b> (1) 智能儀表</b></p&
95、gt;<p> 用單片機(jī)系統(tǒng)取代老式的測量、控制儀表,實(shí)現(xiàn)從模擬儀表向數(shù)字化、智能化儀表的轉(zhuǎn)化,如各種溫度儀表、壓力儀表、流量儀表、電能計(jì)量儀表等。</p><p><b> (2) 測控系統(tǒng)</b></p><p> 用單片機(jī)取代原有的復(fù)雜的模擬數(shù)字電路,完成各種工業(yè)控制、數(shù)據(jù)采集系統(tǒng)等工作。</p><p><b&
96、gt; (3) 電能變換</b></p><p> 應(yīng)用單片機(jī)設(shè)計(jì)變頻調(diào)速控制電路。</p><p><b> (4) 通信</b></p><p> 用單片機(jī)開發(fā)通信模塊、通信器材等。</p><p><b> (5) 機(jī)電產(chǎn)品</b></p><p>
97、; 應(yīng)用單片機(jī)檢測、控制傳統(tǒng)的機(jī)械產(chǎn)品,使傳統(tǒng)的機(jī)械產(chǎn)品結(jié)構(gòu)簡化,控制智能化,提高了機(jī)電產(chǎn)品的可靠性,增強(qiáng)了產(chǎn)品的功能</p><p><b> (6) 智能接口</b></p><p> 在數(shù)據(jù)傳輸中,用單片機(jī)實(shí)現(xiàn)外部設(shè)備與微機(jī)通信。</p><p><b> 2.9 本章小結(jié)</b></p>&
98、lt;p> 本章介紹了單片機(jī)的一些基本硬件結(jié)構(gòu)、特點(diǎn)和應(yīng)用。單片機(jī)是微計(jì)算機(jī)的一個(gè)分支,在原理和結(jié)構(gòu)上,單片機(jī)與微型機(jī)之間沒有根本性的差別,而且微計(jì)算機(jī)的許多技術(shù)都被單片機(jī)繼承下來。單片機(jī)的基本結(jié)構(gòu)依然是CPU加上外圍芯片的傳統(tǒng)結(jié)構(gòu)模式,但對各種功能部件的控制是采用特殊功能寄存器的集中控制方式。</p><p> 第3章 電路的硬件設(shè)計(jì)</p><p> 3.1 總體方案設(shè)計(jì)
99、</p><p> 3.1.1 系統(tǒng)總體框圖</p><p> 整體的設(shè)計(jì)方案為:系統(tǒng)采用單片微處理器89C51為核心,同時(shí)利用74LS373緩沖器、74LS138譯碼器、7404反相器、DAC0832 D/A轉(zhuǎn)換器等完成智能去電控制功能。系統(tǒng)的實(shí)現(xiàn)可以分為以下幾個(gè)模塊:</p><p> 去電信號(hào)產(chǎn)生模塊:用于產(chǎn)生去電信號(hào)。當(dāng)去電信號(hào)的上下限值設(shè)定好后,按
100、下‘*’號(hào)鍵,則產(chǎn)生去電信號(hào)輸出。這部分是設(shè)計(jì)的重中之重,主要是如何控制64個(gè)采樣點(diǎn)的輸出時(shí)序;</p><p> 鍵盤接口模塊:用于處理鍵盤輸入數(shù)據(jù)。用戶可以在鍵盤上輸入所需的去電信號(hào)上下限頻率值,每次輸入以‘#’號(hào)鍵為結(jié)束標(biāo)志;</p><p> 模數(shù)轉(zhuǎn)換模塊:實(shí)現(xiàn)數(shù)字量到模擬量的模數(shù)轉(zhuǎn)換,使最后的輸出為電壓形式的去電信號(hào);</p><p> 去電輸出接口
101、模塊:用于把去電信號(hào)由系統(tǒng)輸出到電話線上。</p><p> 整機(jī)結(jié)構(gòu)圖如下圖所示:</p><p> 圖3-1 系統(tǒng)總體方案圖</p><p> 3.1.2 去電信號(hào)的產(chǎn)生</p><p> 產(chǎn)生頻率周期變化的去電信號(hào)實(shí)際上就是由一個(gè)單一穩(wěn)定的頻率源進(jìn)</p><p> 行分頻或混頻來實(shí)現(xiàn)的。因?yàn)樵撓到y(tǒng)所
102、產(chǎn)生的去電信號(hào)頻率范圍主要集中在低頻段,大約在幾千赫茲左右,所以在信號(hào)產(chǎn)生方面系統(tǒng)采用了DDS(直接數(shù)字頻率合成)技術(shù):用隨機(jī)讀寫存儲(chǔ)器RAM存儲(chǔ)去電信號(hào)的量化數(shù)據(jù),按照不同頻率變化要求以頻率控制字K為步進(jìn),對相位增量進(jìn)行累加,以累加相位值作為地址碼讀取存放在存儲(chǔ)器內(nèi)的去電信號(hào),再經(jīng)過D/A轉(zhuǎn)換和濾波即可得到去電輸出信號(hào)。由于DDS技術(shù)采用了全數(shù)字結(jié)構(gòu),與傳統(tǒng)的單環(huán)、雙環(huán)、多環(huán)及小數(shù)分頻等頻率合成技術(shù)相比,它具有合成信號(hào)相對頻帶寬、工作
103、速度快及信噪比高等優(yōu)點(diǎn),便于實(shí)現(xiàn)后期功能擴(kuò)展。</p><p> DDS基本工作過程如下:模數(shù)為的相位累加器,在時(shí)鐘的控制下,將頻率控制字K進(jìn)行累加,對每個(gè)時(shí)鐘脈沖,相位累加器在原值基礎(chǔ)上加K,滿量(即到2n) 后,以剩余數(shù)為基礎(chǔ)重復(fù)進(jìn)行K的累加過程,累加器的輸出作為去電信號(hào)查詢表的地址,去電信號(hào)查詢表內(nèi)所存儲(chǔ)的內(nèi)容是相應(yīng)的 的值。其中R 為相位累加器的內(nèi)容,去電信號(hào)查詢表的輸出經(jīng)DAC 變換在經(jīng)過濾波后就得到
104、所需要的去電輸出信號(hào)。</p><p><b> 3.2 復(fù)位電路</b></p><p> MCS-51單片機(jī)的復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的。復(fù)位電路通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。</p><p> 本電路采用的是上電復(fù)位方式。復(fù)位電路如下圖所示:</p><p><b> 圖3-3 復(fù)
105、位電路</b></p><p> 上電復(fù)位:上電復(fù)位電路是—種簡單的復(fù)位電路,只要在RST復(fù)位引腳接一個(gè)電容到Vcc,接一個(gè)電阻到地就可以了。上電復(fù)位是指在給系統(tǒng)上電時(shí),復(fù)位電路通過電容加到RST復(fù)位引腳一個(gè)短暫的高電平信號(hào),這個(gè)復(fù)位信號(hào)隨著Vcc對電容的充電過程而回落,所以RST引腳復(fù)位的高電平維持時(shí)間取決于電容的充電時(shí)間。為了保證系統(tǒng)安全可靠的復(fù)位,RST引腳的高電平信號(hào)必須維持足夠長的時(shí)間。&
106、lt;/p><p> 手動(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ù)位。</p><p> 上電自動(dòng)復(fù)位是通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的。只要Vcc的上升時(shí)間不超過1ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)
107、位。除了上電復(fù)位外,有時(shí)還需要按鍵手動(dòng)復(fù)位。按鍵手動(dòng)復(fù)位有電平方式和脈沖方式兩種。</p><p><b> 3.3 時(shí)鐘電路</b></p><p> 時(shí)鐘是單片機(jī)的心臟,單片機(jī)各功能部件的運(yùn)行都是以時(shí)鐘頻率為基準(zhǔn),有條不紊的一拍一拍地工作。因此,時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。常用的時(shí)鐘電路有兩種方式:一種是內(nèi)部時(shí)鐘
108、方式,另一種為外部時(shí)鐘方式。本文用的是內(nèi)部時(shí)鐘方式。</p><p> 時(shí)鐘電路如下圖所示:</p><p><b> 圖3-4 時(shí)鐘電路</b></p><p> MCS-51單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,該高增益反向放大器的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。這兩個(gè)引腳跨接石英晶體振蕩器和微調(diào)電容,
109、就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。</p><p><b> 3.4 按鍵電路</b></p><p> 按鍵是一組常開的按鍵開關(guān),每個(gè)按鍵都被賦予一個(gè)代碼,稱為鍵碼。按鍵的開關(guān)狀態(tài)通過一定的電路轉(zhuǎn)換為高、低電平狀態(tài)。按鍵閉合過程在相應(yīng)的I/O端口形成一個(gè)負(fù)脈沖。閉合和釋放過程都要經(jīng)過一定的過程才能達(dá)到穩(wěn)定,這一過程是處于高、低電平之間的一種不穩(wěn)定狀態(tài),稱為抖動(dòng)。抖動(dòng)
110、持續(xù)時(shí)間的常長短與開關(guān)的機(jī)械特性有關(guān),一般在5-10ms之間。為了避免CPU多次處理按鍵的一次閉合,應(yīng)采用措施消除抖動(dòng)。本文在軟件中采用了相應(yīng)的軟件程序來消除抖動(dòng)。當(dāng)發(fā)現(xiàn)有鍵按下時(shí),延時(shí)10-20ms再查詢是否有鍵按下,若沒有鍵按下,說明上次查詢結(jié)果為干擾或抖動(dòng);若仍有鍵按下,則說明閉合鍵已穩(wěn)定。</p><p> 本文采用的是獨(dú)立式按鍵,直接用I/O口線構(gòu)成單個(gè)按鍵電路,每個(gè)按鍵占用一條I/O口線,每個(gè)按鍵的
111、工作狀態(tài)不會(huì)產(chǎn)生互相影響。</p><p> 鍵盤電路如下圖所示:</p><p> 圖3-5 鍵盤接口電路</p><p> 鍵盤是人機(jī)交互的窗口,通過鍵盤實(shí)現(xiàn)人對設(shè)備的控制和設(shè)置。本裝置的鍵盤共12鍵,其中‘0’~‘9’鍵用于輸入去電信號(hào)上、下限頻率值;‘#’號(hào)鍵是數(shù)值輸入結(jié)束標(biāo)志;‘*’號(hào)鍵是頻率設(shè)定結(jié)束后的去電開始標(biāo)志。這12鍵與8255A的PB口和P
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能空調(diào)節(jié)電控制器畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-智能路燈控制器設(shè)計(jì)
- 智能時(shí)間控制器畢業(yè)設(shè)計(jì)
- 智能溫度控制器畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--太陽能充電控制器設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--led路燈智能控制器的設(shè)計(jì)
- 太陽能充電控制器設(shè)計(jì) 畢業(yè)設(shè)計(jì)
- 太陽能充電控制器設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)論文--智能溫度控制器
- 凈化臺(tái)智能控制器畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--led路燈智能控制器的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----智能水塔水位控制器
- 具有保護(hù)功能的智能充電控制器的設(shè)計(jì)
- 室內(nèi)建筑智能環(huán)境控制器設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 基于android的智能家電控制器的設(shè)計(jì)實(shí)現(xiàn)
- 高壓真空斷路器智能控制器畢業(yè)設(shè)計(jì)
- 機(jī)械手臂智能控制器的研究【畢業(yè)設(shè)計(jì)】
- 機(jī)械手臂智能控制器的研究【畢業(yè)設(shè)計(jì)】
- 基于單片機(jī)的智能pid控制器設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---汽車控制器的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論