單片機原理與接口技術(第4章)_第1頁
單片機原理與接口技術(第4章)_第2頁
單片機原理與接口技術(第4章)_第3頁
單片機原理與接口技術(第4章)_第4頁
單片機原理與接口技術(第4章)_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

單片機原理與接口技術

第4章4章單片機的最小系統(tǒng)及系統(tǒng)擴展

第4章單片機的最小系統(tǒng)及系統(tǒng)擴展開發(fā)設計MCS-51應用系統(tǒng),通常是由一個簡單的系統(tǒng)開始的,通過這個過程,可以逐步地掌握MCS-51系列單片機的性能和開發(fā)技巧。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

4.1AT89C51單片機性能介紹

AT89C51是一種帶4KB可編程/可擦除只讀存儲器的低電壓,高性能CMOS的8位微處理器。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51的指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,因而ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

4.1.1.主要特性

●與MCS-51兼容●4KB可編程閃爍存儲器;●壽命為1000次寫/擦循環(huán):●數據保留時間為10年;●全靜態(tài)工作0~24Hz;●三級程序存儲器鎖定;4章單片機的最小系統(tǒng)及系統(tǒng)擴展

●128×8位內部RAM;●32位可編程I/O線;●兩個16位定時器/計數器:●5個中斷源:●可編程串行通道;●低功耗的閑置和掉電模式;●片內振蕩器和時鐘電路。主要特性4章單片機的最小系統(tǒng)及系統(tǒng)擴展

4.1.2

管腳

說明

4章單片機的最小系統(tǒng)及系統(tǒng)擴展

P0口:

P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在FLASH編程時,P0口作為原碼輸入口,當FLASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。

4章單片機的最小系統(tǒng)及系統(tǒng)擴展

P1口:

P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4個TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用做輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。

4章單片機的最小系統(tǒng)及系統(tǒng)擴展

P2口:

P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

P2口

P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優(yōu)勢,當對外部8位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高8位地址信號和控制信號。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,由于內部有拉電阻而變?yōu)楦唠娖?,并作為輸入信號?/p>

P3口也可作為AT89C51的一些特殊功能口。

P3口:

4章單片機的最小系統(tǒng)及系統(tǒng)擴展

P3口具有特殊功能如下:

P30(RDX)串行口輸入端P31(TDX)串行口輸出端P32(INT0)外部中斷0輸入端P33(INT1)外部中斷1輸入端4章單片機的最小系統(tǒng)及系統(tǒng)擴展

P3口具有特殊功能如下:P34(T0)定時器0外部輸入端P35(T1)定時器1外部輸入端P36(WR)單片機的寫入信號P37(RD)單片機的讀取信號4章單片機的最小系統(tǒng)及系統(tǒng)擴展

RST:

復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

ALE/PROG:

當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址。在FLASH編程期間,此管腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用做對外部輸出的脈沖或用于定時目的。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

ALE/PROG

要注意的是:每當用做外部數據存儲器時,將跳過一個ALE脈沖。外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次PSEN有效。但在訪問外部數據存儲器時,這兩次有效的PSEN信號將不出現。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

當EA保持低電平時,則在此期間訪問外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,EA將內部鎖定為RESET;當EA端保持高電平時,此間訪問內部程序存儲器。在FLASH編程期間,此管腳也用于施加12V編程電源(Vpp)。EA/Vpp:

4章單片機的最小系統(tǒng)及系統(tǒng)擴展

XTALl

和XTAL2XTALl:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。

XTAL2:來自反向振蕩器的輸出。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

XTALl和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,XTAL2應不接。輸入至內部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。4.1.3.振蕩器特性

4章單片機的最小系統(tǒng)及系統(tǒng)擴展

XTALl和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用。振蕩器特性4章單片機的最小系統(tǒng)及系統(tǒng)擴展

振蕩器特性如采用外部時鐘源驅動器件,XTAL2應不接。輸入至內部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

整個EPROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。4.1.4.芯片擦除

4章單片機的最小系統(tǒng)及系統(tǒng)擴展

AT89C51設有穩(wěn)態(tài)邏輯此外,AT89C51設有穩(wěn)態(tài)邏輯。在閑置模式下,CPU停止工作。但RAM、定時器、計數器、串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內容并且凍結振蕩器,禁止使用其他芯片功能,直到下一個硬件復位為止。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

4.2MCS-51單片機最小應用系統(tǒng)

由于AT98C51(或8751)內部具有RAM和EEPROM,所以在芯片的外部接上時鐘電路和上電復位電路就可以構成一個基本的應用系統(tǒng)了,如圖4-2所示4章單片機的最小系統(tǒng)及系統(tǒng)擴展

AT89C51單片機構成的最小系統(tǒng)

4章單片機的最小系統(tǒng)及系統(tǒng)擴展

AT89C51單片機構成的最小系統(tǒng)

由于內部的程序空間有限,不適合編寫較大、較復雜的程序,所以,這個系統(tǒng)適合于簡單的控制系統(tǒng)的應用。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

在8051單片機中,P1口是雙向的I/0口,可以置位,所以可以用來做控制使用。

P1口是雙向的I/0口4章單片機的最小系統(tǒng)及系統(tǒng)擴展

由圖4-3可知,P1口連接8個發(fā)光二極管,然后通過一個電阻接5V電源,當P1口是低電平時,發(fā)光二極管亮,當P1口是高電平時,發(fā)光二極管滅。例4-1:4章單片機的最小系統(tǒng)及系統(tǒng)擴展

1.延時程序

首先,要編寫一個延時程序,運行這個延時程序,可以產生一段時間的延時,這樣,程序中需要設定時間的時候直接調用就可以了。

4章單片機的最小系統(tǒng)及系統(tǒng)擴展

延時程序注意到每執(zhí)行一次while(--t);對于時鐘為8MHz的8751(8051),需要2μs的時間,以編寫的延時程序如下:4章單片機的最小系統(tǒng)及系統(tǒng)擴展

圖4-3單片機P1口用于輸出口

4章單片機的最小系統(tǒng)及系統(tǒng)擴展

應用程序

voiddelay(unsignedchart){t=0;While(i<50000)t++;}4章單片機的最小系統(tǒng)及系統(tǒng)擴展

2.P1口的聲明

操作P1口時,首先要對P1口的寄存器聲明。在KeilC51編譯器中,聲明包含在頭文件reg51.h中,所以在編寫程序時,要把這個頭文件包含進去,聲明的語句為

#include<reg51.h>4章單片機的最小系統(tǒng)及系統(tǒng)擴展

sfrP1=0x90;對控制P1特殊寄存器的聲明可以用這樣的語句:

sfrP1=0x90;由于P1口可以位操作,所以我們聲明一個位變量P1.1,這樣對P1.1的控制只要直接對位變量賦值就可以了。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

Sbitp1.1=p1^1

用語句Sbitp1.1=p1^1;,將P1口定義為位操作方式。如果需要P1.1是高電平,可用語句“P1.1=1;”。如果需要P1.1是低電平,則用語句"P1.1=0”非常方便。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

3.控制LED指示燈的源程序

#include<reg51.h>Sbitp1.1=p1^1;voiddelay(unsignedchart);voidmain(){unsignedchark;4章單片機的最小系統(tǒng)及系統(tǒng)擴展

while(1);//循環(huán)

{K=1000While(--k);//循環(huán)1000次,延時1s{delay(500);//調用延時函數}}

4章單片機的最小系統(tǒng)及系統(tǒng)擴展

P1.1=0//Pl.1低電平

}}voiddelay(unsignedchart)//延時lms

{while(--t);}4章單片機的最小系統(tǒng)及系統(tǒng)擴展

4.3單片機的系統(tǒng)擴展

在許多情況下,單片機本身的存儲器容量太小,不能滿足用戶的要求,這時就需要系統(tǒng)的擴展。目前,存儲器已經使用了各種規(guī)格的集成電路工藝,制作成常用字的芯片,所謂的系統(tǒng)擴展就是設計單片機與這些芯片的接口電路和和編寫相應的應用程序。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

4、3、1程序存儲器的擴展性能1、數據存儲器與程序存儲器的片外64KB擴展地址空間(0000H~FFFFH)完全重疊。它們并聯(lián)掛接在外部系統(tǒng)總線上。至于哪類存儲器選通操作,由控制信號和片選信號來確定。外部程序存儲器的讀信號是PSEN,低電平有效。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

程序存儲器的擴展性能

2、擴展的外部程序存儲器的地址指針為程序計數器PC和數據指針DPTR。3、擴展的外部程序存儲器可以使用EPROM存儲器,這是一種用紫外線擦除的程序存儲器。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

4、3、2外部程序存儲器的操作時序

圖4-4是外部程序存儲器讀指令的時序圖。圖中反映了地址、指令或數據、控制信號和ALE等相關信息在一個機器周期中的時間配合關系。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

圖4-4外部程序存儲器讀指令時序圖

4章單片機的最小系統(tǒng)及系統(tǒng)擴展

外部程序存儲器的操作時序

P2口和P0口共同構成了地址總線,取指令時,讀外部程序存儲器。P0口在前半個周期內,輸出地址信號,后半個周期輸入指令碼。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

說明由圖可知,取指令一開始,S2、P1之后P2口輸出地址總線的高8位(PCH),S3、P1時,讀信號PSEN變?yōu)橛行顟B(tài),此時PSEN為低電平,存儲器輸出允許。S4、P1時,按PC值讀出的指令出現在數據總線P0口上,CPU在PSEN的上升沿前將指令讀入,并寄存到指令寄存器IR中。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

說明從圖中可以看到,在訪問外部程序存儲器的一個周期時序中,ALE信號與信號兩次有效。這表示在一個機器周期中,允許單片機兩次訪問外部程序存儲器,也就是取出兩個指令字節(jié)。對于單字節(jié)指令,第二次讀出的指令被放棄。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

4、3、3外部程序存儲器的擴展方法

1、單片機與外部程序存儲器的連接單片機與外部程序存儲器的三總線連接如圖4-5所示。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

圖4-5外部程序存儲器讀指令時序圖

4章單片機的最小系統(tǒng)及系統(tǒng)擴展

說明圖中P2口與EPROM的高8位地址線及片選信號連接,P0口經地址鎖存器輸出的地址線與EPROM的低8位地址線相連,同時P0口又與EPROM的數據線相連。單片機的ALE連接鎖存器的鎖存控制端。連接EPROM的輸出允許,由于使用的是外部程序存儲器,所以接地。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

2、Flash存儲器

Flash存儲器又稱為閃速存儲器或快擦寫存儲器,它是在EPROM工藝的基礎上增添了芯片整體電擦除和再編程功能,使其成為性價比高、可靠性高、擦寫快、非易失的存儲器。Flash存儲器逐步取代了EPROM,新型的單片機中的程序存儲器都是采用Flash。項目開發(fā)者可以借助通用編程器將程序代碼寫入片內的Flash存儲器。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

3、Flash存儲器的編程方法

Flash存儲器的芯片內有產品型號編碼,也稱為ID碼,其擦除和編程都是通過對內部寄存器寫命令字進行讀取和識別的,以確定編碼算法。不同的廠商命令字不同,內部命令寄存器的地址和存放ID碼的地址也不同,用戶可以從廠商的網址上找到。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

Flash存儲器的編程對于Flash存儲器的編程,多數產品是按扇區(qū)進行的。要寫入Flash首先要查找產品ID碼的命令字,再指定的存儲單元中讀取ID碼,再發(fā)編程命令字,置扇區(qū)地址,置扇區(qū)內字節(jié)地址,最后寫入一個字節(jié)。用這種方法一個字節(jié)一個字節(jié)地寫,直到一個扇區(qū)內所有字節(jié)全都寫完。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

芯片的的擦除方法對芯片的的擦除方法是,對指令地址寫入3個以上的命令字就可完成整片的擦除。如果硬件電路連接正確,就可以產生Flash擦除所需要的信號,就能完成擦除的操作。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

4、Flash存儲器的擴展

Flash存儲器是EPROM的改進,單片機外部擴展Flash既可以作為程序,程序也可以作為數據存儲器存放需周期性更改的數據,由于扇區(qū)寫的特點,也可以使其中的一部分作為程序存儲器,而另一部分作為數據存儲器。下面以AT29C256為例,介紹單片機擴展Flash的方法。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

AT29C256的引腳圖圖4-6是AT29C256的引腳圖,AT29C256是Atmel公司生產的CMOS型的Flash存儲器,它的存儲容量為32K×8位。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

圖4-6

AT29

C256

引腳圖

4章單片機的最小系統(tǒng)及系統(tǒng)擴展

表4.1AT29C256的引腳功能表

4章單片機的最小系統(tǒng)及系統(tǒng)擴展

AT29C256的性能指標如下:

電擦除可改寫的數據或程序存儲器,斷電時數據可保持。讀出時間為70ns,擦除時間為10ms,寫出時間為100ms/頁,一頁為64K字節(jié)。4章單片機的最小系統(tǒng)及系統(tǒng)擴展

AT29C256的性能指標如下:

1

溫馨提示

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

評論

0/150

提交評論