51单片机DIY做PLC编程精编版.pdfVIP

  1. 1、本文档共10页,可阅读全部内容。
  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文档。上传文档
查看更多
……………………………………………………………最新资料推荐………………………………………………… 51 单片机 DIY 做 PLC 编程 有朋友想定制一个净水机控制器, 有一些独特的功能要增加, 但是商品控制板没有这样的功 能, 问我能否做一个, 我觉得单片机完全能满足这种简单的控制需要, 上手开始编程序时候 突然感到,用 PLC 逻辑编这种功能是非常简单轻松的,而如果用汇编或 C 编却感觉有点棘 手,编程效率不高,所以想为何不在单片机上实现 PLC 的逻辑呢? 上网搜索尝试看能否找到合适的程序下载来稍微改改就能用的呢?方案几年前就有了, 实际 上是利用三菱的低档 PLC 编程软件编辑好梯形图,存盘后用专用的格式转换工具转换成 HEX 单片机烧写文件烧进去, 尝试下载三菱 PLC 工具软件, 但是在我的 WIN7-64 位系统上 不能正常工作, 好容易换了系统装好开发工具, 但是初次上手这款开发工具, 界面挺复杂的, 懒得研究各个按钮的使用,由于是单片机的硬件,对于程序的编制和转换有很多限制条件, 否则是转换不成功的,嫌麻烦,放弃! 某宝倒是有百元 PLC 板出售,但是为了这么个简单的东西专门买个全功能板子有点浪费, 而且其编程软件仍然是三菱的盗版软件,算了,再想办法把。 由于工作中经常接触 PLC 程序,对其工作原理也略知一二,网上也有相关的说明介绍,其 实就是三个主要步骤,第一步扫描 IO 输入,第二步执行逻辑,第三步输出逻辑到 IO ,很简 单的,最早 PLC 也是用单片机实现的,我为何不用汇编在 51 上搭建一个架构,简单的逻辑 编制进去就能运转呢? 其中逻辑执行步骤还是有点意思的,需要把 PLC 逻辑翻译成单片机的汇编语言执行,这块 开始也没有把握,后来搜索到一篇百度文章,介绍了一下三菱 PLC 逻辑是如何翻译成汇编 的,我看了下估计其实是利用反汇编工具把 HEX 反编译成的 ASM 代码,并不清晰明了, 而且还带着反汇编时候的行号,仅供参考了。 搜索结果中也有几篇论文, 涉及到在 51 单片机上实现 PLC 逻辑的内容, 但是那些论文都是 充数的,仅仅几个 IO 逻辑,没有什么定时器,计数器功能的体现,哎!仅供参考! 看来这个 PLC 系统还是需要自己写了! OK !既然决定自己重写,那就开工吧!利用春节休 假时间,编制了如下 ASM51 汇编 PLC 代码: 代码主要架构如下: 1、 IO 定义部分 :根据所使用的单片机 IO 口数量 ,任意指定多少个 I 多少个 O,那几个脚是 I, 哪几个是 O 都可以任意指定 ,在这个 51 系统里面设计了最大 32 个 I,32 个 O, 占用 64 个位寻 址区域 ,其实用不到那么多 ,也可以分配给其它需要的标志位用 ,因为 51 系统总可位寻址地址 只有 128 位,需要仔细分配 . 1 ……………………………………………………………最新资料推荐………………………………………………… 2、位寻址变量定义 (包括各类标志位, 临时变量寄存器等等) 目前设计了 8 个计时器的 Timer DN, Timer EN, 共 16 位, 8 个计数器的 counter reset 和 counter DN 标志位共 16 个,专用于 上升沿下降沿检测的标志位 4 对, 占用 8 个,剩余用于临时变量, 这些地址分配在

文档评论(0)

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

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

1亿VIP精品文档

相关文档

相关课程推荐