第四章中断定时串行口例题习题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

中断定时/计数器串行口部分例题习题一、填空:1、单片机CPU和外设进行数据交换时常用的方式有无条件转换、查询方式、中断方式三种2、中断系统中共有INTO、INT1、T0、T1、串行口五个中断源,其中优先级最高的是INTO、优先级最低的是串行口。二、选择:1、6MHz晶振的单片机在定时工作方式下,定时器可能实现的最小定时时间是。A.1usB.2usC.4usD.8us’2、12MHz晶振的单片机在定时工作方式下,定时器可能实现的最小定时时间是。A.1usB.2usC.4usD.8us3、12MHz晶振的单片机在定时工作方式下,定时器可能实现的最大定时时间是。A.4096usB.8192uSC.1638usD.32768us4、以下所列特点,不属于串行工作方式0的是。A.波特率是固定的,为时钟频率的十二分之一B.8位移位寄存器C.TI和RI都须用软件清零D.在通信时,须对定时器l的溢出率进行设置5、通过串行口发送或接收数据时,在程序中应使用。A.MOV指令B.MOVX指令C.MOVC指令D.SWAP指令6、用MCS-51用串行扩展并行I/O口时,串行接口工作方式选择(A)(A)方式0(B)方式1(C)方式2(D)方式3答BADDAA三、判断题1.MCS-51单片机共有五个中断源,因此相应地在芯片上就有五个中断请求输入引脚。()2.当全局中断允许位EA=0时,系统将不响应任何中断。()3.在MCS-51单片机中,高级中断可以打断低级中断形成中断嵌套。()4.在一般情况下,MCS-51单片机允许同级中断嵌套。()5.只要有中断出现,CPU就立即响应中断。()6.MCS-51单片机定时工作方式0与定时工作方式l除了计数结构位数不同,别无差别。()7.除了低优先级中断不能打断高优先级中断的情况外,其他情况都能形成中断嵌套。()8.T0和T1都是减法定时器/计时器。()9.在定时工作方式2状态下,因为把TH作为预置寄存器,所以在应用程序中应当在有计数溢出时从TH向TL加载计数初值的操作。()10.中断初始化时,对中断控制寄存器的状态设置,只能使用位操作指令,而不能使用字节操作指令。()11.MCS-51单片机的定时和计数都使用同一计数机构,所不同的只是计数脉冲的来源。来自于单片机内部的是定时,而来自于外部的则是计数。()四、简答题:1、8051单片机提供了几个中断源?有几级中断优先级别?各中断标志是如何产生的?又如何清除这些中断标志?各中断源所对应的中断矢量地址是多少?答:8051单片机提供了5个中断源:两个外部INTO和INT1中断源,两个定时片内定时器T0和T1溢出中断源,一个片内全双工串行口中断源.提供了高、低两个中断优先级、能实现两级中断服务程序嵌套,同一个优先级里,由硬件查询来确定优先序列。各中断源请求中断的标志分别由特殊功能寄存器TCON、SCON的相应位锁存,这些标志位的产生和清除方式如下:IE0(TCON.1)外部中断0请求标志.当INTO出现有效的中断请求信号时,硬件使IE0置位.在边沿触发方式时,当CPU响应IE0中断后,由硬件清除IE0。IE1(TCON.3)外部中断1请求标志.置位复位方式与IE0相同。TF0(TCON.5)T0溢出中断请求标志。每当T0计数器加1计数到溢出时,TF0=1。CPU响应TF0中断,硬件清除TF0。也可以由查询软件清除TF0。TF1(TCON.7)T1溢出中断请求标志。置位复位方式与TF0相同。R1(SCON.0)串行口接收中断请求标志。当串行口接收器收到一个串行帧,R1=1。CPU响应R1中断,硬件并不清除R1,R1必须由软件清0。T1(SCON.1)串行口发送中断请求标志.将8位数据写入SBUF后,发送完一个串行帧,T1=1.CPU响应T1中断,硬件并不清除T1,T1必须由软件清0.各中断源对应的矢量地址如下:外部中断0:0003H定时器T0:000BH外部中断:0013H定时器T1:001BH串行口接收和发送:001BH2.为什么定时器T1用作串行口波特率发生器时,常选用工作模式2?若已知系统时钟频率和通信用的波特率,如何计算其初值?答:因为工作模式2是自动重装初值定时器,编程时无需重装时间参数(计数初值),比较实用。若选用工作模式0或工作模式1,当定时器T1溢出时,需在中断服务程序中重装初值。3、MCS-51单片机内有两个16位加1定时/计数器,可通过编程实现4种工作方式。7.8031单片机定时/计数器有哪几种工作方式?答:1)、8031单片机模式0、1、2、3等4中定时/计数方式。模式0为13位定时/计数方式;模式1为16位定时/计数方式;模式2为8位循环定时/计数方式;模式3为2个8位定时/计数方式。定时器T0和T1各有几种工作方式?(8分)答:T0有4种工作方式,T1有3种工作方式,见表面4.4所述。表4.4定时器的工作方式4.已知8031单片机晶振频率是12MHz,定时器T1最长定时时间是多少?如果8031单片机晶振频率是6MHz,定时器T1最长定时时间又是多少?答:为实现最长的定时时间,定时/计数器应选工作方式1。①当晶振频率为12MHz时,机器周期为1µs,当初值=0时达到最大定时:定时时间为:MT)-16(2t初值=(216-0)×1µs=65536µs=65.536ms②当晶振频率为6MHz时,机器周期为2µs,当初值=0时达到最大定时:定时时间为:MT)-16(2t初值=(216-0)×2µs=131072µs=131.072ms5、MCS-51单片机系统时钟为12MHZ,试利用定时/计数器0控制每隔200S从P1.6口输出1个4S低电平脉冲。(本题20分)答:1)、定时/计数器的模式选定(此部分2分)由于8位定时时间为256s,因此,将定时/计数器0设置为模式2(8位自动重装载方式)。设置定时200s。2)、控制字设置(此部分3分)TMOD=****0110B3)、时间常数确定(此部分3分)工作方式适用定时器功能说明方式0方式1方式2方式3T0、T1T0、T1T0、T1T013位的定时器/计数器16位的定时器/计数器自动重新装入计数初值的8位的定时器/计数器分为两个8位计数器TL0和TH0。TL0可工作于定时或计数状态,TH0则固定为定时状态。方式3对T1则停止计数TX)-(21218=12106HZ,T=20010-6S代入,得X=256-200=156=9CH初值设置为:TH0=TL0=#09CH4)、程序设计主程序(此部分6分)ORG0000H;系统复位入口AJMP0100H;系统主程序从0100H开始ORG000BH;定时器0中断入口AJMP0500H;定时器0中断服务程序放在0500H处ORG0100HMOVSP,#30H;置栈顶MOVTH0,#9CH;设置定时器初值MOVTL0,#9CH;MOVTMOD,#06H;设置定时器0为模式2SETBTR0;启动定时器0SETBET0;允许定时器0中断SETBEA;开系统中断SETBP1.6。。。。。。。。。中断服务程序(此部分6分)ORG0500HT200US:PUSHPSW;栈保护CLRP1.6;P1.6输出低电平NOP;延时4sNOPNOPSETBP1.6;P1.6输出高电平POPPSWSETBET0;开中断RETI6、MCS-51单片机系统时钟为6MHZ,试利用定时/计数器0控制每隔200S从P1.6口输出1个8S低电平脉冲。(本题20分)答:1)、定时/计数器的模式选定(此部分2分)由于8位定时时间为256s,因此,将定时/计数器0设置为模式2(8位自动重装载方式)。设置定时200s。2)、控制字设置(此部分3分)TMOD=****0110B3)、时间常数确定(此部分3分)TX)-(21218=6106HZ,T=20010-6S代入,得X=256-100=156=9CH初值设置为:TH0=TL0=#09CH4)、程序设计主程序(此部分6分)ORG0000H;系统复位入口AJMP0100H;系统主程序从0100H开始ORG000BH;定时器0中断入口AJMP0500H;定时器0中断服务程序放在0500H处ORG0100HMOVSP,#30H;置栈顶MOVTH0,#9CH;设置定时器初值MOVTL0,#9CH;MOVTMOD,#06H;设置定时器0为模式2SETBTR0;启动定时器0SETBET0;允许定时器0中断SETBEA;开系统中断SETBP1.6。。。。。。。。。中断服务程序(此部分6分)ORG0500HT200US:PUSHPSW;栈保护CLRP1.6;P1.6输出低电平NOP;延时6sNOPNOPNOPNOPSETBP1.6;P1.6输出高电平POPPSWSETBET0;开中断RETI7.单片机系统时钟6MHZ,利用定时/计数器0实现2ms定时,如何设置时间常数?答:1)、定时/计数器0设置为模式0,13位方式,TMOD=#XXXX0000B2)、时间常数设置如下TX)-(212113即T=210-3S,=6106MHZ,代入得得X=7192(完成以上工作得4分)3)、X=7192=1C18H=0001110000011000B,取后13位为1110000011000B,高8位送TH0=0E0H,TL0取低5位,TL0的高3位无效,以000补齐,TL0=18H,即TH0=0E0H,TL0=18H(若不选择模式0而采用其它模式完成,得3分)1、单片机系统时钟12MHZ,利用定时/计数器0实现1ms定时,如何设置?答:1)、定时/计数器0设置为模式0,13位方式,TMOD=#XXXX0000B2)、时间常数设置如下TX)-(212113即T=110-3S,=12106MHZ,代入得X=7192=0E018H即TH0=#0E0H,TL0=#18H8、应用单片机内部定时器T0工作在方式1下,从P1.0输出周期为1ms的方波脉冲信号,已知单片机的晶振频率为6MHZ。请(1)计算时间常数X,应用公式X=216-t(f/12)(2)写出程序清单解:解:X=216-t(F/12)=216-1*10-3*6*106/12=OFEOCHORG3000HSTART:MOVTMOD,#01HMOVTL0,#OCHMOVTHO,#OFEHSETBTR0LOOP:JBCTFO,DONESJMPLOOPDONE:MOVTL0,#OCHMOVTHO,#OFEHCPLP1.0SJMPLOOP9、应用单片机内部定时器T0工作在方式1下,从P1.0输出周期为2ms的方波脉冲信号,已知单片机的晶振频率为6MHZ。请(1)计算时间常数X,应用公式X=216-t(f/12)(2)写出程序清单解:X=216-t(F/12)=216-1*10-3*6*106/12=OFEOCHORG3000HSTART:MOVTMOD,#01HMOVTL0,#OCHMOVTHO,#OFEHSETBTR0LOOP:JBCTFO,DONESJMPLOOPDONE:MOVTL0,#OCHMOVTHO,#OFEHCPLP1.0SJMPLOOP10.图示为一个自动包装系统。单片机系统时钟为6MHZ,试编制一个计数程序,对T1口的脉冲数进行监测,每200个脉冲,继电器J状态改变1次。(本题20分)题二.4图答:解:(1)、分析(此部分5分)设置定时/计数器1(若使用0,扣2分)为计数状态,选择工作模式2。即控制字TMOD=0110****B(此部分5分)时间常数为TL1=TH1=256-200=56(此部分5分)(2)、程序设计如下:(此部分10分)ORG0000HAJMP0100HORG000BHAJMP0400HORG0100HMAIN:。。CLRTMOD.4;SETBTMOD.5;SETBTMOD.6;CLRTMOD.7;MOVTL1,#156MOVTH1,#156SETBTR1;启动定时器1SETBET1;允许定时器1中断SETBEA;开系统中断。。ORG0400HCLRE

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功