收藏 分销(赏)

单片机课后答案.doc

上传人:人****来 文档编号:4362088 上传时间:2024-09-13 格式:DOC 页数:4 大小:27.50KB 下载积分:5 金币
下载 相关 举报
单片机课后答案.doc_第1页
第1页 / 共4页
单片机课后答案.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
6-1 简述中断、中断源、中断嵌套及中断优先级得含义。 答: 中断就是指计算机在执行某一程序得过程中,由于计算机系统内、外得某种原因而必须终止原程序得执行,转去完成相应得处理程序,待处理结束之后再返回继续执行被终止原程序得过程。中断源指向 CPU 提出中断申请得设备,包括中断请求信号得产生及该信号怎样被CPU 有效地识别,要求中断请求信号产生一次,只能被CPU 接收处理一次,即不能一 次中断申请被CPU 多次响应。当 CPU 正在执行中断服务程序时,又有中断优先级更高得中断申请产生,CPU 就会暂停原来得中断处理程序而转去处理优先级更高得中断请求,处理完毕后再返回原低级中断服务程序,这一过程称为中断嵌套、中断优先级指在实际应用系统中往往有多个中断源,且中断申请就是随机得,有时还可能会有多个中断源同时提出中断申请,但CPU 一次只能响应一个中断源发出得中断请求,CPU 响应哪个中断请求,就需要用软件或硬件安排一个优先顺序,即中断优先级排队。迈釤藶貴鉍賻纥。 6-2 MCS-51 单片机提供了几个中断源?有几级中断优先级别?各中断标志就是如何产生得又如何清除这些中断标志?各中断源所对应得中断矢量地址就是多少?鄆環鹂驪议骞輪。 答:(1)MCS-51 单片机提供了5 个中断源: INT0 、INT1 、T0、T1、串行口。 (2)MCS-51 系列单片机有两个中断优先级,每一个中断请求源均可编程为高优先级中 断或低优先级中断,从而实现两级中断嵌套。 (3)外部中断可以设置边沿触发或者电平触发,靠软件置位。边沿触发进入中断程序后硬件自动清中断标志。电平触发需要软件清除中断标志位,还需在中断响应后把中断请求信号引脚从低电平强制改变为高电平。風装鈷趸綺謔廈。 (4)定时器T0、T1 计数溢出产生中断,进入中断程序后由硬件自动清除标志位TF0 或TF1。 (5)串行口发送完成或者接收到数据就触发中断,由于就是两个中断标志共享一个中断向量,所以需要在中断程序里由软件判断就是发送中断还就是接受中断,并且只能由软件清除中断标志位。使用软件清除中断标志位得方法就是:蠣鑼凿胫櫻團滞。 CLR TI ;清TI 标志位 CLR RI ;清RI 标志位 (6)各中断源对应得中断矢量地址分别为: 中断源 中断矢量 外部中断 0 0003H 定时器T0 中断000BH 外部中断1 0013H 定时器T1 中断001BH 串行口中断0023H 定时器中断T2(仅52 系列有) 002BH 6-3 外部中断源有电平触发与边沿触发两种触发方式,这两种触发方式所产生得中断过程有何不同?怎样设定?纣迳瞞隕媽讲誥。 答: 采用中断电平触发方式时,中断请求标志IT0=0,CPU 在每个机器周期得S5P2 期间采样,一旦在P3、2( INT0 )引脚上检测到低电平,则有中断申请,使IE0 置位(置1),向CPU 申请中断。在电平触发方式中,在中断响应后中断标志位IE0 得清0 由硬件自动完成,但由于CPU 对P3、2( INT0 )引脚没有控制作用,使中断请求信号得低电平可能继续存在,在以后得机器周期采样时又会把已清0 得IE0 标志位重新置1,所以,戩脛鵬癤鍥蔷帧。 在中断响应后必须采用其它方法撤消该引脚上得低电平,来撤除外部中断请求信号,否则有可能再次中断造成出错。采用边沿触发方式时,IT0=1,CPU 在每个机器得S5P2 期间采样,当检测到前一周期为高电平,后一周期为低电平时,使标志IE0 置1,向CPU 申请中断,此标志位一直保持到CPU 响应中断后,才由硬件自动清除。在边沿触发方式中,为保证CPU 在两个机器周期内检测到由高到低得负跳变,高电平与低电平得持续时间不得少于一个机器周期得时间。诜旧赚氌糧輸樞。 6-5 MCS-51 中断响应时间就是否固定?为什么? 答: MCS-51 中断响应时间不固定。对一个单一中断系统,MCS-51 单片机对外部中断请求得响应时间在3—8 个机器周期。外部中断得最短得响应时间为3 个机器周期,其中中断请求标志位查询占1 个机器周期,而这个机器周期恰好又就是处于指令得最后一个机器周期,该指令结束后中断即被响应,CPU 接着执行子程序调用指令LCALL 转到相应得中断服务程序入口,需2 个机器周期,所以,外部中断响应最短时间为3 个机器周期。外部中断响应得最长时间为8 个机器周期:发生在CPU 进行中断标志查询时,刚好就是开始执行RETI 或就是访问IE 或IP 得指令,则需把当前指令执行完再继续执行一条指令后,才能响应中断,最长需2 个机器周期。接着再执行一条指令,按最长指令(乘法指令MUL与除法指令DIV)来算,也只有4个机器周期。加上硬件子程序调用指令LCALL得执行,需要2 个机器周期。所以,外部中断响应最长时间为8 个机器周期。对于多级中断系统,响应时间无法计算。鳔價噓纯隸泼庑。 7-1 定时/计数器有哪些特殊功能寄存器,它们有几种工作方式?如何设置? 答:(1)定时/计数器控制寄存器(TCON)、工作方式寄存器(TMOD)。 (2)定时/计数器T0 与T1 有四种不同得工作方式:方式0、方式1、方式2、方式3。 (3)4 种工作方式由TMOD 中得M1 与M0 两位决定。 当 TMOD 中M1M0=00 时,定时/计数器选定方式0 进行工作。 当 TMOD 中M1M0=01 时,定时/计数器选定方式1 进行工作。 当 TMOD 中M1M0=10 时,定时/计数器选定方式2 进行工作。 当 TMOD 中M1M0=11 时,定时/计数器选定方式3 进行工作。 7-2 如果采用晶振得频率为3 MHz,在定时/计数器工作方式0,1,2 下,其最大得定时时间分别为多少?讥痨峡鴰點釋濤。 答:晶振得频率fOSC=3MHz时,机器周期为Tcy=12×(1/3MHz)=4μs。 (1)方式0 为13 位定时/计数器,计数值N = 213 – x = 8 192 x。计数初值x就是由TH0 与TL0设定得初值。x = 0 时为最大计数值8 192,即计数范围为1~8 192(213)。定时时间为Td =(8 192 x) × Tcy。最大定时时间为x=0 时,Td =32768μs=32、768ms。师鹵轺丽駭匦响。 (2)方式1 为16 位定时/计数器,计数值N = 216 – x = 65536 x。计数初值x就是由TH0 与TL0设定得初值。x = 0 时为最大计数值65 536,即计数范围为1~65 536(216)。定时时间为Td = (65536 x) × Tcy。最大定时时间为x=0 时,Td =262144μs=262、144ms。鲡痺鑰讜飪涝锊。 (3)方式2 为8 位自动重装初值定时/计数器,计数值N = 28 – x = 256 x。计数初值x就是由TH0 与TL0 设定得初值。x = 0 时为最大计数值256,即计数范围为1~256(28)。定时时间为Td = (256 x) × Tcy。最大定时时间为x=0 时,Td =1024μs=1、024ms。蕭偵椏詬嶸熒諄。 7-5 采用定时/计数器T0 对外部脉冲进行计数,每计数100 个脉冲后,T0 转为定时工作方式。定时1 ms 后,又转为计数方式,如此循环不止。假定MCS-51 单片机得晶体振荡器频率为6 MHz,请使用方式1 实现,要求编写出程序。顴臘侦糝歲鉞颧。 答:编写程序如下: ORG 0000H START: CLR TR0 MOV TMOD, #05H MOV TH0, #0FFH MOV TL0, #9CH ;计数器初始化 S0: JBC TF0, NEXT SJMP S0 NEXT: CLR TR0 MOV TMOD, #01H MOV TH0, #0F8H MOV TL0, #30H ;定时器初始化 SETB TR0 S1: JBC TF0, START SJMP S1 END 7-9 利用定时/计数器T0 产生定时时钟,由P1 口控制8 个指示灯。编一个程序,使8 个指示灯依次一个一个闪动,闪动频率为20 次/秒(8 个灯依次亮一遍为一个周期)。罷癫诈搀垒鲎埘。 答:采用晶体振荡器频率为12MHz,每个灯得闪烁周期就是50ms,采用工作方式1。 ORG 0000H AJMP START ORG 000BH AJMP TIME0 ORG 0030H START: MOV SP, #5FH MOV R7, #0FEH MOV TMOD, #01H ;T0在工作方式1 MOV TH0, #3CH MOV TL0, #0B0H SETB EA SETB ET0 SETB TR0 S0: AJMP S0 ;此处放任意程序段 TIME0: PUSH ACC PUSH PSW MOV P1, R7 MOV A, R7 RL A MOV R7, A MOV TH0, #3CH MOV TL0, #0B0H POP PSW POP ACC RETI END 7-12 简述特殊功能寄存器SCON,TCON,TMOD 功能。 答:(1)SCON 就是MCS-51 得一个可位寻址得特殊功能寄存器,用于串行数据通信得控制、监视串行口得工作状态。苌碼廢瓯劉镡锭。 (2)TCON(定时/计数器控制寄存器)就是1 个8 位寄存器,它不仅参与定时/计数器控制,还参与中断请求控制。哔捞诼竞蕭顙繯。 (3)TMOD(工作方式寄存器)用来设定定时/计数器T0 与T1 得工作方式与选定定时还就是计数以及门控INT0 非信号。錳绗澜凜齑詡请。 7-19 若晶体振荡器为11、059 MHz,串行口工作于方式1,波特率为4 800 bps,写出用T1作为波特率发生器得工作方式控制字与计数初值。阶虧饴籟櫸润撈。 答:(1)T1 得工作方式控制字按照定时/计数器得工作方式寄存器(TMOD)定义,TMOD 得D7~D4 位就是定时/计数器T1 得工作方式控制位。T1 作为波特率发生器时,其工作方式应为定时器方式2(8 位自动再装入方式)模式。即,TMOD 得D7~D4 位设置应为:D7 位(GATE):应为0。即T1 定时/计数时间到(TR1=1)就可重新启动T1 工作,与INT1 无关。D6 位(C/T):应为0。将T1 设为定时器功能。D5~D4 位(M1M0):应为10。M1M0=10,T1 工作在方式2,即8 位自动再装入方式。貢铽苏芜芻祯巅。 因此,TMOD 得D7~D4 设置应为:0010B。而 TMOD 得D3~D0 位就是定时/计数器T0 得工作方式控制位,与本题无关,设为:0000B。所以,定时/计数器得工作方式寄存器(TMOD)控制字应为:0010 0000 B,即:20H。铀撿巋虏偉郑镕。 (2)T1 得计数初值依题意,晶体振荡器为11、059 MHz,串行口工作于方式1,波特率为4 800 bps。查表7-6 知:T1 作为波特率发生器,应采用工作方式2,计数初值为:FAH。頃钍頰逦择襖產。 (3)可用如下代码实现上述初始化。 MOV TMOD, #20H ;置定时/计数器工作方式 MOV TH1, #0FAH ;装入定时/计数初始预置值 MOV TL1, #0FAH ;装入定时/计数初值 SETB TR1 ;启动T1 定时/计数 MOV SCON, #50H ;设置串行口控制字 其中,SCON 就是串行口控制寄存器,串行口控制字设为50H 得结果就是:串行口工作方式为方式2,9 位通用异步接收器/发送器,固定波特率,允许串行接收。兩嶠肿儔层謾鎢。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

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

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

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

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

gongan.png浙公网安备33021202000488号   

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

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

客服