单片机原理及应用作业参考答案

来源:网络收集 时间:2025-06-12 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

单片机原理及应用作业参考答案

1.2 单片机的结构特点表现在哪些主要方面? 答:(1)在存储器结构上,严格将程序存储器和数据存储器在空间上分开,并使用不同的寻址方式,使用两个不同的地址指针;

(2)在内部有一个全双工的串行接口; (3)有一个独立进行操作的位处理器。

1.4 通用单片机的供应状态主要取决于什么?供应状态有哪几种?用户选用单片机的供应状态的原则是什么?

答:通用单片机的供应状态主要取决于片内ROM的配置状态。

(1)片内ROM的配置状态

掩膜ROM,适合于低成本。大批量产品的场合 (2)片内EPROM配置状态

可通过高压脉冲写入应用程序到EPROM,适合于开发样机,小批量生产。 (3)片内无ROM配置状态

必须外扩EPROM,价格低,使用灵活,适合于需要外接能在现场进行修改和更新程序存储器的应用场合。

2.3 单片机的EA端有何功用?8031的EA端应如何处理,为什么?

答:EA端是访问外部程序存储器的控制信号:当EA无效时,访问内部ROM,当EA为有效时,访问外部ROM。由于8031没有内部ROM,所以EA端必须接低电平。

2.4 MCS-51引脚中有多少I/O线?它们与单片机对外的地址总线、数据总线和控制总线有什么关系?地址总线和数据总线各是几位?

答:MCS-51引脚中有32根I/O线,一般由P0口提供单片机对外的数据总线,同时作为分时复用的地址总线的低8位,由P2口作为地址总线的高8位,控制总线由第二功能的状态下的P3口以及RST、EA、ALE和PSEN提供。

2.5 8051单片机的内部数据存储器可以分为哪几个不同的区域?各有什么特点?

答:数据存储器主要分为两个区域:00H~7FH是真正的RAM区,80H~FFH专门用作特殊功能寄存器的区域。其中00H~7FH可分为三个区域:00H~1FH为四组工作寄存器;20H~2FH为128位位寻址区,30H~7FH为一般RAM区。

2.6 单片机对外有几条专用控制线?其功能是怎样的? 答:单片机对外的专用控制线有4条,分别是:

(1)PSEN: 外部取指操作,在访问外部ROM时,PSEN信号自动产生;

(2)ALE/PROG:ALE为地址锁存允许信号,在访问外部ROM或RAM时,用来锁存P0口的低8位地址。第二功能PROG是对8751的EPROM编程时,编程脉冲输入。

1

(3)EA/VPP:EA是访问外部程序存储器的控制信号,EA无效时,访问内部ROM,EA有效时,访问外部ROM,第二功能VPP为对8751EPROM的21V编程电源输入。

(4)RST/VPD:RST是复位信号输入端,第二功能VPD是备用电源输入端。 2.8 有哪几种方法使单片机复位?复位后各寄存器、RAM中的状态如何?

答:单片机的复位方式有两种,上电自动复位和按钮复位。复位后各寄存器状态为: PC 0000H ACC 00H PSW 00H SP 07H DPTR 0000H P0~P3FFH IP XX000000B IE 0X000000B TMOD 00H TCON 00H TL0 00H TH0 00H TL1 00H TH1 00H SCON 00H SBUF XXH PCON 0XXX0000B

2.9 在8051扩展系统中,片外程序存储器和片外数据存储器使用相同的地址编址,是否会在数据总线上出现争总线的现象?为什么?

答:不会发生争总线的现象,因为从外部ROM取指令需要用ALE和PSEN信号控制读取操作,由P2和P0提供地址;而片外数据存储器的读写除了地址之外还要RD、WR控制,所以不会争总线。 2.10 如果8051端口P0~P3作为通用I/O口使用,则在输入引脚数据时应注意什么?

答:8051的P1、P2和作为一般输入I/O口的P以及第一功能的P3口均为准双向口,在输入数据时应先向端口写1,然后方可作为高阻输入。以使其场效应管T2截止,才不会影响输入电平。

3.2 若要完成以下的数据传送,应如何用MCS-51的指令实现? (1)R1的内容传送到R0 (5)ROM2000H单元的内容传送到R0 MOV A,R1 MOV DPTR,#2000H MOV R0,A CLR A

MOVC A,@A+DPTR (2)外部RAM20H单元的内容传送到R0

MOV R0,#20H MOV R0,A MOVX A,@R0 (6)ROM2000H单元的内容传送到内部RAM20H单元 MOV R0,A MOV DPTR,#2000H

CLR A (3)外部RAM20H单元的内容传送到内

MOVC A,@A+DPTR 部RAM20H单元

MOV R0,#20H MOV 20H,A MOVX A,@R0 (7)ROM2000H单元的内容传送到外部RAM20H单元 MOV 20H,A MOV DPTR,#2000H

CLR A (4)外部RAM1000H单元内容传送到内

MOVC A,@A+DPTR 部RAM20H单元

MOV DPTR,#1000H MOV R0,#20H MOVX A,@DPTR MOVX @R0,A MOV 20H,A

3.3 间接转移指令JMP @A+DPTR有何优点?为什么它能代替众多的判跳指令?试举例说明。

答:该间接转移指令的转移地址由A的内容和数据指针DPTR的内容之和决定,且两者都是无符号数,由DPTR决定多分支转移程序的首地址,由A的不同值实现多分支转移。因为可以根据A的内容进行分支转移,所以可以替代众多判跳指令。

如:根据A的内容调用相应的程序,如A为0调用OP0,A为1调用OP1,这里A的值小于128。 MOV DPTR,#OPTAB

2

RL JMP

A

@A+DPTR …

OPTAB: ACALL OP0 ACALL OP1 ACALL OP2 …

3.4 设内部RAM的30H单元的内容为40H,即(30H)=40H,还知(40H)=10H,(10H)=00H,端口P1=0CAH。问执行以下指令后,各有关存储器单元、寄存器以及端口的内容(即R0、R1、A、B、P1以及40H、30H、10H单元的内容)。

MOV R0,#30H ;(R0)=30H MOV A,@R0 ;(A)=(30H)=40H MOV R1,A ;(R1)=40H MOV B,@R1 ;(B)=(40H)=10H MOV @R1,P1 ;(40H)=0CAH MOV P2,P1 ;(P2)=0CAH MOV 10H,#20H ;(10H)=20H MOV 30H,10H ;(30H)=20H

3.5 已知8751单片机的P1口为输出,经驱动电路接有8只发光二极管。当输出位是1时,发光二极管点亮;输出位是0时发光二极管熄灭。试分析下述程序的执行过程及发光二极管的发光情况。 LP: MOV P1,#81H ;1000 0001B LCALL DELAY LCALL DELAY MOV P1,#24H ;0010 0100B MOV P1,#42H ;0100 0010B LCALL DELAY LCALL DELAY MOV P1,#42H ;0100 0010B MOV P1,#24H ;0010 0100B LCALL DELAY

LCALL DELAY SJMP LP

MOV P1,#18H ;0001 1000B

答:程序执行MOV P1,#DATA后,根据DATA的每位的值点亮相应的LED,调用延时程序使点亮的LED保持一段时间。LED发光的情况为:每次同时点亮两个LED并从两边向中间移动,然后再向两边移动,并一直循环。

3.6 在上题中,若系统的晶体振荡器频率为6MHz,求子程序DELAY的延时时间。

DELAY: MOV R2,#0FAH ;①2μS L1: MOV R3,#0FAH ;②2μS L2: DJNZ R3,L2 ;③4μS DJNZ R2,L1 ;④4μS RET ;⑤4μS 0FAH=250D

其中③执行250次,执行时间为250×4μS

其中②③④循环250次,该循环执行时间为(2+250×4+4)×250μS

加上①和⑤的执行时间,DELAY的延时时间为2+(2+250×4+4)×250+4=251.506ms 延时程序的设计: 首先设计内循环: MOV R3,#data1 ;2μs NOP ;2μs DJNZ R3,$ ;4μs×data1 延时时间t1=2+2+4×data1=4×(data1+1)=1000μs=1ms,则data1=249

3

若需要大于1ms时间,则先增加一层循环 MOV R2,#data2 ;2μs L1: MOV R3,#data1 ;2μs NOP ;2μs DJNZ R3,$ ;4μs×data1 DJNZ R2,L2 ;(4μs+t1)×data2

延时时间为:2+(4μs+t1)×data2=2+[4μs+4×(data1+1)]×data2= =2+4×(data1+2)×data2=250ms,这里将data1修正为248, 得

2+4×(248+2)×data2=2+1000×data2=250ms则data2=250

3.7 根据图3-3线路,试设计灯亮移位程序,使8只发光二极管每次亮一个,循环右移或左移,一个一个地亮,循环不止。

MOV A,#80H

DIS: MOV P1,A

ACALL DELAY RR A AJMP DIS

3.8 设逻辑运算表达式为:

Y?A?(B?C)?D?(E?F)

其中变量A,B,C分别为P1.0、P1.4、定时器1溢出标志TF1,D,E,F分别为22H.0、22H.3、外中断方式标志IE1;输出变量为P1.5。试编写实现上述逻辑功能的程序段。

MOV C,P1.4

ORL C,/TF1 ;(B?C) ANL C,P1.0 MOV F0,A MOV C,22H.3

ORL C,/IE1

;A?(B?C)

;用户自定义标志位,暂存数据 ;(E?F)

ANL C,22H.0 ;D?(E?F) CPL C ;D?(E?F)

ORL C,/F0 ;A?(B?C)?D?(E?F) MOV P1.5,C

4.1 试设计数据块传送程序,将起始地址为0400H的100个连续单元中的内容送到以4000H为首址的区域中去

解:分析:地址为16位,且进行数据传送,所以连续单元应为外部的存储器,只能使用外部数据传送指令,由于源和目的地址都为16位,所以要保存DPTR的值,但源低8位和目的低8位相同,可以用一个寄存器保存。

MOV R0,#00 NEXT: MOV DPH,#04H

MOV DPL,R0 MOVX A,@DPTR MOV DPH,#40H MOVX @DPTR,A INC R0

CJNE R0,#100,NEXT

4.2 试编写程序,计算片内RAM区40H~47H8个单元中数的算术平均值,结果存放在4AH中。

解:分析:8个数总和最大值为FFH×8=7F8H,所以求和时必须用两字节加法,设R7保存和高8位,R6保存低8位,求和后再除以8即得算术平均值,这里需使用16/8除法,但因为除数为23,所以可以直

4

接通过算术右移3位实现除以8,前提存储的数据为无符号数。

MOV R0,#40H

MOV R6,#00H ;和低字节清零 MOV R7,#00H ;和高字节清零 NEXT : MOV A,@R0 ;取出一个字节 INC R0 ;地址指针下移 ADD A,R6 ;低字节求和 MOV R6,A ;保存和的低字节 CLR A ADDC A,R7 ;如果低字节求和有进位,则加至高字节 MOV R7,A ;保存和的高字节 CJNE R0,#48H,NEXT MOV R1,#03H ;循环移位3次,实现除以8 DIV8: CLR C MOV A,R7 RRC A ;高字节先移位,将D0移至C MOV R7,A MOV A,R6 RRC A ;将C移入低字节的D7,从而实现16位数据的移位 MOV R6,A DJNZ R3,DIV8

16位除以8位除法子程序:

被除数R6R5,除数R4,商R3R2,余数R1 DIV168: JC NEXT MOV R3,#00H MOV A,R2 MOV R1,#00H ADD A,#01H NEXT2: MOV R2,A CLR C JNC NEXT2 MOV A,R5 INC R3 SUBB A,R4 AJMP NEXT2 MOV R5,A NEXT: MOV A,R5 MOV A,R6 ADD A,R4 SUBB A,#00H MOV R1,A MOV R6,A RET

4.3 设有两个长度为15的数组,分别存放在0200H和0500H为首地址的存储区域中,试编写程序求其对应项之和,结果存放在以0300H为首地址的存储区域中。

解:分析:0200H和0500H都是片外地址,必须利用MOVX指令获取数据,这将导致DPTR使用不方便,解决办法:

(1)0200H,0500H和0300H低字节地址相同,可以共用DPL,DPH单独处理; (2)可以考虑先将两个存储区的数据先转移到内部RAM中,然后再进行运算。

这里只是求对应项之和,并不是多位数求和,两数相加,可能产生进位,这里应该只考虑没有进位的情况。

这里采用第一种方法

5

百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库单片机原理及应用作业参考答案在线全文阅读。

单片机原理及应用作业参考答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/wenku/184669.html(转载请注明文章来源)
Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219