中断服务子程序.PPT

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 系统实用程序 10.1 程序和子程序的概念 ? 主程序:单片机系统控制程序的主框架,是一个顺序执行的无限循环的程序,运行过程必须构成一个圈。 参见P235 图10-1 主程序结构 ?? 子程序:可反复调用的功能模块。利用子程序可以简化程序的逻辑结构,便于模块化。 编程时要注意主程序和子程序间参数传递和子程序现场保护的问题。 中断服务子程序:注意其与子程序调用过程的不同,中断是随机的。 10.2 简单控制程序 例 10-3:航标灯控制程序 用MCS-51单片机的定时器和中断功能试制一个“航标灯”。设fosc=12MHz,具有如下功能: ①航标灯在黑夜应能定时闪闪发光,设定时间间隔为2s,即亮2s,熄灭2s,并以此为周期循环。 ②当白天到来时,航标灯应熄灭,停止定时器工作。 该实例采用了: 定时器与软件计数相结合产生较长定时时间的方法 中断与查询相结合的方法 两级中断嵌套的方法 ? 解: 1、8051定时器的启、停信号由/INT0来控制。 2、采用定时加软件计数的方法实现定时2s。 3、利用光敏三极管来区分白天和黑夜。 设T0定时50ms,模式1,初值X=3CB0H; R7软件计数=40。 主程序: ORG 0000H AJMP MAIN ORG 0003H AJMP WBINT ORG 000BH AJMP T0INT ORG 0100H MIAN: MOV SP,#30H CLR P1.7;灯的初态为灭 CLR IT0 ;电平触发 CLR PX0 ;低级别 SETB EX0 SETB EA HERE: AJMP HERE 10.3 数据处理程序 排序程序 数字滤波程序 标度变换 对于随机干扰,可以使用软件对采集的多个数据进行排序,将干扰数据通过排序“挤到”两边,再取中间的无干扰数据。 INT0中断服务程序: WBINT:MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3CH SETB PT0 ;高级别 SETB TR0 SETB ET0 MOV R7,#40H HERE1: JNB P3.2,$;为低(黑夜),等待T0中断 CLR ET0;为高禁止T0中断 CLR TR0; 关T0 CLR P1.7;熄灯 RETI T0中断服务程序: T0INT: MOV TL0,#0B0H MOV TH0,#3CH DJNZ R7,EXIT MOV R7,#40H;2s到,重赋值 CPL P1.7;控制灯闪烁 EXIT: RETI END 瞬间波峰干扰示意图 采集周期

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档