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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(新编单片机原理与应用课后答案.doc)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

新编单片机原理与应用课后答案.doc

1、习题一参考答案 1-1 假设某CPU含有16根地址线,8根数据线,那么该CPU的最大寻址能力为多少KB? 答:CPU的最大寻址能力为: 1-2 在计算机里,一般具有哪三类总线?请说出各自的特征(包括传输的信息类型、单向传输还是双向传输)。 答:1、数据总线,双向,输入输出数据信息; 2、地址总线,单向,输出地址信息; 3、控制总线,具体到某一根控制线为单向,输入或者输出控制信息; 1-3 MCS-51系列单片机时钟周期、机器周期与指令周期这三者关系如何?CISC指令系统CPU所有指令周期是否均相同? 答:时钟周期即为振荡周期,由外接晶振频率或外部输入的

2、时钟频率决定,机器周期由12个时钟周期(或6个)构成,指令周期由1~4个机器周期构成;指令周期因具体指令不同而不同; 1-4 计算机字长的含义是什么?MCS-51单片机的字长是多少? 答:计算机字长是指CPU一次能够处理的信息位长度;MCS-51单片机的字长是8位。 1-5 ALU单元的作用是什么?一般能完成哪些运算操作? 答:ALU单元的作用是进行算术逻辑运算;算术运算主要是加、减、乘、除,逻辑运算主要是与、或、非、异或等。 1-6 CPU内部结构包含了哪几部分?单片机(MCU)芯片与通用微机CPU有什么异同? 答:CPU主要包括算术逻辑单元ALU、控制单元CU和

3、内部寄存器;单片机(MCU)芯片是在通用CPU的基础上增加存储器、定时器/计数器、通信接口以及各种接口电路等构成。 1-7 在单片机系统中常使用哪些存储器? 答:包括程序存储器ROM和数据存储器RAM。 1-8 指令由哪几部分组成? 答:一般由操作码和操作数组成,部分指令只有操作码而无操作数。 1-9、什么是汇编语言指令?为什么说汇编语言指令比机器语言指令更容易理解和记忆?通过什么方式可将汇编语言程序转化为机器语言程序? 答:【1】用助记符表示的指令 【2】因为在汇编语言指令中每条操作码、操作数都是用特定符号表示;而机器语言中的操作码和操作数均用二进制表示,没有明

4、显特征 【3】可通过专门的软件或手工查表方式 1-10、汇编语言程序和汇编程序这两个术语的含义是否相同? 答:两者含义不同;1.汇编语言程序指由汇编语言指令构成的程序; 2.汇编程序指将完成汇编语言指令转换为机器语言指令的程序 1-11、什么是寻址方式?对于双操作数指令来说,为什么不需要指定操作结果存放位置? 答:【1】确定指令中操作数所在存储单元地址的方式 【2】在现代计算机系统中,对于双操作数指令,一般将指令执行后的结果放在第一个操作数(即目标操作数),这样可以减少指令码的长度 1-12、指出下列指令中每一操作数的寻址方式? 答:【1】目标操作

5、数为寄存器寻址,源操作数为立即数寻址 【2】目标操作数为直接寻址,源操作数为寄存器寻址 【3】目标操作数为直接寻址,源操作数为直接寻址 【4】目标操作数为直接寻址,源操作数为寄存器间接寻址 【5】寄存器寻址 注:在单片机中,问到指令的寻址方式,既要答目标操作数的寻址方式,也要答源操作数的寻址方式,这与微机不同,请切记! 1-13、单片机的主要用途是什么?新一代8位单片机芯片具有哪些主要技术特征?列举目前应用较为广泛的8位、32位单片机品种。 答:【1】数值计算,能实时监测系统的输入量,控制系统的输出量,从而实现自动控制功能,主要面向工业控制等 【2】可参考23页 【3】可

6、参考21~22页 习题二参考答案 2-1 80C54、80C32、87C54、89C54 CPU有什么不同?在由80C32芯片组成的应用系统中引脚是如何连接的?为什么要这样连接? 答:略 2-2 8XC5X,如89C52单片机内部含有哪几类存储器?各自的容量分别是多少? 答:包括程序存储器8K和数据存储器256B。 2-3 8XC5X 系列CPU 共有多少根I/O引脚?在什么情况下,不能将P0口作为通常意义上的输入/输出引脚使用? 答:共有I/O引脚32根;在P0作为地址数据总线端口使用时就不能作为普通I/O口使用。 2-4 简述P1口的内部结构。为什么

7、将P1口引脚作为输入引脚使用前,一定要向P1口锁存器相应位写入“1”? 答:主要由两个三态门、一个D型锁存器、一个MOS管和一个上拉电阻构成;P1作为输入引脚使用时一定要先写入“1”,其目的是使内部MOS管处于截止状态,避免MOS管对输入信号构成影响。 2-5 根据8XC5X 系列CPU P1~P3口结构,如果用P1.x引脚驱动NPN三极管,则最大集电极电流ICMAX为多少?(假设β取100)。 答:假设内部上拉电阻的阻值为,三极管发射结正向导通电压为,则: 基极电流: 集电极电流: 2-6 地址/数据分时复用的含义是什么?8XC5X P0口与存储器,如62256相连时

8、两者之间需要接什么功能的芯片,才能锁存低8位地址信息?试画出8XC5X与SRAM 62256芯片(作数据存储器使用)之间的连接图。 答:地址/数据分时复用是指总线既可作为数据线,也可作为地址线,但是具体到某一时刻只能作为数据线或者地址线;与62256相连时,在存储芯片和单片机芯片之间必须加锁存芯片,如74LS373等,用来锁存低8位地址信息; 连接电路图(见课本,略) 2-7 8XC5X单片机CPU复位后,使用了哪一工作寄存器区?其中R1对应的物理存储单元地址是什么? 答:8XC5X单片机CPU复位后,使用了工作寄存器区0;此时R1对应的物理存储单元的地址为01H。 2-

9、8 如果希望工作寄存器组中R0对应的物理存储单元为10H,请写出系统复位后,实现这一要求的指令。 答: SETB CS1 CLR CS0 2-9 说出访问下列寄存器或存储空间可以使用的寻址方式,并举例: (1)  8XC5X系列内部RAM前128字节。 答:直接和寄存器间接寻址。 (2)  8XC52/54/58系列内部RAM后128字节。 答:寄存器间接寻址 (3) 特殊功能寄存器。 答:直接寻址。 (4) 外部数据存储器。 答:寄存器间接寻址 2-10 8XC5X CPU的机器周期与时钟周期是什么关系?如果晶振频率为12 MHz,则一个机器周期是多少

10、微秒? 答:1)、12个时钟周期构成1个机器周期。 2)、1uS 2-11 8XC5XX2 CPU的机器周期与时钟周期是什么关系?为什么说当CKCON寄存器为01H时,时钟频率为6 MHz的8XC5XX2系统运行速度与时钟频率为12 MHz的8XC5X系统的运行速度相同? 答:可以选择“机器周期/12时钟”或“机器周期/6时钟”。当CKCON寄存器为01H时,时钟频率为6 MHz的的8XC5XX2机器周期为:。而时钟频率为12 MHz的8XC5X系统的机器周期为:。 2-12 在晶振输出端X2引脚应观察到什么样的波形?当晶振频率较低时,如何使X2引脚输出为理想状态下的波

11、形? 答:方波。 2-13 分析MCS-51写外部数据存储器写时序,说明为什么可使用74LS573或74LS373芯片扩展MCS-51的输入口,而不能扩展输出口。请画出使用两片74LS373芯片扩展MCS-51的输入口、使用两片74LS237扩展输出口的电路图(假设系统中无需扩展外部存储器)。 答:使用边沿触发器作为输出锁存器时可以可靠的锁存输出数据。 2-14 8XC5X CPU复位后内部RAM各单元的内容是否改变?程序计数器PC的值是什么? 答:否。此时PC=0000H. 2-15 MCS-51单片机通过什么指令读/写外部数据存储器?通过什么引脚选通外部数据存储器?

12、 答:使用MOVX读写外部数据存储器。通过或者. 2-16 画出由一片80C32 CPU、一片27128  EPROM和一片6264 SRAM组成的单片机应用系统,要求给出有关信号的连接以及各自存储空间的地址范围。 答:略 2-17 在图2-7所示的电路中,假设驱动引脚为P1.0,则执行了如下程序段后,累加器Acc的内容为什么?这又说明了什么?   SETB P1.0   JB P1.0,NEXT1  MOV A,#0AAH  SJMP EXIT  NEXT1:    MOV A,#55H  EXIT:    NOP 答:Acc的内容为AAH。因为JB P1.0,

13、 NEXT1是根据P1.0的电平进行判断转移,如果P1.0引脚的电平为高则转移。因为三极管导通时P1.0引脚被钳位到低电平。 习题三参考答案 3-1 MCS-51内部RAM低128字节支持哪些寻址方式?请写出用不同寻址方式将内部RAM 30H单元信息传送到累加器A的指令或程序片段;内部RAM高128字节支持哪些寻址方式?请写出将内部RAM 80H单元内容传送到累加器A的指令或程序片段。 答:略: 3-2 简述“RET”与“RETI”指令的区别。 答:1)RET是子程序返回指令,RETI是中断服务程序返回指令; 2)RETI在返回时会清除有关中断标志位,而RET不具有此功能

14、 3-3 指出下列指令中每一操作数的寻址方式。   (1)   MOV 40H,A   (2)   MOV A,@R0   (3)   MOVX @DPTR,A   (4)   MOVC A,@A+DPTR   (5)   ADD A,#23H   (6)   PUSH Acc   (7)   MOV P1,32H   (8)   MOV C,P1.0   (9)   INC P0   (10)  DEC R2   (11)   SJMP EXIT 答:略 3-4 执行“CJNE A,#60,NEXT”指令后,寄存器A中的内容是否被改变?请验证。 答

15、否。 3-5 写出实现下列要求的指令或程序片段,并在仿真机上验证。 (1) 将内部RAM 20H单元内容与累加器A相加,结果存放在20H单元中。 答: ADD A, 20H MOV 20H, A (2) 将内部RAM 80H单元内容与内部RAM 31H单元内容相加,结果存放到内部RAM 的31H单元中。 答: MOV R0, #80H MOV A, @R0 ADD A, 31H MOV 31H, A (3) 将内部RAM 20H单元内容传送到外部RAM 20H单元中。 答: MOV A, 20H MOV DPTR, #0

16、020H MOVX @DPTR, A (4) 将程序状态字寄存器PSW内容传送到外部RAM的0D0H单元中。 答: MOV A, PSW MOV DPTR, #00D0H MOVX @DPTR, A (5) 将内部RAM 08H~7FH单元,共120字节传送到以8000H为首地址的外部RAM中。 答: MOV DPTR, #8000H MOV R0, #08H MOV R2, #120 LOOP: MOV A, @R0 MOVX @DPTR, A INC R0 INC DPTR DJNZ

17、R2, LOOP END (6) 将外部RAM 8000H~0803FH单元,共64字节传送到以40H为首地址的内部RAM中。 答: MOV DPTR, #8000H MOV R0, #40H MOV R2, #64 LOOP: MOVX A, @DPTR MOV @R0, A INC DPTR INC R0 DJNZ R2, LOOP END (7) 将外部RAM 8000H~0807FH单元,共128字节传送到以0000H为首地址的外部RAM中。 答: AURX1 EQU 0A2H ;注意要自己定义

18、 MOV DPTR, #8000H INC AUXR1 MOV DPTR, #0000H INC AUXR1 MOV R0, #128 LOOP: MOVX A, @DPTR INC DPTR INC AUXR1 MOVX @DPTR, A INC DPTR INC AUXR1 DJNZ R0, LOOP END (8) 将存放在内部RAM 的40H、41H和外部RAM的 8000H、8001H的16位二进制数相加,结果存放在内部RAM 的40H和41H单元中(假设低位字节存放在低地址中)。 答:

19、 MOV DPTR, #8000H MOVX A, @DPTR ;注意使用MOVX指令,下同 ADD A, 40H MOV 40H, A INC DPTR MOVX A, @DPTR ADDC A, 41H MOV 41H, A END (9) 如果0~9七段数码显示器对应的字模码3FH,06H,5BH,4FH,66H,6DH,7DH, 07H,7FH,6FH存放在1000H为首地址的程序存储器中,写出将数字4对应的字模码输出到外部RAM 3003H单元(即扩展I/O端口地址)的程序段。 答: MOV DPTR, #1

20、000H MOV A, #4 MOVC A, @A+DPTR ;注意使用MOVC指令 MOV DPTR, #3003H MOVX @DPTR, A ;注意使用MOVX指令 ORG 1000H DB 03FH,06H,5BH,4FH,55H,66H,6DH,6DH,07H,7FH,6FH END (10) 将内部RAM 01H~0FFH单元内容清零。 答: MOV R0, #01H LOOP: MOV @R0, #0 INC R0 CJNE R0, #0FFH, LOOP END (11) 我

21、国FSK来电显示采用单数据消息格式,其中第0字节为消息类型(固定为04,即单数据消息格式标志),随后的一个字节为消息体长度,消息体内的消息字包括了来电日期(月、日)与时间(时、分)(8个字节)及主叫号码,最后一个字节为校验信息(校验算法可概括为:从消息类型字节到主叫号码最后一个字节按256模式累加和,再求补码)。试写出相应的校验程序片段(假设来电信息从内部RAM 30H单元开始存放)。 答: (12) 使内部RAM 20H单元的b7、b3位清零,b6、b2位置1,b4、b0位取反,其他位不变。 答: SETB 20H.6 ;如果给定的地址不在20H~2FH之间,则不能用位寻址

22、SETB 20H.2 CLR 20H.7 CLR 20H.3 CPL 20H.4 CPL 20H.0 (13) 将IPH寄存器的b7、b5位清零,b2、b0位置1,其他位不变。 答: IPH EQU 0B7H MOV A, IPH ANL A, #01011111B ORL A, #00000101B MOV IPH, A END (14) 将内部RAM 30H单元乘4(假设30H单元内容不超过63)。 答: MOV 30H, #4 MOV A, 30H RL

23、A RL A MOV 30H, A END (15) 将存放在内部RAM 40H、41H和外部RAM 8000H、8001H的四位BCD码相加,结果存放在内部RAM 40H、41H、42H单元中(假设低位字节存放在低地址中,高位字节存放在高地址中)。 答: MOV DPTR, #8000H MOVX A, @DPTR CLR C ADD A, 40H DA A MOV 40H, A INC DPTR MOVX A, @DPTR ADDC A, 41H DA

24、 A MOV 41H, A MOV 42H, C END (16) 将立即数32H传送到内部RAM 30H单元中。 答: MOV 30H, #32H (17) 将立即数32H传送到内部RAM 88H单元中。 答: MOV R0, #88H MOV @R0, 32H END (18) 将Acc.3位送Acc.0位。 答: MOV C, ACC.3 MOV ACC.0, C END (19) 用MCS-51位指令,实现的逻辑运算。 答: MOV C, P1.3 ANL C, /

25、P1.2 MOV 20H.0, C ;暂存 MOV C, P1.1 ORL C, P1.0 CPL C ORL C, 20H.0 END    3-6 假设4位BCD码压缩存放在R3、R2中,试编写BCD减1的程序段,并在仿真机上验证。 答: ;相当于WXYZ+10000-1=WXYZ+9999 CLR C; MOV A, R2 ADD A, #99 DA A MOV R2, A MOV A, R3 ADDC A, #99 DA A

26、 MOV R3, A END    3-7 利用双DPTR功能,将存放在程序存储区内的数表(共计16字节,首地址为DATATAB)传送到以4000H为首地址的外部RAM中。 答: AUXR1 EQU 0A2H MOV DPTR, #DATATAB INC AUXR1 MOV DPTR, #4000H MOV R7, #16 ;16 个字节 MOV A, #0 ;最开始的位置 LOOP: MOV R6, A ;暂存A的值 MOVC A, @A+DPTR ;注意用MOVC,同时职能用A做变址寄

27、存器 INC DPTR MOVX @DPTR, A ;注意使用MOVX指令 MOV A, R6 INC DPTR I INC A ;A的值增1,指向下一个字节 DJNZ R7, LOOP DATATAB: DB 01H,02H, 03H,04H, 01H,02H,03H,04H END    3-8 将存放在R3、R2中的三位压缩BCD码转换为二进制形式。 答: 三位BCD码<999 MAIN: MOV A, R2 ANL A, #0F0H SWAP A MOV B

28、 #10 MUL AB MOV B, A //存放十位 MOV A, R2 ANL A, #0FH ADD A, B //加个位 MOV R2, A //暂存 // MOV A, R3 ANL A, #0FH MOV B, #100 MUL AB // ADD A, R2 // MOV R2, A // MOV A, B // ADDC A, #0 MOV R3, A   3-9 将存放在R2中不超过十进制99的二进制数转换为压缩BCD码,结果存放在R2中。 答: MOV A, R2 MOV B, #

29、10 DIV AB SWAP A ORL A,B MOV R2,A 3-10 在32位除16位的多位除法运算中,如果已知除数在8000H~FFFFH之间,为缩短运算时间,是否需要扩展被除数?请写出相应的程序段。 答:不需要,因为32位二进制(FFFFFFFFH)表示的最大十进制数为4294967295,除以80000H~FFFFH之间的数,其结果<=1FFFFH(注:“1”存放在进位位),所以用32位已经足够存放商和余数。 程序如下: ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV 42H, #0FFH MOV

30、43H, #0FFH MOV 44H, #0FFH MOV 45H, #0FFH ; MOV 46H, #80H MOV 47H, #00H // //MOV 40H, #0 //MOV 41H, #0 MOV R7, #16 LOOP1: ;整体左移1位 CLR C MOV R1, #4 ;移动4个字节 MOV R0, #45H ;从最低位开始移 LOOP2: MOV A, @R0 RLC A MOV @R0, A DEC R0 DJNZ R1, LOOP2 MOV F0, C ;暂存移出的最

31、高位 // CLR C MOV A, 43H SUBB A, 47H MOV R3, A // MOV A, 42H SUBB A, 46H MOV R2, A // ANL C, /F0 ;进位标志cy为0及F0为1均属于没有借位的情况 ;没有借位,商置1,用差替换 JC NEXT MOV 43H, R3 MOV 42H, R2 ORL 45H, #01H NEXT: ;有借位,在保留被减数,商的最后一位清零(移位时已将0移入商的最后一位) DJNZ R7, LOOP1 NOP ///////////

32、/////////////////////////////////////////////// END    3-11 假设程序头中含有如下变量定义伪指令 TXDBUF DATA #40H (注意:原题错误,应该去掉“#”号,下同)   BDATA DATA #28H (1) 请指出“MOV R0,#TXDBUF”指令和“MOV R0,TXDBUF”指令源操作数的寻址方式。 答:“MOV R0,#TXDBUF”指令(立即寻址);“MOV R0,TXDBUF”指令(直接寻址) (2) 执行如下程序段后,内部RAM 40H~4FH单元的内容是什么?28H单元的内容又是什么

33、    MOV BDATA,#10H    MOV R0,#TXDBUF    CLR A   LOOP:    MOV @R0,A    INC A    INC R0    DJNZ BDATA,LOOP    END 答:内部RAM 40H~4FH单元的内容是:0~F,28H单元的内容是0 3-12 指出复位后工作寄存器组R7~R0的物理地址。如果希望快速保护工作寄存器组,请写出将2区作为当前工作寄存器区的程序段。 答:(1) 07H~00H. (2) SETB RS1 CLR RS0 3-13 简述顺序程序结构与分时操作程序结

34、构的异同,以及这两种程序设计的注意事项。 答:略 习题四参考答案 4-1 增强型MCS-51有几个中断优先级?试通过修改IP、IPH寄存器内容,使串行口的中断优先级最高,定时器T1的中断优先级最低。 答:(1)4 ; (2)MOV IPH ,#00010000B, MOV IP ,#00010000B 4-2 MCS-51外中断有几种触发方式?一般情况下,采用哪种触发方式较好? 答:两种,边沿触发 4-3 CPU响应中断请求后,不能自动清除哪些中断请求标志? 答:串行发送结束中断标志TI;串行接收有效中断标志RI;定时\计数器T2溢出中断标志TF2;定时\计数

35、器T2外触发标志EXF2;电平触发方式下的外部中断标志IE0和IE1 4-4 MCS-51 CPU在什么时候查询中断请求标志?满足什么条件才响应? 答:(1)每个机器周期S5P2相锁存引脚的电平状态,设置中断请求标志,并在下一周的S6状态按优先级的顺序查询没有被禁止的中断请求标志,如果满足中断响应条件,则在下一个机械周期的S1状态响应优先级别最高的中断请求,并执行相应的终端服务程序,否则继续执行当前的程序。 (2)a 此中断源的允许位为1; b CPU已经开中断(即EA=1); c 当前的中断请求比现在服务的中断优先级比高; d 必须在当前的指令执行完才响应中断; e

36、 在RETI或读写IE或IP或IPH之后, 不会马上响应中断请求, 而至少执行一条其它指令之后才会响应)。 4-5 子程序和中断服务程序有何异同?为什么子程序返回指令RET和中断返回指令RETI不能相互替代?为什么同优先级中断服务可以使用同一工作寄存器区? 答:(1)子程序由程序员调用,中断服务程序在满足条件的时候被调用;中断服务程序入口地址固定,子程序入口地址由用户决定;中断服务程序存在优先级的问题,子程序不存在优先级;(2)不能;(3)可以,因为同级的中断服务程序不能嵌套中断,必须等正在运行的中断服务程序返回后才能响应其它同级中断,此时资源已经释放。 4-7 如果某一中断

37、服务程序中没有改写工作寄存器R0~R7指令,则进入中断服务程序后是否需要切换工作寄存器区?简要说明原因。 答:不需要,因为不存在共用工作寄存器资源而产生的矛盾的问题。 4-8 如果引脚出现100~200 ms低电平信号时,在P1.0引脚输出低电平,但引脚存在尖脉冲干扰。请问应选择哪种触发方式?请写出中断服务程序。 答:由于有尖峰脉冲干扰,宜采用电平触发,但由于的低电平持续时间长,考虑增加在变高后清除中断标志的指令,避免程序重复响应,程序如下: EXINT0: PUSH ACC PUSH PSW CLR P1.0 JNB P3.2, $ //等待INT0变为高电平

38、 CLR IE0 //清除外中断0标志 POP PSW POP ACC RETI 4-9 MCS-51子系列具有几个定时/计数器?简述定时/计数器T1的主要用途。 答:3个;T1作为定时器和串口波特率发生器; 4-10 如果系统的晶振频率为12 MHz,分别指出定时/计数器方式1和方式2的最长定时时间。 答:定时/计数器方式1:65536uS;方式2:256uS。 4-11 如果系统的晶振频率为12 MHz,试利用定时/计数器T0在P1.0引脚输出周期为100 ms的方波。 答: ORG 0000H LJMP MAIN ORG 000BH

39、LJMP TIMER0 ORG 0030H MAIN: MOV SP, #5FH ; ANL TMOD, #0F0H ORL TMOD, #01H //方式1 MOV TH, #(65536-5000)/256 //定时50ms MOV TL, #(65536-5000) MOD 256 SETB ET0 SETB EA SETB TR0 SJMP $ TIMER0: MOV TH, #(65536-5000)/256 //定时50ms MOV TL, #(65536-5000) MOD 256 CPL P1.0 RETI 4

40、12 试利用定时/计数器T2的时钟输出功能,在P1.1引脚上输出周期为10 ms的方波。 TL2 EQU 0CCH TH2 EQU 0CDH RCAP2L EQU 0CAH RCAP2H EQU 0CBH T2MOD EQU 0C9H T2CON EQU 0C8H ORG 0000H LJMP MAIN ORG 0030H MAIN: MOV SP, #60H MOV TH2, #(35536/256) MOV TL2, #(35536 MOD 256) MOV RCAP2L, #(35536 MOD 256) MOV RCAP2H,

41、 #(35536/256) MOV T2MOD, #02H //设置为时钟输出 MOV T2CON, #04H //启动TR2 HERE: SJMP HERE END 4-13 试利用定时/计数器T2的时钟输出功能,在P1.1引脚上不断重复输出频率为450 Hz,持续和停止时间均为4 s的方波信号。 答:T2工作在时钟输出模式,从P1.0输出450Hz方波;T1定时时间为2S(定时50ms,计数40次),控制T2MOD寄存器的T2OE位,程序如下: TL2 EQU 0CCH TH2 EQU 0CDH RCAP2L EQU 0CAH RCAP2H EQ

42、U 0CBH T2MOD EQU 0C9H T2CON EQU 0C8H OVERTIMES DATA 40H ORG 0000H LJMP MAIN ORG 001BH LJMP TIMER1 ORG 0030H MAIN: MOV SP, #60H MOV OVERTIMES, #40 //溢出计数40次 //设置T2 MOV TH2, #(58869/256) //输出频率450Hz MOV TL2, #(58869 MOD 256) MOV RCAP2L, #(58869 MOD 256) MOV RCAP2H, #(588

43、69/256) MOV T2MOD, #02H //时钟输出 MOV T2CON, #04H //启动TR2 //设置T1 ANL TMOD, #0FH ORL TMOD, #10H //模式1 MOV TH1, #(65536-50000)/256 //定时50ms MOV TL1, #(65536-50000) MOD 256 SETB ET0 SETB EA SETB TR1 SJMP $ TIMER1: MOV TH1, #(65536-50000)/256 MOV TL1, #(65536-50000) MOD 256

44、 DJNZ OVERTIMES, EXIT MOV OVERTIMES, #40 MOV A, T2MOD ADD A, #02H MOV T2MOD, A //切换T2OE EXIT: RETI ////////////////////////////////////////////////// END 4-14 在什么情况下增强型MCS-51CPU(如87C54、P89C52)存在三个外部中断?请说明,并指出各自中断输入端、可能的触发方式、中断标志及中断服务程序入口地址。这时定时器T2只能工作在什么方式? 答:除了外部中断和外, P1.1脚可作为外部中断

45、输入端,工作于边沿触发方式,中断标志为EXF2,中断服务程序入口地址为002BH。T2可工作于时钟输出方式、串口波特率发生器方式。 4-15 试画出利用串行口方式0和两片74LS164“串入并出”芯片扩展16位输出口的硬件电路,并写出输出驱动程序。 答:略 4-16 当串行口工作在哪种方式时,串行输入、输出与定时/计数器T1、T2的溢出率无关? 答:方式0与方式2 4-17 试编写与PC机串行通信的程序(系统晶振频率为11.0592 MHz,波特率为2400,8位数据,奇偶校验)。 答: 请参考PPT中的有关实例程序 4-18 假设系统晶振频率为12 MHz,试利用定时/计数

46、器T2的定时中断功能,实现每25 ms将内部RAM 80H~87H单元内容依次送P1口。 答: ET2 BIT 0ADH TR2 BIT 0CAH TF2 BIT 0CFH TL2 EQU 0CCH TH2 EQU 0CDH RCAP2L EQU 0CAH RCAP2H EQU 0CBH T2MOD EQU 0C9H T2CON EQU 0C8H // ORG 0000H LJMP MAIN ORG 0023H LJMP TIMER2 ORG 0030H MAIN: MOV SP, #5FH ; MOV TH2, #(

47、65536-25000)/256 MOV TL2, #(65536-25000) MOD 256 MOV RCAP2H, #(65536-25000)/256 MOV RCAP2L, #(65536-25000) MOD 256 SETB ET2 SETB EA SETB TR2 SJMP $ TIMER2: MOV R7, #08 LOOP: MOV R0, #80H MOV P1, @R0 DJNZ R7, LOOP CLR TF2 RETI END 4-19 试利用增强型MCS-51串行口自动地址识别功能构造“一主八从”

48、多机通信系统。假设只需要“一对一”的通信方式,请写出串行口的初始化程序段(系统晶振频率为11.0592 MHz,波特率为2400,使用定时器T1的溢出率作为通信波特率)。 答:根据题意,只需要“一对一”的通信方式,即每次主机发送过来的地址,只会唯一选择一个自己与其通信。设主机发送过来的地址为X,从机屏蔽地址寄存器的内容为Y,则从机地址也为X,即,则: 构建地址如下: 从机编号 7机 6机 5机 4机 3机 2机 1机 0机 SADEN 10000000 01000000 00100000 00010000 00001000 00000100 00000

49、010 00000001 SADDR 11111111 11111111 11111111 11111111 11111111 11111111 11111111 11111111 初始化编程只要各子机初始化SADEN和SADDR两个寄存,设定工作模式和波特率即可。 4-20 说明执行如下两条指令后累加器Acc内容一般不同的原因。   MOV SBUF,A   MOV A,SUBF 答:第一条指令将累加器A的内容送发送缓冲器,第二条指令从接收缓冲器送累加器A 习题六参考答案 6-1 为什么不宜用外部RAM写选通信号的后沿(即上升沿)锁存输出数据?列

50、举常用的I/O扩展芯片。 答:参见PPT有关也的内容。 6-2 用8255 I/O扩展芯片扩展87C52 CPU I/O引脚时,如果系统中没有地址锁存器,8255地址线如何连接?请画出相应的连线图。 答:略 6-3 在图6-11(a)所示的电路中,如果CPU是80C31,则复位期间和复位后LED是否发光?为什么? 答:复位期间和复位后P1口均输出高电平,所以LED不发光。 6-4 如果将MCS-51的P1口引脚按矩阵编码方式组织成M×N个检测点,那么在什么情况下检测点的数目最多?这时M和N分别是多少? 答: 要使检测点数目最多,可以求上式的最值,即求式中M一阶导数

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服