版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目1
彩燈控制器的設(shè)計(jì)與制作知識(shí)與能力目標(biāo)1
熟悉單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)流程2
加深對(duì)單片機(jī)最小系統(tǒng)概念的理解3
熟練掌握51
單片機(jī)I/O
口的輸入和輸出控制方法4
理解中斷的相關(guān)概念5
熟練編寫(xiě)外部中斷程序MCS-51◎?qū)纹瑱C(jī)的控制,其實(shí)就是對(duì)I/O口的控制,無(wú)論單片機(jī)對(duì)外界進(jìn)行何種控制,亦或接受外部的控
制,都是通過(guò)I/O口進(jìn)行的,所以并行I/O端口是
實(shí)現(xiàn)單片機(jī)與外部進(jìn)行并行數(shù)據(jù)交換的通道。任務(wù)1:51單片機(jī)I/O
(輸入/輸出)接口1、認(rèn)識(shí)并行I/0
口輸入輸出端口輸入輸出端口外部設(shè)備內(nèi)總線CPU51系列單片機(jī)有4個(gè)I/0
端口,每個(gè)端口都是8
位準(zhǔn)雙向口,共占32根引腳。每個(gè)端口都包括一個(gè)
鎖存器(即專(zhuān)用寄存器P0~P3)、一個(gè)輸出驅(qū)動(dòng)器和
輸入緩沖器。通常把4個(gè)端口籠統(tǒng)地表示為P0~P3。在無(wú)片外擴(kuò)展存儲(chǔ)器的系統(tǒng)中,這4個(gè)端口的每一位都可以作為準(zhǔn)雙向通用I/0端口使用。在具有片外擴(kuò)
展存儲(chǔ)器的系統(tǒng)中,
P2口作為高8位地址線,
PO口分時(shí)
作為低8位地址線和雙向數(shù)據(jù)總線。U?讀引腳一P0.n由1個(gè)鎖存器、2個(gè)三態(tài)緩沖器、1個(gè)輸出控制電路和1個(gè)輸出驅(qū)動(dòng)電路組成。2
、51單片機(jī)I/0
(輸入/輸出)接口的結(jié)構(gòu)及特點(diǎn)(1)PO
口的結(jié)構(gòu)地址/數(shù)據(jù)控制&MUXUQ-鎖存器CP讀鎖存器一內(nèi)部總線一寫(xiě)鎖存器
—VccT?T?—P0.X2、
51單片機(jī)I/0
(輸入/輸出)接口的結(jié)構(gòu)及特點(diǎn)(2)PO
口的工作方式具有兩種工作方式1.
“通用數(shù)據(jù)I/O雙向端口”;2.“地址、數(shù)據(jù)復(fù)用總線”。在具有片外
擴(kuò)展存儲(chǔ)器的系統(tǒng)中,
P2口作為高8位
地址線,PO口分時(shí)作為低8位地址線和
雙向數(shù)據(jù)總線。注意:PO口作為普通I/0口輸出時(shí)需要外接上拉電阻,其電阻值為4.7歐姆~10K歐姆。U?讀引腳一P1.n
由1個(gè)鎖存器、1個(gè)場(chǎng)效應(yīng)管驅(qū)動(dòng)器、2個(gè)三態(tài)緩沖器組成。2
、51單片機(jī)I/0
(輸入/輸出)接口的結(jié)構(gòu)及特點(diǎn)(3)P1
口的結(jié)構(gòu)讀鎖存器U?
Vcc內(nèi)部上拉電阻—P1.X內(nèi)部總線寫(xiě)鎖存器鎖存器CPQ(4)P1
口的工作方式具有一種工作方式:“
通用數(shù)據(jù)I/O雙向端口”;①P1
口作為通用輸出口使用時(shí),可以實(shí)現(xiàn)0或1的輸出。②P1口作為輸入口使用時(shí),有兩種工作方式:讀端口(讀鎖存器)與讀引腳。讀端口實(shí)際上并不是從外部直接讀入數(shù)據(jù),而是把端口鎖存器的內(nèi)容讀入到內(nèi)部總線,經(jīng)過(guò)某種運(yùn)算或變換后寫(xiě)回到端口鎖存器,比如取反、置位、清零等指令。讀引腳方式才是真正地把外部數(shù)據(jù)讀入到內(nèi)部總線。但這里要注意:P1口作為輸入口需要先向端口寫(xiě)1,因此P1口稱為準(zhǔn)雙向口。U?讀引腳P2.n由1個(gè)鎖存器、2個(gè)三態(tài)緩沖器、1個(gè)輸出控制單元、1個(gè)輸出驅(qū)動(dòng)單元組成。(5)P2口的結(jié)構(gòu)讀鎖存器一U2
、51單片機(jī)I/0
(輸入/輸出)接口的結(jié)構(gòu)及特點(diǎn)內(nèi)部上拉電阻P2.X地址
控制VccD鎖存器CPo內(nèi)部總線
·寫(xiě)鎖存器一QMUX(6)P2口的工作方式
具有兩種工作方式:1、
“
通用數(shù)據(jù)I/O
雙向端口”;2.
“
地址復(fù)用總線”。在具有片外擴(kuò)展存
儲(chǔ)器的系統(tǒng)中,
P2口作為高8位地址線。U?
U?讀引腳第二功能輸入P3.n由1個(gè)鎖存器、2個(gè)三態(tài)緩沖器、1個(gè)第二功能控制單元、1個(gè)輸出驅(qū)動(dòng)單元組成。2、
51單片機(jī)I/0
(輸入/輸出)接口的結(jié)構(gòu)及特點(diǎn)(7)P3口的結(jié)構(gòu)讀鎖存器一內(nèi)部總線一寫(xiě)鎖存器·Vee內(nèi)部上拉電阻P3.X第二功能輸出&U?Qō鎖存器CP(8)P3口的工作方式具有兩種工作方式:1、
“
通用數(shù)據(jù)I/O雙向端口”;2.
“
第二功能方式”。引腳名稱第二功能名稱?功
能?信號(hào)方向?P3.0?RXD串行數(shù)據(jù)接收輸入P3.1?TXD串行數(shù)據(jù)發(fā)送輸
出?P3.2?INTO?外部中斷0請(qǐng)求端口輸入P3.3?INT1?外部中斷1請(qǐng)求端口輸入P3.4?TO?定時(shí)器/計(jì)數(shù)器0外部計(jì)數(shù)輸入端口?輸入P3.5?T1?定時(shí)器/計(jì)數(shù)器0外部計(jì)數(shù)輸入端口輸入P3.6?WR?片外數(shù)據(jù)存儲(chǔ)器寫(xiě)選通輸出P3.7?RD片外數(shù)據(jù)存儲(chǔ)器讀選通?輸出P3口各位的第二功能返回補(bǔ)充知識(shí):二極管相關(guān)知識(shí)點(diǎn)1)發(fā)光二極管簡(jiǎn)稱為
LED。由鎵
(
Ga)與砷
(
AS)、磷(P)
的化合物制成。磷砷化鎵二極管發(fā)紅光,磷化鎵
二極管發(fā)綠光,碳化硅二極管發(fā)黃光。2)工作原理發(fā)光二極管使用時(shí)必須串聯(lián)限流電阻以控制通過(guò)管子的電流。限流電阻
R可用下式計(jì)算:R=(VS-VL)/I;VS
為電源電壓,VL
為L(zhǎng)ED
的正向壓降,I
為
LED
的一般工作電流。3)、LE
D
燈的內(nèi)部結(jié)構(gòu)與連線發(fā)光二極管的兩根引線中較長(zhǎng)的一根為正極,應(yīng)連接電源正極。黃金導(dǎo)線接合部分圖形環(huán)氧樹(shù)脂透鏡LED
芯
片反射帽負(fù)極引腳
正極引腳4)IFD
燈
的
連
線與數(shù)字I/0
口相連
發(fā)光二極管陽(yáng)極
發(fā)光二極管陰極220ΩGNDR1
LED與數(shù)字I/0口相連發(fā)光二極管陰極
發(fā)光二極管陽(yáng)極220ΩR1LED返回C1U1X1XTAL112MP0.2/AD2XTAL222pFR1RST10kP2.0/A8
P2.1/A9PSENALE31二P2.6/A14
P2.7/A15D1LED-REDLED-GREEN17AT89C51任務(wù)2:
按鍵和點(diǎn)燈應(yīng)用系統(tǒng)功能演示P3.0RXDP3.1TXDP3.2ANT0P3.3MNT1P3.4/T0
P3.5/T1
P3.6ANRP3.7RDP0.3/AD3
P0.4/AD4P0.5/AD5
P0.6/AD6P0.7/AD7P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7R2220R3
220P2.2/A10P2.3/A11P2.4/A12P2.5/A1322pFC21918P0.0/AD0
P0.1/AD129BC3D210uF任務(wù)目示設(shè)計(jì)系統(tǒng)的開(kāi)發(fā)流程2
系統(tǒng)硬
件路設(shè)計(jì)與制作③系統(tǒng)軟
程序設(shè)計(jì)與調(diào)試系統(tǒng)的⑤
擴(kuò)展王務(wù)任務(wù)2:
按鍵和點(diǎn)燈1.任務(wù)目標(biāo)·
加深理解單片機(jī)復(fù)位電路的工作原理?!?/p>
掌握時(shí)鐘發(fā)生電路的基本工作原理?!?/p>
理解單片機(jī)最小系統(tǒng)的工作方式?!袷炀氄莆?1
單片機(jī)I/O口的輸入和輸出控制方法?!だ斫饨o出的C
語(yǔ)言源程序的結(jié)構(gòu)和各語(yǔ)句所起作用?!ぴ谶_(dá)到以上5點(diǎn)目標(biāo)的基礎(chǔ)上,根據(jù)“任務(wù)擴(kuò)展”中提出
的問(wèn)題,以組或個(gè)人為單位,在規(guī)定時(shí)間里完成任務(wù)。任務(wù)2:
按鍵和點(diǎn)燈任務(wù)2:
按鍵和點(diǎn)燈2.
任務(wù)要求本任務(wù)通過(guò)單片機(jī)P1口完成對(duì)其端口的輸入與輸出控制。按鍵作為
端口輸入信號(hào)源,
LED
燈作為端口輸出信號(hào)的狀態(tài)指示。按鍵S1
為獨(dú)立
按鍵,紅色LED燈D1、綠色LED
燈D2分別連接51單片機(jī)的P1.0、P1.1、P1.2
引腳。本項(xiàng)目通過(guò)編寫(xiě)相應(yīng)的程序,實(shí)現(xiàn)開(kāi)后D1和D2亮1.5s
左右,然后
紅燈亮、綠燈滅,當(dāng)S1
按鍵按下時(shí),紅燈滅、綠燈亮;釋放S1
按鍵,紅燈重新亮,綠燈重新滅。1、最小系統(tǒng)模塊的設(shè)計(jì)2、按鍵控制模塊的設(shè)計(jì)3、發(fā)光二極管模塊的設(shè)計(jì)4、
電源模塊的設(shè)計(jì)任務(wù)2:
按鍵和點(diǎn)燈0.③③R1DI220ΩRedLEDR2D2220ΩGreenLEDS2SW-PB(AD5)P0.5(AD7)P0.7C1c30pFEAVPP12MHzC2XTAL1VCC30pF200ΩR3IkΩAT89C51系統(tǒng)總體硬件電路任務(wù)2:
按鍵和點(diǎn)燈P1.0P1.2P1.3P1.5P1.7P3.3(INTIP3.2(INT0)P3.5(T1)P3.4(TO)(A8)P2.0
(A9)P2.1
(A10)P2.2
(A11)P2.3
(A12)P2.4
(A13)P2.5
(A14)P2.6
(A15)P2.7XTAL2RSTP3.7(RD)
P3.6(WR)GND
(RXD)P3.0
(TXD)P3.1ALE/PROG
PSEN(AD0)P0.0
(AD1)P0.1(AD3)P0.331。1918C322uF微動(dòng)開(kāi)關(guān)4020U?R3點(diǎn)亮紅燈和綠燈延時(shí)1.5秒?S1
鍵被按下?紅燈亮,綠燈滅任務(wù)2:
按鍵和點(diǎn)燈系統(tǒng)程序流程圖紅燈滅,綠燈亮開(kāi)始X1
12MR110kLED-REDLED-GREENU1XTAL1XTAL2RSTPSENALEEAP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51P0.0/AD0
P0.1AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7P2.0/A8
P2.1A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15P3.0RXD
P3.1/TXD
P3.2ANT0
P3.3ANT1
P3.4/T0
P3.5/T1
P3.6AAR P3.7RDC122pFC222pFC310uFD1D219182930二31234678任務(wù)2:
按鍵和點(diǎn)燈393824281011121314151617系統(tǒng)仿真電路圖R2220
R3220373635
3332#include
<reg51.h>#defineuchar
unsigned
char#defineuint
unsigned
intsbit
RedLed=P1^0;//紅色LED燈D1的控制輸出端sbit
GreenLed=P1^1;//綠色LED燈D2的控制輸出端sbit
SelectKey=P1^2;//獨(dú)立按鍵S1的控制輸入端
void
delay(uchar);/*****主函數(shù)***********************void
main(void){RedLed=0;
//點(diǎn)亮紅色LED燈D1GreenLed=0;
//點(diǎn)亮綠色LED燈D2delay(255);delay(255);delay(255);delay(255);delay(255);delay(255);//延時(shí)while(1){if(SelectKey==0)//按鍵S1被按下RedLed=1;//紅燈滅GreenLed=0;
//綠燈亮}else//按鍵S1未按{RedLed=0;//紅燈亮GreenLed=1;//綠燈滅}}}/********主函數(shù)結(jié)束***************void
delay(uchar
x)//延時(shí),系統(tǒng)主頻為
11.0592MHzuchar
k;while(x--)
//延時(shí)大約x毫秒鐘for(k=0;k<125;k++){}程序設(shè)計(jì)任務(wù)2:
按鍵和點(diǎn)燈理解按鍵和點(diǎn)燈任務(wù)的軟、硬件原然后以個(gè)人為單位,設(shè)計(jì)程序完成以下任務(wù):開(kāi)機(jī)后,紅燈3
s,綠燈不亮;然后綠燈亮3s,同時(shí)紅燈熄滅,如此反復(fù),1鍵被按下時(shí),紅綠兩燈全滅:釋放后重復(fù)紅、綠兩燈依次點(diǎn)的過(guò)程。完成如下任務(wù):·
硬件電
路板的制作、調(diào)試;·
程序的
編寫(xiě)和仿真;·
軟硬件
的
聯(lián)
調(diào)
。任務(wù)2:
按鍵和點(diǎn)燈項(xiàng)目任務(wù)擴(kuò)展任務(wù)3
按鍵和流水燈應(yīng)用系統(tǒng)功能演示U1PXTAL1XTAL2RSTP1.0P1.1P12P13P14P1.5P1.6AT89C51PO.O/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7AD7P2.0/A8P2.3A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15P3.0RXD
P3.1/TXD
P3.2INTOP3.3INT1
P3.4/T0
P3.5T1P3.6MR
P3.7RDR11R12220R13220
R14
220
R15
220
R16220R17220R18220D1D2D3D4D5D6D7D819182922FC322pFC2X1L12MR1C1任務(wù)目示設(shè)計(jì)系統(tǒng)的開(kāi)發(fā)流程2
系統(tǒng)硬
件路設(shè)計(jì)與制作③系統(tǒng)軟
程序設(shè)計(jì)與調(diào)試系統(tǒng)的⑤
擴(kuò)展王務(wù)任務(wù)3
按鍵和流水燈1.
任務(wù)目標(biāo)·加深對(duì)單片機(jī)最小系統(tǒng)工作原理的理解。·熟練掌握51
單片機(jī)I/O
口的輸入和輸出控制方法。·理解給出的C語(yǔ)言源程序的結(jié)構(gòu)和各語(yǔ)句所起作用。·在達(dá)到以上3點(diǎn)目標(biāo)的基礎(chǔ)上,根據(jù)“任務(wù)擴(kuò)展”中提出的
問(wèn)題,以組或個(gè)人為單位,在規(guī)定時(shí)間里完成任務(wù)。任務(wù)3
按鍵和流水燈任務(wù)3
按鍵和流水燈2.
任務(wù)要求按鍵S1、S2
為獨(dú)立按鍵,分別連接單片機(jī)的P1.0
和P1.1口,8個(gè)
LED燈分別連接單片機(jī)的P2口
。這里設(shè)計(jì)了兩類(lèi)花樣,第一類(lèi)是8個(gè)LED燈從上到下依次逐個(gè)點(diǎn)亮,再?gòu)南碌缴弦来沃饌€(gè)熄滅;第二類(lèi)是8個(gè)LED燈從中間開(kāi)始兩顆燈依次點(diǎn)亮,即D4D5
亮,然后D3D6
亮(D4D5不熄滅),然后D2D7
亮(D3D4D5D6
不熄
滅
)
,
然后D1D8
亮(
D
2D3D4D5D6D7
不熄滅);
然后再?gòu)膬啥碎_(kāi)始兩顆燈依次熄滅,即D1D8
滅,然后D2D7
滅,然后
D3D6
滅,然后D4D5
滅。當(dāng)按下S1
鍵則顯示第一類(lèi)花樣,按下S2則顯
示第二類(lèi)花樣。1、最小系統(tǒng)模塊的設(shè)計(jì)2、按鍵控制模塊的設(shè)計(jì)3、發(fā)光二極管模塊的設(shè)計(jì)4、
電源模塊的設(shè)計(jì)任務(wù)3
按鍵和流水燈0.③③RIP20(AD0)P0.0(AD1)P0.1(AD2)P0.2(AD3)P0.3(AD4)P0.4(ADS)P0.5(AD6)P0.6(AD7)P0.7GND(A8)P2.0(A9)P2.1(A10)P2.2(A11)P2.3(A12)P2.4(A13)P2.5EAVPP(A15)P2.7XTALI40VCCGND(RXD)P3.0(TXD)P3.1ALE/PROGikΩPSENAT89C51GND系統(tǒng)總體硬件電路任務(wù)3
按鍵和流水燈R52202R6220ΩR72200R8P3.3(INTI)P3.2(INT0)P3.5(T1)P3.4(T0)R32202R4P3.7(RD
P3.6(WR)P22P242200R2P1.4P1.5|·GND
D22ufXTAL212MHzD330pF30pFDIL200Ω220ΩvccPL.0PL.7RSTP1.220R10P23P25P26P21P22P24U?R9C2Cl開(kāi)始?燈全滅系統(tǒng)程序流程圖按鍵掃描S2
鍵被按下?N?S3
鍵被按下?N?花樣類(lèi)一?花樣類(lèi)二?任務(wù)3
按鍵和流水燈R11GREENR12220R13220
R14220R15
220R16220R17220R18
220D2D3cD4
dD5D6D7D8hU1X
TAL1XTAL2RSTPSENALEP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51P0.0/AD0P0.1AD1P0.2/AD2P0.3/AD3P?.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8
P2.1A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0RXDP3.1TXDP3.2ANT0P3.3INT1P3.4/T0P3.5T1P3.6RP3.7RD任務(wù)3
按鍵和流水燈39363522232627.2812141617系統(tǒng)仿真電路圖1918293031622pFC222pFX1L
12MR110k343332#include
<reg51.h>#defineucharunsigned
char#defineuint
unsigned
int#define
LED
P2sbit
SelectKey1=P3^2;//獨(dú)立按鍵S1的控制輸入
端sbit
SelectKey2=P3^3;//獨(dú)立按鍵S2的控制輸入
端//函數(shù)聲明void
delay(uchar);void
Huayang1(void);void
Huayang2(void);void
main(void){LED=0xff;while(1){if(SelectKey1==0){Huayang1();}else
if(SelectKey2==0){Huayang2();}else
LED=0xff;void
delay(uchar
x)//延時(shí),系統(tǒng)主頻為
11.0592MHz{uchar
k;while(x--)//延時(shí)大約x毫秒鐘
for(k=0;k<125;k++){}}void
Huayang1(void){LED=0xfe;delay(500);LED=0xfc;delay(500);LED=0xf8;delay(500);LED=0xf0;delay(500);LED=0xe0;delay(500);LED=0xc0;delay(500);LED=0x80;delay(500);LED=0x00;delay(500);LED=0x80;delay(500);LED=0xc0;delay(500);LED=0xe0;delay(500);LED=0xf8;delay(500);
LED=0xfc;
delay(500);
LED=0xfe;
delay(500);
LED=0xff;
delay(500);}void
Huayang2(void)
{LED=0xe7;delay(500);LED=0xc3;delay(500);LED=0x81;
delay(500);LED=0x00;
delay(500);LED=0x81;
delay(500);LED=0xc3;delay(500);LED=0xe7;delay(500);LED=0xff;delay(500);delay(500);LED=0xf0;程序設(shè)計(jì)任務(wù)3
按鍵和流水燈項(xiàng)目任務(wù)擴(kuò)展理解按鍵和流水燈任務(wù)的軟、硬件原然后以個(gè)人為單位,
在“按健和流水燈任務(wù)工作表”中隨機(jī)事以兩個(gè)子任務(wù),完成如
下
任務(wù):·
花樣的
編碼用數(shù)組的方式存放;·
硬件電
路板的制作、調(diào)試;·
程序的
編寫(xiě)和仿真;·
軟硬件
的聯(lián)調(diào)。任務(wù)3
按鍵和流水燈任務(wù)4
外部中斷和花樣流水燈應(yīng)用系統(tǒng)功能演示C1U119R1RSTR11R12R13R14R15R16R17R1881DD1D2D3D4D5D6D7D8P8EWP1DP1.1
P1Z
P13
P1.4
P15
P16P1.7P3Z/IKTD
P33WT1P3.4/TDP360UR
P3.7/RD票任務(wù)目示設(shè)計(jì)系統(tǒng)的開(kāi)發(fā)流程2
系統(tǒng)硬
件路設(shè)計(jì)與制作③系統(tǒng)軟
程序設(shè)計(jì)與調(diào)試系統(tǒng)的⑤
擴(kuò)展王務(wù)任務(wù)4
外部中斷和花樣流水燈1.任務(wù)目標(biāo)·
理解中斷的相關(guān)概念。●熟練掌握51
單片機(jī)外部中斷的使用?!だ斫饨o出的C
語(yǔ)言源程序的結(jié)構(gòu)和各語(yǔ)句所起作用?!?/p>
掌握中斷子函數(shù)的編寫(xiě)格式?!?/p>
理解中斷子函數(shù)與主函數(shù)之間的關(guān)系及中斷子函數(shù)與普通
子函數(shù)的區(qū)別?!?/p>
在達(dá)到以上5點(diǎn)目標(biāo)的基礎(chǔ)上,根據(jù)“任務(wù)擴(kuò)展”中提出
的問(wèn)題,以組或個(gè)人為單位,在規(guī)定時(shí)間里完成任務(wù)。任務(wù)4
外部中斷和花樣流水燈任務(wù)4
外部中斷和花樣流水燈2.
任務(wù)要求按鍵S1、S2
為獨(dú)立按鍵,分別連接單片機(jī)的P3.2
和P3.3口
,24個(gè)LED燈分別連接單片機(jī)的P0、P1、P2
口
。自行設(shè)計(jì)流水燈花樣,和LED
燈排布的樣式,同時(shí)要求實(shí)現(xiàn)
按下S1
按鍵花樣流動(dòng)暫停,按下S2
鍵花樣繼續(xù)流動(dòng)。當(dāng)CPU在執(zhí)行程序時(shí),由單片機(jī)內(nèi)部或外部的原因引
起的隨機(jī)事件要求CPU暫時(shí)停
止正在執(zhí)行的程序,而轉(zhuǎn)向
執(zhí)行一個(gè)用于處理該隨機(jī)事
件的程序,處理完后又返回
被中止的程序斷點(diǎn)處繼續(xù)執(zhí)
行,這一過(guò)程就稱為中斷!斷任務(wù)4
外部中斷和花樣流水燈3.
知識(shí)補(bǔ)充一中斷的概念繼續(xù)執(zhí)行主程序中斷服務(wù)程序主程
序斷點(diǎn)RETI外部中斷:由外部信號(hào)引起:定時(shí)/計(jì)數(shù)器中斷:內(nèi)部2個(gè)16位定時(shí)/計(jì)數(shù)器T0、T1串行口中斷源:內(nèi)部有一個(gè)全雙工的串行接口INTO(P3.2)和INT1(P3.3)2、51系列單片機(jī)的中斷源123中斷源(5個(gè))TCON(88H)D7D6D5D4D3D2D1D0位名稱TF1TR1TF0TROIE1IT1IEOITO位含義T1的
溢出
中斷
標(biāo)志
位T1的
啟動(dòng)停止控制
位TO的
溢出中斷標(biāo)志位TO的啟動(dòng)停止控制位INT1中
斷請(qǐng)求
標(biāo)志位INT1
觸發(fā)方式控制
位INTO中
斷請(qǐng)求
標(biāo)志位INTO觸發(fā)方式控制
位1)中斷請(qǐng)求標(biāo)志TCON
(定時(shí)器控制寄存器)3、中斷結(jié)構(gòu)IT1
為INT1觸發(fā)方式控制位。由軟件進(jìn)(TCON.2
行
置位和復(fù)位,當(dāng)IT1=0時(shí),為低電平觸發(fā)
;當(dāng)IT1=1時(shí),為負(fù)跳變觸發(fā)。門(mén)為INT1中斷請(qǐng)求標(biāo)
志
位。當(dāng)
INT1有請(qǐng)求信號(hào)時(shí),
該位就會(huì)由硬件自動(dòng)置1,在CPU響應(yīng)中斷后,才由硬件自動(dòng)將IE1清零。為INT0
中斷請(qǐng)
標(biāo)志位。當(dāng)INTO
有請(qǐng)求
信號(hào)時(shí),該位就會(huì)
硬件自動(dòng)置1,在CPU響應(yīng)中斷后,才由便件自動(dòng)將IEO清零。為INTO
觸發(fā)萬(wàn)式控制位,
由軟件進(jìn)
行置位和復(fù)位,當(dāng)ITO=0時(shí)
,為低電平
觸發(fā);當(dāng)IT0=1
曠為負(fù)跳變觸發(fā)。IT0(TCON.0)IE0(TCON.1)IE1(TCON.3)TR0
為定時(shí)/計(jì)數(shù)器T
0的
動(dòng)停止控制位。(TCON.4)
由軟件進(jìn)行設(shè)定,當(dāng)TR=0時(shí),停止T0定
時(shí)
或計(jì)數(shù));當(dāng)0=1時(shí),啟動(dòng)TO定時(shí)(或
計(jì)
數(shù)
)
。為定時(shí)器/計(jì)數(shù)器下0的溢出中斷標(biāo)志位。當(dāng)T0
定時(shí)
(或十?dāng)?shù))結(jié)束時(shí),出硬件自動(dòng)置1,在CPU
響應(yīng)中斷
后
,才由硬件自動(dòng)將TFO清零。也可以由軟件查詢?cè)摌?biāo)
志,并由軟件清零。為定時(shí)/計(jì)數(shù)器T1的溢出中斷標(biāo)志位,當(dāng)T1
定時(shí)(
或計(jì)數(shù))結(jié)束時(shí),由硬件自動(dòng)置1,在CPU
響應(yīng)中斷
后,才由硬件自己將TF1清零。也可以由軟件查詢?cè)摌?biāo)
志,并由軟件清零。力
定時(shí)/計(jì)數(shù)器T1
的啟動(dòng)停止控制位。
由軟件進(jìn)行設(shè)定,當(dāng)TR1=0時(shí),停止TO
定時(shí)
(
或
計(jì)
數(shù)
);
當(dāng)TR1:
時(shí),啟動(dòng)T1
定時(shí)(或TF0(TCON.5)TF1(TCON.7)TR1(TCON.6
)SCON(98H)D7D6D5D4D3D2D1D0位名稱一一一一一TIRI位含義一—————串行口發(fā)送中斷標(biāo)志位串行口接收中斷標(biāo)志位1)中斷請(qǐng)求標(biāo)志SCON
(串行口控制寄存器)3
、中斷結(jié)構(gòu)·RI(SCON.O):串行口接收中斷標(biāo)志位。當(dāng)串行口
接收數(shù)據(jù)時(shí),每接收完一個(gè)串行幀,由硬件置RI為1,
CPU相應(yīng)中斷,但硬件不能自動(dòng)清除RI,所
以RI必須
由軟件來(lái)清零。·TI(SCON.1)
:串行口發(fā)送中斷標(biāo)志位。當(dāng)CPU
將
一個(gè)發(fā)送數(shù)據(jù)寫(xiě)入串行口發(fā)送緩沖器時(shí),就啟動(dòng)了發(fā)
送過(guò)程。每發(fā)送完一個(gè)串行幀,由硬件置TI為1,CPU
相應(yīng)中斷,但硬件不能自動(dòng)清除TI,所以TI必須由軟件來(lái)清零。IE(A8H)D7D6D5D4D3D2D1D0位名稱EA——ESET1EX1ET0EXO位含義中斷總允許控制位一
串行口中斷允許位T1中
斷允許位INT1中斷允許位T0中
斷允許位INT0中斷允許位2)中斷允許控制IE寄存器3、中斷結(jié)構(gòu)
EA(IE.7)
為所有中斷總允許控制位。EA=0,
中斷總
禁止;EA=1,中斷總允許。
ES(IE.4)為串行口中斷允許位。ES=1,允許串行口
中斷;ES=0,禁止串行口中斷。ET1(IE.3)為T(mén)1中斷允許位。ET1=1,
允許T1中斷;
ET1=0,
禁止T1中斷。EX1(IE.2)為INT1中斷允許位。EX1=1,
允許外部中
斷INT1中斷;EX1=0,禁止外部中斷INT1中斷。ETO(IE.1)為T(mén)O中斷允許位。ET0=1,
允許T0中斷;
ETO=0,禁止T0中斷。EXO(IE.0)
為INT0中斷允許位。EXO=1,允許INTO中
斷
;EXO=0,禁止INTO中斷。IP(B8H)D7D6D5D4D3D2D1DO位名稱一—PT2PSPT1PX1PTOPXO位含義一
一定時(shí)/計(jì)數(shù)器2優(yōu)先級(jí)設(shè)定位串行口中斷優(yōu)先級(jí)設(shè)定位定時(shí)/計(jì)數(shù)器1優(yōu)先級(jí)設(shè)定
位外部中斷1優(yōu)先級(jí)設(shè)定位定時(shí)/計(jì)數(shù)器0優(yōu)先級(jí)設(shè)定位外部中斷0優(yōu)先級(jí)設(shè)定位2)中斷優(yōu)先級(jí)控制中斷優(yōu)先級(jí)控制寄存器IP說(shuō)明:PT2(IP.5):
定時(shí)/計(jì)數(shù)器2優(yōu)先級(jí)設(shè)定位。(8052擴(kuò)展,
8051無(wú))以上各位為1時(shí),是高優(yōu)先級(jí),為0時(shí)為低優(yōu)先級(jí)。3、中斷結(jié)構(gòu)中斷源中斷標(biāo)志中斷服務(wù)程序入口優(yōu)先級(jí)順序外部中斷0?IE0?0003H高定時(shí)/計(jì)數(shù)器0?TFO?000BH外部中斷1?IE1?0013H上定時(shí)/計(jì)數(shù)器1?TF1?001BH上串行口RI或Tle0023H?低8051單片機(jī)的中斷系統(tǒng)硬件默認(rèn)自然優(yōu)先級(jí)排列4、8051單片機(jī)的中斷優(yōu)先級(jí)的三條原則OCPU同時(shí)接收到幾個(gè)中斷時(shí),首先相應(yīng)優(yōu)先級(jí)最
高的中斷請(qǐng)求。●正在進(jìn)行的中斷過(guò)程不能被新的同級(jí)或低優(yōu)先級(jí)
的中斷請(qǐng)求中斷。●正在進(jìn)行的中斷過(guò)程能被新的高優(yōu)先級(jí)的中斷請(qǐng)
求中斷。5、8051中斷處理過(guò)程執(zhí)行指令有
中
斷
請(qǐng)
求
?滿
足響應(yīng)條件?保
護(hù)
現(xiàn)
場(chǎng)中
斷
服
務(wù)恢
復(fù)
現(xiàn)場(chǎng)中
斷
返
回NN編制應(yīng)用程序時(shí)中斷
初始化中斷服務(wù)程序6
、8051中斷服務(wù)函數(shù)的編制包含中斷服務(wù)程序的格式中斷響應(yīng)過(guò)程就是自動(dòng)調(diào)用并執(zhí)行中斷函數(shù)的過(guò)程。C51編譯器支
持在C語(yǔ)言源程序中直接以函數(shù)形式編寫(xiě)中斷服務(wù)程序。常用的中斷函數(shù)
定義語(yǔ)法如下:void
函數(shù)名()interrupt
n其中,
n為中斷類(lèi)型號(hào),
C51
編譯器允許0~31個(gè)中斷,所以n的取值
范圍為0~31。下面表給出了8051控制器提供的5個(gè)中斷源對(duì)應(yīng)的中斷類(lèi)
型號(hào)。中斷源中斷類(lèi)型號(hào)ne外部中斷00?定時(shí)/計(jì)數(shù)器01?外部中斷1?2?定時(shí)/計(jì)數(shù)器13?串行口4?7、外部中斷舉例1)
任務(wù)要求本例子實(shí)現(xiàn)的是按鍵計(jì)數(shù)顯示。按鍵S1連接到單片機(jī)的
P3.2口,兩個(gè)共陰極數(shù)碼管分別段選端分別連接單片機(jī)的PO和P2口,利用P3.2口的第二功能,實(shí)現(xiàn)每按下一次按鍵就觸發(fā)一次外部中斷,用數(shù)碼管顯示按鍵次數(shù),最大計(jì)數(shù)到
99,
當(dāng)計(jì)數(shù)到100時(shí),又重新開(kāi)始計(jì)數(shù)。P00POIP02P05P06PO7P20P23P24P27vccGND系統(tǒng)總體硬件電路(ADO)P0.0
(ADI)PO.1(AD2)P0.2
(AD3)P0.3(AD4)P0.4
(AD5)P0.5(AD6)P?.6(AD7)P0.7(A8)P2.0
(A9)P2.1(A10)P2.2(A11)P2.3
(A12)P2.4(A13)P2.5
(A14)P2.6(A15)P2.7VCC
GND
(RXD)P3.0TXDP3.1
ALEPROGPSENg
P33INTI)10
P3.2([NT)P3.5(T1)
P3.4(T0)EAVPPXTALIXTAL2DSI
DS2P22P00
10POIP02P3P04P05P062
2ufIk9P3.7(RD)
P3.6(WR)AT89CS130pF30pFPLIP12P1.3P1.4P1.5P1.6PL.7RI2002vcU1XTAL1XTALZPSENALEP1□P1.1P1ZP13P1.4P15P16P1.7AT9051PAC
KAGE-DIL40X111DEZHZsTEXTR1sTEXTPDDYADOPD.1AD1
PDZADZPD3AD3PD.4AD+
PDSAD5PDEAD6PD.7IAD7PZDAZPZ.1A9PZZA10PZ3A11PZ.4A12PZSA13PZBA14PZ.7A15P3DYRXD
P3.1TXDP3Z/IWTDP33IWT1P3.4/TDP3ST1
P360P3.7RD系統(tǒng)仿真電路圖C1sTEXTSTET五五334衛(wèi)二N26Z但1但141718316R2廣TETETER7[
R8TETETR6JeTE版R9#include<reg51.h>#defineuint
unsigned
int#defineucharunsigned
charsbit
key=P3^2;uchar
count;uchar
code
table[]={Ox3f,Ox06,0x5b,0x4f,Ox66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void
delay(uint
z){uint
x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);voidmain()ITO=1;EXO=1;EA=1;count=0;PO=table[count/10];P2=table[count%10];
while(1);voidint0()interrupt0count++;if(count==100)count=0;
PO=table[count/10];P2=table[count%10];程序設(shè)計(jì)程序外部中斷和花樣流水燈任務(wù)舉例1)
任務(wù)要求這里我們以任務(wù)3中的兩類(lèi)花樣進(jìn)行合并,即在此例子中
實(shí)現(xiàn)的花樣是:8個(gè)LED燈從上到下依次逐個(gè)點(diǎn)亮,再?gòu)南?/p>
到上依次逐個(gè)熄滅;然后8
個(gè)LED
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 賬務(wù)管理培訓(xùn)課件
- 醫(yī)療護(hù)理禮儀:關(guān)愛(ài)患者提高護(hù)理服務(wù)質(zhì)量
- 口腔正畸技術(shù)發(fā)展與展望
- 中國(guó)近視前期管理專(zhuān)家共識(shí)總結(jié)2026
- 醫(yī)院綠化美化與禮儀文化
- 傳染病防控策略與患者管理
- D打印在醫(yī)療器械制造中的應(yīng)用
- 醫(yī)療設(shè)備維護(hù)情況匯報(bào)
- 2026年廣西教育學(xué)院?jiǎn)握芯C合素質(zhì)筆試備考題庫(kù)帶答案解析
- 2026年福州軟件職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試備考題庫(kù)有答案解析
- 2025福建德化閩投抽水蓄能有限公司社會(huì)招聘4人備考題庫(kù)附答案
- 2025年物業(yè)管理中心工作總結(jié)及2026年工作計(jì)劃
- 雨課堂學(xué)堂在線學(xué)堂云軍事理論國(guó)防大學(xué)單元測(cè)試考核答案
- 多源醫(yī)療數(shù)據(jù)融合的聯(lián)邦學(xué)習(xí)策略研究
- 2025至2030中國(guó)工業(yè)邊緣控制器行業(yè)運(yùn)營(yíng)態(tài)勢(shì)與投資前景調(diào)查研究報(bào)告
- 磁電感應(yīng)式傳感器課件
- 學(xué)校控輟保學(xué)工作流程及四書(shū)一表一單
- 2026屆湖南省常德市石門(mén)一中生物高二第一學(xué)期期末統(tǒng)考試題含解析
- 肺癌全程護(hù)理計(jì)劃
- 學(xué)堂在線 雨課堂 學(xué)堂云 人工智能 章節(jié)測(cè)試答案
- 工業(yè)高質(zhì)量數(shù)據(jù)集研究報(bào)告
評(píng)論
0/150
提交評(píng)論