单片机课后习题答案最终修改版.docx_第1页
单片机课后习题答案最终修改版.docx_第2页
单片机课后习题答案最终修改版.docx_第3页
单片机课后习题答案最终修改版.docx_第4页
单片机课后习题答案最终修改版.docx_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

第二章1、MCS-51系列单片机内部有哪些主要的逻辑部件?答:MCS-51系列单片机内部主要逻辑部件有:算术/逻辑部件ALU、累加器A(有时也叫ACC)、只读存储器ROM、随即存储器RAM、指令寄存器IR、程序计数器PC、定时器/计数器、I/O接口电路、程序状态寄存器PSW、寄存器组。3、MCS-51内部RAM区功能如何分配?如何选用4组工作寄存器中的一组作为当前的工作寄存器组?位寻址区域的字节地址范围是多少?答:MCS-51单片机内部RAM共128B,地址空间为00H-7FH,按照功能分为用户区、位寻址区和寄存器工作区。00H1FH是32B单元的4个工作寄存器组,单片机执行程序时,具体使用哪一组是通过对PSW的RS1、RS0两位的设置来实现的。可以位寻址的地址范围是20H2FH的16B共128位的内部RAM区,按字节寻址的地址范围是30H7FH共80B的内部RAM区。5、8031设有4个8为并行端口,若实际应用8为I/O口,应使用P0P3中的哪个端口传送?16位地址如何形成?答:(1)P1口是专门供用户使用的I/O口,是准双向接口,故可以使用P1口传送;(2)P0既可以做地址/数据总线使用,又可作通用I/O使用。一方面用来输出外部存储器或I/O的低八位地址,另一方面作为8位数据输入/输出口,故由P0口输出16位地址的低八位。(3)P2口作为通用I/O口使用,与P1口相同。当外接存储器或I/O时,P2口给出地址的高八位,故P2 口输出16位地址的高八位。8、MCS-51的时钟周期、机器周期、指令周期是如何分配的?当震荡频率为10MHz时,一个机器周期为多少微秒?答:CPU执行一条指令的时间称为指令周期,它是以机器周期为单位的。MCS-51典型的指令周期为一个机器周期,每个机器周期由6个状态周期组成,每个状态周期由2个时钟周期(振荡周期)组成。一个机器周期=6*一个状态周期=12*一个时钟周期=12/振荡周期当振荡周期为10MHz时,一个机器周期为12/10MHz=1.2us9、在MCS-51扩展系统中,片外程序存储器和片外数据存储器地址一样时,为什么不发生冲突?答:(1)、程序存储器和数据存储器物理上是独立的,寻址片外程序存储器和片外数据存储器的寻址方式、寻址空间和控制信号不同。(2)、对外部程序存储器访问使用MOVC指令;对外部数据存储器访问使用MOVX指令。11、位地址7CH与字节地址7CH有哪些区别?位地址7CH具体在内存中什么位置?答:位地址7CH与字节地址7CH在RAM中的位置不同,寻址方式也不同。位地址7CH在内部RAM区2FH中,可以位寻址;字节地址7CH在用户区中,只能按字节寻址。第三章2、什么是寻址方式?MCS-51单片机有哪几种寻址方式?答:寻址方式是指令中确定操作数的形式。MCS-51单片机有立即数寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址。3、指出下列指令中画线的操作数的寻址方式?MOV R0,#55H ;立即寻址MOV A,2AH ;直接寻址MOV A,R1 ;寄存器间接寻址MOV R0,A ;寄存器寻址DIV A,B;寄存器寻址ADD A,R7 ;寄存器寻址MOVX A,DPTR;寄存器间接寻址MOV DPTR,#0123H;立即寻址MOVC A,A+DPTR ;基址加变址寻址INC DPTR ;寄存器寻址7、为什么要进行十进制调整?调整方法是什么?答:十进制表示用BCD码规则,相加大于10进位;运算用二进制规则,相加大于16进位。所以要进行十进制调整。调整方法:结果低四位大于9或者标志位AC=1,则低四位加06H调整。高四位大于9或标志位CY=1,则高四位加60H。8、编程实现两个一字节压缩型BCD码的减法。设被减数地址在R0中,减数在R1中,差仍存在于被减数地址单元中。答:CLR CMOV A,#9AHSUBB A,R1ADD A,R0DA AMOV R0,A 9、把片外数据存储器8000H单元中的数据读到累加器中,应使用哪几条指令?答: MOV DPTR,#8000H MOV A ,DPTR10、已知内部RAM中,(A)=35H,(R0)=6FH,(P1)=0FCH,(SP)=0C0H。分别写出下列各条指令的执行结果。(1)MOV R0,A ;(R0)=35H(2)MOV R0,A ;(6FH)=35H(3)MOV A,#90H ;(A)=90H(4)MOV A,90H ;(A)=(90H)(5)MOV 80H,#81H;(80H)=81H(6)MOVX R0,A;(6FH)=35H(7)PUSH A;(0C1)=35H ,(SP)=0C1(8)SWAP A;(A)=53H(9)XCH A,R0 ;(A)=6FH,(R0)=35H 第四章2、在汇编语言程序设计中,为什么要采用标号来表示地址?标号的构成原则是什么?使用标号有什么限制?注释段起什么作用?答:采用标号便于在编写程序时实现跳转、循环等程序控制转移。标号位于语句的开始,由以字母开头的字母和数字组成,它代表该语句的地址,标号与指令见要用“:”分开,标号与“:”间不能有空格,“:”与操作码之间可以有空格。注释在语句的最后,以“;”号开始,是说明性文字,与语句的具体功能无关。3、MCS-51汇编语言有哪几条常用的伪指令?各起什么作用?答:(1)汇编起始地址命令:ORG格式: ORG 地址功能:规定程序的起始地址,可以使程序、子程序和数据块存放在存储器的任何位置,省略时起始地址从0000H开始。(2)源程序结束伪指令:END格式: END 功能:源程序汇编终止。在END之后,所有的汇编语言均不作处理。如果没有这条执行,汇编程序通常会给出“警告”指示。(3)赋值伪指令:EQU格式: EQU 表达式功能:将表达式的值赋给字符名称。表达式可以是常数、地址、标号和表达式。赋值之后的字符名称可以在程序中使用。(4)定义数据命令:DB、DW格式: DB/DW 字节/字数据项或项表功能:从指定地址(即标号)开始,在程序存储器中定义字节或字数据。(5)预留存储区伪指令:DS格式: DS 表达式功能:从指定地址(即标号)开始,保留指定数目(表达式的值)的字节单元作为存储区,供程序运行使用(用于程序存储器)。(6)位定义命令:BIT格式:字符名称 BIT 位地址功能:将位地址赋给字符名称。位地址为绝对地址或符号地址。6、外部RAM中从1000H到10FFH有一个数据区,现在将它传送到外部RAM中2500H单元开始的区域中,编写有关程序。答: START:MOV R1,#00H ;R1为计数器 MOV DPTR,#1000H ;设以1000H开始的首地址 LOOP:MOVX A,DPTR ;取外部RAM数 MOV DPH,#25H ;设2500H地址 MOVX DPTR,A ;将外部RAM数存到2500为首的地址中 MOV DPH,#10H ;重设以1000H为首地址的数据区 INC DPTR ;调整指针,指向下一个数据 DJNZ R1 ,LOOP ;计数器循环 SJMP $ ;暂停11、设系统晶体振荡频率为12MHz,请编写延时50ms的延时子程序。答:由题意知,一个机器周期为1s,50ms=2s*250*100,采用双重循环编程如下所示:DL50MS:MOV R4,#100DELAY1: MOV R3,#250DELAY2:DJNZ R3,DELAY2 DJNZ R4,DELAY1 RET12、分析下列程序中各条指令的作用,并说明运行后相应寄存器和内存单元的结果。答:MOV A,#34H ;(A)=34HMOV B,#0ABH ;(B)=0ABHMOV 34H,#78H ;(34H)=78HXCH A,R0 ;(A),(R0)互换XCH A,R0 ;(A),(R0)互换XCH A,B ;(A),(B)互换SJMP $ ;暂停第五章2、8051单片机的定时器/计数器有哪几种工作方式?各有什么特点?答:8051单片机的定时器/计数器有4种工作方式,分别是:工作方式0:M1M0=00,为13位定位器/计数器,其计数器由THi的全8位和TLi的低5位构成,TLi的高3位未用。当TLi的低5位计满时,向THi进位,THi溢出后对中断标志位TFi置“1”,并申请中断。Ti是否溢出可用软件查询TFi是否为“1”。计数器范围为1-8192,如需再次定时或计数,需要用指令重置时间常数。工作方式1:M1M2=01,与工作方式0基本相同,不同之处在于其为16位定时器/计数器,计数值范围为1-65536,如需再次定时或计数,需要用指令重置时间常数。工作方式2:M1M0=10,为可重装初值的8位定时器/计数器。把16位的计数器拆成两个8位计数器,TLi用作8位计数器,THi用来保存初值。每当TLi计满溢出时,可自动将THi的初值再装入TLi,继续计数,循环重复。其计数范围为1-256。这种工作方式可省去用户软件中重装初值的程序,并可产生相当精度的定时时间,特别适合于产生周期性脉冲及作为串行口波特率发生器,缺点是计数长度太小。工作方式3:M1M0=11,该工作方式只适用于T0。T0在该工作方式被分成两个相互独立的8位计数器,其中TL0既可以作计数器使用,又可以作定时器使用。而TH0只能作8位定时使用,并占用了T1的控制启动位TR1和溢出标志位TF1。T1只能工作在方式0、方式1或方式2,只能用在不需中断控制的场合。工作方式3是为了在使用串行口时,需要两个独立的计数器而特别提供的。因为此时把定时器1规定用作串行通信的波特率发生器,并设定为工作方式2,使用时只要将计数器初值送到计数器寄存器即开始工作,启动后不需要软件干预,也不使用溢出标志。9、设晶体振荡器频率为6MHz。编程实现:使用定时器工作在方式2、定时,在P1.4输出周期为100us,占空比为4:1的矩形脉冲。答:由题意知,欲产生周期为100s,占空比为4:1的矩形脉冲,一个机器周期是2s。(28x)2s20s,x=246=0F6H.即TH0=0F6H。TMOD初始化为02H。用TCON寄存器的TR0位来启动(=1)或停止(=0)定时器。程序设计如下(查询方式)MOV TMOD,#02H ;T0工作在方式2MOV TL0,#0F6HMOV TH0,#0F6H;置定时初值 SETB P1.4SETB TR0 ;启动T0工作LOOP: MOV R0, #4 ;由于是4:1,故计数周期定为4 WAIT1: JNB TF0,WAIT1 ;等待定时器T0溢出标志位 CLR TF0 /软件清零TF0 DJNZ R0,WAIT1 ;判断R0是否等于0,即判断是否循环了四次 CPL P1.4 ;对P1.4取反 WAIT2: JNB TF0,WAIT2 ;等待定时器T0溢出标志位,即判断是否循环一次 CLR TF0 /软件清零TF0 CPL P1.4 /对P1.4再次取反 SJMP LOOP /程序循环运行第六章2、MCS-51单片机的串行口共有哪几种工作方式?各有什么特点和功能?答:MCS-51单片机的串行口共有以下四种工作方式:工作方式0:SM1SM0=00,为同步移位寄存器。当一个数据写入串行口发送缓冲器时,串行口即将8位数据以fosc/12的固定波特率从RXD引脚输出,低位在先,TXD为移位脉冲信号输出端。发送完8位数据后中断标志位T1置“1”。特点是:移位寄存器的发送和接收以8位为一帧,不设起始位和停止位,低位在前高位在后,波特率固定,一个机器周期移位一次。工作方式1:SM1SM0=01,串行口被定义为波特率可变的8位异步通信接口。方式1的波特率=(2smod/32)*定时器T1的溢出率。特点为:一帧信息为10位,其中1位起始位“0”,8位数据位(地位在前)和一位停止位“1”,其波特率可变。工作方式2:SM1SM0=10,串行口被定义为9位异步通信接口。方式2的波特率=(2smod/64) *振荡器频率特点是:一帧信息为11位,1位起始位“0”,8位数据位(低位再前),1位可编程为“1”或“0”的第9位数据,1位停止位“1”。工作方式3:SM1SM0=11,串行口被定义为波特率可变的9位异步通信方式,除了波特率外,方式3和方式2完全相同。方式3的波特率=(2smod/32)*定时器T1的溢出率特点:一帧信息为11位,1位起始位“0”,8位数据位(低位在先),1位可编程为“1”或“0”的第9位数据,1位停止位“1”。3、MCS-51单片机的四种工作方式的波特率是如何确定的?答:方式0的波特率=fosc/12。方式1的波特率=(2smod/32)*定时器T1的溢出率。方式2的波特率=(2smod/64) *振荡器频率方式3的波特率=(2smod/32)*定时器T1的溢出率7、请用查询法编写程序实现串行口工作方式1下的发送程序。设单片机主频为11.0592MHz,波特率为1200bps、发送数据缓冲区在外部RAM,起始地址为1000H,数据块长度为30B,采用偶校验(其他条件自设)。答:1)设数据为ASCII码形式,最高位作为奇偶校验位。2) T1作为波特率发生器,工作于方式2: TMOD=20H。3)设SMOD=0。4)串行口工作在方式1,SCON=40H。5)波特率为1200bps方式1的波特率=(2smod/32)*定时器T1的溢出率,定时器T1的溢出率=fosc/12 /(2k-初值)初值=256-11059200/384/1200=232=0E8H 则T1的时间常数为0E8HORG 1000H START: MOV TMOD, #20H ;T1工作方式2 MOV TL1, #0E8H MOV TH1, #0E8H MOVPCON, #00H ;SMOD=0波特率不倍增SETB TR1 ;启动T1 MOVSCON, #40H ;串行口工作方式1 MOV DPTR, #1000H MOV R2, #30 ;计数值30 LOOP:MOVX A, DPTR MOV C, P ;送奇偶标志MOV ACC.7, C ;MOV SBUF, A ;发送字符WAIT:JNB TI, WAIT CLR TI INC DPTR DJNZ R2, LOOP AJMP START第七章1、MCS-51有几个中断源?有几级中断优先级?各中断标志是怎样产生的?又是如何清除的?答:(1)MCS-51有5个中断源,2个外部中断INT0、INT1,3个内部中断T0、T1、串行口。 (2)2个优先级:高级中断和低级中断,由用户定义中断标志的产生:(1) 外部中断可以设置边沿触发或者电平触发,边沿触发进入中断程序后硬件自动清中断标志,电平触发需要软件清标志位;(2) 定时器T0,T1计数溢出产生中断,进入中断程序硬件自动清标志位;(3) 串行口发送完成或者接收到数据就触发中断,由于是两个中断标志共享一个中断向量,所以需要在中断程序里由软件判断是发送中断还是接受中断,并且只能由软件清标志位;中断请求的清除:(1) 定时中断由硬件自动撤除定时中断响应后,硬件自动把标志位(TFx)清零。(2) 外部中断的自动与强制撤除。若外部中断以脉冲方式触发,则由硬件自动地把标志位(IEx)清零。若以电平方式触发,则需由外部电路和软件配合撤除。(3)串行中断软件撤除CLR TI; CLR RI;2、什么是中断优先级?优先级的处理原则是什么?答: CPU一般与多个中断源相连,因此有多个中断同时发生的可能,为使系统及时响应并处理发生的所有中断,系统根据引起中断事件的重要性和紧迫程序,将中断源分为若干个级别,称作中断优先级;中断优先级的处理原则:1、低优先级中断请求不能打断高优先级的中断服务;但高优先级中断请求可以打断低优先级的中断服务,从而实现中断嵌套。2、如果一个中断请求已被响应,则同级的其他中断响应将被禁止。3、如果同级的多个请求同时出现,则按CPU查询次序确定哪个中断请求被响应。其查询次序为:外部中断0定时中断0外部中断1定时中断1串行中断。8、试编写一段对中断系统初始化的程序,使之允许INT0、INT1、T0和串行口中断,且使串行口中断为高优先级中断。答:允许INT0、INT1、T0和串行口中断中断控制寄存器IE 定义:EA=1(中断使能),ES=1(串行口中断),EX1=1(INT1中断),ET0=1(T0中断),EX0=1(INT0中断)。故IE=97H;串行口中断为高优先级中断优先级寄存器IP定义: PS=1(串行口中断高优先级),故IP=10H;MOV IE #97H MOV IP #10H第八章1、MCS-51单片机扩展片外存储器时,用到哪些控制信号线?说明各控制线的作用?答:单片机控制信号线(1)ALE输出,地址锁存,锁存P0口输出的低8位地址信号(2)PSEN 输出,程序存储器选通允许(3)EA 输入,外部访问,选择片内或片外程序存储器 ,EA=1片内ROM, EA=0片外ROM(4)RD、WR 输出,读/写,用于访问片外数据存储器的读写控制5、MCS-51单片机中,片外程序存储器和片外数据存储器用相同的编址方法,在数据总线上会不会出现竞争总线现象?为什么?答:不会出现,因为在硬件上,控制信号不一样:片外程序存储器工作,要PSEN信号有效;片外数据存储器工作,要RD或WR信号有效;软件上,寻址不一样,片外程序存储器工作,要用MOVC,片外数据存储器工作,要用MOVX。9、利用4K*8b EPROM 2732、2K*8b SRAM 6116、74HC138译码器构成一个具有8KB ROM、16 KB RAM的存储器系统,请给出硬件连接图,并分别指出各芯片的地址范围。答:从题目要求可以看出需要2个4K*8b EPROM 2732,和8个2K*8b SRAM 6116。地址空间: 6116(1)的地址是0000H07FFH 6116(2)的地址是2000H27FFH 6116(3)的地址是4000H47FFH 6116(4)的地址是6000H67FFH 6116(5)的地址是8000H87FFH 6116(6)的地址是A000HA7FFH 6116(7)的地址是C000HC7FFH 6116(8)的地址是E000HE7FFH 2732(1)的地址是1000H1FFFH 2732(2)的地址是3000H3FF

温馨提示

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

评论

0/150

提交评论