第4章常用控制程序设计正式.ppt

  1. 1、本文档共76页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 常用控制程序设计 ;4.1 巡回检测程序设计 ;4.1.1 概述 ;6.2.2 巡回检测举例 ;1. 利用8位A/D转换芯片(ADC0806);系统的硬件电路介绍: ;本程序由系统初始化程序和中断程序组成。初始化程序完成中断向量和定时器初值的设定;中断程序完成数据采样工作,实现对8个通道的巡回检测。 初始化程序功能:设置定时器0、外部中断0和外部中断1的中断程序入口;设置定时器0的工作方式为方式1,定时时间为100ms;设置计数单元(30H)初值。 初始化程序流程框图如图6-6所示。;初始化程序清单: ; MOV TL0,#0B0H ;定时器初值设定 MOV 30H,#00H ;置计数初值 SETB IT0 ;中断请求信号为脉冲方式 SETB IT1 ;中断请求信号为脉冲方式 SETB EX0 ;外部中断0中断允许 SETB ET0 ;定时器0中断允许 SETB EA ;开中断 SETB TR0 ;启动定时器 HERE:AJMP HERE ;等待中断;定时器中断程序流程框图如图6-10所示。;定时器中断程序程序清单: ;数据采样程序流程框图如图6-11所示。;数据采样程序程序清单: ;SETB 00H ;置标志位 INC DPTR ;通道号加1 INC R0 INC R0 INC R0 INC R0 INC R0 ;45H为下一通道采样数据存放首址 DJNZ R6,#TRAN_S ;8个通道采样未完,继续采样 MOV DPTR,#0F00H ;8个通道采样结束,重置通道初值 INC R0 ;修改采样数据存放地址 DJNZ R7,TRAN_S ;未完成5次采样,继续 … ;数据处理程序 …. RETI ;2. 采用12位A/D转换芯片(AD574A) ;图6-15 AD574A A/D转换程序流程框图;D574A A/D转换程序清单: ;中断服务程序清单:;6.2 上下限报警处理程序设计 ;; … …. CLR C ;清进位标志位 MOV A,Amax ;读上限报警值 SUBB A,SAMP ;判断是否超过上限报警值 JC UPPER ;超过上限,转报警处理程序 MOV A,Amin ;读下限报警值 SUBB A,SAMP ;判断是否超过下限报警值 JNC LOWER ;超过下限,转报警处理程序 … … UPPER: 超上限处理程序。 LOWER: 超下限处理程序。 ;例6-4 设计一报警处理程序。只有采样值连续3次异常时,系统才进行报警处理。 报警程序流程框图如图6-23所示。;;报警程序清单:;CLR FLAG ;采样正常,清采样异常标志位 AJMP RETU ABNORMAL: JB FLAG,ABNOR_L ;上次采样异常,转ABNOR_L MOV NUM,#03H ;上次采样正常,重置允许连续异常次数 SETB FLAG ;置位采样异常标志位 AJMP RETU ABNOR_L: MOV A,NUM ;读允许连续采样异常次数 JZ ALARM ;允许采样异常次数=0,执行报警处理程序 DEC NUM ;允许采样异常次数≠0,允许采样异常次数减1 SETB FLAG ;置位采样异常标志位 AJMP RETU ALARM1: ... ;报警处理程序 ... RETU: RET ;4.3 定时程序设计 ;6.7.1 软件定时程序 ;如取N=166(0A6H),上述简单软件定时程序的定时时间就是1ms,如果需要250ms的定时时间,则所需的外循环的次数为250(0FAH)。程序如下: DELAY250: MOV R6,#0FAH ;置外循环次数 DELAY1: MOV R7, #0A6H ;置内循环次数 NOP ;空操作指令 D1: NOP DJNZ R7,D1 ;内循环未结束,继续 DJNZ R6,DELAY1 ;外循环未结束,继续 RET ;6.7.2 硬件定时程序;;;程序设计;;;;中断服务程序分以下几部分。 ;计数器T1计数中断程序清单: ;外部中断0中断程序流程如图6-34所示。;外部中断0中断程序清单: ;INC HUR ;60分到,小时存储单元加1 MOV MIN,#00H ;小时存储单元清0 M_SHOW: ACALL HTOBCD ;调用16进制数转化为BCD码子程序 ACALL DISP ;调用显示子程序,显示分 MOV A,HUR CJNE A,#18H,H_SHOW ;判断是否到24小时 MOV HUR,#00H ;24小时到,小时存储单元清0 H_

文档评论(0)

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

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

1亿VIP精品文档

相关文档