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

下载本文档

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

文档简介

单片机原理及应用(第3版)参考答案《单片机原理及应用(第3版)》习题参考答案姜志海黄玉清刘连鑫编著电子工业出版社第1章概述.............................................................2第2章MCS,51系列单片机硬件结构........................................5第3章MCS,51系列单片机指令系统.......................................10第4章MCS,51系列单片机汇编语言程序设计...............................13第5章MCS,51系列单片机硬件资源的应用.................................18第6章MCS,51系列单片机并行扩展接口技术...............................23第7章MCS,51系列单片机串行总线扩展技术...............................28第8章单片机应用系统设计..............................................30第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,9B(30,39C(30H,39HD(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章MCS,51系列单片机硬件结构1(MCS,51系列单片机内部有哪些主要的逻辑部件,MCS,51单片机是在一块芯片上集成了CPU、RAM、ROM、定时器/计数器和多种I/O功能部件,具有了一台微型计算机的基本结构,主要包括下列部件:一个8位的CPU、一个布尔处理机、一个片内振荡器、128B的片内数据存储器、4KB的片内程序存储器(8031无)、外部数据存储器和程序存储器的寻址范围为64KB、21个字节的专用寄存器、4个8位并行I/O接口、一个全双工的串行口、2个16位的定时器/计数器、5个中断源、2个中断优先级、111•条指令、片内采用单总线结构。2(MCS,51单片机设有4个8位并行端口,实际应用中8位数据信息由哪个端口传送,16位地址线怎样形成,P3口有何功能,8位数据信息由P0口传送。P2口形成地址大高8位,P0口结果锁存器形成地址的低8位。P3口除具有一般的输入/输出功能,还具有第2功能:P3.0RXD串行口输入端P3.1TXD串行口输出端INT0P3.2外部中断0请求输入端,低电平有效INT1P3.3外部中断1请求输入端,低电平有效P3.4T0定时器/计数器0计数脉冲输入端P3.5T1定时器/计数器1计数脉冲输入端WRP3.6外部数据存储器及I/O接口写选通信号输出端,低电平有效P3.7RD外部数据存储器及I/O接口读选通信号输出端,低电平有效3(MCS,51单片机内部RAM区的功能结构如何分配,4组工作寄存器使用时如何选择,位寻址区域的字节范围是多少,MCS,51单片机片内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。位地址区的每一位都可当做软件触发器,由程序直接进行位处理。通常可以把各种程序状态标志、位控制变量存入位寻址区内。0组00H…07H1组工作寄08H…0FH2组存器区10H…17H3组18H…1FH070605040302010020H0F0E0D0C0B0A090821H位171615141312111022H1F1E1D1C1B1A191823H272625242322212024H2F2E2D2C2B2A292825H寻373635343332313026H3F3E3D3C3B3A393827H28H474645444342414029H4F4E4D4C4B4A4948址2AH57565554535251502BH5F5E5D5C5B5A59582CH67666564636261602DH6F6E6D6C6B6A6968区2EH77767574737271702FH7F7E7D7C7B7A7978数据缓30H…7FH冲区该区域当不被用做位寻址区时,可以作为一般的RAM区使用。(3)数据缓冲区30H,7FH是数据缓冲区,即用户RAM,共80个单元。由于工作寄存器区、位寻址区、数据缓冲区统一编址,使用同样的指令访问,这三个区的单元既有自己独特的功能,又可统一调度使用。因此,前两个区未使用的单元也可作为用户RAM单元使用,使容量较小的片内RAM得以充分利用。4(简述程序状态字PSW中各位的含义。程序状态字PSW是一个8位寄存器,它保存指令执行结果的特征信息,为下一条指令或以后的指令的执行提供状态条件。PSW中的各位一般是在指令执行过程中形成的,但也可以根据需要采用传送指令加以改变。其各位定义如图所示。PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0PSW.7OVPCACF0RS1RS0——?进位标志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(简述MCS,51单片机程序存储器的几个特殊入口地址的含义。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。MCS,51单片机的堆栈是在片内RAM中开辟的一个专用区。堆栈指针SP是一个8位专用寄存器,用来存放栈顶的地址。进栈时,SP自动加1,将数据压入SP所指定的地址单元;出栈时,将SP所指示的地址单元中的数据弹出,然后SP自动减1。因此SP总是指向栈顶。复位后为07H。8(MCS,51单片机设置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单片机的机器周期为多少,MCS,51单片机的时序由下面4种周期构成。(1)振荡周期振荡周期是指为单片机提供定时信号的振荡源的周期。(2)状态周期(时钟周期)两个振荡周期为一个状态周期,用S表示。两个振荡周期作为两个节拍分别称为节拍P1和节拍P2。在状态周期的前半周期P1有效时,通常完成算术逻辑运算;在后半周期P2有效时,一般进行内部寄存器之间的传输。(3)机器周期CPU执行一条指令的过程可以划分为若干阶段,每一阶段完成某一项基本操作,如取指令、存储器读/写等。通常把完成一个基本操作所需要的时间称为机器周期。(4)指令周期指令周期是指执行一条指令所占用的全部时间,它以机器周期为单位。MCS,51系列单片机除乘法、除法指令是4机器周期指令外,其余都是单周期指令和双周期指令。若用12MHz晶体振荡器(晶振),则单周期指令和双周期指令的指令周期时间分别是1μs和2μs,乘法和除法指令为4μs。通过上面的分析,我们可以看出,外部晶振的二分频是MCS,51单片机的内部时钟周期,6个时钟周期构成了单片机的机器周期。如果单片机的外部晶振是8MHz,则其内部的机器周期是1.5μs。12(已知PSW=10H,则工作寄存器R0的地址是10H,R4的地址是14H。第3章MCS,51系列单片机指令系统1(访问外部数据存储器和程序存储器可以用哪些指令来实现,举例说明。访问外部数据存储器:MOVXA,@DPTRMOVX@DPTR,AMOVXA,@RiMOVX@Ri,A访问程序存储器:MOVCA,@A+DPTRMOVCA,@A+PC2(设堆栈指针SP中的内容为60H,内部RAM中30H和31H单元的内容分别为24H和10H,执行下列程序段后,61H、62H、30H、31H、DPTR及SP的内容将有何变化,PUSH30HPUSH31HPOPDPLPOPDPHMOV30H,#00HMOV31H,#0FFH(61H)=24H(62H)=10H(30H)=00H(31H)=0FFH(DPTR)=2410H(SP)=60H3(设(A)=40H,(R1)=23H,(40H)=05H。执行下列两条指令后,累加器A和R1以及内部RAM中40H单元的内容各为何值,XCHA,R1XCHDA,@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字节复位内的转移;64K范围内的转移;JMP@A+DPTR:在某一地址开始的256字节LJMPaddr16:范围内的转移。6(试用三种方法实现累加器A和寄存器B的内容交换。(1)MOVR0,AMOVA,BMOVB,R0(2)PUSHAPUSHBPOPAPOPB(3)MOVR0,BXCHA,R0MOVB,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)ADDA,20HMOV20H,A(2)MOVA,30HADDA,31HMOV31H,A(3)MOVA,20HMOVDPTR,#2000HMOVX@DPTR,A(4)CLR03HCLR07H或:ANL20H,#01110111B(5)SETB03HSETB07HCLR05H或:ORL20H,#10001000BANL20H,#11011111B(6)SETB03HSETB07HCPL05H或:ORL20H,#10001000BXRL20H,#00100000B8(试分析下列程序段执行后,(A)=,,(30H)=,MOV30H,#0A4HMOVA,#0D6HMOVR0,#30HMOVR2,#5EHANLA,R2ORLA,@R0SWAPACPLAXRLA,#0FEHORL30H,A(A)=6EH(30H)=0EFH9(设片内RAM(30H)=0EH,执行下面的程序后,(A)=,,指出该程序完成的功能。MOVR0,#30HMOVA,@R0RLAMOVB,ARLARLAADDA,B=8CH功能:将30H中的内容*10操作,结果在累加器A中。第4章MCS,51系列单片机汇编语言程序设计1(编程将片内RAM30H,39H单元中的内容送到以3000H为首的存储区中。MOVR0,#30HMOVDPTR,#3000HMOVR7,#10L1:MOVA,@R0MOVX@DPTR,AINCR0INCDPTRDJNZR7,L1RET2(片内RAM60H开始存放20个数据,试统计正数、负数及为零的数据个数,并将结果分别存在50H、51H、52H单元中。MOV50H,#0MOV51H,#0MOV52H,#0MOVR7,#20MOVR0,#60HL3:MOVA,@R0JZL1JBACC.7,L2INC50HSJMPLENDL2:INC51HSJMPLENDL1:INC52HLEND:INCR0DJNZR7,L3RET3(设10次采样值依次放在片内RAM50H,59H的连续单元中,试编程去掉一个最大值、去掉一个最小值,求其余8个数的平均值,结果存放在60H中。MOVR0,#50H;最大值MOVA,@R0MOVR7,#9INCR0L1:CLRCMOVB,ASUBBA,@R0MOVA,BJNCL2XCHA,@R0L2:INCR0DJNZR7,L1MOVR0,#51H;最小值MOVA,@R0MOVR7,#8INCR0L1:CLRCMOVB,ASUBBA,@R0MOVA,BJNL4XCHA,@R0L4:INCR0DJNZR7,L3MOVR3,#0;求和MOVR4,#0MOVR7,#8MOVR0,#52HL5:MOVA,R4ADDA,@R0MOVR4,AMOVA,R3ADDCA,#0MOVR3,AINCR0DJNZR7,L5MOVA,R4;平均值SWAPARLAMOVB,AMOVA,R3RRARRARRAANLA,#00011111BORLA,BMOV60H,ARET4(编写程序将R4、R5、R6中的3个字节数据对半分解成6个字节,存入显示缓冲区(DISMEM0,DISMEM5)。MOVA,R6LCALLCLMOVDISMEM0,R0MOVDISMEM1,R1MOVA,R5LCALLCLMOVDISMEM2,R0MOVDISMEM3,R1MOVA,R4LCALLCLMOVDISMEM4,R0MOVDISMEM5,R1RETCL:MOVB,AANLA,#0FHMOVR0,AMOVA,BANLA,#0F0HSWAPAMOVR1,ARET5(试编程把以2000H为首地址的连续10个单元的内容按升序排列,存放到以3000H为首地址的存储区中。MOVDPTR,#2000H;读到片内30H开始的单元MOVR0,#30HMOVR7,#10L1:MOVXA,@DPTRMOV@R0,AINCDPTRINCR0DJNZR7,L1START:CLR00H;排序CLRCMOVR7,#9MOVR0,#30HMOVA,@R0L3:INCR0MOVR2,ASUBBA,@R0MOVA,R2JCNEXTSETB00HXCHA,@R0DECR0MOV@R0,AINCR0NEXT:MOVA,@R0DJNZR7,L3JB00H,STARTMOVDPTR,#3000H;送到片外3000H开始的单元MOVR0,#20HMOVR7,#10L2:MOVA,@R0MOVX@DPTR,AINCDPTRINCR0DJNZR7,L2RET6(设片内30H单元开始,连续存放2个字节二进制数,试分别将其转换为BCD码,并以压缩BCD码格式连续存放在以60H为首地址的存储区中,低位字节存放在低地址单元中。DBCD:MOVR0,30HMOVA,R0MOVR6,AMOVR1,60HMOVA,R1MOVR7,AMOVR2,#2INCR2CLRABB0:MOV@R1,AINCR1DJNZR2,BB0MOVR3,#16BB3:MOVA,R6MOVR0,AMOVR2,#2CLRCBB1:MOVA,@R0RLCAMOV@R0,AINCR0DJNZR2,BB1MOVR2,#2INCR2MOVA,R7MOVR1,ABB2:MOVA,@R1ADDCA,@R1DAAMOV@R1,AINCR1DJNZR2,BB2DJNZR3,BB3RET7(设片内RAM中从20H开始的单元,连续存放10个非压缩BCD码,试将其转换为ASCII码,存放到片内50H开始的单元中。MOVR0,#20HMOVR1,#50HMOVR7,#10L1:MOVA,@R0ADDA,#30HMOV@R1,AINCR0INCR1DJNZR7,L1RET8(从20H单元开始有一无符号数据块,其长度在20H单元。求出数据块中的最小值,并存入21H单元。参看第3题。9(片外RAM从2000H单元开始存有10个单字节无符号数,找出最大值存入片外RAM3000H单元,试编写程序。参看第3题。10(从片外RAM2000H单元开始存有20个有符号数,要求把它们传送到片外RAM3000H开始的单元,但负数不传送,试编写程序。MOVDPTR,#2000HMOVR0,#20HMOVR7,#20L1:MOVXA,@DPTRMOV@R0,AINCDPTRINCR0DJNZR7,L1MOVDPTR,#3000HMOVR0,#20HMOVR7,#20L2:MOVA,@R0JBACC.7,L3MOVX@DPTR,AL3:INCDPTRINCR0DJNZR7,L2RET第5章MCS,51系列单片机硬件资源的应用1(MCS,51单片机的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单片机有几个中断源,各中断标志是如何产生的,如何清除,INT0INT1MCS,51单片机的5个中断源分为两种类型:一类是外部中断源,包括和;另一类是内部中断源,包括两个定时器/计数器(T0和T1)的溢出中断和串行口的发送/接收中断。(1)外部中断INT0INT1MCS,51单片机提供了两个外部中断请求和,它们的中断请求信号有效方式分为电平触发和脉冲触发两种。电平方式是低电平有效,脉冲方式为负跳变触发有效。INT0INT1CPU在每个机器周期的S5P2检测和上的信号。对于电平方式,只要检测到低电平信号即为有效申请;对于脉冲方式,则需要比较两次检测到的信号,才能确定中断请求信号是否有效。中断请求信号高低电平的状态都应至少维持一个机器周期,以确保电平变化能被单片机检测到。(2)内部中断MCS,51单片机内部有TF0、TF1、TI、RI,分别为定时器/计数器溢出中断和串行口的发送/接收中断的中断源。在中断请求被响应前,中断源发出的中断请求是由CPU锁存在特殊功能寄存器TCON和SCON的相应中断标志位中的。一旦某个中断请求得到响应,CPU必须把它的相应标志位复位成0状态,否则MCS,51单片机就会因中断未能得到及时撤除而重复响应同一中断请求,这是绝对不允许的。MCS,51单片机的55个中断源,实际上只分属于三种中断类型。这三种类型是:外部中断、定时器/计数器溢出中断和串行口中断。对于这三种中断类型的中断请求,其撤除方法是不同的。(1)定时器/计数器溢出中断请求的撤除TF0和TF1是定时器/计数器溢出中断标志位,它们因定时器/计数器溢出中断请求的输入而置位,因定时器/计数器溢出中断得到响应而自动复位成0状态。因此定时器/计数器溢出中断源的中断请求是自动撤除的,用户根本不必专门为它们撤除。(2)串行口中断请求的撤除TI和RI是串行口中断的标志位,中断系统不能自动将它们撤除,这是因为MCS,51进入串行口中断服务程序后常需要对它们进行检测,以测定串行口发生了接收中断还是发送中断。为了防止CPU再次响应这类中断,用户应在中断服务程序的适当位置处通过指令将它们撤除:CLRTI;撤除发送中断CLRRI;撤除接收中断(3)外部中断的撤除外部中断请求有两种触发方式:电平触发和脉冲触发。对于这两种不同的中断触发方式,MCS,51单片机撤除它们的中断请求的方法是不相同的。INT0INT1在脉冲触发方式下,外部中断标志IE0和IE1是依靠CPU两次检测和上的触发电平状态而设置的。因此,芯片设计者使CPU在响应中断时自动复位IE0或IE1,就可撤INT0INT1INT0除或上的中断请求,因为外部中断源在中断服务程序时是不可能再在或INT1上产生负边沿而使相应的中断标志IE0或IE1置位的。INT0INT1在电平触发方式下,外部中断标志IE0和IE1是依靠CPU检测和上的低电平而置位的。尽管CPU响应中断时相应中断标志IE0或IE1,能自动复位成“0”状态,但若INT0INT1外部中断源不能及时撤除它在或上的低电平,就会再次使已经变“0”的中断标INT0志IE0或IE1置位,这是绝对不允许的。因此电平触发型外部中断请求的撤除必须使或INT1上的低电平随着其中断被CPU响应而变为高电平。一种可供采用的电平型外部中断的撤除电路如图所示。由图可见,当外部中断源产生中断请求时,D触发器复位成“0”状态,Q端的低电平被INT0送到,该低电平被8051检测后就使中断标志INT0INT0DQIE0置1。8051响应上的中断请求可转入INT0CP8051外部中断信号1中断服务程序执行,故可以在中断服务程序开头安SDP1.0INT0排如下程序来使上的电平变高:=INSVR:SETBP1.0CLRP1.0CLRIE0???END8051执行上述程序就可在P1.0上产生一个宽度为两个机器周期的负脉冲。在该负脉冲INT0作用下,D触发器被置位成1状态,上的电平也因此而变高,从而撤除了其上的中断请求。5(设MCS,51单片机时钟为12MHz,利用定时器T0编程令P1.0引脚输出2ms的矩形波程序,要求占空系数为1:2(高电平时间短)。ORG0000HLJMPMAINORG000BHLJMPT0INTORG0030HMAIN:MOVSP,#60HMOVR7,#0MOVTMOD,#01H;初始化MOVTH0,#0FDH;定时666微妙MOVTL0,#66HSETBEASETBET0SETBTR0L1:SJMPL1;中断服务程序T0INT:MOVTH0,#0FDH;重载初始值MOVTL0,#66HINCR7CJNER7,#1,LL1CLRP1.0SJMPLLENDLL1:CJNER7,#3,LLENDSETBP1.0MOVR7,#00HLLEND:RETI6(MCS-51单片机内设有几个可编程的定时器/计数器,它们可以有4种工作方式,如何选择和设定,作为定时器或计数器应用时,它们的速率分别为晶振频率的多少倍,2个16位的定时器/计数器。通过TMOD的M1M0选择。M1M0=00:方式0——13位定时器/计数器工作方式;M1M0=01:方式1——16位定时器/计数器工作方式;M1M0=10:方式2——常数自动装入的8位定时器/计数器工作方式;M1M0=11:方式3——仅适用于T0,为两个8位定时器/计数器工作方式;在方式3时T1停止计数。是外部晶振频率的12倍。7(如果MCS,51单片机系统的晶振频率为12MHz,分别指出定时器/计数器方式1和方式2的最长定时时间。方式1:65536微妙;方式2:256微妙8(若异步通信,每个字符由11位组成,串行口每秒传送250个字符,问波特率是多少,2750位/秒=2750波特9(设串行异步通信的传送速率为2400波特,传送的是带奇偶校验的ASCII码字符,每个字符包含10位(1个起始位,7个数据位,1个奇偶校验位,1个停止位),试编程初始化程序。设定串行口位方式1.MOVSCON,#40HMOVPCON,#80HMOVTMOD,#20HMOVTH1,#0F4HMOVTL1,#0F4HSETBTR110(MCS,51单片机P1端口上,经驱动接有8支发光二极管,若外部晶振频率为6MHz,试编写程序,使这8支发光管每隔2s循环发光(要求用T1定时)。ORG0000HLJMPMAINORG001BHLJMPT1INTORG0030HMAIN:MOVSP,#70HMOVTMOD,#10H;T1方式1MOVTH1,#3CH;定时100msMOVTL1,#0B0HMOVA,#11111110BMOVR7,#20;100ms*20=2SSETBEASETBET1SETBTR1SJMP$T1INT:MOVTH1,#3CH#0B0HMOVTL1,DJNZR7,L1MOVR7,#20MOVP1,ARLAL1:RETI第6章MCS,51系列单片机并行扩展接口技术1(试用Intel2864,SRAM6264为MCS,51单片机设计一个存储器系统,它具有8KBEEPROM(地址由0000H,1FFFH)和16KB的数据存储器(地址为2000H,5FFFH)。要求绘出该存储器系统的硬件连接图,并指出每片芯片的地址空间。使用一片Intel2864,两片RAM6264.参看图6-14,采用译码器译码。2864可以不用译码,其片选信号直接接地,其地址为0000H,1FFFH,读控制接/PSEN;RAM6264的片选分别接74LS138的/Y1、/Y2,其地址分别为:2000H,3FFFH、4000H,5FFFH,其读。写控制分别接/RD、/WR。2(试设计用两片74LS377和两片74LS244扩展两个并行输出口和两个并行输入口的扩展连接电路图。参看图6-20、6-21.3(简述单片机如何进行键盘的键输入以及怎样实现键功能处理。当所设置的功能键或数字键按下时,计算机应用系统应完成该按键所规定的功能。键信息输入是与软件编程密切相关的过程。对于一组键或一个键盘,需要通过接口电路与CPU相连。CPU可以采用查询或中断方式了解有无键输入并检查是哪个键被按下,将该键的信息送入CPU,然后通过散转指令转入执行该键的功能程序,执行完毕又返回到原始状态。键输入接口与软件应可靠而快速地实现键信息输入与执行键功能任务。为此,应解决下列问题。(1)键开关状态的可靠输入目前,无论是按键还是键盘,大部分利用的都是机械触点的合、断作用。机械触点在闭合及断开瞬间由于弹性作用的影响均有抖动过程,从而使电压信号也出现抖动,如图9-20所示。抖动时间长短与开关的机械特性有关,一般为5,10ms。按键的稳定闭合时间,由操作人员的按键动作确定,一般为十分之几秒至几秒。为了保证CPU对键的一次闭合仅做一次键输入处理,必须去抖动影响。通常,去抖动影响的方法有硬、软两种。在硬件上是采取在键输出端加R,S触发器或单稳态电路构成去抖动电路。在软件上采取的措施是,在检测到有键按下时,执行一个10ms左右的延时程序后,再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于闭合状态,从而去除了抖动影响。(2)对按键进行编码以给出键值或直接给出键号任何一组按键或键盘都要通过I/O接口线查询按键的状态。根据不同的键盘结构采用不同的编码方法。但无论有无编码及采用什么编码,最后都要转换成与累加器中数值相对应的键值,以实现按键功能程序的散转转移(相应的散转指令为JMP@A+DPTR),因此一个完善的键盘控制程序应完成下述任务:?检测有无键按下。?有键按下后,在无硬件去抖动电路时,应用软件延时方法除去抖动影响。?有可靠的逻辑处理方法,如n键按下,即只处理一个键,其间任何按下又松开的键不产生影响,不管一次按键持续有多长时间,仅执行一次按键功能程序。?输出确定的键号以满足散转指令的要求。4(何谓键抖动,键抖动对单片机系统有何影响,如何消除键抖动,目前,无论是按键还是键盘,大部分利用的都是机械触点的合、断作用。机械触点在闭合及断开瞬间由于弹性作用的影响均有抖动过程,从而使电压信号也出现抖动,如图9-20所示。抖动时间长短与开关的机械特性有关,一般为5,10ms。按键的稳定闭合时间,由操作人员的按键动作确定,一般为十分之几秒至几秒。为了保证CPU对键的一次闭合仅做一次键输入处理,必须去抖动影响。通常,去抖动影响的方法有硬、软两种。在硬件上是采取在键输出端加R,S触发器或单稳态电路构成去抖动电路。在软件上采取的措施是,在检测到有键按下时,执行一个10ms左右的延时程序后,再确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确认该键处于闭合状态,从而去除了抖动影响。5(何谓静态显示,何谓动态显示,两种显示方式有何优缺点,所谓静态显示,是指当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止,公共端接固定的电平。LED动态显示是将所有位的段选线并接在一个I/O接口上,称为段口,共阴极端或共阳极端分别由相应的I/O接口线控制,称为位口。静态显示显示稳定,但软件简单;动态显示硬件简单,但软件需要不断地刷新。6(如果一个8位D/A转换器的满量程(对应于数字量255)为10V,试分别确定模拟量为2.0V和8.0V所对应的数字量。512047(某12位D/A转换器,输出电压为0,2.5V,当输入的数字量为400H时,对应的输出电压是多少,[2.5/212]*400H=0.625V8(使用DAC0832与MCS,51单片机连接时有哪些控制信号,双缓冲方式如何工作,在何种情况下要使用双缓冲工作方式,ILE:输入锁存使能信号输入端,高电平有效。CS:片选信号端。WR1WR2、:两个写信号端,均为低电平有效。XFER:传输控制信号输入端,低电平有效。DAC0832可工作于双缓冲器方式,输入寄存器的锁存信号和DAC寄存器的锁存信号分开控制,这种方式适用于几个模拟量需同时输出的系统,每一模拟量输出需一个DAC0832,构成多个DAC0832同时输出的系统。9(试设计一个12位A/D转换器与8031的接口电路,编写连续转换10次并将转换结果存入片内50H开始的单元中的程序。接口电路参看图6-48。MOVR1,#50HMOVR7,#10LL:LCALLAD574AMOV@R1,31HINCR1MOV@R1,30HDJNZR7,LLSJMP$AD574A:MOVR0,#7CH;AD574A端口地址MOVX@R0,A;启动AD574A进行12位转换SETBP1.0;置P1.0为输入方式LOOP:JBP1.0,LOOP;检测STS的状态CINCR0;使R/为1,按双字节读取转换结果MOVXA,@R0;读取高8位转换结果MOV31H,A;存高8位结果INCR0CINCR0;使R/、A0均为1MOVXA,@R0;读取低4位结果ANLA,#0FH;屏蔽高4位MOV30H,A;存低4位结果RET10(设MCS,51单片机系统扩展一个8255,其口地址分别为7CFFH,7FFFH,其中PC扩展一个4×2的矩阵键盘,PC0,PC3为行,PC6,PC7为列,试画出8255与单片机及键盘的连接简图,并编写键盘管理程序。连接简图参看图6-35的键盘部分,将8*2的矩阵键盘改为4*4的矩阵键盘,片8288A的片选改为接MCS-51单片机的P2.7。键盘管理程序:KEY:MOVA,#00H;所有行输出0MOVDPTR,#7EFFHMOVX@DPTR,AMOVDPTR,#7EFFH;读列值MOVXA,@DPTRANLA,#0FHCJNEA,#0FH,KEY1;不全1,说明有键按下SJMPKEYEND;全1,说明无键按下KEY1:MOVB,#11111110B;有键,逐行输出0KEY4:MOVA,BMOVDPTR,#PORT1MOVX@DPTR,AMOVDPTR,#PORT2@DPTRMOVXA,ANLA,#0FHCJNEA,#0FH,KEY2MOVA,BRLAJNBACC.4,KEYENDMOVB,ASJMPKEY4KEY2:ANLB,#0FH;计算键值MOVR7,AMOVA,BSWAPAORLA,R7MOVB,A;键值在B中MOVR7,#00HMOVR6,#10HKEY6:MOVDPTR,#KEYTABMOVA,R7MOVCA,@A+DPTRCJNEA,B,KEY5MOVA,R7RLAADDA,R7MOVDPTR,#KEYTAB1JMP@A+DPTR;转相应的键处理KEYTAB1:LJMPK0LJMPK1LJMPK2???LJMPK15KEY5:INCR7DJNZR6,KEY6KEYEND:RETKEYTAB:DB0EEH,0EDH,0EBH,0E7H,0DEH,0DDH,0DBH,0D7HDB0BEH,0BDH,0BBH,0B7H,7EH,7DH,7BH,77H11(ADC0809与MCS,51单片机接口时有哪些控制信号,作用分别是什么,使用ADC0809时,转换的主要步骤有哪些,START:启动A/D转换。当START为高电平时,A/D开始转换。EOC:转换结束信号。当A/D转换结束时,由低电平转为高电平。OE:输出允许信号。CLK:工作时钟,最高允许值为1.2MHz。当CLK为640kHz时,转换时间为100μs。ALE:通道地址锁存允许。A、B、C:通道地址输入。地址锁存信号ALE在上升沿将三位通道地址锁存,相应通道的模拟量经多路模拟开关送到A/D转换器。启动信号START上升沿复位内部电路,START信号的下降沿启动A/D转换。此时转换结束信号EOC呈低电平状态,由于逐次逼近需要一定的过程,所以在此期间模拟信号应维持不变,比较器一次次地进行比较,直到转换结束。此时转换结束信号EOC变为高电平,若CPU发出输出允许信号OE,则可读出数据,一次A/D转换的过程就结束了。12(在一个由MCS,51单片机与一片ADC0809组成的数据采集系统中,ADC0809的地址为7FF8H,7FFFH。试画出有关的逻辑框图,并编写出每隔一分钟轮流采集一次8个通道数据的程序。共采样100次,其采样值存入片外RAM3000H开始的存储单元中。原理框图参看图6-45。第7章MCS,51系列单片机串行总线扩展技术1(SPI总线一般使用几条线,分别是什么,SPI使用4条线:串行时钟SCK,主机输入/从机输出数据线MISO(简称SO),主机输出CS/从机输入数据线MOSI(简称SI)和低电平有效的从机选择线。2(I2C总线一般使用几条线,分别是什么,I2C总线采用两线制,由数据线SDA和时钟线SCL构成。2(说明IC总线主机、从机数据传输过程。322IC总线采用两线制,由数据线SDA和时钟线SCL构成。IC总线为同步传输总线,数据线上的信号完全与时钟同步。数据传送采用主从方式,即主器件(主控器)寻址从器件(被控器),启动总线产生时钟,传送数据及结束数据的传送。SDA/SCL总线上挂接的单片2机(主器件)或外围器件(从器件),其接口电路都应具有IC总线接口,所有器件都通过总线寻址,而且所有SDA/SCL的同名端相连24(SPI总线与IC总线在扩展多个外部器件时有什么不同,SPI总线有主机、从机的概念。图7-1所示为SPI外围扩展结构图。该系统有一台主机,2从机通常是外围接口器件,如EPROM、A/D、日历时钟及显示驱动等。SCKSISOSCKSISOSCKSISOSCKSISO单„外围器件1#外围器件1#外围器件1#片CSCSCS机I/OI/OI/O图7-1SPI外围串行扩展结构图单片机与外围器件在SCK、SO和SI上都是同名端相连的。外围扩展多个器件时,SPI无法通过数据线译码选择,故SPI的外围器件都有片选端口。在扩展单个SPI器件时,外CS设的端可以接地,或通过I/O接口控制;在扩展多个SPI外围器件时,单片机应分别通过I/O接口来分时选通外围器件。2IC总线采用两线制,由数据线SDA和时钟线SCL存储器键盘/显示接口2SADSCLSADSCL构成。IC总线为同步传输总线,数据线上的信号完SAD单全与时钟同步。数据传送采用主从方式,即主器件(主片机SCL控器)寻址从器件(被控器),启动总线产生时钟,SADSCLSADSCL传送数据及结束数据的传送。SDA/SCL总线上挂接的键盘/显示接口存储器2图7-2IC总线应用系统的组成2单片机(主器件)或外围器件(从器件),其接口电路都应具有IC总线接口,所有器件都通过总线寻址,而且所有SDA/SCL的同名端相连,如图7-2所示。5(单总线的操作原理是什么,单总线系统中配置的各种测控器件,是由Dallas公司提供的专用芯片实现的。每个芯片均有64位ROM,厂家对每一个芯片用激光烧写编码,其中存有16位十进制编码序列号,是器件的地址编号,确保挂在总线上后,可以唯一地确定。除了器件地址编码外,芯片内还几含有收发控制和电源存储电路。这些芯片的耗电量都很小,从总线上馈送电量(空闲时为微瓦,工作时为几毫瓦)到大电容中就可以正常工作,故一般不另附加电源。6(具有SPI总线的器件,除具有SDO、SDI和SCK外,还有其他控制线吗,还有/CS控制端。7(SPI总线上挂有多个SPI器件,如何选中某一个SPI从器件,SPI串行扩展系统中作为主器件的单片机在启动一次传送时,便产生8个时钟传送给接)在前,低口芯片,作为同步时钟,控制数据的输入与输出。数据的传送格式是高位(MSB位(LSB)在后。数据线上输出数据的变化以及输入数据时的采样,都取决于SCK。但对于不同的外围芯片,有的可能是SCK上升沿起作用,有的可能是SCK的下降沿起作用。2228(IC总线上挂有多个IC器件,如何选中某一个IC器件,2在一般的并行接口扩展系统中,器件地址都是由地址线的连接形式决定的,而在IC总线系统中,地址是由器件类型及其地址引脚电平决定的,对器件的寻址采用软件的方法。2IC总线上所有外围器件都有规范的器件地址。器件地址由7位组成,它与一个方向位2共同构成IC总线器件的寻址字节第8章单片机应用系统设计1(单片机应用系统一般由哪几部分组成,从系统的角度来看,单片机应用系统是由硬件系统和软件系统两部分组成的。硬件系统是指单片机扩展的存储器、外设及其接口电路等,软件系统包括监控程序和各种应用程序。2(单片机应用系统设计主要有哪些内容,单片机应用系统的设计包含硬件设计与软件设计两部分,具体涉及的内容主要有单片机系统、通道与接口、系统的抗干扰、应用软件的设计等。3(单片机应用系统的一般设计方法是什么,(1)确定系统的功能与性能。(2)确定系统基本结构。(3)单片机应用系统硬件与软件设计。(4)资源分配4(在单片机应用系统设计中,软、硬件分工的原则

温馨提示

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

评论

0/150

提交评论