单片机原理及应用(姜志海第3版)习题参考答案_第1页
单片机原理及应用(姜志海第3版)习题参考答案_第2页
单片机原理及应用(姜志海第3版)习题参考答案_第3页
单片机原理及应用(姜志海第3版)习题参考答案_第4页
单片机原理及应用(姜志海第3版)习题参考答案_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

……………最新资料推荐………………最新资料推荐………………最新资料推荐…………………《单片机原理及应用(第3版)》习题参考答案姜志海黄玉清刘连鑫编著电子工业出版社目录TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc460266542"第1章概述2HYPERLINK\l"_Toc460266543"第2章MCS51系列单片机硬件结构4HYPERLINK\l"_Toc460266544"第3章MCS51系列单片机指令系统8HYPERLINK\l"_Toc460266545"第4章MCS51系列单片机汇编语言程序设计11HYPERLINK\l"_Toc460266546"第5章MCS51系列单片机硬件资源的应用15HYPERLINK\l"_Toc460266547"第6章MCS51系列单片机并行扩展接口技术19HYPERLINK\l"_Toc460266548"第7章MCS51系列单片机串行总线扩展技术23HYPERLINK\l"_Toc460266549"第8章单片机应用系统设计25第1章概述1.简述微型计算机的结构及各部分的作用微型计算机在硬件上由运算器、控制器、存储器、输入设备及输出设备五大部分组成。运算器是计算机处理信息的主要部分;控制器控制计算机各部件自动地、协调一致地工作;存储器是存放数据与程序的部件;输入设备用来输入数据与程序;输出设备将计算机的处理结果用数字、图形等形式表示出来。通常把运算器、控制器、存储器这三部分称为计算机的主机,而输入、输出设备则称为计算机的外部设备(简称外设)。由于运算器、控制器是计算机处理信息的关键部件,所以常将它们合称为中央处理单元CPU(CentralProcessUnit)。2.微处理器、微型计算机、微型计算机系统有什么联系与区别?微处理器是利用微电子技术将计算机的核心部件(运算器和控制器)集中做在一块集成电路上的一个独立芯片。它具有解释指令、执行指令和与外界交换数据的能力。其内部包括三部分:运算器、控制器、内部寄存器阵列(工作寄存器组)。微型计算机由CPU、存储器、输入/输出(I/O)接口电路构成,各部分芯片之间通过总线(Bus)连接。以微型计算机为主体,配上外部输入/输出设备、电源、系统软件一起构成应用系统,称为微型计算机系统。3.简述在微型计算机中的地址总线、数据总线和控制总线的作用。所谓总线,就是在微型计算机各芯片之间或芯片内部各部件之间传输信息的一组公共通信线。计算机元件级总线包括地址总线AB(AddressBus)、数据总线DB(DataBus)、控制总线CB(ControlBus)三种。(1)地址总线:地址总线是CPU用来向存储器或I/O接口传送地址信息的,是三态单向总线。地址总线的宽度决定了CPU可直接寻址的内存容量。通过地址总线确定要操作的存储单元或I/O接口的地址。(2)数据总线:数据总线是CPU与存储器及外设交换数据的通路,是三态双向总线。(3)控制总线:控制总线是用来传输控制信号的,传送方向依据具体控制信号而定,如CPU向存储器或I/O接口电路输出读信号、写信号、地址有效信号,而I/O接口部件向CPU输入复位信号、中断请求信号等。4.微型计算机是以CPU为核心,配上(存储器)、(输入/输出接口)和系统总线组成的计算机。5.在计算机内部,一切信息的存取、处理和传递的形式是(C)。A.ASCII码 B.BCD码 C.二进制 D.十六进制6.0~9的ASCII码是(C)。A.0~9 B.30~39 C.30H~39H D.40H~49H7.假设某CPU含有16根地址线,8根数据线,则该CPU的最大寻址能力是多少KB?64KB8.简述单片机的定义、特点、应用领域和发展方向。定义:它采用一定的工艺手段将CPU、存储器和I/O口集成在一个芯片上。特点:①单片机CPU的抗干扰性强,工作温度范围宽,而通用微机CPU一般要求在室温下工作,抗干扰能力较弱。②单片机CPU可靠性强,在工业控制中,任何差错都有可能造成极其严重的后果。③单片机CPU控制功能往往很强,数值计算能力较差,而通用微机CPU具有很强的数值运算能力,但控制能力相对较弱,将通用微机用于工业控制时,一般需要增加一些专用的接口电路。④单片机CPU指令系统比通用微机系统简单。⑤单片机CPU更新换代速度比通用微机处理器慢得多。应用领域:①单片机在智能仪表中的应用②单片机在机电一体化中的应用③单片机在实时控制中的应用④在军工领域的应用⑤单片机在分布式多机系统中的应用⑥在民用电子产品中的应用发展趋势:CPU的改进②存储器的发展③片内I/O口的改进一般单片机都有较多的并行口,以满足外围设备、芯片扩展的需要,并配以串行口,以满足对多机通信功能的要求。①提高并行口的驱动能力。这样可减少外围驱动芯片。有的单片机直接输出大电流和高电压,以便能直接驱动LED和VFD(荧光显示器)等。②增加I/O口的逻辑控制功能。中、高档单片机的位处理系统能够对I/O口线进行位寻址及位操作,这加强了I/O口线控制的灵活性。特殊的串行接口功能。为单片机构成网络系统提供更便利的条件。④外围电路内装化⑤低功耗与工作电压范围加宽⑥低噪声与高可靠性技术⑦ISP及IAP第2章MCS51系列单片机硬件结构1.MCS51系列单片机内部有哪些主要的逻辑部件?MCS51单片机是在一块芯片上集成了CPU、RAM、ROM、定时器/计数器和多种I/O功能部件,具有了一台微型计算机的基本结构,主要包括下列部件:一个8位的CPU、一个布尔处理机、一个片内振荡器、128B的片内数据存储器、4KB的片内程序存储器(8031无)、外部数据存储器和程序存储器的寻址范围为64KB、21个字节的专用寄存器、4个8位并行I/O接口、一个全双工的串行口、2个16位的定时器/计数器、5个中断源、2个中断优先级、111条指令、片内采用单总线结构。2.MCS51单片机设有4个8位并行端口,实际应用中8位数据信息由哪个端口传送?16位地址线怎样形成?P3口有何功能?8位数据信息由P0口传送。P2口形成地址大高8位,P0口结果锁存器形成地址的低8位。P3口除具有一般的输入/输出功能,还具有第2功能:P3.0RXD串行口输入端P3.1TXD串行口输出端P3.2外部中断0请求输入端,低电平有效P3.3外部中断1请求输入端,低电平有效P3.4T0定时器/计数器0计数脉冲输入端P3.5T1定时器/计数器1计数脉冲输入端P3.6外部数据存储器及I/O接口写选通信号输出端,低电平有效P3.7外部数据存储器及I/O接口读选通信号输出端,低电平有效3.MCS51单片机内部RAM区的功能结构如何分配?4组工作寄存器使用时如何选择?位寻址区域的字节范围是多少?MCS51单片机片内RAM共有128B,字节范围为00H~7FH,可分为工作寄存器区、位寻址区、数据缓冲区共3个区域。(1)工作寄存器区00H~1FH单元为工作寄存器区。工作寄存器也称通用寄存器,用于临时寄存8位信息。工作寄存器分成4组,每组都是8个寄存器,用R0~R7来表示。程序中每次只用一组,其余各组不工作。使用哪一组寄存器工作,由程序状态字PSW中的PSW.3(RS0)和PSW.4(RS1)两位来选择,其对应关系如表所示。工作寄存器组的选择表工作寄存器组的选择表PSW.4(RS1)PSW.3(RS0)当前使用的工作寄存器组

R0~R7000组(00H~07H)011组(08H~0FH)102组(10H~17H)113组(18H~1FH)该区域当不被用做工作寄存器时,可以作为一般的RAM区使用。(2)位寻址区20H~2FH单元是位寻址区。这16个单元(共计16×8=128位)的每一位都赋予了一个位地址,位地址范围为00H~7FH。位地址区的每一位都可当做软件触发器,由程序直接进行位处理。通常可以把各种程序状态标志、位控制变量存入位寻址区内。00H…07H08H…0FH10H…17H18H…1FH0组工作寄存器区1组2组3组20H21H22H23H24H25H26H27H28H29H2AH2BH2CH2DH2EH2FH0706050403020100位寻址区0F0E0D0C0B0A090817161514131211101F1E1D1C1B1A191827262524232221202F2E2D2C2B2A292837363534333231303F3E3D3C3B3A393847464544434241404F4E4D4C4B4A494857565554535251505F5E5D5C5B5A595867666564636261606F6E6D6C6B6A696877767574737271707F7E7D7C7B7A797830H…7FH数据缓冲区该区域当不被用做位寻址区时,可以作为一般的RAM区使用。(3)数据缓冲区30H~7FH是数据缓冲区,即用户RAM,共80个单元。由于工作寄存器区、位寻址区、数据缓冲区统一编址,使用同样的指令访问,这三个区的单元既有自己独特的功能,又可统一调度使用。因此,前两个区未使用的单元也可作为用户RAM单元使用,使容量较小的片内RAM得以充分利用。4.简述程序状态字PSW中各位的含义。程序状态字PSW是一个8位寄存器,它保存指令执行结果的特征信息,为下一条指令或以后的指令的执行提供状态条件。PSW中的各位一般是在指令执行过程中形成的,但也可以根据需要采用传送指令加以改变。其各位定义如图所示。①进位标志C(PSW.7)在执行某些算术运算类、逻辑运算类指令时,可被硬件或软件置位或清零。它表示运算结果是否有进位或借位。如果在最高位有进位(加法时)或借位(减法时),则C=1,否则C=0。②辅助进位(或称半进位)标志位AC(PSW.6)它表示两个8位数运算,低4位有无进(借)位的状况。当低4位相加(或相减)时,若D3位向D4位有进位(或借位),则AC=1,否则AC=0。在BCD码运算的十进制调整中要用到该标志。③用户自定义标志位F0(PSW.5)用户可根据自己的需要为F0赋予一定的含义,通过软件置位或清零,并根据F0=1或0来决定程序的执行方式,或系统某一种工作状态。④工作寄存器组选择位RS1、RS0(PSW.4、PSW.3)可用软件置位或清零,用于选定当前使用的4个工作寄存器组中的某一组。⑤溢出标志位OV(PSW.2)做加法或减法时由硬件置位或清零,以指示运算结果是否溢出。在带符号数加减运算中,OV=1表示加减运算超出了累加器所能表示的数值范围(–128~+127),即产生了溢出,因此运算结果是错误的。OV=0表示运算正确,即无溢出产生。执行乘法指令MULAB也会影响OV标志,当积大于255时,OV=1,否则OV=0;执行除法指令DIVAB也会影响OV标志,如B中所存放的除数为0,则OV=1,否则0V=0。⑥奇偶标志位P(PSW.0)在执行指令后,单片机根据累加器A中1的个数的奇偶自动将该标志置位或清零。若A中1的个数为奇数,则P=1,否则P=0。该标志对串行通信的数据传输非常有用,通过奇偶校验可检验传输的可靠性。5.简述MCS51单片机程序存储器的几个特殊入口地址的含义。0000H:程序入口地址0003H:外部中断0中断服务程序入口地址000BH:定时器/计数器0溢出中断服务程序入口地址0013H:外部中断1中断服务程序入口地址001BH:定时器/计数器1溢出中断服务程序入口地址0023H:串行口发送/接收中断服务程序入口地址6.位地址7FH与字节地址7FH有何区别?位地址7FH具体在内存中的什么位置?二者存储的数据位数不一样。位地址7FH存放一位二进制数,字节地址7FH存放8为二进制数。位地址7FH具体在内存中字节地址为20H的最高位上。7.试分别说明程序计数器PC和堆栈指针SP的作用。复位后PC和SP各为何值?程序计数器PC是一个16位专用寄存器,其内容表示下一条要执行的指令的地址。复位后为0000H。MCS51单片机的堆栈是在片内RAM中开辟的一个专用区。堆栈指针SP是一个8位专用寄存器,用来存放栈顶的地址。进栈时,SP自动加1,将数据压入SP所指定的地址单元;出栈时,将SP所指示的地址单元中的数据弹出,然后SP自动减1。因此SP总是指向栈顶。复位后为07H。8.MCS51单片机设置4组工作寄存器,开机复位后,CPU使用的是哪组寄存器?它们的地址如何?CPU如何改变当前工作寄存器组?第0组。字节地址为00H~07H。通过PSW的RS1、RS0来改变。工作寄存器组的选择表工作寄存器组的选择表PSW.4(RS1)PSW.3(RS0)当前使用的工作寄存器组

R0~R7000组(00H~07H)011组(08H~0FH)102组(10H~17H)113组(18H~1FH)9.什么是时钟周期、机器周期和指令周期?当外部的振荡频率是8MHz时,8051单片机的机器周期为多少?MCS51单片机的时序由下面4种周期构成。(1)振荡周期振荡周期是指为单片机提供定时信号的振荡源的周期。(2)状态周期(时钟周期)两个振荡周期为一个状态周期,用S表示。两个振荡周期作为两个节拍分别称为节拍P1和节拍P2。在状态周期的前半周期P1有效时,通常完成算术逻辑运算;在后半周期P2有效时,一般进行内部寄存器之间的传输。(3)机器周期CPU执行一条指令的过程可以划分为若干阶段,每一阶段完成某一项基本操作,如取指令、存储器读/写等。通常把完成一个基本操作所需要的时间称为机器周期。(4)指令周期指令周期是指执行一条指令所占用的全部时间,它以机器周期为单位。MCS51系列单片机除乘法、除法指令是4机器周期指令外,其余都是单周期指令和双周期指令。若用12MHz晶体振荡器(晶振),则单周期指令和双周期指令的指令周期时间分别是1μs和2μs,乘法和除法指令为4μs。通过上面的分析,我们可以看出,外部晶振的二分频是MCS51单片机的内部时钟周期,6个时钟周期构成了单片机的机器周期。如果单片机的外部晶振是8MHz,则其内部的机器周期是1.5μs。12.已知PSW=10H,则工作寄存器R0的地址是10H,R4的地址是14H。第3章MCS51系列单片机指令系统1.访问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。访问外部数据存储器:MOVX A,@DPTRMOVX @DPTR,AMOVX A,@RiMOVX @Ri,A访问程序存储器:MOVC A,@A+DPTRMOVC A,@A+PC2.设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H、62H、30H、31H、DPTR及SP的内容将有何变化?PUSH 30HPUSH 31HPOP DPLPOP DPHMOV 30H,#00HMOV 31H,#0FFH(61H)=24H(62H)=10H(30H)=00H(31H)=0FFH(DPTR)=2410H(SP)=60H3.设(A)=40H,(R1)=23H,(40H)=05H。执行下列两条指令后,累加器A和R1以及内部RAM中40H单元的内容各为何值?XCH A,R1XCHD A,@R1(A)=25H(R1)=40H(40H)=03H4.设(A)=01010101B,(R5)=10101010B,分别写出执行ANLA,R5;ORLA,R5;XRLA,R5指令后的结果。00000000B11111111B11111111B5.简述转移指令AJMPaddr11,SJMPrel,LJMPaddr16及JMP@A+DPTR的应用。AJMPaddr11:2K范围内的转移;SJMPrel:256字节复位内的转移;LJMPaddr16:64K范围内的转移;JMP@A+DPTR:在某一地址开始的256字节范围内的转移。6.试用三种方法实现累加器A和寄存器B的内容交换。(1) MOV R0,AMOV A,BMOV B,R0(2) PUSH APUSH BPOP APOP B(3) MOV R0,BXCH A,R0MOV B,R07.写出实现下列要求的指令或程序片段。(1)将内部RAM20H单元内容与累加器A内容相加,结果存放在20H单元中。(2)将内部RAM30H单元内容与内部RAM31H单元内容相加,结果存放到内部RAM31H单元中。(3)将内部RAM20H单元内容传送到外部RAM2000H单元中。(4)使内部RAM20H单元的D7和D3位清零,其他位保持不变。(5)使内部RAM20H单元的D7和D3位置1,D5位清零,其他位保持不变。(6)使内部RAM20H单元的D7和D3位置1,D5位取反,其他位保持不变。(1)ADD A,20HMOV 20H,A(2) MOV A,30HADD A,31HMOV 31H,A(3) MOV A,20HMOV DPTR,#2000HMOVX @DPTR,A(4) CLR 03H CLR 07H 或: ANL 20H,#01110111B(5) SETB 03HSETB 07HCLR 05H或:ORL 20H,#10001000BANL 20H,#11011111B(6) SETB 03HSETB 07HCPL 05H或:ORL 20H,#10001000BXRL 20H,#00100000B8.试分析下列程序段执行后,(A)=?,(30H)=?MOV 30H,#0A4HMOV A,#0D6HMOV R0,#30HMOV R2,#5EHANL A,R2ORL A,@R0SWAP ACPL AXRL A,#0FEHORL 30H,A(A)=6EH(30H)=0EFH9.设片内RAM(30H)=0EH,执行下面的程序后,(A)=?,指出该程序完成的功能。MOV R0,#30HMOV A,@R0RL AMOV B,ARL ARL AADD A,B=8CH功能:将30H中的内容*10操作,结果在累加器A中。第4章MCS51系列单片机汇编语言程序设计1.编程将片内RAM30H~39H单元中的内容送到以3000H为首的存储区中。MOV R0,#30HMOV DPTR,#3000HMOV R7,#10L1: MOV A,@R0MOVX @DPTR,AINC R0INC DPTRDJNZ R7,L1RET2.片内RAM60H开始存放20个数据,试统计正数、负数及为零的数据个数,并将结果分别存在50H、51H、52H单元中。MOV 50H,#0 MOV 51H,#0MOV 52H,#0 MOVR7,#20MOV R0,#60HL3: MOV A,@R0 JZ L1 JB ACC.7,L2 INC 50H SJMP LEND L2: INC 51H SJMP LEND L1: INC 52H LEND: INC R0 DJNZ R7,L3RET3.设10次采样值依次放在片内RAM50H~59H的连续单元中,试编程去掉一个最大值、去掉一个最小值,求其余8个数的平均值,结果存放在60H中。 MOV R0,#50H ;最大值 MOV A,@R0 MOV R7,#9 INC R0 L1: CLR C MOV B,A SUBB A,@R0 MOV A,B JNC L2 XCH A,@R0 L2: INC R0 DJNZ R7,L1 MOV R0,#51H ;最小值 MOV A,@R0 MOV R7,#8 INC R0 L1: CLR C MOV B,A SUBB A,@R0 MOV A,B JN L4 XCH A,@R0 L4: INC R0 DJNZ R7,L3MOV R3,#0 ; 求和 MOV R4,#0 MOV R7,#8 MOV R0,#52H L5: MOV A,R4 ADD A,@R0 MOV R4,A MOV A,R3 ADDC A,#0 MOV R3,A INC R0 DJNZ R7,L5 MOV A,R4 ;平均值 SWAP A RL A MOV B,A MOV A,R3 RR A RR A RR A ANL A,#00011111B ORL A,B MOV 60H,A RET4.编写程序将R4、R5、R6中的3个字节数据对半分解成6个字节,存入显示缓冲区(DISMEM0~DISMEM5)。 MOV A,R6 LCALL CLMOV DISMEM0,R0 MOV DISMEM1,R1 MOV A,R5 LCALL CL MOV DISMEM2,R0 MOV DISMEM3,R1 MOV A,R4 LCALL CL MOV DISMEM4,R0 MOV DISMEM5,R1 RET CL: MOV B,A ANL A,#0FH MOV R0,A MOV A,B ANL A,#0F0H SWAP A MOV R1,A RET5.试编程把以2000H为首地址的连续10个单元的内容按升序排列,存放到以3000H为首地址的存储区中。 MOV DPTR,#2000H ;读到片内30H开始的单元 MOV R0,#30H MOV R7,#10 L1: MOVX A,@DPTR MOV @R0,A INC DPTR INC R0 DJNZ R7,L1 START: CLR 00H ;排序 CLR C MOV R7,#9 MOV R0,#30H MOV A,@R0 L3: INC R0 MOV R2,A SUBB A,@R0 MOV A,R2 JC NEXT SETB 00H XCH A,@R0 DEC R0 MOV @R0,A INC R0 NEXT: MOV A,@R0 DJNZ R7,L3 JB 00H,START MOV DPTR,#3000H ;送到片外3000H开始的单元 MOV R0,#20H MOV R7,#10 L2: MOV A,@R0 MOVX @DPTR,A INC DPTR INC R0 DJNZ R7,L2 RET6.设片内30H单元开始,连续存放2个字节二进制数,试分别将其转换为BCD码,并以压缩BCD码格式连续存放在以60H为首地址的存储区中,低位字节存放在低地址单元中。DBCD: MOV R0,30H MOV A,R0 MOV R6,A MOV R1,60H MOV A,R1 MOV R7,A MOV R2,#2 INC R2 CLR A BB0: MOV @R1,A INC R1 DJNZ R2,BB0 MOV R3,#16 BB3: MOV A,R6 MOV R0,A MOV R2,#2 CLR C BB1: MOV A,@R0 RLC A MOV @R0,A INC R0 DJNZ R2,BB1 MOV R2,#2 INC R2 MOV A,R7 MOV R1,ABB2: MOV A,@R1 ADDC A,@R1 DA A MOV @R1,A INC R1 DJNZ R2,BB2 DJNZ R3,BB3 RET 7.设片内RAM中从20H开始的单元,连续存放10个非压缩BCD码,试将其转换为ASCII码,存放到片内50H开始的单元中。 MOV R0,#20H MOV R1,#50H MOV R7,#10 L1: MOV A,@R0 ADD A,#30H MOV @R1,A INC R0 INC R1 DJNZ R7,L1 RET8.从20H单元开始有一无符号数据块,其长度在20H单元。求出数据块中的最小值,并存入21H单元。参看第3题。9.片外RAM从2000H单元开始存有10个单字节无符号数,找出最大值存入片外RAM3000H单元,试编写程序。参看第3题。10.从片外RAM2000H单元开始存有20个有符号数,要求把它们传送到片外RAM3000H开始的单元,但负数不传送,试编写程序。 MOV DPTR,#2000H MOV R0,#20H MOV R7,#20 L1: MOVX A,@DPTR MOV @R0,A INC DPTR INC R0 DJNZ R7,L1 MOV DPTR,#3000H MOVR0,#20H MOV R7,#20 L2: MOV A,@R0 JB ACC.7,L3 MOVX @DPTR,A L3: INC DPTR INC R0 DJNZ R7,L2 RET第5章MCS51系列单片机硬件资源的应用1.MCS51单片机的4个I/O接口的作用是什么?三总线是如何分配的?为什么说能作为I/O使用的一般只有P1口?P0口形成数据总线;P2口形成地址的高8位,P0口经过锁存器形成地址的低8位;P3口形成控制总线。在具有外部扩展的时间,需要用到数据总线、地址总线和控制总线,而三总线占用了P0、P2、P3口,可以单独使用的只有P1口。2.举例说明MCS-51单片机P1口的输入操作与输出操作。输入操作:MOVP1,#0FFHMOVA,P1输出操作:MOVP1,A3.简述MCS-51单片机的中断系统结构。MCS-51单片机的有5个中断源,它们均有两级优先级,通过4个专用中断控制寄存器(IE、IP、TCON、SCON)进行中断管理,其结构原理如图所示。4.MCS-51单片机有几个中断源?各中断标志是如何产生的?如何清除?MCS51单片机的5个中断源分为两种类型:一类是外部中断源,包括和;另一类是内部中断源,包括两个定时器/计数器(T0和T1)的溢出中断和串行口的发送/接收中断。(1)外部中断MCS51单片机提供了两个外部中断请求和,它们的中断请求信号有效方式分为电平触发和脉冲触发两种。电平方式是低电平有效,脉冲方式为负跳变触发有效。CPU在每个机器周期的S5P2检测和上的信号。对于电平方式,只要检测到低电平信号即为有效申请;对于脉冲方式,则需要比较两次检测到的信号,才能确定中断请求信号是否有效。中断请求信号高低电平的状态都应至少维持一个机器周期,以确保电平变化能被单片机检测到。(2)内部中断MCS51单片机内部有TF0、TF1、TI、RI,分别为定时器/计数器溢出中断和串行口的发送/接收中断的中断源。在中断请求被响应前,中断源发出的中断请求是由CPU锁存在特殊功能寄存器TCON和SCON的相应中断标志位中的。一旦某个中断请求得到响应,CPU必须把它的相应标志位复位成0状态,否则MCS51单片机就会因中断未能得到及时撤除而重复响应同一中断请求,这是绝对不允许的。MCS51单片机的55个中断源,实际上只分属于三种中断类型。这三种类型是:外部中断、定时器/计数器溢出中断和串行口中断。对于这三种中断类型的中断请求,其撤除方法是不同的。(1)定时器/计数器溢出中断请求的撤除TF0和TF1是定时器/计数器溢出中断标志位,它们因定时器/计数器溢出中断请求的输入而置位,因定时器/计数器溢出中断得到响应而自动复位成0状态。因此定时器/计数器溢出中断源的中断请求是自动撤除的,用户根本不必专门为它们撤除。(2)串行口中断请求的撤除TI和RI是串行口中断的标志位,中断系统不能自动将它们撤除,这是因为MCS51进入串行口中断服务程序后常需要对它们进行检测,以测定串行口发生了接收中断还是发送中断。为了防止CPU再次响应这类中断,用户应在中断服务程序的适当位置处通过指令将它们撤除:CLR TI ;撤除发送中断CLR RI ;撤除接收中断(3)外部中断的撤除外部中断请求有两种触发方式:电平触发和脉冲触发。对于这两种不同的中断触发方式,MCS51单片机撤除它们的中断请求的方法是不相同的。在脉冲触发方式下,外部中断标志IE0和IE1是依靠CPU两次检测和上的触发电平状态而设置的。因此

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论