功能表图在单片机编程中的应用方法

来源 :硅谷 | 被引量 : 0次 | 上传用户:zjm2190
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要 介绍功能表图中典型序列结构在C语言中的表达方法、软件定时器的用法及其功能表图的表达、基于状态机思想的单片机主程序架构以及应用实例。使用该文方法编程可使程序更易于模块化和更便于修改,可提高单片机运行效率和系统的实时性。
  关键词 功能表图;单片机;编程;程序设计
  中图分类号:TP313 文献标识码:A 文章编号:1671—7597(2013)031-114-03
  功能表图也称顺序功能表图或称状态转移图,它是描述控制系统过程、功能和特征的一种图形。功能表图作为一种控制系统的设计工具包含了状态机的思想。它在较复杂的PLC程序设计中的应用已充分显示出优越性。利用功能表图设计PLC程序不仅明显提高设计效率,而且设计的程序可读性好、便于调试和修改。笔者在单片机编程中使用功能表图法同样获得很好的效果。
  该文的程序例均用Keil C51语言编写。
  1 概念说明
  为了实际使用的便利我们对功能表图的某些概念做更具体的说明。
  1)关于“步”:步是控制系统中一个相对不变的状态。这里所指的系统状态在物理上通常是由控制器的输出所决定。所以“步”总是与特定的输出联系在一起的。在以单片机为中心的控制器中,从广义角度看,“输出”可以是对单片机端口的赋值,可以是对一个标志变量的赋值,也可以是调用一个数据处理子程序。如果一个步不涉及端口赋值,那么这个步是一个虚拟意义上的步,我们称之为虚步。
  2)关于“转换条件”:当转换条件由多个条件组成时,我们可以将它们划分为预备条件和触发条件。预备条件即预先需准备好的条件。触发条件即为转换发生的“点火”条件。在编程时我们将预备条件放在内层判断,将触发条件放在外层判断。这样安排的好处是:当触发条件不成立时不需要对预备条件进行无效的重复判断,以节约单片机的程序执行时间。
  3)关于“路”的定义:如果一个序列中最多只有一个步活动则这个序列称为一路。同一路中不同的步不能同时活动。不同路的步可以同时活动。只有一个步的序列,称为单步路。我们可以设计多路结构的程序以完成多任务操作。在C语言程序中我们用一个无符号单字节型变量表示同一路各步的进展,这样从形式上保证同一路不会出现二个以上步同时活动。
  2 功能表图的C语言表达
  2.1 单序列的C语言表达
  图1为第1路第i步到第m步单序列的功能表图。
  4 基于状态机思想的单片机主程序架构
  图6显示的主程序流程图是一种基于状态机思想的主程序架构。其的特点是单大循环、模块化、按步无等待轮询。
  输入查询模块将端口值输入到内存变量,后续要引用的端口输入改为引用对应的内存变量。这样安排是保证同一扫描周期内的输入变量值保持不变。前公共处理模块用于处理预先要处理的非步内事务,以及来自中断服务程序的消息(标志)所触发的事务。后公共处理模块用于处理下一扫描周期开始前需要处理的非步内事务,如保存本次扫描的端口输入值,以便检测该输入的跳变情况。各路模块是指各路序列对应的程序模块。各种中断服务程序处理强实时性事务。中断服务中如有耗时长且实时性要求不高的事务,应该使用标志,将此类事务引到主程序中处理。
  5 应用实例
  举一个简单的实例来进一步说明功能表图的使用方法。图7为一个单车道车辆闯红灯抓拍的功能表图。本例不考虑两车紧跟闯红灯、车辆检测器误动作及红灯故障等情况。停车线两侧埋有2个车辆检测器的地感线圈。车辆先进入线圈1再进入线圈2。对闯红灯的车辆需要抓拍3张照片作为违章证据。
  上述代码中,Capture()为抓拍子程序。TM1的定义及相关代码见3。51单片机定时器0做时标定时器,TM1计时单位为10ms。biSen1与biSen2分别为车辆检测器1和2的状态变量,=0为有车。biSen10为前一扫描周期的biSen1值。语句biSen10==1&& biSen1==0表示车辆检测器1输出为下降沿,即车辆进入线圈1时的车辆检测器1输出状态的变化。
  6 结束语
  该文探讨了功能表图在单片机编程中的应用方法。该方法已应用于产品开发的单片机编程中,实践表明使用该方法具有以下优点:1)可更清晰地描述编程思路,便于交流,减少疏漏。2)使程序更易于模块化,便于修改。3)可提高单片机的运行效率,增加系统的实时性。
  参考文献
  [1]GB/T 21654-2008顺序功能表图用GRAFCET规范语言.
  [2]GB/T 6988.6-93控制系统功能表图的绘制.
  [3]张惠生.控制系统功能表图在PLC程序设计中的应用研究[J].北京建筑工程学院学报,2003(12).
  [3]张俊.状态机思路在单片机程序设计中的应用[J].今日电子,2009(2).
  [4]贺海峰.基于消息的单片机编程方法[J].广西大学梧州分校学报,2005(01).
  作者简介
  陈红(1960-),男,汉族,硕士,工程师,研究方向:道路车辆抓拍系统、自动控制。
其他文献
本文通过对荣华二采区10
期刊
在当前的初中体育教学中已经广泛地将体育游戏应用于体育教学中,体育游戏内容和形式的多样性,能够将学生的运动积极性充分地调动起来,因而受到了学生的广泛喜爱。体育游戏将
摘 要: 听力课是一门重要的基础实践课,本文从教材选择、上课方法、课下训练等角度结合语言学家的教学理论和作者的实际教学经验,对如何上好听力课进行了阐述。  关键词: 大学英语 听力教学 教学选择 上课方法 课下训练    听力课是一门重要的基础实践课,这门课不同于综合英语、语法、阅读等课程。听力课是在语言实验室这一特定环境内进行的一种通过“听”的方式来学习英语,帮助学生进行听力技能训练,有计划地提
请下载后查看,本文暂不支持在线获取查看简介。 Please download to view, this article does not support online access to view profile.
期刊
摘 要 石油钻井生产是石油开采工作过程中十分重要的一个环节,而石油钻井机械设备是构成石油钻井生产的重要因素。石油钻井机械设备在正常的使用过程中,可能会受到外部各种因素的影响或者内部因素的影响而出现机械故障,从而影响正常的生产活动。本文通过分析钻井机械设备常见的故障和故障原因,提出相应的故障排除和维修方法,为减少和防止故障发生起到极大的促进作用。  关键词 钻井机械设备;故障;维修;维护;设备管理 
摘 要 本文结合工作实例,具体探讨Photoshop中抠图的使用方法、技巧及相关的注意事项。  关键词 抠图;Photoshop;图像编辑;合成  中图分类号:TP317 文献标识码:A 文章编号:1671—7597(2013)031-102-02  Photoshop是集图像编辑和合成于一体的图像处理软件,功能强大。应用最多的当属其抠图功能。在Photoshop中,我们可以通过多种方法进行抠图,
摘 要 本文以新乡市职业教育中心校园网为例,使用神州数码网络设备,介绍了中等职业学校校园网的基本服务需求,通过网络技术手段实现学生机房上网控制与办公用计算机的上网控制与管理。  关键词 校园网;控制上网;ACL;校园网管理  中图分类号:TP393 文献标识码:A 文章编号:1671—7597(2013)031-109-02  随着信息化办公服务需求的不断增长,现代教育技术在教学中的广泛应用,以及
近年来,随着经济的发展,我国居民生活水平逐渐提高,城市现代化建设也得到前所未有的发展。园林业的发展是美化城市居住环境,提高居民生活质量的重要促进因素。文章就居民小区
摘 要 随着经济技术的发展,带动了建筑行业的大规模兴起。土建工程施工状况会影响到建筑今后的使用质量。而目前,我国的土建工程施工过程中,仍然存在许多制约发展因素。本文从影响土建施工工程的质量因素出发,分析了提高土建工程施工质量的具体措施。  关 键 词 建筑土建工程;施工质量;质量控制  中图分类号:TU4 文献标识码:A 文章编号:1671—7597(2013)031-112-01  当前社会经济
摘 要 随着变频调速技术的不断发展,高压电动机采用变频调速技术进行调速运行的应用实例越来越多,特别是在火力发电厂生产辅机中,高压电动机为数众多,在数量和容量上占据主导地位。高压电动机采用变频调速控制技术既解决了电机软启动和实现无级调速、满足生产工艺需要的问题,又可以大幅节约能源,降低生产成本,是一举多得的好事情。  关键词 高压变频器;原理;应用  中图分类号:TN773 文献标识码:A 文章编号