单片机复习资料大全_第1页
单片机复习资料大全_第2页
单片机复习资料大全_第3页
单片机复习资料大全_第4页
单片机复习资料大全_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

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

文档简介

一、填空题1.单片机是把中央处理器、存储器、定期器/计数器以及I/O接口电路等重要计算机部件集成在一块集成电路芯片上的微型计算机。2。除了单片机这一名称之外,单片机还可称为微控制器、嵌入式控制器。3.计算机的系统总线有地址总线、控制总线和数据总线。4.80C51单片机基本型内部RAM有128个字节单元,这些单元可以分为三个用途不一样的区域,一是工作寄存器区、二是位寻址区、三是数据缓冲区。

5.8051单片机有2个16位定期/计数器.6.单片机存储器的重要功能是存储程序和数据。80C51含4KB掩膜ROM。7.80C51在物理上有4个独立的存储器空间。8.一般、单片机上电复位时PC=0000H,SP=07H;而工作寄存器则缺省采用第00组,这组寄存器的地址范围是从00H~07H。9.8051的堆栈是向地址的高端生成的。入栈时SP先加1,再压入数据。10.使用8031芯片时,需将/EA引脚接低电平,由于其片内无程序存储器.11.MCS—51特殊功能寄存器只能采用直接寻址方式。12.汇编语言中可以使用伪指令,它们不是真正的指令,只是用来对汇编过程进行某种控制。13.半导体存储器的最重要的两个指标是存储容量和存储速度。14.当PSW4=1,PSW3=0时,工作寄存器Rn,工作在第2组。15.在8051单片机中,由2个振荡(晶振)周期构成1个状态(时钟)周期,由6个状态周期构成1个机器周期。16.假定累加器A的内容30H,执行指令:1000H:MOVCA,@A+PC后,把程序存储器1031H单元的内容送累加器A中。17.MCS-51单片机访问外部存储器时,运用ALE信号锁存来自P0口的低8位地址信号。18.内部RAM中,位地址为30H的位,该位所在字节的字节地址为26H。19.若A中的内容为63H,那么,P标志位的值为0。20.在基址加变址寻址方式中,以累加器A作变址寄存器,以DPTR或PC作基址寄存器。21.指令格式是由操作码和操作数所构成,也也许仅由操作码构成。22.通过堆栈操作实现子程序调用,首先就要把PC的内容入栈,以进行断点保护。调用返回时,再进行出栈保护,把保护的断点送回到PC.23.MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,由于MCS-51的PC是16位的,因此其寻址的范围为64KB。24.在寄存器间接寻址方式中,其“间接”体目前指令中寄存器的内容不是操作数,而是操作数的地址。25.假定累加器A中的内容为30H,执行指令1000H:MOVCA,@A+PC 后,把程序存储器1031H单元的内容送入累加器A中。26.12根地址线可寻址4KB存储单元。27.:假定A=55H,R3=0AAH,在执行指令ANL A,R3后,A=00H,R3=0AAH。28.MCS—51的P0口作为输出端口时,每位能驱动8个LSTTL负载。29.MCS—51有4个并行I/O口,其中P1~P3是准双向口,因此由输出转输入时必须先写入“1".30.MCS-51的堆栈是软件填写堆栈指针临时在片内数据存储器内开辟的区域.31.若不用MCS-51片内存储器,引脚EA必须接地。32.MCS-51在外扩ROM、RAM或I/O时,它的地址总线是P0、P2口.33.MCS-51中凡字节地址能被8整除的特殊功能寄存器均能位寻址.34.执行目前指令后,PC内容为下一条将要读取的指令码首地址.35.当串口接受到一种数据,此时RI=1,当串口发送完一种数据,此时TI=1。36.对于80C51无嵌套的单级中断,响应时间至少3个机器周期,最多8个机器周期。

37..晶振的频率为6MHz时,一种机器周期为2μS。

38。当容许定期器1工作在方式1时,控制字TMOD应为10H.39.MCS—51单片机8031中有2个16位的定期/计数器,可以被设定的工作方式有四种。40.MCS-51单片机有5个中断源,可分为2个中断优先级。上电复位时外部中断0中断源的优先级最高。41.用串行口扩展并行口时,串行接口的工作方式应选为方式0。42.若某8位D/A转换器的输出满刻度电压为+5V,则D/A转换器的辨别率为5/255=0.0196V。43.在串行通讯中,收发双方对波特率的设定应当是相等的。44.单片机复位时P0的值为0FFH、PC为0000H。45.外部中断1所对应的中断入口地址为0013H,T0中断服务程序入口地址为000BH.46MCS—51系统中,当PSEN信号有效时,表达CPU要从程序存储器读取信息。47.MCS-51片内20H~2FH范围内的数据存储器,即可以字节寻址又可以位寻址。48.若用传送指令访问MCS—51的程序存储器,它的操作码助记符应为MOVC。49.MCS-51串行接口有4种工作方式,这可在初始化程序中用软件填写特殊功能寄存器SCON加以选择。50.当使用慢速外设时,最佳的传播方式是中断.51.当定期器T0工作在方式3时,要占用定期器T1的TR1和TF1两个控制位。53.要串口为10位UART,工作方式应选为方式1.54.用串口扩并口时,串行接口工作方式应选为方式0。55.在串行通信中,有数据传送方向单工、半双工、全双工三种工作方式。56.MOVPSW,#10H是将MCS-51的工作寄存器置为第2组。57.指令DJNZR7,e操作码所在地址为3000H,e=EFH,则它的转移目的地址应为2FF1H。58.累加器(A)=80H,执行完指令ADDA,#83H后,进位位C=1。执行ANLA,#0FH指令后,累加器A的高4位=0000.59.SJMPe的指令操作码地址为0050H,e=65H,那么它的转移目的地址为00B7H。60.设DPTR=H,(A)=80H,则MOVCA,@A+DPTR的操作数的实际地址为2080H。61.十进制数—47用8位二进制补码表达为11010001。—19D的二进制补码表达为11101101。三、判断题3。51单片机只能做控制用,不能完毕算术运算.(x)5。判断寻址方式(1).MOVA,11H,是直接寻址.(√)。(2).MOVA,R0,是寄存器寻址。(√)。(4).MOVA,@R0是寄存器间接寻址(√).(5).MOVA,#11H是立即数寻址(√)。6.下面几条指令与否对的:(1)MOV@R1,80H(x)(2)INCDPTR(√)(4)MOV@R1,#80H(√)(5)ANLR1,#0FH(x)(6)ADDCA,C(x)(7)XORP1,#31H(x)7。判断下面指令的运行成果(1)MOVA,#11HANLA,#FFH(A)=11H(√)(2)MOVA,#11HORLA,#FFH(A)=11H(X)8.累加器A中寄存着一种其值不不小于等于127的8位无符号数,CY清“0"后执行RLCA指令,则A中数变为本来的2倍。(√)9.必须有中断源发出中断祈求,并且CPU打开中断,CPU才也许响应中断.(√)10。E2PROM不需紫外线能擦除,如2816在写入时就能自动完毕擦除。(√13.指令AJMP的跳转范围是1KB。(x)16。A/D转换器的作用是将模拟量转换为数字量;D/A转换器的作用是将数字量转为模拟量.(Y)18.ANLR1,#0FH(x)19。MCS-51单片机的CPU能同步处理8位二进制数据。(√)21.读内部ROM时使用的是“MOV"指令,读外部RAM时使用的是“MOVX”指令。(x)24。扩展I/O口占用片外数据存储器的地址资源.(√)27.我们所说的计算机实质上是计算机的硬件系统与软件系统的总称.(√)28.MCS—51上电复位时,SBUF=00H.(x)。29.使用可编程接口必须初始化。(√).34.计算机中常用的码制有原码、反码和补码(√)35.若不使用MCS—51片内存储器,引脚EA必须接地.(√)36.十进制数-29的8位补码表达为11100010。(x)37.MCS-51的相对转移指令最大负跳距是127B.(x)39.MCS—51的时钟最高频率是18MHz。(x).42.MCS-51外扩I/O口与外RAM是统一编址的。(√)45。MCS-51的特殊功能寄存器分布在60H~80H地址范围内.(x)50。MCS-51有4个并行I\O口,其中P0~P3是准双向口,因此由输出转输入时必须先写入"0”(x)56.为了消除按键的抖动,常用的措施有硬件和软件两种措施。(√59。在MCS-51中,为使准双向的I/O口工作在输入方式,必须保证它被事先预置为1。(√)61.DPTR是可以访问的,而PC不能访问。 (√)62.DPTR和PC都是16位的存储器.(√)63.DPTR可以分为两个8位的寄存器使用,但PC不能.(√)64.程序计数器PC不能为顾客编程时直接使用,由于它没有地址。(√)67.PC是1个不可寻址的特殊功能寄存器。(x)68.单片机的主频越高,其运算速度越快。(√)71.立即寻址方式是被操作的数据自身在指令中,而不是它的地址在指令中。(√)72.指令周期是执行一条指令的时间。(√)73.指令中直接给出的操作数称为直接寻址.(x)74.串行口通信的第9数据位的功能可由顾客定义。(√)75.发送数据的第9数据位的内容在SCON寄存器的TB8位预先准备好的。(√)76.串行通讯发送时,指令把TB8位的状态送入发送SBUF。(x)77.串行通讯接受到的第9位数据送SCON寄存器的RB8中保留。(√)78.串行口方式1的波特率是可变的,通过定期器/计数器T1的溢出设定。(√)79.一台计算机的指令系统就是它所能执行的指令集合。.(√)80.以助记符形式表达的计算机指令就是它的汇编语言.。(√)81.PC、A、DPTR、PSW都能为程序存储器提供和构成地址。(x)82.假定累加器A的内容为30H,执行指令:1000H:MOVCA,@A+PC后,把程序存储器1030H单元的内容送累加器A中。(x)简答题部分1、什么叫堆栈?答:堆栈是在片内RAM中专门开辟出来的一种区域,数据的存取是以"后进先出”的构造方式处理的.实质上,堆栈就是一种按照”后进先出"原则组织的一段内存区域。2、进位和溢出?答:两数运算的成果若没有超过字长的表达范围,则由此产生的进位是自然进位;若两数的运算成果超过了字长的表达范围(即成果不合理),则称为溢出。4、什么是单片机的机器周期、状态周期、振荡周期和指令周期?它们之间是什么关系?答:某条指令的执行周期由若干个机器周期(简称M周期)构成,一种机器周期包括6个状态周期(又称时钟周期,简称S周期),而一种状态周期又包括两个振荡周期(P1和P2,简称P周期)。也就是说,指令执行周期有长有短,但一种机器周期恒等于6个状态周期或12个振荡周期,即1M=6S=12P.5、MCS-51单片机一般内部包括哪些重要逻辑功能部件?答:51单片机一般由下列部件构成:一种8位CPU、一种片内振荡器及时钟电路、内部FlashRom程序存储器、256B的RAM、2个16位的定期/计数器、可寻址64KB片外数据存储器和64KB片外数据存储器和64KB片外程序存储器空间的控制电路、4个8位并行I/O端口及一种可编程全双工串行接口.6、MCS-51单片机的存储器从物理构造上可划分几种空间?答:MCS-51系列单片机的存储器配置从物理构造上可分为:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。从逻辑上可分为:片内外统一编址的64KB的程序存储器、片内256B的数据存储器以及片外64KB的数据存储器.7、存储器中有几种保留特殊功能的单元用做入口地址?分别作什么作用?答:MCS—51系列单片机的存储器中有6个保留特殊功能单元,其中0000H为复位入口、0003H为外部中断0入口、000BH为T0溢出中断入口、0013H为外部中断1入口、001BH为T1溢出中断入口、0023H为串行接口中断入口.8、MCS—51单片机片内256B的数据存储器可分为几种区?分别起什么作用?答:MCS-51单片机片内数据存储器可分为二个区:00H~7FH单元构成的低128B的片内RAM区、80H~FFH单元构成的高128B的专用寄存器区。其中低128B的RAM区又分为:00H~1FH单元为工作寄存器区、20H~2FH单元为位寻址区、30H~7FH单元为顾客RAM区。工作寄存器区可作通用寄存器用,顾客RAM区可作堆栈和数据缓冲用。专用寄存器区又称特殊功能寄存器,使用80H~FFH单元。8、MCS-51单片机的P0~P3四个I/O端口在构造上有何异同?使用时应注意的事项?答:MCS-51单片机的四个端口在构造上相似之处:P0~P3都是准双向I/O口,作输入时,必须先向对应端口的锁存器写入“1”。不一样之处;P0口的输出级与P1~P3口不相似,它无内部上拉电阻,不能提供拉电流输出,而P1~P3则带内部上拉电阻,可以提供拉电流输出.当P0口作通用I/O口输出使用时,需外接上拉电阻才可输出高电平;但作地址/数据总线时,不需要外接上拉电阻。P1~P3口I/O输出时,均无需外接上拉电阻。9、存储器空间在物理构造上可划分为几种部分?答:MCS—51存储器是采用将程序存储器和数据存储器分开寻址的构造,其存储器空间在物理构造上可划分为如下四个空间:片内程序存储器、片外程序存储器、片内数据存储器、片外数据存储器。10、开机复位后,CPU使用是的哪组工作寄存器?它们的地址是什么?CPU怎样确定和变化目前工作寄存器组?答:开机复位后,CPU使用的是第0组工作寄存器。它们的地址是00H~07H。CPU通过对程序状态字PSW中RS1、RS0的设置来确定和变化目前工作寄存器组。如:RS1、RS0为00则指向第0组;为01则指向第1组;为10则指向第2组;为11则指向第3组.11、MCS-51的时钟周期、机器周期、指令周期的怎样分派的?当振荡频率为8MHz时,一种单片机时钟周期为多少微秒?答:MCS—51的时钟周期是最小的定期单位,也称为振荡周期或节拍。一种机器周期包括12个时钟周期或节拍.不一样的指令其指令周期一般是不一样的,可包具有1~4个机器周期。当振荡频率为8MHz时,一种单片机时钟周期为0.125μs。12、程序状态存储器PSW的作用是什么?常用状态标志有哪几位?作用是什么?答:PSW是8位寄存器,用于作为程序运行状态的标志,其格式如下:PSW位地址D7HD6HD5HD4HD3HD2HD1HD0H字节地址D0HCACF0RS1RS0OVF1P当CPU进行多种逻辑操作或算术运算时,为反应操作或运算成果的状态,把对应的标志位置1或清0.这些标志的状态,可由专门的指令来测试,也可通过指令来读出。它为计算机确定程序的下一步运行方向提供根据。PSW寄存器中各位的名称及文职如上所示,下面阐明各标志的作用.P:奇偶标志。该位一直跟踪累加器A内容的奇偶性。假如有奇数个“1”,则置P为1,否则置0。在MCS—51的指令系统中,但凡变化累加器A中内容的指令均影响奇偶标志位P。F1:顾客标志。由顾客置位或复位。OV:溢出标志。有符号数运算时,假如发生溢出时,OV置1,否则清0。对于一种字节的有符号数,假如用最高位表达正、负号,则只有7位有效位,能表达-128~~+127之间的数;假如运算成果超过了这个数值范围,就会发生溢出,此时,OV=1,否则OV=0。此外,在乘法运算中,OV=1表达乘积超过255;在除法运算中,OV=1表达除数为0.RS0、RS1:工作寄存器组选择位,用以选择指令目前工作的寄存器组。由顾客用软件变化RS0和RS1的组合,以切换目前选用的工作寄存器组,其组合关系如下.RS1RS0寄存器组片内RAM地址00第0组00H~07H01第1组08H~0FH10第2组10H~17H11第3组18H~1FH13、EA/VPP引脚有何功用?8031的引脚应怎样处理?为何?答:EA/VPP是双功能引脚,功能如下:EA接高电平时,在低4KB程序地址空间(0000H~0FFFH),CPU执行片内程序存储器的指令,当程序地址超过低4KB空间(1000H~FFFFH)时,CPU将自动执行片外程序存储器的指令。EA接低电平时,CPU只能执行外部程序存储器的指令。8031单片机内部无ROM,必须外接程序存储器。因此,8031的EA引脚必须接低电平。在对8751单片机内部的 EPROM编程时,此引脚VPP外接+12V电压,用于固化EPROM程序。14、单片机有哪几种特殊功能寄存器?各在单片机的哪些功能部件中?答:MCS—51单片机内部有21个特殊功能寄存器,在物理上是分散在片内各功能部件中,在数学上把它们组织在内部数据存储器地址空间80H~FFH中,以便能使用统一的直接寻址方式来访问。这些特殊功能寄存器颁在如下各个功能部件中:(1)CPU:ACC、B、PSW、SP、DPTR(由DPL和DPH两个8位寄存器构成);(2)中断系统:IP、IE;(3)定期器/计数器:TMOD、TCOM、TL0、TH0、TL1、TH1;(4)并行I/O口:P0、P1、P2、P3;(5)串行口:SCON、SBUF、PCON。16、什么叫寻址方式?MCS51有几种寻址方式?答:寻址方式:寻址方式就是寻找指令中操作数或操作数所在地址的方式。也就是怎样找到寄存操作数的地址,把操作数提取出来的措施。MCS51的寻址方式有:立即数寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对对址、位寻址.17、SJMP(短转移)指令和AJMP(绝对转移)指令的重要区别。答:SJMP提供了以SJMP的下一条指令的起始地址为中心的256字节范围的转移(-128~+127),AJMP的转移目的地址必须在与AJMP的下一条指令的第一字节相似的2KB区的程序储存器中。短转移以便了可重定位编码.SJMP以便了PC可重定位编码,但转移范围小。而ASJMP转移范围大,但存在跳区的限制,AJMP指令只能位于2KB区的最终2个字节处时,才可跳到下一种区去。因此用AJMP指令来替代SJMP指令是有条件的,也就是目的地址必须与它下面的指令寄存地址在同一种2KB区域内。18、中断服务子程序与一般子程序有哪些异同之处?答:相似点:都是让CPU从主程序转去实行子程序,执行完毕后又返回主程序。不一样点:中断服务子程序是随机执行的,而一般子程序是预先安排好的;中断服务子程序以RETI结束,而一般子程序以RET结束。RETI除了将短点弹回PC动作之外,还要清除对应的中断优先标志位(片内不可寻址的触发器),以便新的中断祈求能被响应。19、MCS—51响应中断的条件是什么?CPU响应中断后,CPU要进行哪些操作?不一样的中断源的中断入口地址是什么?答:CPU响应中断的条件如下:①首先要有中断源发出有效的中断申请;②CPU中断是开放的,即中断总容许位EA=1,容许所有中断源申请中断。③申请中断的中断源的中断容许位为1,即此中断源可以向CPU申请中断。以上是CPU响应中断的基本条件.假如上述条件局限性,则CPU一般会影响中断.不过,若有下列任何一种状况存在,则中断响应会被制止。①CPU正处在为一种同级或高级的中断服务中。②现行机器周期不所执行的指令的最终一种机器周期。作此限制的目的在与使目前指令执行完毕后,才能进行中断响应,以保证目前指令的完整执行。③目前指令是返回指令(RET、RETI)或访问IE、IP的指令。由于按MCS—51中断系统的特性规定,在执行完这些指令之后,还应在继续执行一条指令,然后才能影响中断.若存在任何一种状况,CPU将丢弃中断查询成果;否则,将在紧接着的下一种机器周期内执行中断查询成果,响应中断。CPU响应中断后,保护断点,硬件自动将(PC)→堆栈,寻找中断源,中断矢量→PC,程序转向中断服务程序入口地址。其中,INT0=0003H,T0=000BH,INT1=0013H,T1=001BH,串行接口=0023H。20、单片机对中断优先级的处理原则是什么?答:⑴低级不能打断高级,高级可以打断低级;⑵一种中断以被响应,同级的被严禁;⑶同级,按查询次序,INT0→T0→INT1→T1→串行接口21、MCS—51的外部中断有哪两种触发方式?他们对触发脉冲或电平有什么规定?答:有电平触发和脉冲触发。电平方式是低电平有效。只要单片机在中断规定引入端INT0和INT1上采样到低电平时,就激活外部中断。脉冲方式则是脉冲的下条沿有效.这种方式下,在两个相邻机器周期对中断祈求引入端进行采样中,如前一次为高,后一次为低,即为有效中断祈求。因此在这两种中断祈求信号方式下,中断祈求信号的高电平状态和低电平状态都应至少维持一种周期以保电平变化能被单片机采样用。22、什么是中断和中断系统?其重要功能是什么?答:当CPU正在处理某件事情的时候,外部发生的某一件事情祈求CPU迅速去处理,于是,CPU临时终止目前的工作,转去处剪发生的事情,中断处理完该事件后来,再回到本来被终止的地方,继续本来的工作.这种过程称为中断,实现这种功能的部件称为中断系统.功能:(1)使计算机具有实时处理功能,能对外界异步发生的事件作出及时的处理.(2)完全消除了CPU在查询方式中的等待现象,大大提高了CPU的工作效率。(3)实现实时控制。23、MCS—51有哪些中断源?答:MCS—51有如下中断源:INTO:外部中断0祈求,低电平有效(由P3。2输入);INT1:外部中断1祈求,低点平有效(由P3。3输入);TO:定期器/计数器0溢出中断祈求;T1:定期器/计数器1溢出中断祈求;TX/RX:串行借口中断祈求。通过对特殊功能积存器TCON、SCON、IE、IP的个位进行置位或复位等操作,可实现多种中断控制功能.24、阐明外部中断祈求的查询和响应过程。答:当CPU执行主程序第K条指令时,外设向CPU发出中断祈求,CPU接到中断祈求信号并在本条指令执行完后,中断主程序的执行并保留断点地址,然后转去响应中断.CPU在每一种S5P2期间次序采样每个中断源,CPU在下一种机器周期S6期间按优先级次序查询中断标志,如查询到某个中断标识为1,将在接下来的机器周期S1期间按优先级进行中断处理,中断系统通过硬件自动将对应的中断矢量地址装入PC,以便进入对应的中断服务程序。中断服务完毕后,CPU返回到主程序第K+1条指令继续执行。25、MCS—51响应中断的条件?答:(1)有中断源发出中断祈求。(2)中断总容许位EA=1,即CPU开中断。(3)申请中断的中断源的中断容许位为1,即中断没有被屏蔽.(4)无同级或更高级中断正在服务。(5)目前指令周期已经结束。(6)若现行指令为RETI或访问IE或IP指令时,该指令以及紧接着的另一条指令已执行完毕.26、简述MCS—51单片机的中断响应过程。答:CPU在每个机器周期S5P2期间次序采用每个中断源,CPU在下一种机器周期S6期间按优先级次序查询中断标志,如查询到某个中断标志为1,将在接下来的机器周期S1期间按优先级进行中断处理,中断系统通过硬件自动将对应的中断矢量地址装入PC,以便进入对应的中断服务程序.一旦响应中断,MCS-51首先置位对应的中断“优先级生效”触发器,然后由硬件执行一条长调用指令,把目前的PC值压入堆栈,以保护断点,再将对应的中断服务的入口地址送入PC,于是CPU接着从中断服务程序的入口处开始执行。对于有些中断源,CPU在响应中断后会自动清除中断标志。27、在执行某一中断源的中断服务程序时,假如有新的中断祈求出现,试问在什么状况下可响应新的中断祈求?在什么状况下不能响应新的中断祈求?答:符合如下6个条件可响应新的中断祈求:有中断源发出中断祈求、中断总容许位EA=1,即CPU开中断、申请中断的中断源的中断容许位为1,即中断没有被屏蔽、无同级或更高级中断正在被服务、目前的指令周期已结束、若现行指令为RETI或访问IE或IP指令时,该指令以及紧接着的另一条指令已执行完.假如新的中断祈求“优先级”低于正在执行的中断祈求或与其同级,则不能被响应。28、MCS—51单片机外部中断源有几种触发中断祈求的措施?怎样实现中断祈求?答:有两种方式:电平触发和沿触发。电平触发方式:CPU在每个机器周期的S5P2期间采样外部中断引脚的输入电平。若为低电平,使IE1(IE0)置“1”,申请中断;若为高电平,则IE1(IE0)清零.边缘触发方式:CPU在每个机器周期的S5P2期间采样外部中断祈求引脚的输入电平。假如在相继的两个机器周期采样过程中,一种机器周期采样到外部中断祈求为高水平,接着下一种机器周期采样到外部中断祈求为低水平,则使IE1(IE0)置1,申请中断;否则,IE1(IE0)置0。29、什么是中断优先级?中断优先级处理的原则是什么?答:一般,在系统中有多种中断源,有时会出现两个或更多种中断源同步提出中断祈求的状况.这就规定计算机既能辨别各个中断源的祈求,又能确定首先为哪一种中断源服务。为了处理这一问题,一般给各中断源规定了优先级别,称为优先权或中断优先级。中断优先级处理的原则是:当两个或者两个以上的中断源同步提出中断祈求时,计算机首先为优先权最高的中断源服务,服务结束后,再响应级别较低的中断源。30、中断响应过程中,为何一般要保护现场?怎样保护?答:由于一般主程序和中断服务程序都也许会用到累加器、PSW寄存器和其他某些寄存器。CPU在进入中断服务程序后,用到上述寄存器时,就会破坏它本来存在寄存器中的内容;一旦中断返回,将会导致主程序的混乱.因而在进入中断服务程序后,一般要先保护现场,然后再执行中断处理程序,在返回主程序前再恢复现场.保护现场的一般措施是把累加器、PSW寄存器及其他某些与主程序有关的寄存器压入堆栈。在保护现场和恢复现场时,为了不使现场数据受到破坏或者导致混乱,一般规定此时CPU不响应新的中断祈求.这就规定在编写中断服务程序时,注意在保护现场前要关中断,在恢复现场后要开中断。假如在中断处理时容许有更高级的中断打断它,在保护现场之后要再开中断,恢复现场之前关中断.31、MCS—51定期器有哪几种工作模式?有何区别?答:有模式0,模式1,模式2,模式3。(1)模式0:选择定期器(T0或T1)的高8位和低5位构成的一种13位定期器/计数器。TL低5位溢出时向TH进位,TH溢出时向中断标志位TF0进位,并申请中断.定期时间t=(213—初值)*振荡周期*12;计数长度为213=8192个外部脉冲.(2)模式1:与模式0的唯一区别是寄存器TH与TL以所有16位参与操作。定期时间t=(216-初值)*振荡周期*12;计数长度为216=65536个外部脉冲。(3)模式2:把TL0与TL1配置成一种可以自动重装载的8位定期器/计数器。TL用作8位计数器,TH用以保留初值.TL计数器溢出是不仅使TF0置1,并且还自动将TH中的内容装载到TL中.定期时间t=(28—初值)*振荡周期*12;计数长度为256个外部脉冲。(4)模式3:对T0和T1不大相似。若T0设为模式3,TL0和TH0被分为两个互相独立的8位计数器.TL0为8位计数器,功能与模式0和模式1相似,可定期可计数。TH0仅用于作简朴的内部定期功能,它占用了定期器T1的控制位TR1和中断标志位TF1,启动和关闭仅受TR1的控制。定期器T1无工作模式3,但T0在工作模式3时T1仍可设置为模式0~2.32、串行数据传送的重要长处和用途是什么?答:串行数据传送是将数据按位进行传送的方式。其重要长处是所需的传送线根数少,对于远距离数据传送的状况,采用串行方式是比较经济的。因此窜行方式重要用于计算机与远程终端之间的数据传送。33、简述串行接口接受和发送数据的过程.答:串行接口的接受和发送是对同一地址(99H)两个物理空间的特殊功能寄存器SBUF进行读或写的.当向SBUF发“写”命令时(执行“MOVSBUF,A“指令),即向发送缓冲器SBUF装载并开始由TXD引脚向外发送一帧数据,发送完便使发送中断标志位T1=1.在满足串行接口接受中断标志位RI(SCON。)=0的条件下,置容许接受位REN(SCON.4)=1,就会接受一帧数据进入移位寄存器,并装载到接受SBUF中,同步使RI=1。当发读SBUF命令时(执行“MOVA,SBUF”指令),便由接受缓冲器SBUF取出信息通过MCS-51内部总线送CPU。34、MCS-51串行接口有几种工作方式?答:MCS—51串行接口有四种工作方式;方式0(8位同步移位寄存器),方式1(10位异步收发),方式2(11位异步收发),方式3(11位异步收发)。35、MCS-51中SCON的SM2、TB8、RB8有何作用?答:MCS-51中SCON的SM2是多机通信控制位,重要用于方式2和方式3.若置SM2=1,则容许多机通信。TB8是发送数据的第9位,在方式2或方式3中,根据发送数据的需求有软件置位或复位.它在许多通信协议中可用作奇偶校验位;在多机通信中作为发送地址帧或数据帧的标志位。RB8是接受数据的第9位,在方式2或方式3中,接受到的第9位数据放在RB8位。它或是约定的奇/偶校验位,或是约定的地址/数据标识位。36、简述单片机多机通信的原理。答:当一片MCS—51主机与多片从机通信时,所有从机的SM2位置1。主机首先发送的一帧数据为地址,即某从机机号,其中第9位1,所有的接受到数据后,将其中第9位装入RB8中.各个从机根据收到的第9位数据(RB8中)的值来决定从机可否再接受主机的信息。若(RB8)=0,阐明是数据帧,则使接受中断标志位RI=0,信息丢失;若(RB8)=1,阐明是地址帧,数据装入SBUF并置RI=1,中断所有从机,只有被寻址的目的从机清除SM2(SM2=0),以接受主机发来的一帧数据(点对点通信).其他从机仍然保持SM2=1。37、串行通信的总线原则是什么?有哪些内容?答:美国电子工业协会(EIA)正式公布的串行总线接口原则有RS—232C、RS-422、RS—423和RS-485等。在异步串行通信中应用最广的原则总线是RS—232C。它包括了按位串行传播的电气和机械方面的规定,如合用范围、信号特性、接口信号及引脚阐明等,合用于短距离(〈15m)或带调制解调器的通信场所。采用RS—422、RS—485原则时,通信距离可达1000m。38、简述单片机系统扩展的基本原则和实现措施。答:(1)以P0口作地址/数据总线,此地址总线是系统的低8位地址线.(2)以P2口的口线作高位地址线。(不固定为8位,需要几位就从P2口引出几条口线。)(3)控制信号线:①、使用ALE作为地址锁存的选通信号,以实现低8位地址线。②、以PSEN信号作为扩展程序存储器的读选通信号。③、以EA信号作为外程序存储器的选择信号。④、以RD和WR作为扩展数据存储器和I/O端口的读写选通信号,执行MOVX指令时,这两个信号分别自动有效。39、8255有哪几种工作方式?怎样选择其工作方式?答:8255有3种工作方式,即方式0、方式1、方式2。(1)方式0(基本输入/输出方式):这种方式不需要任何选通信号。A口、B口及C口的高4位和低4位都可以被设定输入或输出。作为输出口时,输出的数据被封锁;B口和C口作为输入口时,其输入的数据不封锁。(2)方式1(选通输入/输出方式):在这种工作方式下,A、B和C三个口将分为两组。A组包括A口和C口的高4位,A口可由编程设定为输入口或输出口,C口的高4位则用来作为输入/输出操作的控制和同步信号;B组包括B口和C口的低4位,B口可由编程设定为输入口或输出口,C口的低4位则用来作为输入/输出操作的控制和同步信号。A口和B口的输出数据都被锁存。(3)方式2(双向数据传送方式):在这种方式下,A口为8位双向数据口,C口的PC3~PC7用来作为输入/输出的控制同步信号。8255的工作方式选择是通过对控制口输入控制字(或称命令字)的方式实现的。40、8155有哪几种工作方式?怎样进行选择?答:8155有3种工作方式,即通用I/O口、片外256B的RAM及定期器/计数器方式。当作为通用I/O口时,将IO/M引角置高电平,I/O工作方式选择是通过对8155内部命令寄存器送命令字来实现的。当作为片外256B的RAM时,将IO/M引角置低电平.这时8155内部的RAM只能作片外RAM使用,其选址范围由片选线CE(高位地址译码)和AD0~AD7决定,应与应用系统中其他数据存储器统一编址。当作为定期器/计数器使用时,将IO/M引角置高电平,然后分别选择定期器/计数器的高、低8位寄存器地址,通过对高8位的搞位的设置可定义4种输出波形。高8位中的低6位和低8位寄存器中的8位用于放14位计数器的初值.41、什么是D/A转换器?简述T形电阻网络转换器的工作原理.答:在计算机控制的实时控制系统中,有时被控对象需要用模拟量来控制,模拟量是持续变化的电量。此时,就需要将数字量转换为对应的模拟量,以便操纵控制对象。这一过程即为“数/模转换"D/A(DigittoAnalog)。能实现D/A转换的期间称为D/A转换器或DAC。一种二进制数是由各位代码组合起来的,每位代码均有一定的权。为了将数字量转换成模拟量,应将每一位代码按权大小转换成响应的模拟输出分量,然后根据叠加原理将各代码对应的模拟输出分量相加,其综合就是与数字量成正比的模拟量,由此完毕D/A转换。为实现上述D/A转换,需要使用解码网络。解码网络的重要形式有二进制权电阻解码网络和T形电阻解码网络。T形电阻网络整个电路是有相似的电路环节所构成的,每节有二个电阻(R和2R)、一种开关,相称于二进制数的一位,开关由该位的代码所控制.由于电阻接成T形解码网络。此电路采用了分流原理实现对输入为数字量的转换.42、波特率、比特率和数据传送速率的含意各是什么?答:在数据通信中,描述数据传送速度的方式有3种:(1)波特率——每秒传送多少个信号码元(或每秒信号码元变换的总个数),单位是波特(Bd).(2)比特率——每秒传送多少个二进制位(或每秒传送二进制码元的个数),单位是b/s.(3)数据传送速率(或字符传送速率)-—每秒传送多少个字符(或单位时间内平均数据传移速率),单位是字符/秒。四、程序分析及编程1。设(A)=04H,(CY)=1,写出下列各条指令的成果。RLA;(A)=08HRRA;(A)=02HRLCA;(A)=09HRRCA;(A)=82H2.设(A)=7AH,(R0)=30H,(30H)=A5H,(CY)=1,写出下列各条指令的成果。MOVA,R0(A)=30H(R0)=30HXCHA,R0(A)=30H(R0)=30HXCHDA,@R0(A)=A5H(R0)=30H(30H)=30HADDA,#30H(A)=D5H(CY)=1ADDCA,30H(A)=06H(CY)=1SUBBA,#30H(A)=D5H(CY)=13.下列程序段的功能是什么? PUSH A PUSH B POP A POP B答:互换A、B的内容4.已知程序执行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH.下述程序执行后:请问:A=(),SP=(),(51H)=(),(52H)=(),PC=(). POP DPH POP DPL MOV DPTR,#4000H RL A MOV B,A MOVC A,@A+DPTR PUSH A MOV A,B INC A MOVC A,@A+DPTR PUSH A RET ORG 4000H DB 10H,80H,30H,50H,30H,50H 答:(A)=50H,(SP)=50H,(51H)=30H,(52H)=50H,(PC)=5030H5。假定A=83H,(R0)=17H,(17H)=34H,执行如下指令后,A的内容为()。: ANL A,#17H ORL 17H,A XRL A,@R0 CPL A 答:0CBH6.假如DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后则:DPH=(),DPL=(),SP=(): POP DPH POP DPL POP SP 答:DPH=3CH,DPL=5FH,SP=4FH7.假定,SP=60H,A=30H,B=70H,执行下列指令后,SP的内容为(),61H单元的内容为(),62H单元的内容为()。 PUSH A PUSH B 答:62H,30H,70H8.计算下面子程序中指令的偏移量和程序执行的时间(晶振频率为12MHz)。 MOV R3,#15H ;1个机器周期 DL1:MOV R4,#255 ;1个机器周期 DL2:MOV P1,R3 ;2个机器周期 DJNZ R4,DL2 ;2个机器周期 DJNZ R3,DL1 ;2个机器周期 RET ;2个机器周期答:15348us析:((2+2)×255+1+2)×15+1+2=15348us9.假定A=83H,(R0)=17H,(17H)=34H,执行如下指令后,A的内容为(). ANL A,#17H ORL 17H,A XRL A,@R0 CPL A 答:0CBH10。假如(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:DPH内容为(),DPL内容为(),SP内容为()。POP DPH;POP DPL;POP SP;答:(DPH)=3CH,(DPL)=5FH,(SP)=50H11。假设外部数据存储器H单元的内容为80H,执行下列指令后,累加器A中的内容为()。 MOV P2,#20H MOV R0,#00H MOVX A,@R0答:累加器A中的内容为(80H)12.阅读下列程序段并回答问题。(1)。该程序执行何种操作?(2).已知初值(60H)=23H,(61H)=61H,运行程序后62H内容()CLRCMOVA,#9AHSUBBA,60HADDA,61HDAAMOV62H,A答:1)、该程序是单字节BCD码运算,是将(61H)—(60H)→62H2)、(62H)=38H13.试编写1个程序,将内部RAM中45H单元的高4位清0,低4位置1.答:MOV A,45H ANL A,#0FH ORL A,#0FH MOV 45H,A14。试编写程序,查找在内部RAM的30H~50H单元中与否有0AAH这一数据。若有,则将51H单元置为“01H”;若未找到,则将51H单元置为“00H”。答:START: MOV R0,#30H MOV R2,#20H LOOP: MOV A,@R0 CJNE A,#0AAH,NEXT MOV 51H,#01H LJMP EXIT NEXT: INC R0 DJNZ R2,LOOP MOV 51H,#00H EXIT: RET15。编写程序,规定使用T0,采用方式2定期,在P1.0输出周期为400μs,占空比为10:1的矩形脉冲.解:根据题意,从P1.0输出的矩形脉冲的高下电平的时间为10:1,则高下电平的时间分别为363.63μs和36。37μs。假如系统采用6MHz晶振的话,,因此高下电平输出取整,则约为364μs和36μs。编写程序如下:ORG 0000H LJMP MAIN ORG 000BH LJMP IT0PMAIN: MOV TMOD,#02H ;定期器/计数器T0为定期方式2 MOV TL0,#4AH ;定期364μs初值赋值 SETB TR0 ;启动T0,开始计数 SETB ET0 ;容许T0中断 SETB EA ;CPU开中断 SETB P1.0WAIT: AJMP WAITIT0P: CLR EACLR P1.0 ;关中断 MOV R0,#9DLY: DJNZ R0,DLY ;延时26μs MOV TL0,#4AH ;定期364μs初值赋值 SETB P1.0 SETB EA RETI16.设在外部RAM中有三个持续单元H,H,H,其中H和H单元中分别寄存两个8位无符号二进制数,比较这两个数的大小,然后将大数送到H单元.COMPARE:MOVDPTR,#HMOVXA,@DPTRMOVR0,AINCDPTRMOVXA,@DPTRSUBBA,R0JNCLOOPMOVA,R0INCDPTRMOVX@DPTR,ARETLOOP:INCDPTRMOVX@DPTR,ARET17。将内部RAM40H开始的10个单元,搬移到50H开始的10个单元中。MOVR0,#40HMOVR1,#50HMOVR2,#10LOOP1:MOVA,@R0MOV@R1,AINCR0INCR1DJNZR2,LOOP1RET18。设单片机晶振频率为6MHz,使用定期器0,以工作方式2,在P1.5引脚输出一种周期为200us持续方波?解:MOVTMOD,#02HMOVTH0,#0CEHMOVTL0,#0CEHSETBTR0LOOP:JBCTF0,LOOP1AJMPLOOPLOOP1:CPLP1。019.编写一段程序,功能规定为:当P1。0引脚的电平正跳变时,对P1.1的输入脉冲进行计数;当P1.2引脚的电平负跳变时,停止计数,并将计数值写入R0、R1(高位存R1,低位存R0).答:将P1。1的输入脉冲接入INT0,虽然用T0计数器完毕对P1.1口的脉冲计数。编写程序如下:ORG 0000H LJMP MAIN ORG 000BH LJMP IT0PMAIN: JNB P1。0,MAINMOV TMOD,#05H ;定期器/计数器T0为计数方式1 SETB TR0 ;启动T0,开始计数 SETB ET0 ;容许T0中断 SETB EA ;CPU开中断WAIT: JB P1.2,WAIT CLR EA CLR TR0 MOV R1,TH0 MOV R0,TL0 AJMP $IT0P: INC R2 RETI20.试编写一种程序(例如将05H和06H拼为56H),设原始数据放在片外数据区H单元和H单元中,按次序拼装后的单字节数放入H。答:编程思绪:首先读取H的值,保留在寄存器A中,将寄存器A的高四位和低四位互换,再屏蔽掉低四位然后将寄存器A的值保留到30H中,然后再读取H的值,保留在寄存器A中,屏蔽掉高四位,然后将寄存器A的值与30H进行或运算,将运算后的成果保留在H中。 ORG0000HMAIN:MOVDPTR,#H ;设置数据指针的初值 MOVX A,@DPTR ;读取H的值 SWAP A ANL A,#0F0H ;屏蔽掉低四位 MOV 30H,A ;保留A INC DPTR ;指针指向下一种 MOVX A,@DPTR ;读取H的值 ANL A,#0FH ;屏蔽掉高四位 ORL A,30H ;进行拼装 MOVX @DPTR,A ;保留到H END21。编写程序,将外部数据存储器中的4000H—40FFH单元所有清零.解:本题重要考察了对外部数据块的写操作;编程时只要注意循环次数和MOVX指令的使用就可以了。 ORG 0000HMAIN:MOV A,#0 ;送预置数给A MOV R0,#0FFH ;设置循环次数 MOV DPTR,#4000H ;设置数据指针的初值LOOP:MOVX @DPTR,A ;目前单元清零 INC DPTR ;指向下一种单元 DJNZR0,LOOP ;与否结束 END22。编写程序,采用8255A的C口按位置位/复位控制字,将PC7置0,PC4置1,(已知8255A各端口的地址为7FFCH-7FFFH)。解:本题重要考察对8255A的C口的操作.其方式控制字的高位为0时,低四位对C口进行置位。由题目我们得到了方式控制字的地址为7FFFH. ORG 0000H MAIN: MOV DPTR,#7FFFH ;控制字寄存器地址送DPTR MOV A,#0EH ;将PC7置0 MOVX@DPTR,A MOV A,#09H ;将PC4置1 MOVX@DPTR,A END23.试编写逻辑运算程序,功能为:F=X(Y+Z);F=XYZ其中FXYZ均为位变量,依次存在以30H为首址的位寻址区中。解(1):FBIT30HXBIT31HYBIT32HZBIT33HLOG1:MOVC,Y;Y→CORLC,Z;(Y+Z)→CANLC,X;X(Y+Z)→CMOVF,C;X(Y+Z)→FRET;解(2):LOG2:MOVC,Y;Y→CANLC,Z;YZ→CANLC,/X;XYZ→CCPLC;XYZ→CMOVF,C;XYZ→FRET;24.试编写程序,记录内RAM30H~50H单元中FFH的个数,并将记录成果存51H。解:编程如下:LOKF:MOV51H,#0;计数器清零MOVR0,#30H;置数据区首址LOP:MOVA,@R0;读数据CPLA;取反JNZLP1;判FFH,非FFH,转INC51H;FFH,计数LP1:INCRO;指向下一数据CJNER0,#51H,LOP;判循环RET25.试编写程序,找出外RAMH~200FH数据区中的最小值,并放入R2中。解:编程如下:SECH:MOVDPTR,#H;置外RAM数据区首址MOVR2,#OFH;置外RAM数据区长度(N—1)MOVXA,@DPTR;读第一种数据MOVB,A;假设第一种数据为最小值SLOP:INCDPTR;指向下一种数据MOVXA,@DPTR;读下一种数据CJNEA,B,SLP1;新数据与最小值比较SLP1:JNCSLP2;新数据≥最小值,判断循环MOVB,A;新数据<最小值,新数据→BSLP2:DJNZR2,SLOP;判循环结束否?MOVR2,B;最小值→R2RET26.已知ROM中存有0~100的平方表,首地址为TABDS,试根据累加器A(≤100)中的数值查找对应的平方值,存入内RAM31H30H(双字节).解:编程如下:DSQR:MOVDPTR,#TABDS;置ROM平方表首地址ADDA,Acc;A×2→AMOVCA,@A+DPTR;读平方值高8位MOV31H,A;平方值高8位→31HINCA;指向平方值低8位MOVCA,@A+DPTR;读平方值低8位MOV30H,A;平方值低8位→30HRETTABDS:DW0,0,0,1,0,4,0,9,0,16,0,25,…,27H,10H;0~100平方表(双字节)27.试编程实现3字节无符号数加法:R7R6R5+R4R3R2→@R0(3个持续单元).解:编程如下:ADD3:MOVA,R5ADDA,R2;低位加MOV@R0,A;存低位和INCR0;修改存储单元MOVA,R6;ADDCA,R3;中位加MOV@R0,A;存中位和INCR0;修改存储单元MOVA,R7;ADDCA,R7;高位加MOV@R0,A;存高位和RET28.试编写程序,将外部RAMH~20FH数据块,传送到3000H~30FFH区域。解:编程如下:DMOV:MOVDPTR,#H;置源数据区首址MOVR2,#00H;置数据长度(256个)DLOP:MOVXA,@DPTR;读数据MOVDPH,#30H;置目的数据区高8位地址MOVX@DPTR,A;存数据MOVDPH,#20H;置源数据区高8位地址INCDPTR;修改源数据区地址DJNZR2,DLOP;判循环结束否?RET29。从内RAM20H单元开始存有一组带符号数(补码),其个数已寄存在1FH单元。规定记录其中不小于0,等于0和不不小于0的数的个数,并把记录成果分别存入ONE,TWO,THREE3个单元。解:编程如下:ONEEQU30HTWOEQU31HTHREEEQU32HSTOR:MOVR0,#20H;置数据区首址SLOP:MOVA,@R0;读数据JZLP1;数据=0,转JBAcc.7,LP2;数据<0,转INCONE;数据>0,ONE单元加1LP0:INCRO;指向下一数据DJNZ1FH,SLOP;判记录结束否?未结束循环RET;记录结束,TWO单元加1LP1:INCTWO;数据=0,TWO单元加1SJMPLPO;返回循环体LP2:INCTHREE;数据<0,THREE单元加1SJMPLPO;返回循环体30.设在内部数据存储器中寄存有20个字节数据,其起始地址为M。试编写程序,找出数0AH的寄存地址,并送入N单元.若OAH不存在,则将N单元清零.解:程序如下:MEQU30HNEQU2FHSECH:MOVR0,#MMOVR1,#20LOOP:CJNE@R0,#0AH,LP1MOVN,R0RETLP1:INCR0DJNZR1,LOOPMOVN,#0RET31.试编写程序,求出内RAM20H单元中“1”的个数,并将成果存入21H单元。解:编程如下:LOK1:MOV21H,#OMOVR2,#08HMOVA,20HLOP:RLCAJNCLP1JNC21HLP1:DJNER2,LOPRET32。试编写记录数据区长度的程序,设数据区从内RAM30H开始,该数据区以0结束,记录成果送入2FH中。解:编程如下:ADUP:MOV2FH,#0MOVR0,#30HALOP:MOVA,@R0JNZLP1RETLP1:INC2FHINCR0SJMPALOP33。从内RAM30H单元开始寄存着一组无符号数,其个数存在21H单元中。试编写程序,找出其中最小的数,并将其存入20H单元中。解:编程如下:SECH:MOVRO,#3OHMOV20H,#FFHSLOP:MOVA,@R0CJNEA,20H,NEXTNEXT:JNCSLP1MOV20H,ASLP1:INCR0DJNZ21H,SLOPRET34。用程序实现c=a2+b2。设a2b2存于内RAM,AA,BB单元;c为双字节,存于内RAMCC,DD单元。解:该题可用于程序来实现。通过两次调用查平方表子程序来得到a和b,并在主程序中完毕相加。编程如下:AAEQU40HBBEQU41HCCEQU42HDDEQU43HFUNC:MOVA,AALCALLDSQRMOVDD,AMOVCC,31HMOVA,BBLCALLDSQRADDA,DDMOVDD,AADDCA,CCMOVCC,ARET35.运用定期、计数器T1测量某正脉冲宽度,并存入内RAM31H30H。设fosc=12MHz,脉冲从P3。3引脚输入,宽度不不小于65536us.解:编程如下:PLUS:MOVTMOD,#90HMOVTH1,#0MOVTL1,#0JBP3.3,$SETBTR1JNBP3.3,$JBP3.3,$CLRTR1MOV31H,THOMOV30H,TLORET36.设在内部RAM中50H开始有持续的10个单元,求这10个单元之和,成果放在60H,61H,低位放在60H,高位在61H。解:程序编写如下:ORG0000HACALLADDTENWAIT:AJMPWAITADDTEN:MOVR0,50HMOVR1,#10MOVA,#00HMOV60H,AMOV61H,ALOOP1:ADDA,@R0INCR0MOV60H,AJCLOOP2DJNZR1,LOOP1RETLOOP2:MOVA,61H;ADDA,#01HDJNZR1,LOOP1RETEND六、综合题1。既有8031单片机、74LS373锁存器、1片2764EPROM和2片6116RAM,请使用他们构成一种单片机系统,规定:(1)画出硬件电路连线图,并标重视要引脚;(2)指出该应用系统程序存储器空间和数据存储器空间各自的地址范围。解:(1)电路图如下所示:(2)2764的地址为C000H—DFFFH;第一种6116的地址为A000H—A7FFH;第二个6116的地址为6000H—67FFH;实际上,由于采用的是线选法,导致了地址不持续,地址空间运用不充足.提议在实际工作中要详细状况详细分析。在两种地址分派中选一种很好的来应用。2.使用89C51芯片外扩一片E2PROM2864,规定2864兼作程序存储器和数据存储器,且首地址为8000H.规定:(1)确定2864芯片的末地址;(2)画出2864片选端的地址译码电路;(3)画出该应用系统的硬件连接图.解:(1)2864为8KB的存储器,假如首地址为8000H,则其末地址为9FFFH,理由参照第12题;(2)电路图如下所示:(3)电路图如下所示:3。画出MCS-51系列单片机运用串行口进行1台主机与4台从机多机串行通讯连线图,其中1台从机通讯地址号为02H,请论述主机向02H从机发送一种字节数据的过程。TXDTXDRXD8031主机TXDRXD00HTXDRXD01HTXDRXD02HTXDRXD03H从机从机从机从机答:主机发送数据过程如下:将从机00~03H的REN置1,SM2=1,并使它们工作在串行口工作方式2或3。由主机向4个从机发出一帧地址址信息02H,第9位为1。从机接到信息后均发生中断,执行中断服务程序,将02H与自身地址做比较。若相似,则清SM2=0,若不一样则SM2不变仍为1。主机发送一帧数据信息,第9位为0,从机接到信息后,只有SM2=0的从机发生中断,将数据信息收取,其他SM2=1的从机不放出中断,信息丢失,从而实现主机向02H从机发送一种字节数据的功能。4。请回答:(1).下图中外部扩展的程序存储器和数据存储器容量各是多少?(2).两片存储器芯片的地址范围分别是多少?(地址线未用到的位填1) (3).请编写程序,规定:(A)将内部RAM30H~3FH中的内容送入1#6264的前16个单元中;(B)将2#6264的前4个单元的内容送入40H~43中;PSENPSENCEWRP2.7P2.6P2.5P2.4P2.0│8031D0-D7OED0-D7OE2764CEA8-A12A0-A7OE74LS373Q0Q7D0D7││GALEP0.7P0.0│8888855588+5VWR2#6264CSCEA8-A12A0-A7+5VWRCSA8-A12A0-A7OEOE1#6264RD58●●●●●●●●●解:(1)。外扩程序存储器的容量是8K,外扩数据存储器的容量是16K(2)。2764范围:C000H~DFFFH1#范围:A000H~BFFFH2#范围:6000H~7FFFH(3).请编写程序(A)MOVR1,#10HMOVDPTR,@0A000HMOVR0,#30HLOOP:MOVA,@RoMOVX@DPTR,AINCDPTRINCR0DINER1,LOOPRET(B)MOVR1,#04HMOVDPTR,#6000HMOVR0,#40HLOOP:MOVXA,@DPTRMOV@R0,AINCDPTRINCR0DTNZR1,LOOPRET5.简述一种多外部中断源系统的设计措施。(给出图和程序)解:原理电路如图所示程序如下:INT:PUSHPSWPUSHAJNBP1.0,IR0;扫描中断祈求JNBP1。1,IR1JNBP1。2,IR2JNBP1。3,IR3INTIR:POPA;返回POPPSWIR0:中断服务子程序:中断服务AJMPINTIRIR1:中断服务子程序AJMPINTIRIR2:中断服务子程序AJMPINTIRIR3:中断服务子程序AJMPINTIP6。结合原理图,简述行列式扫描键盘的工作原理。答:扫描键盘工作原理首先X0~X3,一直接高电平,Y0~Y3给低电平,扫描P1。0~P1。3若全为高电平,则没有键按下,若有低电平,则有键按下。接着Y0输出低电平,Y1~Y3输出高平,扫描P1.0~P1。3,若全为高电平,则没有键按下,若有低电平,则找出相位,得到所按的键.再Y1输出低电平,Y0,Y2,Y3输出高电平,反复第2环节作.再Y2输出低电平,Y0,Y1,Y3输出高电平扫描再Y3输出低电平,Y0,Y1,Y2输出高电平扫描根据据以上扫描,确定以上各键与否按下。7。MCS-51单片机外扩展一片8255,画出系统电路原理图,写出地址分布。8255A可以直接与MCS-51单片机进行接口,其连接图如图所示。8255A的A0、A1分别接地址总线的A0、A1,片选端接P2.7口,因此8255APA口地址为7FFCH、PB口地址为7FFDH、PC口地址为7FFEH、控制口地址为7FFFH。8.编写交通灯控制程序。在十字路口东西南北各设置红、黄、绿三种信号灯,东西方向(A线)通车时,东西方

温馨提示

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

评论

0/150

提交评论