第2章單片機(jī)系統(tǒng)組成原理_第1頁
第2章單片機(jī)系統(tǒng)組成原理_第2頁
第2章單片機(jī)系統(tǒng)組成原理_第3頁
第2章單片機(jī)系統(tǒng)組成原理_第4頁
第2章單片機(jī)系統(tǒng)組成原理_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第2章

單片機(jī)系統(tǒng)組成原理2.1MCS-51單片機(jī)組成原理2.2單片機(jī)復(fù)位電路設(shè)計(jì)2.3MCS-51存儲(chǔ)器配置2.4定時(shí)器/計(jì)數(shù)器2.5中斷系統(tǒng)

2.1

MCS-51單片機(jī)組成原理

MCS-51單片機(jī)的組成:1.

8位CPU2.片內(nèi)ROM/EPROM、RAM3.片內(nèi)并行I/O接口4.片內(nèi)16位定時(shí)器/計(jì)數(shù)器5.片內(nèi)中斷處理系統(tǒng)6.片內(nèi)全雙工串行I/O口不同型號(hào)MCS-51單片機(jī)CPU處理能力和指令系統(tǒng)完全兼容,只是存儲(chǔ)器和I/O接口的配置有所不同。MCS-51單片機(jī)結(jié)構(gòu)2.2

MCS-51單片機(jī)引腳1.I/O口線功能4個(gè)8位并行I/O接口引腳P0.0~P0.7、P1.0~P1.7、P2.0~P2.7和P3.0~P3.7為多功能引腳,可自動(dòng)切換用作數(shù)據(jù)總線、地址總線、控制總線和或I/O接口外部引腳2.控制線ALE:地址鎖存允許信號(hào)端PSEN:外部程序存儲(chǔ)器讀選通信號(hào)端EA/VPP:程序存儲(chǔ)器選擇信號(hào)端和編程電源輸入端復(fù)位:

RST/VPD:復(fù)位信號(hào)端和后備電源輸入端。輸入10ms以上高電平脈沖,單片機(jī)復(fù)位。VPD使用后備電源,可實(shí)現(xiàn)掉電保護(hù)。電源工作電源:VCC、VSS、

復(fù)位電路: 1)上電復(fù)位 2)外部信號(hào)復(fù)位單片機(jī)RSTK+5V200Ω1K30μF時(shí)鐘時(shí)鐘頻率:范圍要求在1.2MHz~12MHz之間。一般從外部振蕩器輸入時(shí)鐘信號(hào)。機(jī)器周期:完成一個(gè)基本操作所需要的時(shí)間。一個(gè)機(jī)器周期由12個(gè)時(shí)鐘周期組成。指令周期:一條指令的執(zhí)行時(shí)間。以機(jī)器周期為單位:單周期、雙周期和四周期指令。思考題:設(shè)應(yīng)用單片機(jī)晶振頻率為12MHz,問機(jī)器周期為多少?指令周期分別為多少?XTAL1

單片機(jī)

XTAL20000HFFFFH0000HFFFFHROM內(nèi)RAM外RAM00HFFH寄存器區(qū)位尋址區(qū)數(shù)據(jù)緩沖區(qū)SFR20H30H80HE0HA2.3

MCS-51寄存器配置物理上4個(gè)存儲(chǔ)器地址空間:片內(nèi)/片外程序存儲(chǔ)器空間片內(nèi)/片外數(shù)據(jù)存儲(chǔ)器空間邏輯上3個(gè)存儲(chǔ)器地址空間:64KB程序存儲(chǔ)器256B片內(nèi)數(shù)據(jù)存儲(chǔ)器64KB片外數(shù)據(jù)存儲(chǔ)器一、物理空間與地址二、程序和數(shù)據(jù)存儲(chǔ)器邏輯空間普林斯頓結(jié)構(gòu):程序和數(shù)據(jù)共用一個(gè)存儲(chǔ)器邏輯空間,統(tǒng)一編址。哈佛結(jié)構(gòu):程序與數(shù)據(jù)分為兩個(gè)獨(dú)立存儲(chǔ)器邏輯空間,分開編址。三、片內(nèi)RAM寄存器MCS-51的寄存器在片內(nèi)RAM都有映像地址。使用時(shí),既可用寄存器名,也可用對(duì)應(yīng)單元地址。1.片內(nèi)RAM工作寄存器區(qū):字節(jié)地址:00H~1FH位尋址區(qū):字節(jié)地址:20H~2FH位地址為:00H~7FH數(shù)據(jù)緩沖區(qū)/堆棧區(qū):字節(jié)地址:00H~7FH一般使用30H~7FH2.特殊功能寄存器SFR占用字節(jié)地址:80H~FFH位尋址寄存器:其字節(jié)地址可被8整除。專用寄存器:A、B、PSW、DPTR、SPI/O接口寄存器:

P0、P1、P2、P3、SBUF、TMOD、TCON、SCON…

實(shí)質(zhì)是計(jì)數(shù)器,脈沖每一次下降沿,計(jì)數(shù)寄存器數(shù)值將加1。計(jì)數(shù)的脈沖如果來源于單片機(jī)內(nèi)部的晶振,由于其周期極為準(zhǔn)確,這時(shí)稱為定時(shí)器。計(jì)數(shù)的脈沖如果來源于單片機(jī)外部的引腳,由于其周期一般不準(zhǔn)確,這時(shí)稱為計(jì)數(shù)器。

8031有2個(gè)可獨(dú)立控制的16位定時(shí)器/計(jì)數(shù)器:T0、T1。+1計(jì)數(shù)器溢出中斷脈沖控制開關(guān)2.4

MCS-51定時(shí)器/計(jì)數(shù)器

2.4.1MCS-51計(jì)數(shù)/定時(shí)器的原理定時(shí)器控制、狀態(tài)寄存器1)TMOD定時(shí)器方式寄存器(89H)1)功能選擇位C/T:=0,定時(shí)功能,計(jì)數(shù)內(nèi)部機(jī)器周期脈沖;=1,計(jì)數(shù)功能,計(jì)數(shù)引腳T0(T1)輸入的負(fù)脈沖。2)方式選擇位M1、M0:3)門控方式選擇位GATE

計(jì)數(shù)器啟動(dòng)方式的選擇確定定時(shí)器工作方式指令:

MOVTMOD,#方式字例:設(shè)T0用方式2非門控定時(shí),T1用方式1門控計(jì)數(shù)。

MOVTMOD,#0D2H;11010010B

T1T02.4.2

定時(shí)器工作方式由方式選擇位M1、M0設(shè)定一、

方式013位定時(shí)/計(jì)數(shù)器。THx8位和TLx低5位組成13位加1計(jì)數(shù)器,此種方式與MCS-48系列兼容,如果不是為了兼容的目的,一般不用方式0.方式0的全部功能,方式1都可以代替。二、

方式116位定時(shí)/計(jì)數(shù)器。THx8位和TLx8位組成16位加1計(jì)數(shù)器最大計(jì)數(shù)脈沖個(gè)數(shù):1~65536(216),最長定時(shí)時(shí)間(晶振12MHzT=1s):1s~65536×T=65.54ms非門控方式:當(dāng)GATE=0,

控制權(quán)由TRx決定

TRx=1計(jì)數(shù)開始

TRx=0計(jì)數(shù)停止門控方式:當(dāng)GATE=1、TRx=1

控制權(quán)由INTx決定

INTx=1計(jì)數(shù)開始

INTx=0計(jì)數(shù)停止啟動(dòng)計(jì)數(shù)方式:三、

方式2

用于需要重復(fù)定時(shí)和計(jì)數(shù)的場合。最大計(jì)數(shù)值:256(28)最大定時(shí)時(shí)間(晶振12MHz時(shí)T=1s):256s自動(dòng)恢復(fù)初值8位定時(shí)/計(jì)數(shù)器。TLx為8位加1計(jì)數(shù)器,THx為8位初值暫存器。四、方式3

T0分成2個(gè)8位定時(shí)器:TL0定時(shí)/計(jì)數(shù)器和TH0定時(shí)器TL0占用T0控制位:C/T,TR0,GATE;TH0占用T1控制位:TR1。T1不能使用方式3工作2.4.3

計(jì)算時(shí)間常數(shù)X(計(jì)算初值)計(jì)數(shù)功能:X=2n-計(jì)數(shù)值n:8/13/16定時(shí)功能:X=2n-t/Tt:定時(shí)時(shí)間(s)T:機(jī)器周期 =12/晶振頻率如:晶振為12MHz時(shí),T=12/12MHz=12÷(12×10-6)(秒)=1×10-6=1us一、

MCS-51定時(shí)器的應(yīng)用定時(shí)器初始化編程:使用定時(shí)器工作之前,先寫入控制寄存器,確定好定時(shí)器工作方式。初始化編程格式:MOVTMOD,#方式字;選擇方式MOVTHx,#XH ;裝入Tx時(shí)間常數(shù)MOVTLx,#XLSETBEA ;開Tx中斷SETBETxSETBTRx ;啟動(dòng)Tx定時(shí)器。

例:由P1.0輸出方波信號(hào),周期為2ms,設(shè)fosc=12MHz。2ms解:每隔1ms改變一次P1.0的輸出狀態(tài),即形成方波,用T0非門控方式1定時(shí)。計(jì)算時(shí)間常數(shù):X=216-t/T=216–(/1000)/10-6=65536-1000=64536=FC18H

ORG 0000H AJMP MAIN ORG 000BH;T0中斷硬件入口地址

AJMP PT0INT;跳到中斷服務(wù)程序

ORG 0030H

MAIN: MOV TMOD,#01H;中斷方式

MOV TL0,#18H;計(jì)數(shù)初值

MOV TH0,#0FCH SETB EA;開放總中斷

SETB ET0;開放T0中斷

SETB TR0;啟動(dòng)定時(shí)器

HERE: SJMP HERE;等待中斷,相當(dāng)于執(zhí)行其它任務(wù)

PT0INT: MOV TL0,#18H;中斷服務(wù)程序;置初值

MOV TH0,#0FCH CPL P1.0;取反,產(chǎn)生方波

RETI;中斷返回例

P1.7驅(qū)動(dòng)LED亮1秒滅1秒地閃爍,設(shè)時(shí)鐘頻率為12MHz。

長定時(shí)方法:增加一個(gè)軟件計(jì)數(shù)器(如R7),記錄中斷次數(shù),計(jì)滿n個(gè)中斷為1秒。

ORG 0000H AJMP MAIN ORG 001BH AJMP PT1INT ORG 0030HSTART:MOVR7,#00H

MOVTMOD,#10H MOVTL1,#0F0H MOVTH1,#0D8HSETB EA SETB ET1 SETB TR1HERE:SJMPHEREPT1INT:MOVTL1,#0F0H MOVTH1,#0D8H INCR7CJNER7,#10,PENDMOVR7,#00HCPLP1.7PEND:RETI例

定時(shí)器外部引腳T0(T1)用作外部中斷信號(hào)輸入端。外部負(fù)脈沖引起中斷請(qǐng)求,選計(jì)數(shù)方式,時(shí)間常數(shù)為FFH。

例:門控方式測(cè)量正脈沖寬度

解:INT1引腳輸入被檢測(cè)信號(hào),記錄在正脈沖的時(shí)間內(nèi)包含機(jī)器脈沖個(gè)數(shù)。

設(shè)脈寬小于65.5ms

等待查詢INT0,正脈沖過后,讀出TH1TL1。START: MOVTMOD,#90H MOVTL1,#00H MOVTH1,#00HWAIT1: JB P3.3,WAIT1 SETBTR1WAIT2:JNB P3.3,WAIT2WAIT3:JB P3.3,WAIT3 CLR TR1 MOV R2,TL1 MOV R3,TH1 …TR1=1 T1啟動(dòng)TR1=0 T1停止INT1一、中斷系統(tǒng)——重要指標(biāo)日常生活中的中斷與計(jì)算機(jī)中斷的比較:

某人看書 執(zhí)行主程序 日常事務(wù)電話鈴響 中斷信號(hào)如INT=0 中斷請(qǐng)求暫停看書

暫停執(zhí)行主程序中斷響應(yīng)書中作記號(hào)當(dāng)前PC入棧 保護(hù)斷點(diǎn)電話談話 執(zhí)行中斷程序 中斷服務(wù)繼續(xù)看書 返回主程序 中斷返回日常事務(wù)程序中斷服務(wù)程序2.5中斷系統(tǒng)

2.5.1

中斷概念

所謂“中斷”,是指CPU執(zhí)行正常程序時(shí),系統(tǒng)中出現(xiàn)特殊請(qǐng)求,CPU暫時(shí)中止當(dāng)前的程序,轉(zhuǎn)去處理更緊急的事件,處理完畢后,CPU返回原程序的過程。中斷與子程序的最主要區(qū)別:子程序是預(yù)先安排好的;中斷是隨機(jī)發(fā)生的。二、中斷的定義,與子程序的區(qū)別三、MCS-51中斷系統(tǒng)內(nèi)部結(jié)構(gòu)2.5.2

中斷系統(tǒng)控制

一、中斷控制寄存器1.中斷標(biāo)志位:TF1、TF0、IE1、IE0、RI、TI登記各中斷源請(qǐng)求信號(hào):=1,有中斷請(qǐng)求;=0,無中斷請(qǐng)求。CPU響應(yīng)中斷后,該中斷標(biāo)志自動(dòng)清零。TI,RI標(biāo)志必須軟件清零。2.外部中斷觸發(fā)方式選擇位:IT0、IT1=1:負(fù)邊沿觸發(fā)中斷請(qǐng)求;=0:低電平觸發(fā)中斷請(qǐng)求。二、

中斷允許寄存器

中斷允許控制位:EA、ES、ET1、EX1、ET0、EX0=1開中斷;=0關(guān)中斷。例:允許CPU響應(yīng)INT0的中斷請(qǐng)求

SETBEX0 SETBEA 三、

中斷優(yōu)先寄存器中斷優(yōu)先級(jí)控制位:PS、PT1、PX1、PT0、PX02級(jí)優(yōu)先級(jí):=1為高優(yōu)先級(jí),=0為低優(yōu)先級(jí)。同一優(yōu)先級(jí)別按內(nèi)部查詢順序排列優(yōu)先級(jí):高INT0、T0、INT1、T1、SIO低。2.5.3

中斷響應(yīng)和中斷返回

一、中斷響應(yīng)周期時(shí)序

每個(gè)機(jī)器周期采樣中斷標(biāo)志位,若有中斷請(qǐng)求,將在下一個(gè)機(jī)器周期按優(yōu)先級(jí)順序進(jìn)行中斷查詢。

二、各中斷源中斷服務(wù)程序的入口地址

三、中斷響應(yīng)阻斷

1.當(dāng)CPU未執(zhí)行完一條指令。2.當(dāng)有同級(jí)或高級(jí)中斷服務(wù)。3.執(zhí)行RETI指令或訪問IE、IP的指令后,不能立即響應(yīng)中斷。

四、中斷返回中斷返回指令:RETI=RET指令+通知CPU中斷服務(wù)已結(jié)束。中斷響應(yīng)時(shí)間:正常中斷響應(yīng)時(shí)間至少為3~8個(gè)機(jī)器周期,如果有同級(jí)或高級(jí)中斷服務(wù),將延長中斷響應(yīng)時(shí)間。2.5.4

中斷處理過程(基本理解的要求)一、中斷響應(yīng)條件1.有中斷請(qǐng)求信號(hào)2.系統(tǒng)處于開中斷狀態(tài)二、中斷響應(yīng)過程1.保護(hù)斷點(diǎn):將斷點(diǎn)地址壓入堆棧保存,即當(dāng)前PC值入棧。2.尋找中斷源:中斷服務(wù)程序硬件入口?PC,轉(zhuǎn)入中斷服務(wù)。3.中斷處理:執(zhí)行中斷源所要求的程序處理段。4.中斷返回:執(zhí)行RETI指令,棧頂內(nèi)容?PC,程序跳轉(zhuǎn)回?cái)帱c(diǎn)處。

2.5.5

多中斷源系統(tǒng)當(dāng)外部中斷源多于中斷輸入引腳時(shí),可采取以下措施:1.用定時(shí)器計(jì)數(shù)輸入信號(hào)端T0、T1作外部中斷入口引腳2.用串行口接收端RXD作外部中斷入口引腳3.用一個(gè)中斷入口接受多個(gè)外部中斷源,并加入中斷查詢電路。

2.5.6

處理外部中斷舉例要求每次按動(dòng)按鍵,使外接發(fā)光二極管LED改變一次亮滅狀態(tài)。解:INT0輸入按鍵信號(hào),P1.0輸出改變LED狀態(tài)。一、跳變觸發(fā):每次跳變引起一次中斷請(qǐng)求

ORG 0000H

AJMPMAIN ORG 0003H ;中斷入口 AJMP PINT0 ORG 0100H ;主程序MAIN:SETB EA ;開總允許開關(guān)

SETB EX0 ;開INT0中斷

SETB IT0;負(fù)跳變觸發(fā)中斷Here:SJMP Here;相當(dāng)于執(zhí)行其

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論