單片機資源復習_第1頁
單片機資源復習_第2頁
單片機資源復習_第3頁
單片機資源復習_第4頁
單片機資源復習_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

總復習:單片機的資源

1、電源、時鐘輸入:Vcc和Vss、XTAL1和XTAL2。

2、RST、輸入腳:正常供電時為“復位輸入”

3、PSEN,輸出腳:單片機讀外部程序存儲器(EPROM或ROM)時,輸出“0”。

4、EA、輸入腳:輸入高電平5V(邏輯1),單片機只讀內部程序存儲器ROM,輸入低電平0V(邏輯0),單片機只讀外部程序存儲器ROM。

5、ALE與P0:P0口輸出低8位地址時,ALE輸“1”;P0口作為數(shù)據(jù)總線時,ALE輸出0。

6、P1口:普通的I/O口。

7、P2口:輸出高8位地址。

8、P3口:常用作控制引腳P3.6P3.7P3.6P3.7口線特殊功能信號名稱P3.0RXD串行輸入口P3.1TXD串行輸出口P3.2/INT0外部中斷0輸入腳P3.3/INT1外部中斷1輸入腳P3.4T0定時器0外部輸入腳P3.5T1定時器1外部輸入腳P3.6/WR寫選通輸出腳P3.7/RD讀選通輸出腳》/WR,輸出腳:單片機寫外部數(shù)據(jù)存儲器(外部RAM)時,輸出“0”?!?RD,輸出腳:單片機讀外部數(shù)據(jù)存儲器(外部RAM)時,輸出“0”。程序存儲器結構和地址空間(ROM)EA=1EA=00000H0FFFH1000HFFFFH0000H0FFFH2-7:數(shù)據(jù)存儲器結構和地址空間特殊功能寄存器通用

RAM區(qū)00H1FH20H2FH30H7FH80HFFH80H88H90H98HA0HA8HB0HB8HD0HE0HF0H特殊功能寄存器中位尋址外部ROM內部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000HFFFFH外部RAM(I/O口地址)0000HFFFFH內部數(shù)據(jù)存儲器(a)外部數(shù)據(jù)存儲器(b)程序存儲器(c)工作寄存器區(qū)位尋址區(qū)D7D6D5D4D3D2D1D0CYACF0RS1RS0OVF1P特殊功能寄存器:PSWPSW:程序狀態(tài)字寄存器,字節(jié)地址D0H。

CY:進借位標志;

AC:輔助進借位標志;

OV:溢出標識;

P:累加器A中1的奇偶標識;

F0、F1:用戶標志;

RS1、RS0:工作寄存器組選擇,意義見下圖。RS1RS0R0R1R2R3R4R5R6R7000組:00H01H02H03H04H05H06H07H011組:08H09H0AH0BH0CH0DH0EH0FH102組:10H11H12H13H14H15H66H17H113組:18H19H1AH1BH1CH1DH1EH1FH工作寄存器區(qū)與地址表內部RAM的位尋址區(qū)特殊功能寄存器區(qū):80H~FFH

即SFR,包括I/O鎖存器、定時器、串行口、中斷、狀態(tài)、控制寄存器等共21個,離散地分布在80~FFH中(不包括PC)。具體如下:算術運算寄存器:A、B、PSW

指針寄存器:SP、DPTR(DPH,DPL)并行口:P0、P1、P2、P3

串行口:SCON、SBUF、PCON

中斷系統(tǒng):IP、IE

定時/計數(shù)器:TMOD、TCON、TH0、TL0、TH1、TL1

特別需要指出的是,51系列內部RAM,80~FFH中未定義的單位為不可訪問單元。XTAL2XTAL1MCS-51C1C2CYSXTAL2XTAL1MCS-51+5VVSSTTL外部時鐘源

內部振蕩方式

外部振蕩方式振蕩器與時鐘電路P1P2S1P2狀態(tài)周期時鐘周期機器周期機器周期指令周期XTAL2(OSC)S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2P2CPU時序簡述》時鐘周期P:振蕩頻率的倒數(shù)?!窢顟B(tài)周期S:振蕩周期×2。》機器周期:時鐘周期×6?!分噶钪芷冢簣?zhí)行一條指令(含“取指”)所需的時間,不是常數(shù),1~3個機器周期?!稰i口特點(i=0,1,2,3)

1、作輸入口使用時必須先給Pi口置1(復位后Pi全部被置1)。

2、關注帶負載能力。

TTL和MOS的含義

T1、T0內部結構圖TMOD(89H)不可位尋址TCON(88H)可位尋址TL1TH1TF1TL0TH0TF0INT1T1INT0T0計數(shù)脈沖輸入計數(shù)脈沖輸入二、定時/計數(shù)器的控制寄存器 與定時/計數(shù)器有關的控制寄存器有3個:1、定時器控制寄存器TCON(88H)

TCON既參與定時控制又參與中斷控制,有關定時控制的有4位,表示如下:》當T0計數(shù)溢出時,TF0置1;當T1計數(shù)溢出時,TF1置1。》編程使TR0為1時,啟動T0計數(shù);編程使TR1為1時,啟動T1計數(shù);2、設定定時器工作方式寄存器TMOD(89H)

TMOD用于設定2個定時器/計數(shù)器的工作方式,各位含義如下:》M1M0:工作方式

00方式0 13位計數(shù)器

01方式1 16位計數(shù)器

10方式2 初值自動重裝8位計數(shù)器

11方式32個8位計數(shù)器,僅適用于T0》C/為0,T0作定時器用;為1,T0作計數(shù)器用。(以T0為例)

》GATE為0,軟啟動:TR0被置1,啟動T0;(以T0為例)

GATE為1,硬啟動:TR0被置1后,INT0來高電平啟動T03、中斷允許控制寄存器IE(A8H)三、定時器/計數(shù)器工作方式

1、工作方式0M1M0=00——13位計數(shù)器(1)結構 由TH0的全部8位和TL0的低5位構成。當TL0低5位計數(shù)滿時直接向TH0進位,并當全部13位計數(shù)滿溢出時,TF0置“1”。(2)TMOD值:

T1作方式1計數(shù)器、T0作方式0定時器:

TMOD=01000000=40H

(3)計數(shù)初值最大計數(shù)值為213=8192

計數(shù)初值=213—欲計的數(shù)=213—定時時間/機器周期定時時間=(213—計數(shù)初值)×機器周期(12/fosc)]

例已知fosc=6MHz,在P1.0口輸出周期為1ms的方波脈沖。解:1)TMOD的設計: 用T1來定時500us,采用方式0,軟件啟動。

TMOD=0000xxxx,取00H 2)計數(shù)初值:計數(shù)初值=213—定時時間/機器周期

=213-500/2=1F06H=0001111100000110TH1=F8H,TL1=06H 3)實現(xiàn)命題的方式

》T1定時時間到,設置標識TF1,由TF1產(chǎn)生中斷;CPU在中斷服務程序中使P1.0輸出方波;

》CPU關閉中斷,T1定時時間到,設置TF1,CPU用軟件查詢TF1的方式使P1.0輸出方波。

4)流程、程序如下:

采用中斷方式

采用中斷方式

ORG 0000H;主程序入口地址

LJMP START

ORG 001BH;T1的中斷服務程序的入口地址

LJMP 0100H ORG 0030H START: MOVTMOD,#00H MOV TH1, #0F8H MOV TL1, #06H;以上為T1的初試化

MOV IE, #88H MOV IP, #00001000B;以上為中斷初試化

SETB TR1;啟動T1 SJMP $中斷服務程序:

ORG 0100H CPL P1.0

MOV TH1, #0F8H MOV TL1, #06H;給T1重新置初值

RETI 流程圖:定時時間到?

方式0:采用查詢方式 程序:

ORG 0030H START: MOV TMOD,#00H MOV TH1, #0F8H MOV TL1, #06H;以上是T1的初試化

MOV IE, #00H;關中斷

SETB TR1;啟動T1 WT: JNB TF1, WT;定時時間未到,轉WT CPL P1.0 CLR TF1;軟件清除T1de中斷請求標識

MOV TH1, #0F8H MOV TL1, #06H;重新給T1置初值

SJMP WT

2、工作方式1M1M0=01——16位計數(shù)器

T0作定時器、T1作計數(shù)器TMOD=01010001=51H;計數(shù)初值=216—欲計的數(shù)=216—定時時間/機器周期

〔定時時間=(216—計數(shù)初值)×機器周期(12/fosc)〕

方式1時的電路邏輯結構如圖所示例如:fosc=6MHz時,定時500us, 計數(shù)初值=216—500/2=65536-250=65286=FF

06H

即:TH0=FFH,TL0=06H

3、工作方式2:M1M0=10——自動重裝初值的8位計數(shù)器以T0為例:以TL0作計數(shù)器,而TH0作為預置寄存器。當計數(shù)滿溢出時,TF0置“1”,同時TH0將計數(shù)初值以硬件方法自動裝入TL0

計數(shù)初值=28—欲計的數(shù)=28—定時時間/機器周期定時時間=(28—計數(shù)初值)×機器周期4、工作方式3(僅限于T0):M1M0=11——2個8位計數(shù)器在T0方式3下,T0、T1的設置和使用是不同的。(1)T0的方式3》TL0:使用T0原有控制資源,功能與方式0、1相同。(見圖)》TH0:借用T1的TR1、TF1,只能對片內機器周期脈沖計數(shù),作8位定時器。(見圖)》T0方式3時的TL0和TH0的初值計算完全同方式2 T0方式3時的T0、T1電路邏輯結構.

T0方式3時,T1仍然可工作于方式0~方式2,如上頁圖所示:TMOD中屬于T1的C/

控制位仍可使T1工作在定時器或計數(shù)器方式,只是由于其TR1、TF1被T0的TH0占用,因而沒有計數(shù)溢出標志可供使用,計數(shù)溢出時只能將輸出結果送至串行口,即用作串行口波特率發(fā)生器。

T0方式3下的T1方式2,因定時初值能自動恢復,用作波特率發(fā)生器更為合適。

(2)T0方式3時的T1例:已知fosc=6MHz,在P1.0口輸出周期為1ms的方波脈沖。解:1)TMOD的設計: 用T1來定時500us,采用方式2,軟件啟動。

TMOD=0010xxxx,取20H 2)計數(shù)初值:計數(shù)初值=28—定時時間/機器周期=28-500/2=06H。TH1=TL1=06H 3)定時時間到

中斷服務:P1.0的翻轉。設計IE=10001000,IP=00001000 4)流程、程序如下:

用T1實現(xiàn)

ORG 0000H LJMP START

ORG 001BH LJMP 0100H ORG 0030H START: MOV TMOD,#20H

MOV TH1, #06H MOV TL1, #06H MOV IE, #88H MOV IP, #08H SETB TR1 SJMP $ 中斷服務程序:

ORG 0100H

CPL P1.0 RETI 中斷的概念中斷:CPU正在處理某一事件(執(zhí)行一段程序),這時發(fā)生了另一事件,請求CPU迅速處理,CPU暫停當時的工作,轉入處理所發(fā)生的事件(執(zhí)行中斷服務程序);處理結束后,繼續(xù)原來的工作(繼續(xù)執(zhí)行原來的那段程序)主主程程序序低高中斷響應中斷級級服務中中中斷請求

溫馨提示

  • 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

提交評論