单片机应用技术项目化教程(C语言版).pptVIP

单片机应用技术项目化教程(C语言版).ppt

  1. 1、本文档共318页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

TI/RI:串行口发送/接收中断申请标志位=0:没有串行口发送/接收中断申请=1:有串行口发送/接收中断申请。SCON的高6位用于串行口工作方式设置和串行口发送/接收控制。由硬件自动置位,必须由用户在中断服务程序中用软件清串行口控制寄存器SCON位地址9FH9EH9DH9CH9BH9AH99H98HSCONSM0SM1SM2RENTB8RB8TIRIEA(EnableAll)总中断允许标志ES(EnableSeries)串行口允许标志ET0、ET1(EnableTimer)定时器/计数器溢出中断标志EX0、EX1(EnableeXternal)外部中断允许标志上述中:“1”表示允许中断,“0”表示屏蔽中断。IE(InterruptEnable)中断允许寄存器IP(Interruptpriority)中断优先权控制寄存器(B8H)PS:串行口中断优先级控制位PT0、PT1:定时器/计数器中断优先级控制位PX0、PX1:外部中断优先级控制位上述中:“1”表示高优先级,“0”表示低优先级。CPU响应中断必须首先满足以下三个基本条件。①有中断源发出中断请求。②中断总允许位EA=1。③请求中断的中断源的中断允许位为1。在满足以上条件的基础上,若有下列任何一种情况存在,中断响应都会受到阻断。①CPU正在执行一个同级或高优先级的中断服务程序。②正在执行的指令尚未执行完。③正在执行中断返回指令RETI或者对专用寄存器IE、IP进行读/写的指令。CPU在执行完上述指令之后,要再执行一条指令,才能响应中断请求。三中断处理过程中断过程包括中断请求、中断响应、中断服务、中断返回四个阶段。中断请求:中断源将相应请求中断的标志位置“1”,表示发出请求,并由CPU查询。中断响应:在中断允许条件下相应中断。断点入栈→撤除中断标志→关闭低同级中断允许→中断入口地址送PC。这些工作都是由硬件自动完成的。中断服务:根据入口地址转中断服务程序,包含保护现场、执行中断主体、恢复现场。中断返回:执行中断返回RETI指令→断点出栈→开放中断允许→返回原程序。中断请求的撤除定时器溢出中断请求的撤除CPU在响应中断后,硬件会自动清除中断请求标志TF0或TFl。串行口中断的撤除在CPU响应中断后,硬件不能清除中断请求标志TI和RI,而要由软件来清除相应的标志。外部中断的撤除外部中断为边沿触发方式时,CPU响应中断后,硬件会自动清除中断请求标志IE0或IEl。外部中断为电平触发方式时,CPU响应中断后,硬件会自动清除中断请求标志IE0或IEl,但由于加到INT0或INT1引脚的外部中断请求信号并未撤除,中断请求标志IE0或IEl会再次被置1,所以在CPU响应中断后应立即撤除INT0或INT1引脚上的低电平。一般采用加一个D触发器和几条指令的方法来解决这个问题。四单片机中断应用定时计数器在应用中往往采用中断方式进行处理,常常作为一个时间基,通过中断提供不同时间分割,提供不同定时需求。对定时计数器的应用初始化除了需要最基本的定时相关工作配置,还需要对定时中断进行配置。具体步骤:①定时计数器工作模式配置。根据需要,选择定时计数器及其工作方式。②计算初始值,并赋值。计算方法详见项目三。③清除标志位。④开定时器中断,并开放总中断位。⑤根据需要开启运行定时计数器。为了能使单片机在执行主程序过程中能响应中断,就必须先对使用中断的相关寄存器进行初始化。1.初始化TMOD=0x01;//设置定时器T0,工作模式1,内部控制运行方式TH0=0x3C;//TL0=0xB0;//赋初始值TF0=0;//清标志位ET0=1;//运行定时器0中断EA=1;//开总中断TR0=1;//运行T0若采用定时器计算1s,那么定时器最大定时65ms,显然不能满足要求,可以通过间接方式显示,20*50ms=1000ms。定时器采用T0,工作方式1.则上述步骤程序对应为如果一个按键采用外部中断0,则中断初始化程序如下:IT0=0;//设置INT0为下降沿触发EX0=1;//允许外部中断0EA=1;//开发所有中断2.中断服务程序(1)中断服务程序入口。

文档评论(0)

139****1983 + 关注
实名认证
文档贡献者

副教授、一级建造师持证人

一线教师。

领域认证该用户于2023年06月21日上传了副教授、一级建造师

1亿VIP精品文档

相关文档