单片机习题答案_第1页
单片机习题答案_第2页
单片机习题答案_第3页
单片机习题答案_第4页
单片机习题答案_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、单片机原理与应用作业第二章:第1、3、5、8、9、10、11题1MCS-51系列单片机内部有哪些主要的逻辑部件 P10答:程序存储器、数据存储器、中断系统、定时器/计数器、串行口、4个并行IO、特殊功能寄存器、CPU。3MCS-51内部RAM区功能如何分配?如何选用4组工作寄存器中的一组作为当前的工作寄存器组?位寻址区域的字节地址范围是多少? P14答:MCS-51内部RAM分三个区域,00H1FH为寄存器工作区、20H2FH为位寻址区、30H7FH为用户区。通过PSW中的RS1、RS0来设置当前工作寄存器组。当RS1 RS0=00时,选择寄存器1组,地址为00H07H;当RS1 RS0=01

2、时,选择寄存器2组,地址为08H0FH,当RS1 RS0=10时,选择寄存器2组,地址为10H17H,当RS1 RS0=11时,选择寄存器3组,地址为18H1FH。位寻址区域的字节地址范围为20H2FH。58031设有4个8位并行端口,若实际应用8位I/O,应使用P0P3中哪个端口传送?16位地址如何形成?答:若实际应用8位I/O,应使用P1口传送。16位地址的低8位地址由P0端口给出,高8位地址由P2端口给出。(8031没有内部程序存储区,只能外接 P3有第二功能)8MCS-51的时钟周期、机器周期、指令周期是如何分配的?当振荡频率为10MHz时,一个机器周期为多少微秒? P25答: 指令周

3、期:CPU执行一条指令的时间称为指令周期。机器周期:MCS-51典型的指令周期为一个机器周期。时钟周期:即为振荡周期。每个机器周期由6个状态周期组成,每个状态周期由2个振荡周期组成,即一个机器周期由12个振荡周期组成。若MCS-51振荡频率为12MHz,则每一个指令周期(机器周期)为1us。当振荡频率为10MHz时,一个机器周期为9在MCS-51扩展系统中,片外程序存储器和片外数据存储器地址一样时,为什么不会发生冲突?答:因为MCS-51系列单片机的存储器组织采用的是哈佛结构,即将程序存储器和数据存储器分开,程序存储器和数据存储器具有各自独立的寻址方式、寻址空间和控制信号。访问时用的指令也不一

4、样。对外部程序存储器,使用MOVC指令;对外部数据存储器,使用MOVX指令。10MCS-51的P3口具有哪些第二种功能? P19答:P3口的第二功能定义端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(定时器0外部中断)P3.5T1(定时器1外部中断)P3.6WR(外部数据存储器写信号)P3.7RD(外部数据存储器读信号)11位地址7CH与字节地址7CH有什么区别?位地址7CH具体在内存中什么位置?答:字节地址7CH是内部RAM的实际地址,其存储空间为一个字节,处于用户区,只能按字节寻址。位地址7C

5、H不是内部RAM的实际地址,其存储实间为一个二进制位,要通过位寻址才能找到。位地址7CH位于内部RAM的位寻址区20H2FH范围内,具体为字节地址2FH从低位算起的第5位位地址。(7CH 124 20H-2FH 128)第三章:第2、3、7、8、9、10题2什么是寻址方式?MCS-51单片机有哪几种寻址方式? P36答:寻址方式是指令中确定操作数的形式。单片机寻址方式有:立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、基址寄存器+变址寄存器的间接寻址、相对寻址和位寻址。3指出下列指令中画线的操作数的寻址方式。MOV R0,#55H答:立即寻址MOV A,2AH答:直接寻址MOV A,R1答;寄

6、存器间接寻址MOV R0,A答:寄存器寻址DIV A,B答:寄存器寻址ADD A,R7答:寄存器寻址MOVX A,DPTR答:寄存器间接寻址MOV DPTR,#0123H答:立即寻址MOVC A,A+DPTR答:基址寄存器+变址寄存器间接寻址INC DPTR答:寄存器寻址7为什么要进行十进制调整?调整方法是什么?答:因为在单片机,表示09之间的十进制数是用4位二进制数表示的,即BCD码。而在运算过程中,是按二进制规则进行的,即每位相加大于16时进位,十进制数是大于10时进位。因此BCD码运算时,结果大于9时得到的结果不是正确的,必须进行调整。调整方法是在加法指令后用指令DA A进行调整。(注意

7、,减法指令不可以使用DA进行调整)8编程实现两个一字节压缩型BCD码的减法。设被减数地址在R0中,减数地址在R1中,差仍存于被减数地址单元中。 (BCD码减法不考)答:CLR C MOV A, #9AH SUBB A,R1 ADD A,R0 DA A MOV R0,A也可以在开头改为:SETB CMOV A,#99H9把片外数据存储器8000H单元中的数据读到累加器中,应用哪几条指令?答:MOV DPTR,#8000H MOVX A,DPTR外部数据存储器(R0、R1、DPTR)10已知内部RAM中,(A)=35H,(R0)=6FH,(P1)=0FCH,(SP)=0C0H答:(1)MOV R0

8、,A答:(R0)=35H(2)MOV R0,A答:(6FH)=35H(3)MOV A,#90H答:(A)=90H(4)MOV A,90H答:(A)=(P1)=0FCH /P1的物理地址是90H P15(5)MOV 80H,#81H答:(80H)=81H(6)MOVX R0,A答:(6FH)=35H(7)PUSH A答:(SP)=0C1H, (0C1H)=35H(8)SWAP A答:(A)=53H(9)XCH A,R0答:(A)=6FH,(R0)=35H第四章:第2、3、6、11、12题2在汇编语言程序设计中,为什么要采用标号来表示地址?标号的构成原则是什么?使用标号有什么限制?注释段起什么作用

9、? P69答:标号位于语句的开始,代表语句的地址,采用标号便于在编写程序时,实现跳转、循环等程序控制转移。标号由以字母开头的字母和数字组成。标号与指令间要用冒号“:”分开,标号与“:”之间不能有空格,“:”与操作码之间可以有空格。注释段放在语句的最后,以“;”开始,为不可执行部分,对程序进行解释说明。3MCS-51汇编语言有哪几条常用伪指令?各起什么作用?答:(1)设置起始地址伪指令ORG格式:ORG起始地址作用:ORG伪指令总是出现在每段源程序或数据块的开始,可以使程序、子程序或数据块存放在存储器的任何位置。若在源程序开始处不放ORG指令,则汇编将从0000H单元开始编排程序。(2)定义字节

10、伪指令DB格式:标号:DB项或项表作用:从指定地址(标号)开始,定义字节数据,把项或项表的数值存入从标号开始的连续单元中。(3)定义字伪指令DW格式:标号:DW项或项表作用:从指定地址(标号)开始,定义16位数据,常用于建立地址表,16位数据的高8位存低地址,低8位存高地址。(4)预留存储区伪指令DS格式:标号:DS表达式作用:由标号指定的单元开始,定义一个存储区,以给程序使用。存储区内预留的存储单元数由表达式的值决定。(5)为标号赋值伪指令EQU格式:标号:EQU 数或汇编符号作用:将操作数中的地址或数据赋给标号字段的标号,又称为等值指令。(6)数据地址赋值伪指令DATA格式:标号:DATA

11、 数或表达式作用:可以把数据或可求值的表达式赋给字符名,常在程序中定义数据地址。(7)位地址符号伪指令BIT格式:字符名 BIT 位地址作用:把位地址赋给字符名称。(8)源程序结束伪指令END格式:标号:END表达式作用:END命令通知汇编程序结束汇编。在END之后,所有的汇编语言指令均不作处理。6外部RAM中从1000H到10FFH有一个数据区,现在将它传送到外部RAM中2500H单元开始的区域中,编写有关程序。答:第一种方法:START: MOV R0,#00HMOVDPTR,#1000HLOOP:MOVX A,DPTRMOVDPH,#25HMOVX DPTR,AMOVDPH ,#10HI

12、NC DPTR/INC R0DJNZR0, LOOPSJMP $第二种方法:START: MOV R7, #00H MOV R1, #10H MOV R2, #00H MOV R3, #25H MOV R4, #00HLOOP: MOV DPH, R1 MOV DPL, R2 MOVX A, DPTR INC DPTR MOV R1, DPHMOV R2, DPLMOV DPH, R3 MOV DPL, R4MOVX DPTR, AINC DPTRMOV R3, DPHMOV R4, DPLDJNZ R7, LOOPSJMP $第三种方法: MOV P2, #25H MOV R0, #00H

13、MOV R3, #00H MOV DPTR, #1000H LOOP: MOVX A, DPTR MOVX R0, A INC DPTR INC R0 DJNZ R3, LOOP SJMP $11设系统晶体振荡频率为12MHz,请编写延时50ms的延时子程序。答:1个机器周期为1us,一条DJNZ耗时2us。所以50ms=2us250100,程序如下:DELAY:MOVR4, #100DELAY1:MOVR3,#250DELAY2:DJNZR3,DELAY2 DJNZR4,DELAY1 RET12分析下列程序中各条指令的作用,并说明运行后相应寄存器和内存单元的结果。MOV A, #34H ;将

14、立即数34H送到累加器A,(A)=34HMOV B, #0ABH ;将立即数0ABH送到寄存器B,(B)=0ABHMOV 34H, #78H ;将立即数78H送到内部RAM中的34H单元中,(34H)=78HXCH A, R0 ;寄存器R0与累加器A交换数值,(R0)=34HXCH A, R0 ;寄存器R0的值所表示的地址中的数值与累加器A的数值交换,(A)=(34H)=78HXCH A, B ;寄存器B与累加器A交换数值,(A)=0ABH,(B)=78HSJMP $第五章:第2、6、9题28051单片机的定时器/计数器有哪几种工作方式?各有什么特点? P105答:8051单片机的定时器/计数

15、器有4种工作方式,分别是:(1)工作方式0:M1M0=00,为13位定时器/计数器,其计数器由THi的全8位和TLi的低5位构成,TLi的高3位未用。当TLi的低5位计满时,向THi进位,THi溢出后对中断标志位TFi置“1”,并申请中断。Ti是否溢出可用软件查询TFi是否为“1”。计数值范围为18192,如需再次定时或计数,需要用指令重置时间常数。(2)工作方式1:M1M0=01,与工作方式0基本相同,不同之处在于其为16位定时器/计数器,计数值范围为165536。如需再次定时或计数,需要用指令重置时间常数。(3)工作方式2:M1M0=10,为可重装初值的8位定时器/计数器。把16位的计数器

16、拆成两个8位计数器,TLi用作8位计数器,THi用来保存初值。每当TLi计满溢出时,可自动将THi的初值再装入TLi,继续计数,循环重复。其计数范围为1256。(4)工作方式3:M1M0=11,T0分成两个独立的8位计数器,其中TL0既可以作计数器使用,又可以作定时器使用。而TH0只能作8位定时器使用,并占用了T1的控制启动位TR1和溢出标志位TF1。T1只能工作在方式0、方式1或方式2,只能用在不需中断控制的场合。6、编程实现一个利用定时器T1产生一个50HZ(20000us)的方波,由p1.3输出,设晶体振荡器频率为12MHz。解:START: MOV TMOD, #10H; /工作方式1

17、 MOV TH0, #D8 MOV TL0, #F0 SETB TR0LOOP: JNB TF0, LOOP CPL P1.3 CLR TF0 CLR TR0 AJMP START9设晶体振荡器频率为6MHz。编程实现,使用定时器T0工作在方式2、定时,在P14输出周期为100us,占空比为4:1的矩形脉冲。答:因为晶体振荡器频率为6MHz,所以1个机器周期为2 us。因为占空比为4:1,所以将矩形脉冲分为5分,前4份P14输出高电平,第5份输出低电平。则计数初值满足:,解得计数初值为246=0F6H,所以TH0=TL0=0F6H。TMOD设置:=02H,定时器0,定时,方式2。所以程序如下:

18、206=0CEH,216=0D8H,246=0F6H,第一种方法: ORG 2000HSTART: MOV TMOD,#02H MOV TL0,0F6H MOV TH0,0F6H SETB P1.4 SETB TR0LOOP: MOV R0, #4WAIT1: JNB TF0, WAIT1 CLR TF0 DJNZ R0, WAIT1 CPL P1.4WAIT2: JNB TF0, WAIT2 CLR TF0 CPL P1.4 SJMP LOOP第二种方法: MOV TMOD, #02H LOOP: SETB P1.4 MOV TL0, #216 MOV TH0, #216 SETB TR0

19、WAIT1: JNB TF0, WAIT1 CLR TF0 CPL P1.4 MOV TL0, #246 MOV TH0, #246 WAIT2: JNB TF0, WAIT2 CLR TF0 AJMP LOOP第三种方法: MOV TMOD, #02H MOV TH0, #206 MOV TL0, #206 SETB TR0 SETB P1.4 WAIT1: CJNE TL0, #246, WAIT1 CLR P1.4 WAIT2: JNB TF0, WAIT2 SETB P1.4 LJMP WAIT1 第六章:第2、3、7题2MCS-51单片机的串行口共有哪几种工作方式?各有什么特点和功能

20、?答:MCS-51单片机的串行口共有4种工作方式,其特点和功能为:(1)工作方式0:SM1SM0=00,为同步移位寄存器。特点为:移位数据的发送和接收以8位为一帧,不设起始位和停止位,低位在前高位在后,波特率是固定的,为,即一个机器周期移位一次。(2)工作方式1:SM1SM0=01,为8位UART。特点为:一帧信息为10位,其中1位起始位“0”,8位数据位(低位在前)和1位停止位“1”,其波特率可变,为。(3)工作方式2:SM1SM0=10,为9位UART。特点为:一帧信息为11位,1位起始位“0”,8位数据位(低位在先),1位可编程为“1”或“0”的第9位数据,1位停止位“1”。波特率为。(

21、4)工作方式3:SM1SM0=11,为9位UART。特点为:一帧信息为11位,1位起始位“0”,8位数据位(低位在先),1位可编程为“1”或“0”的第9位数据,1位停止位“1”。波特率为。3MCS-51的单片机4种工作方式的波特率应如何确定?答:(1) 方式0:波特率为(2) 方式1:波特率为,定时器T1通常采用方式2,即8位自动重装方式,所以波特率为(3) 方式2:波特率为,若SMOD=1,波特率为,若SMOD=0,波特率为。(4) 方式3:波特率为,定时器T1通常采用方式2,即8位自动重装方式,所以波特率为7请用查询法编写程序实现串行口工作方式1下的发送程序。设单片机主频为11.0592M

22、Hz,波特率为1200bps、发送数据缓冲区在外部RAM,起始址为1000H,数据块长度为30B,采用偶校验(其他条件自设)。答:设数据为ASCII码形式,最高位作为奇偶校验位,T1作为波特率发生器,工作于方式2。设SMOD=0已知串行口工作在方式1,波特率为1200bps,通过查表得T1的时间常数为0E8H。程序如下:ORG 1000HSTART: MOV TMOD, #20H /定时器1 工作方式2 MOV TL1, #0E8H MOV TH1, #0E8H SETB TR1 /定时器1 工作方式2 启动计时 MOV PCON, #00H /最高位SMOD=0 波特率不变 MOV SCON

23、, #40H /工作方式1 MOV DPTR, #1000H MOV R2, #30 / 计数值30 数据块长度LOOP: MOV A, DPTR MOV C, P /送奇偶标志 MOV ACC.7, C /送ASCII码最高位MOV SBUF, A /发送字符WAIT: JNB TI, WAIT /等待TI置1 ,发送完毕 CLR TI /发送完毕 TI清零 INC DPTR DJNZ R2, LOOP AJMP START第7章:第1、2、8题1MCS-51有几个中断源?有几级中断优先级?各中断标志是怎样产生的,以是如何清除的?答:MCS-51有5个中断源,包括2个外部中断、,3个内部中断

24、T0、T1和串行发送/接收中断。MCS-51有2个中断优先级,为高优先级和低优先级,由用户通过设定IP定义。的中断标志为IE0,中断允许/禁止位为EX0,优先级定义位为PX0的中断标志为IE1,中断允许/禁止位为EX1,优先级定义位为PX1T0的中断标志为TF0,中断允许/禁止位为ET0,优先级定义位为PT0T1的中断标志为TF1,中断允许/禁止位为ET1,优先级定义位为PT1串行发送/接收中断的中断标志为TI/RI,中断允许/禁止位为ES,优先级定义位为PS各中断标志的产生与清除方法如下:IE0(IE1):外部中断请求标志位,当CPU采样到或端出现有效有断请求时,此位由硬件置1。在中断响应完

25、成后转向中断服务程序时,对采用边沿触发方式的外部中断请求,由内部硬件自动清零。TF0(TF1):计数溢出中断标志位。当定时器/计数器回零溢出时,此位由内部硬件置位。当中断响应后,由硬件自动清零。TI/RI:串行发送/接收中断标志位。当完成串口发送或接收一帧数据时,由硬件置位,在中断响应后,由软件清零。2什么是中断优先级?中断优先处理的原则是什么?答:中断优先级:一个CPU通常可以和多个中断源相连,故总会发生在同一时间有两个或两个以上的同优先级中断源同时请求中断的情况,这就要求CPU能按轻重缓急给每个中断源的中断请求赋予一个中断自然优先级。这样,当多个同级中断源同时向CPU请求中断时,CPU就可以通过中断自然优先级排队电路率先响应中断优先级高的中断请求而把中断自然优先级低的中断请求暂时搁置起来,等处

温馨提示

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

评论

0/150

提交评论