- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机-05-中断系统.ppt
一、中断系统 程序编写步骤 例1、 设8051外部中断源接引脚 /INT0,中断触发方式为电平触发,优先级为高;试编制8051中断系统的初始化程序。 解:采用位操作指令实现(也可以采用传送指令和逻辑指令)。 SETB EA ; 开总中断 SETB EX0 ; 开中断 SETB PX0 ; 设置为高优先级 CLR IT0 ; 设置为电平触发方式 例2、设P1.4 – P1.7输入外部4个开关状态,/INT0引入外部中断信号,负脉冲方式触发。要求每中断一次,从P1.0 – P1.3输出开关状态。 ORG 0000H SJMP MAIN ORG 0003H AJMP INT0 ORG 0030H MAIN: SETB IT0 SETB EX0 SETB EA SJMP $ 例3、要求每次按动按键,使外接发光二极管改变一次亮灭状态。 解:INT0输入按键信号,P1.0输出改变LED状态。 ORG 0000H AJMP MAIN ORG 0003H ;中断入口 AJMP PINT0 ORG 0100H ;主程序 MAIN:SETB EA ;开总允许开关 SETB EX0 ;开INT0中断 SETB IT0 ;负跳变触发中断 Here: SJMP Here ORG 0200H ;中断服务程序 PINT0:CPL P1.0 ;改变LED RETI ;返回主程序 例5-4、出租车计程:设车轮每转产生一个负脉冲,从外部中断INT0 (P3.2)引脚输入,行驶里程为轮胎周长×运转圈数,设轮胎周长2m,试通过编程实时计算出租车行驶里程(m),数据存入32H, 31H, 30H中。 例5、用定时器T1对P3.5(T1)引脚输入的脉冲数计数,每计满100个脉冲,在P1.0引脚输出一个正脉冲。 取方式2,计数方式,TMOD = = 60H 计数初值 = 28 – 100 = 156 = 9CH 例6、利用软件扩展方法实现1s定时,使由P1口控制的8个发光二极管每隔1s轮流闪亮。设主频为6MHz。 最大定时时间 = 216×2us =131.072ms 取T0方式1,定时50ms。用R2作软件计数器,初值20,每次溢出则R2减一,减至0时则定时为50ms×20=1s。 控制字TMOD=01H, 初值=216-(50000/2)=40536=9E58H ORG 0000H SJMP MAIN ORG 001BH AJMP DVT1 ORG 0030H MAIN: MOV TMOD, #60H MOV TH1, #9CH MOV TL1, #9CH SETB ET1 SETB EA CLR P1.0 SETB TR1 SJMP $ DVT1: SETB P1.0 NOP NOP CLR P1.0 RETI ORG 0000H SJMP MAIN ORG 000BH AJMP DVT0 ORG 0030H M
文档评论(0)