《單片機原理及應用系統(tǒng)設計》課件第2章_第1頁
《單片機原理及應用系統(tǒng)設計》課件第2章_第2頁
《單片機原理及應用系統(tǒng)設計》課件第2章_第3頁
《單片機原理及應用系統(tǒng)設計》課件第2章_第4頁
《單片機原理及應用系統(tǒng)設計》課件第2章_第5頁
已閱讀5頁,還剩108頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2.1AT89S52存儲器結構

2.2并行I/O接口

2.3AT89S52的定時/計數(shù)器T0、T1和T2

2.4AT89S52的中斷系統(tǒng)

2.5AT89S52的串行通信

習題二第二章AT89S52單片機的硬件結構片內程序存儲器(內部ROM)、片外程序存儲器(外部ROM)、片內數(shù)據(jù)存儲器(內部RAM)和片外數(shù)據(jù)存儲器(外部RAM),如圖2-1所示。2.1AT89S52存儲器結構圖2-1AT89S52存儲器結構2.1.1程序存儲器

1.程序存儲器的結構

AT89S52單片機芯片內配置了8KB的可編程Flash存儲器(在2.1.2節(jié)中介紹),地址為0000H~1FFFH,可外部擴展到64KB,程序存儲器的結構如圖2-1(a)所示。

2.程序存儲器中的中斷矢量區(qū)

其他6個地址單元的入口地址為中斷服務程序的矢量地址,如表2-1所列。表2-1中斷源與中斷矢量地址

3.外部程序存儲器的擴展

在AT89S52單片機的芯片內配置有8KB的Flash存儲器,當不能滿足應用系統(tǒng)開發(fā)的需要時,可以擴展外部程序存儲器,最大可擴展至64KB。這樣,系統(tǒng)程序存儲器的整個存

儲空間最大可擴展為64KB,地址范圍為0000H~FFFFH,其中芯片內配置的8KB的Flash程序存儲器地址范圍為0000H~1FFFH,如圖2-1(a)所示。AT89S52單片機外部程序存儲器的擴展方法如圖2-2所示。圖2-2外部存儲器的擴展2.1.2片內Flash存儲器操作

片內Flash操作包括對Flash標志字節(jié)的讀出、并行編程、串行編程、程序加密等。

1.標志字節(jié)

AT89S52的標志字節(jié)共有3B,具體在存儲器中的地址和含義如表2-2所示。表2-2標志字節(jié)的地址、內容和代表含義

2.程序存儲器的加密

AT89S系列單片機提供了3位加密位(LB1、LB2、LB3),對每位加密位可維持原來的非編輯狀態(tài)(U),也可進行編程(P),根據(jù)每位加密位是否進行了編程便可組合形成幾種不同的保護模式如表2-3所示。表2-3程序加密位的保護模式

3.Flash存儲器的并行編程

(1)Flash存儲器的并行編程方式。圖2-3所示為并行編程的接口電路圖。

(2)并行編程的算法。從并行編程接口電路可以看出,當AT89S52單片機編程時,除了地址線和數(shù)據(jù)線外還需要一

些控制信號。表2-4所示為編程時這些控制信號的狀態(tài)情況。圖2-3AT89S52Flash存儲器并行編程的接口電路表2-4AT89S52Flash存儲器編程狀態(tài)

(3)數(shù)據(jù)查詢方式。

(4)準備就緒/忙(RDY/

)信號。

(5)程序的校驗。圖2-4所示為AT89S52片內Flash存儲器并行校驗的接口電路。

(6)Flash程序存儲器的片擦除。圖2-4AT89S52Flash存儲器并行校驗接口電路

4.Flash存儲器的串行編程

1)Flash存儲器的串行編程方式

當RST引腳接高電平時,可通過串行接口ISP對AT89S52Flash進行編程。串行接口ISP由引腳P1.5/MOSI、P1.6/MISO和P1.7/SCK組成,P1.5/MOSI作為串行指令的輸入引腳,

P1.6/MISO為串行數(shù)據(jù)的輸出引腳,P1.7/SCK為串行移位脈沖的輸入引腳。串行編程/下載接口電路如圖2-5所示。圖2-5AT89S52Flash存儲器串行編程/下載接口電路

2)Flash存儲器的串行編程算法

(1)對RST、VCC和GND引腳加電.

(2)在P1.5/MOSI引腳輸入編程允許指令。

(3)在P1.5/MOSI引腳輸入寫程序存儲器指令。

3)AT89S52的串行編程指令

AT89S52單片機的串行編程指令為4B格式,表2-5給出了AT89S52單片機串行編程指令的格式構成和各指令的編碼。表2-5AT89S52單片機的串行編程指令集在寫程序加密位時,數(shù)位B1和B2的值與保護模式的關系如表2-6所示。表2-6B1和B2的值與保護模式的關系

4)串行編程模式下的數(shù)據(jù)查詢

AT89S52在串行編程模式下也具有數(shù)據(jù)查詢功能。

在寫周期內,讀出最后寫入的字節(jié)時,則在串行數(shù)據(jù)輸出口P1.6/MISO引腳上出現(xiàn)寫入字節(jié)數(shù)據(jù)最高位的反碼。

圖2-6為串行編程模式下的時序圖,表2-7為時序參數(shù)。圖2-6串行編程模式下的時序圖表2-7Flash編程串行模式時序參數(shù)2.1.3數(shù)據(jù)存儲器

1.內部RAM

存儲器空間如圖2-1(b)所示。

1)工作寄存器區(qū)

2)可按位尋址的RAM區(qū)

如表2-8所示,在內部數(shù)據(jù)存儲區(qū)RAM中的20H~2FH共16個單元可進行位尋址,這一存儲空間稱為“位尋址區(qū)”。

3)用戶RAM區(qū)

4)片內高128B空間表2-8內部RAM中位地址表

2.外部數(shù)據(jù)存儲器的擴展

片外數(shù)據(jù)存儲器的擴展方法如圖2-7所示。圖2-7片外數(shù)據(jù)存儲器的擴展2.1.4特殊功能寄存器SFR

表2-9給出了這些特殊功能寄存器的符號、名稱和地址等。表2-9AT89S52特殊功能寄存器(SFR)的地址空間及復位后的值1.程序計數(shù)器PC

2.累加器Acc

3.B寄存器

4.程序狀態(tài)字PSW

PSW的格式及位定義如表2-10所示。表2-10PSW的格式及位定義如表2-11所示,當使用名稱尋址時,由RS1、RS0兩位配合指定使用哪組寄存器。表2-11工作寄存器組與RS1、RS0的對應關系5.堆棧指針SP

6.數(shù)據(jù)指針DPTR

7.輔助功能寄存器AUXR和AUXR1

1)輔助功能寄存器AUXR

AUXR的格式及位定義見表2-12。表2-12AUXR的格式及位定義

2)輔助功能寄存器AUXR1

AUXR1的格式及位定義見表2-13。表2-13AUXR1的格式及位定義通過設置DPS可進行數(shù)據(jù)指針DPTR0和DPTR1的切換。切換時,應通過軟件來保存DPS。切換示意圖如圖2-8所示。圖2-8切換示意圖8.并行端口P0~P3

9.串行數(shù)據(jù)緩沖器SBUF

10.定時/計數(shù)器T0、T1和T2單片機芯片內的一項重要內容就是并行I/O口。AT89S52有4個8位的并行雙向I/O口,共32條I/O口線。這4組I/O口分別記作P0、P1、P2和P3,它們也屬于特殊功能寄存器,具有字節(jié)尋址和位尋址功能。具體見表2-14。2.2并行I/O接口表2-14AT89S52并行I/O接口2.2.1P0口

1.P0口位結構和工作原理

P0口結構原理如圖2-9所示.

2.P0口的功能

(1)作I/O接口使用。

(2)作地址/數(shù)據(jù)復用總線用。圖2-9P0口位結構原理圖2.2.2P1口

P1口是一個8位口,可按字節(jié)訪問也可按位訪問,其字節(jié)訪問地址為90H,位訪問地址為90H~97H。

1.P1口位結構和工作原理

P1口的位結構原理圖如圖2-10所示。

2.P1口的功能

3.P1口的第二功能圖2-10P1口的位結構原理圖2.2.3P2口

P2口是一個多功能的8位口,可以字節(jié)訪問也可以位訪問,其字節(jié)訪問地址為A0H,位訪問地址為A0H~A7H。

1.P2口位結構和工作原理

P2口位結構原理圖如圖2-11所示。

2.P2口的功能

3.P2口使用中要注意的問題

圖2-11P2口位結構原理2.2.4P3口

P3口是一個多功能8位I/O接口,可按字節(jié)訪問也可按位訪問,其字節(jié)訪問地址為B0H,位訪問地址為B0~B7H。

1.P3口位結構與工作原理

P3口的位結構原理圖如圖2-12所示。

2.P3口的功能

圖2-12P3口的位結構原理2.3.1定時/計數(shù)器的基本原理

2.3.2定時/計數(shù)器T0/T1的控制與狀態(tài)寄存器

1.T0和T1的控制寄存器TCON

格式及位定義如表2-15所示。2.3AT89S52的定時/計數(shù)器T0、T1和T2表2-15T0和T1的控制寄存器TCON格式及位定義

2.定時/計數(shù)器T0和T1的工作模式寄存器TMOD

TMOD寄存器用于選擇定時/計數(shù)器T0和T1的工作模式,低4位用于定時/計數(shù)器0,高4位用于定時/計數(shù)器1,兩部分的操作功能完全相同。

其格式及位定義如表2-16所示。表2-16T0和T1的工作模式寄存器TMOD格式及位定義

(1)M1和M0:定時/計數(shù)器工作模式選擇位,M1和M0的不同取值設定了定時/計數(shù)器的4種工作模式,如表2-17所示。

(2)C/

:選擇定時或計數(shù)功能選擇位。

(3)GATE:門控位。表2-17M1、M0工作方式及功能說明2.3.3T0/T1的四種工作模式

1.模式0

TMOD的M1和M0設置為00時,T1和T0工作在模式0。模式0是選擇T1或T0的高8位和低5位(TL的高3位未用)組成一個13位的定時/計數(shù)器,當TL的低5位溢出時,向TH進位;當TH溢出時,向中斷標志位TF(硬件置位TF)進位,并申請中斷。T0的邏輯結構如圖2-13所示。圖2-13T0模式0邏輯結構定時時間t為

計數(shù)初值

最小的定時時間TMIN為

最大的定時時間TMAX為

2.模式1

用指令將M1、M0設為0、1時,定時/計數(shù)器工作在模式1。在模式1下,TL和TH全部使用,組成16位,如圖2-14所示。圖2-14T0模式1邏輯結構定時時間t為

計數(shù)初值X為

最小的定時時間TMIN為

最大的定時時間TMAX為

3.模式2

模式2是將TL配置成一個可自動重裝的8位定時/計數(shù)器,而將TH作為預置寄存器。其邏輯結構如圖2-15所示。圖2-15T0模式2邏輯結構計數(shù)初值為

4.模式3

對于T0而言,在模式3中,內部控制邏輯把TH0和TL0配置成2個相互獨立的8位計數(shù)器,如圖2-16所示。因為T1在模式3下沒有TF1可用,所以只能把計數(shù)溢出直接送給串行口,如圖2-17所示。圖2-16T0模式3邏輯結構圖2-17T1模式3邏輯結構2.3.4定時/計數(shù)器T2的控制與狀態(tài)寄存器

1.定時器T2控制寄存器T2CON

T2CON為T2的控制專用寄存器,格式與TCON不同,除了參與中斷控制和定時控制外,還參與了串行口波特率的時鐘選擇。下面講述與定時有關的控制位,其格式及位定義如表2-18所示。表2-18定時器T2控制寄存器T2CON格式及位定義

2.定時器T2模式寄存器T2MOD

T2MOD為T2方式控制寄存器,同TMOD一樣,它只能用字節(jié)傳送指令來設置其內容,而不能位尋址。字節(jié)地址為C9H,復位值為××××××00B,其格式及位定義如表2-19所示。表2-19定時器T2模式寄存器T2MOD格式及位定義2.3.5T2的工作模式

T2是一個功能較強的定時/計數(shù)器,具有自動重裝和捕獲能力。在特殊功能寄存器中有5個與T2有關的寄存器:控制寄存器T2CON、捕獲寄存器RCAP2H和RCAP2L、定時寄存器高低字節(jié)TH2和TL2。根據(jù)T2CON和T2MOD特殊功能寄存器的設置,T2有4種操作模式,如表2-20所示。表2-20定時/計數(shù)器T2工作模式

1.自動重裝模式

當DCEN=0時,T2為自動向上計數(shù),自動重裝模式如圖2-18所示。圖2-18T2自動重裝模式(DCEN=0)當DCEN=1時,允許T2向上或向下計數(shù),由引腳T2EX的電平狀態(tài)控制計數(shù)方向。其自動重裝模式原理如圖2-19所示。圖2-19T2自動重裝模式(DCEN=1)

2.捕捉模式

當CP/=1時,T2工作在捕捉模式。捕捉模式是指在一定條件下,自動將計數(shù)器TH2和TL2的數(shù)據(jù)分別讀入RCAP2H和RCAP2L。其工作原理如圖2-20所示。圖2-20T2捕捉式原理圖

3.波特率發(fā)生器模式

當設置RCLK和TCLK同時為1或其中一個為1時,T2便進入波特率發(fā)生器模式。波特率發(fā)生器模式原理如圖2-21所示。

當用T2作為波特率發(fā)生器時,波特率的計算公式為

波特率=圖2-21T2波特率發(fā)生器模式

4.可編程時鐘輸出模式

P1.0引腳除了作普通I/O外,還有兩個替代功能,一是可以編程為T2的外部計數(shù)脈沖輸入端;二是可以編程為50%占空比的時鐘輸出端,即可編程時鐘輸出模式,如圖2-22所示。

輸出頻率取決于振蕩器頻率和存于捕捉寄存器RCAP2中的重裝數(shù)值,其計算公式為

時鐘輸出頻率=圖2-22T2時鐘輸出模式2.4.1中斷的基本概念

中斷響應過程示意圖如圖2-23所示。2.4AT89S52的中斷系統(tǒng)圖2-23中斷響應示意圖

2.4.2中斷源

中斷源和中斷矢量地址如表2-21所示。圖2-24所示為AT89S52單片機的中斷功能示意圖。AT89S52的中斷源可分成外部中斷源和內部中斷源。表2-21中斷源和中斷矢量地址圖2-24AT89S52單片機的中斷功能示意圖2.4.3AT89S52的中斷標志與控制

1.定時/計數(shù)器0、1控制寄存器TCON

TCON是定時/計數(shù)器和外部中斷兩者合用的一個特殊功能寄存器,復位時為00H,可位尋址。TCON的字節(jié)地址為88H,其格式如下:

2.定時器2控制寄存器T2CON

定時器2控制寄存器T2CON字節(jié)地址為C8H,其格式如下:

3.串行口控制寄存器SCON

串行口控制寄存器SCON字節(jié)地址為98H,其格式如下:

4.中斷允許控制寄存器IE

AT89S52的中斷均屬于可屏蔽中斷,即通過軟件對特殊功能寄存器IE的設置,實現(xiàn)對各中斷源的中斷請求允許(開放)或屏蔽(禁止)的控制。中斷控制寄存器IE的格式及各位含義如下:

5.中斷優(yōu)先級控制寄存器IP

中斷優(yōu)先級控制寄存器IP的字節(jié)地址為B8H,具有位尋址功能,可通過軟件設置各個中斷源的中斷優(yōu)先級。IP控制寄存器的格式如下:當同時有兩個或兩個以上相同優(yōu)先級的中斷請求時,則由內部按查詢順序決定優(yōu)先響應的中斷請求,排在順序后面的、未被響應的中斷請求將被掛起。其優(yōu)先順序由高到低順序排列。優(yōu)先順序排列如表2-22所示。表2-22中斷優(yōu)先順序2.4.4中斷響應的條件、過程與時間

1.中斷響應的條件

2.中斷響應過程

3.中斷響應時間

2.5.1串行通信概述

1.串行通信的通信方式

1)同步通信

面向字符型的數(shù)據(jù)格式又有單同步、雙同步和外同步之分。

①單同步:發(fā)送方先傳送一個同步字符,再傳送數(shù)據(jù)塊,接收方檢測到同步字符后接收數(shù)據(jù)。

②雙同步:發(fā)送方先傳送兩個同步字符,再傳送數(shù)據(jù)塊,接收方檢測到同步字符就接收數(shù)據(jù),如圖2-25所示。2.5AT89S52的串行通信圖2-25面向字符雙同步數(shù)據(jù)幀格式③外同步:用一條專用線來傳送同步字符,以實現(xiàn)收發(fā)雙方同步操作。

3種同步方式,均以兩個字節(jié)的冗余檢驗碼CRC作為一幀信息的結束。

面向位型的數(shù)據(jù)格式如下:

根據(jù)IBM的同步數(shù)據(jù)鏈路控制規(guī)程SDLC,SDLC數(shù)據(jù)幀格式如圖2-26所示。圖2-26SDLC數(shù)據(jù)幀格式

2)異步通信

異步通信的幀格式如圖2-27所示。圖2-27異步通信數(shù)據(jù)的幀格式

2.串行通信的傳輸方式

串行通信的傳輸方式可以分為單工、半雙工及全雙工3種。

2.5.2RS232C標準總線及通信設計

1.RS232C接口的引腳描述

RS232C標準規(guī)定接口有25根連線、D型插頭和插座,采用25芯引腳或9芯引腳的連接器,RS232C標準接口如圖2-28所示。

雖然RS232C標準規(guī)定接口定義了25條連線,但通常只有以下9個信號經(jīng)常使用,其對應關系如表2-23所示。

2.RS232C接口的具體規(guī)定圖2-28RS232C標準接口圖表2-239針連接器和25針連接器的對應關系2.5.3AT89S52串行通信接口

1.串行口的控制

1)串行數(shù)據(jù)緩沖器SBUF

2)串行口控制寄存器SCON

串行口的工作模式設定和基本控制操作通過設定串行口控制寄存器SCON完成,串行口控制寄存器SCON除可進行字節(jié)尋址外,還可以進行位尋址,其各位定義及格式如下:

(1)SM0,SM1:串行口工作模式選擇位。對應著串行口的4種工作模式,如表2-24所示。

(2)SM2:多極通信控制位。表2-24串行口工作模式

3)電源控制寄存器PCON

電源控制寄存器PCON中只有SMOD(PCON.7)位與串行口的工作有關。

需要注意的是,PCON寄存器不能位尋址,對于SMOD位的修改只能采用字節(jié)操作方式,如MOVPCON,#80H。其位定義及格式如下:

2.串行口的工作模式及串行通信波特率

1)模式0

2)模式1

波特率可以用下式表示:

串行口方式1的波特率=

式中,n=32或16,由PCON的SMOD1位決定。SMOD1=0,n=32;SMOD1=1,n=16。因此,串行口模式1的波特率也可以用下式表示:

串行口方式1的波特率=

×(定時器T1或T2的溢出率)串行口接收/發(fā)送波特率發(fā)生器使用的定時器如表2-25所列。表2-25串行口接收/發(fā)送波特率發(fā)生器使用的定時器為了實現(xiàn)定時器計數(shù)初值重裝,通常選擇模式2。在模式2中,TL1作計數(shù)用,TH1用于保存計數(shù)初值,當TL1計滿溢出時,TH1的值自動重裝到TL1中。因此一般選用T1工作于方式2作波特率發(fā)生器。設T1的計數(shù)初值為X,C/

=0時,那么每過256-X個機器周期,定時器T1就會產(chǎn)生一次溢出。

則T1的溢出周期為

溢出周期=

×(256-X)溢出率為溢出周期的倒數(shù),所以

波特率=

定時器T1模式2的計數(shù)初值X由上式可得:

定時器T1可以通過中斷方式實現(xiàn)非常低的波特率,將TMOD的高半字節(jié)設為0001B。T1配置為16位定時器,并使用中斷進行16位軟件重裝,如表2-26所列。表2-26T1在常用波特率下重裝值的設定定時器T2工作在波特率發(fā)生器方式時,內部結構如圖

2-29所示,其操作與自動重裝載方式類似。圖2-29T2作波特率發(fā)生器時內部邏輯結構當外部時鐘信號由T2引腳引入時,

波特率=

當時鐘信號由內部產(chǎn)生時,

波特率=

自動重裝的計數(shù)初值為

RCAP2H、RCAP2L=65536-

表2-27列出了常用的波特率及在RCAP2中存入的T2的重裝值。表2-27常用波特率對應的T2計數(shù)初值

1.AT89S52單片機存儲器的組織結構是怎樣的?

2.AT89S52單片機的存儲器可劃分為幾個空間?各自的地址范圍和容量是多少?在使用上有什么不同?

3.AT89S52單片機如何確定和改變當前的工作寄存器組?

4.AT89S52單片機的程序ROM中0000H、0003H、000BH、0013H、001BH和0023H這幾個地址具有什么特殊的功能?習題二

5.AT89S52單片機有哪幾個特殊功能寄存器?可按位尋址的SFR有幾個?

6.程序狀態(tài)字PSW的作用是什么?常用標志位有哪些?其作用是什么?

7.AT89S52單片機的信號有什么功能?如何正確地使用?

8.內部RAM的低128B劃分為幾個區(qū)域?各有什么功能及特點?

9.ALE信號有何功用?一般情況下它與機器周期的關系如何?在什么條件下ALE信號可用作外部設備的定時信號?

10.堆棧的作用是什么?堆棧指示器的作用又是什么?

11.AT89S52單片機的P0、P1、P2和P3口各有什么特點?

12.什么是I/O接口?I/O接口的作用是什么?

13.AT89S52片內設有4個I/O端口(并行),使用時有哪些特點和分工?簡述各個并行

I/O口的結構特點。

14.何謂準雙向I/O口?在使用中如何正確處理?

15.何謂分時復用?在什么情況下出現(xiàn)復用?在硬件應作何處理?

16.AT89S52的并行I/O端口信息有幾種讀取方法?讀修改寫操作是針對I/O口的哪一部分進行的?有什么優(yōu)點?

17.何謂總線?采用總線結構有何

溫馨提示

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

評論

0/150

提交評論