ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:1.42MB ,
资源ID:9007871      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9007871.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片微型计算机原理及接口技术 杨光友主编课后习题答案.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片微型计算机原理及接口技术 杨光友主编课后习题答案.docx

1、单片微型计算机原理及接口技术 杨光友主编课后习题答案 习题二2-1 试述8051单片机主要由哪几个部分构成?1. 一个8位微处理器CPU2. 数据存储器RAM和特殊功能寄存器3. 内部程序存储器ROM4. 两个定时/计数器5. 四个8位可编程的I/O并行端口6. 一个串行端口7. 中断控制系统8. 内部时钟电路2-2 MCS-51单片机的片外总线是怎样构成的?试画出其结构示意图。1. 片外总线构成: 1)地址总线AB 2)数据总线DB 3)控制总线CB2. 结构示意图2-3 MCS-51单片机四组并行IO口在使用时各有什么特点?1. P0口特点:1) 作输出口使用时,由于输出驱动为漏极开路式,

2、需外接上拉电阻,阻值一般为510K.2) 作输入口使用时,在输入数据时,应先向端口写入”1”,使引脚 处于悬浮状态,再读入数据.3) 扩展ROM和(或)RAM时,作为地址/数据总线使用(地址A7A0,数据D7D0)2. P1口特点:1) 作输出口使用时,无需外接上拉电阻(内部有上拉电阻)2) 作输入口使用时,在输入数据时,应先向端口写入”1”,使引脚处于悬浮状态,再读入数据.3. P2口特点:1) 作输出口使用时,无需外接上拉电阻(内部有上拉电阻)2) 作输入口使用时,在输入数据时,应先向端口写入”1”,使引脚处于悬浮状态,再读入数据.3) 扩展ROM和(或)RAM时,作为地址/数据总线使用(

3、地址A15A8,数据D15D8)4. P3口特点:1) 作输出口使用时,无需外接上拉电阻(内部有上拉电阻)2) 作输入口使用时,在输入数据时,应先向端口写入”1”,使引脚处于悬浮状态,再读入数据.3) 第二功能如下表 2-4 MCS-51单片机的存储器有几个存储空间?各自的地址范围和容量是多少?使用时各有什么特点?四个存储空间:(不同的单片机有所不同)1. 片内RAM,地址范围:00HFFH,共256个字节1) 00H1FH为通用寄存器区,共分四组(0组 1组 2组 3组,由PSW的RS1 RS0决定,复位时自动选中0组) 每组8个寄存器R0R72) 20H2FH为位寻址区,共128位(16*

4、8)3)30H7FH为通用RAM区,共64个字节4)80HFFH为特殊功能寄存器(SFR)区,共128个字节 并行口 串行口 中断系统 定时/计数器 等功能单元和状态寄存器等共21个单元离散的分布在这个区中,其他空闲单元不能使用2. 片外RAM,地址范围:0000HFFFFH,共64K字节3. 片内ROM(EA=1),地址范围:0000H0FFFH,共4K字节4. 片外ROM(EA=0),地址范围:0000HFFFFH,共64K字节2-5 在单片机内RAM中哪些字节有位地址?哪些字节没有位地址?特殊功能寄存器中安排位地址的作用何在?有位地址的字节:20H2FH 80H 88H 90H 98H

5、A0H A8H B0H B8H D0H E0H F0HSFR安排地址位的作用:可按位访问,方便使用2-6 什么叫振荡周期、时钟周期、机器周期和指令周期?振荡周期-为单片机提供时钟信号的振荡源的周期时钟(状态)周期-振荡源信号经二分频后形成的时钟脉冲信号机器周期-完成一个基本操作所需的时间,由6个时钟(状态)周期组成指令周期-CPU执行一条指令所需的时间时钟(状态)周期=2振荡周期机器周期=6时钟(状态)周期=12振荡周期指令周期=1个或2个或4个机器周期2-7 若单片机使用的晶振为6MHz,那么振荡周期、机器周期和指令周期分别是多少?fosc=6MHZT振荡=1/fosc=0.167sT机器=

6、12* T振荡=2sT指令=(14) T机器=28s2-8 当单片机使用的晶振为12MHz时,执行一条指令所需的最长时间为多少?fosc=12MHZT指令=14s TMAX指令=4s2-9 说出单片机复位后,各特殊功能寄存器的初始化状态是什么 各特殊功能寄存器的初始化状态如表特别SP=07H,P0P3=FFH注意: 复位后要先给SP赋值(30H7FH), P0P3置初值习题三3-1 说明下列各条指令划线部分的寻址方式,并用图说明指令实现的操作。 (1)ADD A,30H ;直接寻址 (2)MOVX A,DPTR ;寄存器间接寻址 (3)MOVC A,A+PC ;变址寻址 (4)ORL 60H,

7、#22H ; 直接寻址 立即寻址 (5)MOV R1,A ; 寄存器间接寻址3-2 查附录写出下列各条指令的机器码。 ACALL 0100H ;3100 LCAlL 0300H ;120300 AJMP 0100H ;2100 LJMP 0300H ;D20300 SJMP 5 ;80FB SJMP $十5 ;80033-3 设R0=7EH,DPTR=10FEH,片内RAM中7EH、7FH单元内容为0AAH、0BBH,试分析下列每条指令、增加注释并写出其执行结果。 INC R0 ;(7EH)+1 7EH, (7EH)=0ABH 1NC R0 ;R0+1 R0, (R0)=7FH 1NC R0

8、;(7FH)+1 7FH, (7FH)=0BCH 1NC DPTR;DPTR+1 DPTR DPTR=10FFH3-4 若A=80H,R0=17H,(17H)=34H,执行下段程序后,A=? ANL A,#17H;A=0 ORL 17H,A ;A=0 (17H)=34H XRL A, R0;A=34HCPL A ;A=0CBH 3-5 说明下段程序执行过程中,SP的内容以及堆栈中内容的改变过程。 MOV SP,#20H;SP=20H MOV A,#20H ;A=20H MOV B,#30H ;B=30H PUSH ACC ;SP+1 SP=21H,(21H)=20H PUSH B ; SP+1

9、 SP=22H,(22H)=30H POP ACC ;(22H) A,SP-1 SP=21H POP B ;(21H) B,B=20H,SP-1 SP=20H 3-6有程序如下: CLR RS1;位操作 RS1=0 CLR RS0;位操作 RS0=0 MOV A,#38H;字节操作 A=38H MOV R0,A ; 字节操作R0=38H MOV 29H,R0;字节操作 (29H)=38H SETB RS0 ; 位操作 RS0=1 MOV C,RS0 ;位操作 C=RS0=1 MOV R1,A ;字节操作R1=A=38H MOV 26H,A ; 字节操作(26H)=A=38H MOV 28H,C

10、 ; 位操作 (28H)=C=1 ADDC A,26H ; 字节操作A+(26H)+C A=71H 试问: (1)区分哪些是位操作指令?哪些是字节操作指令? (2)写出程序执行后有关寄存器和RAM中有关单元的内容。3-7 已知(61H)=0F2H,(62H):0CCH。说明下面程序功能,写出涉及的寄存器及片内RAM 单元的最后结果。 MOV A,#61H ;A=61H MOV B,#02H ;B=02H DIV AB ;A/B=A(商)=30HB(余数)=01H ADD A,62H ;A+(62H) A=0FCH(C=0) MOV 63H,A ;A (63H)=0FCH CLR A ;A=0

11、ADDC A,B ;A+B+C A=01H MOV 64H,A ;A (64H)=01H3-8 说明下面程序功能,在括号中填出所缺的机器码。 0020 78 ADRl: MOV RO, #ADRl 0022 (79) ADR2: MOV R1, #ADR2 0024 7A Ll: MOV R2, #LL 0026 C3 CLR C 0027 E6 LOOP: MOV A, R0 0028 37 ADDC A, R1 0029 F6 MOV R0,A 002A 08 1NC R0 002B 09 1NC Rl 002C DA(F9) DJNZ R2, LOOP002E 80 (FE ) SJMP

12、 $功能: LL个字节的加法 被加数放在ADRl为首的单元内 加数放在ADR2为首的单元内 低字节放在低地址单元 结果放在被加数单元3-9 试编程将片外数据存储器1000H单元中的数据与片内RAM中30H单元中的内容互换 程序如下: MOV 31H, 30H MOV DPTR, #1000H MOVX A, DPTR MOV 30H, A MOV A, 31H MOVX DPTR, A SJMP $习题四4-1 两个4位BCD码数相加,设被加数和加数分别存于片内RAM的40H、41H和 45H46H单元中,和数存于50H、51H单元中(均是低位在前,高位在后),试编写程序。根据题意,最高位将不

13、产生进位(或不考虑)ORG 0000HLJMP STARTORG 0200HSTART: MOV A, 40HADD A, 45H;低位相加DA A ;BCD调整 MOV 50H, A;存和低位MOV A, 41HADDC A, 46H;高位带进位位相加DA A ;BCD调整 MOV 51H , A; 存和高位SJMP $END4-2 已知片外RAM中2100H单元中存有一有符号整数。试编写程序,求该单元数据的绝对值。ORG 0000HLJMP STARTORG 0200HSTART: MOV DPTR, #2100H MOVX A, DPTR JNB ACC.7 NN;为正数,不变 CPL

14、A (DEC A);为负数,取反加一(或减一取反) INC A (CPL A) ;A中为绝对值NN: SJMP $ 如果要将绝对值存于原单元中,则NN后的程序变为:NN: MOVX DPTR, ASJMP $END4-3 统计片外数据存储器2100H单元开始的数据块(长度为100个字节)中绝对值为100的数的个数。ORG 0000HLJMP STARTORG 0200HSTART: MOV DPTR, #2100H MOVX A, DPTR JNB ACC.7 NN ;为正数,不变 CPL A (DEC A) ;为负数,取反加一(或减一取反) INC A (CPL A) ;A中为绝对值NN:

15、CJNE A, #100, MM ;100转MM INC R0 ;R0存绝对值为100的个数MM: INC DPL ;调整DPTR MOV A, DPL CJNE A, #100, AGI ;不到100个,取下一个 SJMP $END4-4 设单片机采用6MHz晶振,计算如下一段程序的执行时间,你能说明这段程序的作用吗? T机器=1*12/fosc=12/6MHZ=2s MOV R0,#20H(1);低位地址 R0 MOV R3,#05H(1);字节数-1 R3 MOV A, R0(1) CPL A (1);低位取反加一 ADD A,#01H (1) ;不能用INC A(不影响CY位) MOV

16、 R0,A (1);以上程序共6个机器周期NEXT: INC R0 (1) MOV A, R0(1) CPl A (1) ADDC A,#00H (1) MOV R0,A (1) DJNZ R3,NEXT(2);循环5次,每次7个机器周期SJMP $ (2) END执行时间=(6+5*7)T机器=41*2=82s以上程序为求一个6字节的负数(补码)的绝对值4-5 编写程序,将片外数据存储器2000H单元开始的10个有符号数求平均值。(假定其和在-128一+127之间)。4-6 将ROM中1000H单元开始的100个单元的数据移到片外数据存储器2000H开始的连续单元。ORG 0000HLJMP

17、 AGIORG 0200H MOV DPTR, #1000HAGI: CLR AMOVC A, A+DPTR XRL DPH, #30H;调整DPTR1000H 2000H MOVX DPTR, A;传送 XRL DPH, #30H;调整DPTR2000H 1000H INC DPTR; 调整DPTR MOV A, DPL CJNE A, #64H,AGI;DPL0Y= 255 X=0 |X|+5 X0根据变量X的大小求出Y值并放入数据存储器从2000H开始的相应单元。画出程序流程图并编写源程序。 ORG 0000HLJMP STARORG 0200HSTAR: MOV DPTR, #2000

18、HSTART: MOVC A, DPTR JB ACC.7, NEG;X0 MUL AB;Y=3X LJMP SAVEZERO: MOV A,#0FFH;Y=255 LJMP SAVENEG: DEC A CPL A ;绝对值 ADD A, #05H;Y=X绝对值+5SAVE: MOVX DPTR, A;存结果 INC DPTR;调指针 MOV A, DPH CJNE A, #21H, START;没完继续 SJMP $ END4-8 将4-6题改为子程序结构,画出程序流程图并编写源程序。NUM EQU #64HORG 0000HLJMP START ORG 0100HSTART : MOV

19、DPTR, #1000H ACALL AGI SJMP $ ORG 0200H AGI: MOVC A, DPTR XRL DPH, #30H;调整DPTR1000H 2000H MOVX DPTR, A;传送 XRL DPH, #30H;调整DPTR2000H 1000H INC DPTR; 调整DPTR MOV A, DPL CJNE A, NUM,AGI;DPLNUM,取下一个数 RET END4-9 用位操作指令实现下面的逻辑方程。 (1)P1.2=ACC.1P1.4PSW.1+20H21H (2)PSW.1=(PSW.2+20H+P3.3)ACC.3+P1.2P2.1(1) ORG

20、0100H MOV C, ACC.1 ANL C, P1.4 ANL C, /PSW.1 MOV 22H, C;暂存结果 MOV C, 20H ANL C, 21H ORL C, 22H MOV P1.2, C;结果输出 SJMP $(2) ORG 0100H MOV C, /PSW.2 ORL C, 20H ORL C, P3.3 ANL C, ACC.3 MOV 21H, C;暂存结果 MOV C, P1.2 ANL C, P2.1 ORL C, 21H CPL C MOV PSW.1, C SJMP $ 习题五5-1 8031单片机内设有几个定时计数器?它们是由哪些专用计时器构成,其地址

21、分别是多少?8031单片机内设有2个定时计数器T0,T1T0由TH0和TL0组成T1由TH1和TL1组成TH0地址:8CHTL0地址:8AHTH1地址:8DHTL1地址:8BH5-2 试说明定时器方式寄存器TMOD中GATE位的作用。如何用GATE位测量外部脉冲的宽度? GATE位的作用:GATE=0时,由TRX 控制TX启停,常用. GATE=1时,只有TRX和INTX都为1,才可启动TX. 测量外部脉冲宽度方法:使GATE=1,TRX=1, 外部脉冲接于INTX引脚,当INTX由0变1时,TX开始计数(方式0或1), 当INTX由1变0时,TX停止计数(设初值TC=0 即THX=0,TLX

22、=0),检测TX常数的变化量(TC,即THX,TLX). 脉冲宽度=TC*T机器5-3 设单片机的cLK=12MHz,要求用T0定时150s,分别计算采用定时方式0、定时方式1和定时方式2的定时初值。cLK=12MHz, T机器=1s方式0:TC=213-150/1=8192-150=8042=1F6DH=11111011 01101B TH0 TL0低5位 所以初值TH0=FBH,TL0=0DH方式1:TC=216-150/1=65536-150=65386=FF6AH 所以初值TH0=FFH,TL0=6AH方式2:TC=28-150/1=256-150=106=6AH 所以初值TH0=TL

23、0=6AH5-4 单片机CLK=6MHz,问定时器处于不同工作方式时,最大定时范围分别是多少? cLK=6MHz, T机器=12/6MHz =2s, Tmin=2s方式0:Tmax=213*2s=16.384ms 方式1: Tmax=216*2s=131.072ms方式2.3: Tmax=28*2s=0.512ms 5-5 什么叫中断源?MCS-51有哪些中断源?各有什么特点? 中断源-中断请求的来源 MCS-51有5个中断源:2个外部中断源INT0,INT1 3个内部中断源T0,T1,TI/RI 特点: INT0,INT1由P3.2,P3.3端口引入,低电平或下降沿引起中断 T0,T1定时/

24、计数器中断,由T0,T1回零溢出引起中断 TI/RI串行I/O中断,串行端口一帧字符发送/接收后引起中断这些中断由中断允许寄存器IE(A8H)和中断优先寄存器IP(B8H)控制复位后,IP清零,自然的中断优先顺序: INT0 T0 INT1 T1 TI/RI中断服务程序入口地址分别为: 0003H 000BH 0013H 001BH 0023H5-6 什么叫中断嵌套?什么叫中断系统?中断系统的功能是什么? 中断嵌套就是在中断响应的过程中又有更高一级的中断申请到来,则在中断响应的过程中再响应中断(中断中套中断) 中断系统:为了实现中断功能而设置的各种硬件和软件的统称 中断系统的功能:1. 实现中

25、断及返回2. 实现优先权排队3. 高级中断源能中断低级中断源的中断处理5-7 8031的五个中断标志位代号是什么?位地址是什么?它们在什么情况下被置位和复位? 五个中断标志位代号是: IE0 TF0 IE1 TF1 RI/TI 位地址是: 89H 8DH 8BH 8FH 98H/99H 有中断申请时中断标志位被置位,CPU响应中断后,一般 IE0(INT0) TF0(T0) IE1(INT1) TF1(T1)可被自动复位,但当INT0,INT1为低电平触发时,不能自动复位,此种情况应保证在中断服务程序结束之前将低电平触发信号变为高电平,否则将再次响应中断.RI/TI中断标志也不能自动复位.5-

26、8 中断允许寄存器IE各位定义是什么?请写出允许T1定时器溢出中断的指令? 中断允许寄存器IE各位定义:EAESET1EX1ET0EX0全局 串口 T1 INT1 T0 INT0 相应各位为”1”时,开相应中断, 为”0”时, 关相应中断 允许T1定时器溢出中断: MOV IE, #88H 或:SETB EA SETB ET15-9 MCS-51响应中断是有条件的,请说出这些条件是什么?中断响应的全过程如何?响应中断条件:无下列条件时,中断将被响应1 CPU正在执行一个同级或高一级的中断服务程序2 当前执行的那条指令还未执行完3 当前执行的指令是RETI或IE IP寄存器读写指令,执行这些指令

27、后,至少再执行一条指令,才会响应中断。中断响应的全过程:中断响应后,一般自动清除中断请求标志(串口中断请求标志,要用软件清除),由硬件自动将PC内容(断点地址)压入栈中保护,然后将对应的中断矢量装入PC,使程序转向中断矢量地址单元去,执行中断服务程序,中断服务程序执行完成,断点地址出栈装入PC,从断点继续执行程序。5-10 在MCS-51中,哪些中断可以随着中断被响应而自动撤除?那些中断需要用户来撤除?撤除的方法是什么?一般T0 T1 INT0 INT1中断可以随着中断被响应而自动撤除,串行中断RI/TI不能自动撤除,需要用户来撤除,撤除的方法是在中断服务程序中清RI或TI5-11 试写出IN

28、T0为边沿触发方式的中断初始化程序。 SETB IT0;下降沿触发 SETB EA;也可MOV IE, #81H;开中断 SETB EX0 ;5-12 若8031单片机的CLK =6MHz,请利用定时器TO定时中断的方法,使P1.0输出如下图所示的矩形脉冲1ms 2msT0方式1 定时1ms T机器=12/6MHz =2sTC=216-1ms/2s=65536-500=FE0CH ORG 0000H LJMP MAIN ORG 000BH LJMP TOINTMAIN: MOV TMOD, #01H;T0 方式1 MOV TH0, 0FEH MOV TL0, #0CH;定时1ms MOV IE, #82H;开T0中断 MOV R0, #00H;计数初值 SETB TR0;启动T0 SJMP $TOINT: MOV TH0, #0FEH MOV TL0, #0CH;重置初值 MOV C, P

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1