使用AT89C51实现的微型可编程控制器的讲解

发布者:温暖的拥抱最新更新时间:2023-09-10 来源: elecfans关键字:AT89C51  微型可编程控制器  测控系统 手机看文章 扫描二维码
随时随地手机看文章

  可编程控制器也即PLC,在自动化行业,可编程控制器占据着重要地位。对于可编程控制器,小编在往期文章中对它的理论知识有所介绍。为增进大家对可编程控制器的认识,本文将对基于AT89C51的微型可编程控制器予以讲解。如果你对可编程控制器具有兴趣,不妨继续往下阅读哦。


  用单片机构成的PLC,实际上就是一个单片机测控系统。用这样一个程序控制的计算机系统去执行继电控制的梯形图程序,由于继电控制梯形图中各被控电器之间是并行关系,而计算机程序控制中,各被控电器之间在时间上是串行关系,二者显然不协调。若简单地像一般单片机测控系统一样,对梯形图各程序行依次实时采集输入端子状态,进行处理后实时输出,是达不到控制目的的。为此,必须采用一次性采集全部输入端子状态,并将其存入输入缓冲区。然后,按梯形图程序行的逻辑关系,从输入缓冲区读取相应输入端子状态,处理后将待输出的结果存入输出缓冲区。最后,待梯形图程序行全部执行完毕,一次性将输出缓冲区的值输出到相应的输出端子,从而完成一个程序执行周期。如此往复,自动进行下一轮的采集输入端子状态……。这种工作方式即称为扫描方式,它将串行程序工作和电器并行工作两种关系协调了起来。另外,单片机执行一条指令的时间是μs级,执行一个扫描周期的时间为几ms乃至几十ms。相对于电器的动作时间而言,扫描周期是短暂的,可以认为在一个扫描周期内输入端子的状态是不变的,而对其状态变化的采集和处理也是实时的,从而满足了实时控制的要求。

  

  系统硬件配置以AT89C51(以下简称51)单片机为核心,如图1所示。该单片机有4 KB闪存,不必扩展程序存储器,其4个I/O口共32个I/O引脚,都可供用户使用,其中P0.7~0.0,P2.4~2.0共13个脚经光耦隔离后连到相应的输入端子X07~X00,X14~X10。可以用行程开关、液位开关、霍耳开关和手动按钮等进行输入。开关接通时,相应引脚为“0”,取反后存入输入缓冲区。


  P1.7~1.0共8个引脚用于输出控制:P1.i为“0”时,相应的PNP管导通,继电器Ji线圈通电,其触点Y5i接通,可驱动220 V/3 A的负载。


  为了与PC机进行通信,系统扩展了RS-232C接口电路。51单片机的RXD和TXD信号经RS-232C电平变换后接至9芯插座。由此可与PC机进行串行通信。一方面,在编程状态时,可接收PC机上梯形图汇编程序编译结果的OBJ指令代码,并存入程序存储器;另一方面,在运行状态时,可将I/O口的状态和处理结果实时地发送给上位机。


  程序存储器选用有SPI接口的X25045芯片。这是带可编程看门狗和电源监控功能的E2PROM,有512字节,每字节可擦写10万次,数据可保存100年。上电时自动提供200 ms高电平复位脉冲;有三种可编程看门狗周期;电源欠压,VCC降到转折点时,自动提供复位脉冲。E2PROM采用三线总线的串行外设接口SPI,既节省了I/O口线和电路板空间,又降低了系统成本。因此,该芯片是性价比极好的组合芯片。


  软件设计分为PC机梯形图汇编程序编译软件和51单片机软件两部分。前者用IBM-PC汇编语言编写,我们称之为PLC编译软件。本机中我们自己设计了一套TD型PLC的梯形图汇编语言指令系统,有LD/LDI、AN/ANI、OR/ORI、TM/TMI、CN/CNI、MA/MAI、OUT、JP/JE和END等16条基本指令和X00~07、X10~14、Y00~07、CN0~1、TM00~07、MA00~07、10~17等器件。用它们来描述继电器梯形图,即设计梯形图汇编程序。用全屏幕编辑软件将其输入到PC机,即建立了源程序文件。然后用PLC编译软件将其编译成PLC目标程序文件(OBJ文件),并经串行通信口发送到单片机,由单片机将其写入E2PROM。


  51单片机软件由编程软件和运行软件组成。编程软件主要有串行通信和写E2PROM两个模块。此时,须将面版上的手动开关设置P2.7=“0”,单片机即处于编程状态。当P2.7=“1”时,单片机即处于运行状态。运行状态的程序主要有:

  (1)输入端子采集模块

  该模块两次采集P0口和P1口状态,结果全同时为有效,即将其存入输入缓冲区,否则重新采集。用软件滤波的方法,提高了抗干扰能力。

  (2)指令分析模块

  该模块从000H地址开始,依次读取E2PROM中的字节内容,先读出操作码,对其分析后转向相应的处理程序;接着读操作数,供处理程序操作,从而完成一条梯形图汇编指令的执行。然后再读取下一条指令的操作码……。遇到OUT指令时,将待输出的数据存入相应的输出缓冲区。

  (3)输出模块

  当CPU从E2PROM中读到END指令的二进制代码时,表示一次扫描周期结束,即将输出缓冲区的内容一次性输出到P1口,从而完成输出端子的刷新。

  该PLC的应用可以用水塔水位控制的例子来说明。

  

  图2(a)是硬件接线图,SB1/SB2是启动/停止按钮;SAC是水池液位开关:水浸到时接通,无水时断开;SAH、SAL分别是水塔的高低液位开关;M是水泵电机。


  图2(b)是继电器梯形图,图2(c)是继电器汇编程序,即TD型PLC源程序。其中y50是PLC输出端子,我们将它的软件触点y50作为水位上升或下降的标志:y50=“0”,表示电机已停,水位下降,此时SAL虽已接通,但电机不动作;y50=“1”,表示电机正在抽水,水位上升,此时SAL接通,电机通电,继续抽水,直到高水位。


  系统完成了预期设想的功能目标。基于AT89C51的微型可编程控制器有其自己的优势,广泛用于生产生活中。


关键字:AT89C51  微型可编程控制器  测控系统 引用地址:使用AT89C51实现的微型可编程控制器的讲解

上一篇:详解:8051单片机的结构与原理
下一篇:AT89C51单片机数字逻辑无环流可逆调速系统设计

推荐阅读最新更新时间:2024-11-20 23:27

基于嵌入式器件AT89C51SNDlC的电子治疗仪设计解析
目前采用两个电极片对称覆盖治疗人体部位的电子治疗仪,是通过电极片上的脉动电压与治疗人体部位电阻产生作用,在治疗部位产生人体能够感知的脉动电流,刺激神经肌肉,使其收缩和舒张,产生运动效应,以达到治疗目的。但目前市场上此类型治疗仪产生的脉动电压只有少数几种,由于脉动电流频率周期固定,如果某治疗部位长期接受其脉动,就会产生抗疗作用,引起自发性紧张,从而降低治疗效果。为了解决这一问题,将MP3发出的随机音乐信号引入治疗仪,使音频信号与2.4 kHz的中频治疗频率进行调制,产生多种脉动电压和频率周期不断变换的脉动电流。它们随音乐信号起伏变化而发生作用,使患者一边欣赏着喜欢的音乐一边接受治疗,分散注意力,缓解紧张情绪,从而有助于提高治疗效果。
[单片机]
基于嵌入式器件<font color='red'>AT89C51</font>SNDlC的电子治疗仪设计解析
AT89C51单片机快热式热水器程序设计
快热式热水器程序MCU AT89C51 XAL 12MHz //#pragmaSRC #include #include #include voiddelay(unsignedint);//延时函数 voiddisplay(void);//显示函数 unsignedcharkeysCAN(void);//按键扫描处理函数 voidheatCTRl(void);//加热控制函数 voidtemptest(void);//测温函数 sbitswkey=P1^0;//开关键 sbitupkey=P1^1;//加热档位“+”键 sbitdownkey=P1^2;//加热档位“-”键 sbitbuzz=P1^05;//蜂鸣器输出端 sbit
[单片机]
<font color='red'>AT89C51</font>单片机快热式热水器程序设计
一种基于功率放大器的恒流源设计
在断路器可靠性试验设备中,试验电源的稳定、精确是保证测试可靠的基础。否则,无论是在断路器出厂试验还是型式试验中,都会因为测试电源的波动使校验后的产品存在着合格品被判为不合格,而不合格品被判为合格的可能。传统恒流源制作是利用二极管、三极管、集成稳压源的特性制作的参数稳流器、串联反馈调整型稳流电源、开关稳流源等,但往往存在着输出电流范围小、稳流精度不高、效率较低、可靠性较差、输出纹波大等缺点。我们设计了一种基于AT89C51的恒流源控制系统,电流输出0〜100A,电流精度≤2%,电压输出15V,能实现快速、高精度、灵活、多功能的控制要求,在断路器可靠性试验中提供了稳定、精确的试验电源。 主电路的组成 主电路是由电压电流调节电路,升流
[单片机]
一种基于功率放大器的恒流源设计
基于ATMEGA8A_AVR单片机温度测控系统proteus仿真
仿真电路图: #include mega48.h #include delay.h // DS18b20 Temperature Sensor functions #include ds18b20.h // Alphanumeric LCD Module functions #include alcd.h #define ADC_VREF_TYPE 0x60 #define Temp_Set_Key_Not_Pressed PIND.6 #define Alarm_Set_Key_Not_Pressed PIND.7 // Read the 8 most significant bits // of th
[单片机]
基于ATMEGA8A_AVR单片机温度<font color='red'>测控系统</font>proteus仿真
基于单片机的串口协议网络化设计
  1 硬件结构和电路设计   1.1 总体设计   整个系统设计采用ATMEL公司8位通用微控制器AT89C51作为主处理器,驱动REALTEK公司的10M以太网控制芯片RTL8019AS,实现串口数据和外部网络互连。   1.2 网卡接线设计   RTL8019AS为100管脚PQFP封装,工作电压5V。其接线原理图如图1所示。地址SA0-4接到单片机P2的低五位上;SA8和SA9接电源;其余SA5-7,SA10-19这13个管脚全部接地;IORB和IOWB分别接单片机的读写信号端;RSTDRV接到P1.2上;8位数据SD0-7按顺序接到单片机P0.020.7脚;TPOUT+和PTOUT-是发送管脚对,连接到RJ45口
[单片机]
基于单片机的串口协议网络化设计
基于AT89C51的数据采集系统设计新方法
0 引言 近年来,随着制造技术的发展,单片机的价格越来越低,性能却不断提升,因而其应用范围也越来越广。然而在开发基于单片机的应用系统时,传统方法一般都需要大量的硬件设备,这些设备极易损坏而且携带不方便。为此,本文基于AT89C51数据采集系统详细说明了如何利用Pro-teus和两款串口仿真软件来进行单片机程序及外围电路的仿真设计。采用该方法可以大大简化硬件电路测试和系统调试过程,对单片机系统开发具有指导意义。本文介绍的基于AT89C5l单片机的数据采集系统能实现16路信号输入,每一路都是0~10 mV的信号,每秒钟采集一遍,从而将数据传给上位PC计算机。 1 硬件设计 1.1 主控芯片 AT89C51是一种带有4 KB闪烁
[单片机]
基于单片机的烤烟房多点温湿度测控系统
0 引言 烟叶烘烤过程的温湿度能否精准测控决定着烟叶的质量。传统上烟叶烘烤过程的几十个小时一般完全由人工监测,利用于湿球玻璃温度计采集数据。主要出现问题如下:无法确保烘烤出的烟叶质量好坏;监测时间长,劳动强度大;效率低,无法实现工业化生产,为解决上述问题,就必须对烤房进行改造。为此,本文介绍了一种基于AT89C51单片机和SHT11数字温湿度传感器的多点采样的新型烤房智能测控系统。 1 系统硬件总体设计 根据烤烟房的具体要求,本系统主要由AT89C51单片机、SHT11温湿度传感器、加热控制装置、排湿控制装置、液晶显示、通信装置和上位机装置等部分组成。系统框图如图1所示。 1.1 微控制器的选择 本文设计的系
[单片机]
基于单片机的烤烟房多点温湿度<font color='red'>测控系统</font>
能源自动测控系统接口板的设计
接口板是连接能源数据采集与计算机的桥梁和纽带.它所完成的功能包括:对采集到的数据进行预处理,选通数据通道,联通计算机,传输数据,以便于计算机对数据再进行二次处
[模拟电子]
能源自动<font color='red'>测控系统</font>接口板的设计

推荐帖子

关于&quot;2ASK通信系统设计&quot;的求助
大家好~~我求助~~~要求用EDA设计一个调制系统,大体思路如下,用与门做一个乘法器,用计数器做一个分频器将时钟脉冲分频为低频的载波,再与输入信号相乘从而得出所要的调制信号!下面上传所要求的2ASK调试程序的仿真图关于2ASK通信系统设计的求助急急~~~~千万火急呀!!!!!!回复:关于2ASK通信系统设计的求助来个高手给写个代码吧~~~:\'(回复:关于2ASK通信系统设计的求助Help!Help!Help!回复:关于2ASK通信系统设计的求助高手们
大漠风云 FPGA/CPLD
如何解决51单片机端口不够用的情况?(前提是不增加扩展芯片)
为了实现51单片机的多功能控制,任务多的情况下,如何解决51单片机端口不够用的情况?(前提是不增加扩展芯片)如何解决51单片机端口不够用的情况?(前提是不增加扩展芯片)副用,总得有个先后顺序什么的吧,用51了也干不了好大的东西,简单基本也够了,?又要扩展端口数量,又不允许增加扩展芯片,那么增加的端口从哪里来?要根据具体应用和单片机资源吧,活用二极管,根据应用逻辑,复用一些I/O功能。利用二极管和三极管的逻辑功能复用IO引脚,可是还不如加个芯片带着镣铐跳舞的感觉,我个人不提倡人为的
huanleng 单片机
四层板和33欧电阻
选用四层板不仅是电源和地的问题,高速数字电路对走线的阻抗有要求,二层板不好控制阻抗。33欧电阻一般加在驱动器端,也是起阻抗匹配作用的;布线时要先布数据地址线,和需要保证的高速线;在高频的时候,PCB板上的走线都要看成传输线。传输线有其特征阻抗,学过传输线理论的都知道,当传输线上某处出现阻抗突变(不匹配)时,信号通过就会发生反射,反射对原信号造成干扰,严重时就会影响电路的正常工作。采用四层板时,通常外层走信号线,中间两层分别为电源和地平面,这样一方面隔离了两个信号层,更重要的是外层的
open82977352 PCB设计
LED屏与LCD二者的区别
LCD是液晶显示屏的全称:它包括了TFT,UFB,TFD,STN等类型的液晶显示屏。笔记本液晶屏常用的是TFT。TFT屏幕是薄膜晶体管,英文全称(ThinFilmTransistor),是有源矩阵类型液晶显示器,在其背部设置特殊光管,可以主动对屏幕上的各个独立的像素进行控制,这也是所谓的主动矩阵TFT的来历,这样可以大的提高么应时间,约为80毫秒,而STN的为200毫秒!也改善了STN闪烁(水波纹)模糊的现象,有效的提高了播放动态画面的能力,和STN相比,TFT有出色的色彩饱和度,还原
szlcf88 LED专区
求谁有电子档的 ARM Cortex-M0+微控制器原理与应用--基于Atmel SAM D20系列
谁有电子档的ARMCortex-M0+微控制器原理与应用--基于AtmelSAMD20系列书不?求谁能发一份?求谁有电子档的ARMCortex-M0+微控制器原理与应用--基于AtmelSAMD20系列我有一部分的,谁还能提供个比较完整的。我有,联系电话:13798245017,可以发给你
bityhzj Microchip MCU
[BB方案提交] [晒出你的方案BeagleBone Black!] -智能家居之微博版
-智能家居之微博版楼主,这是帖子删了吗?怎么什么都没有,能提供我一些用BeagleboneBlack处理USB摄像头视频图像的资料吗?遇到了很多问题 同求啊,我也遇到很多问题
huangwarrenus DSP 与 ARM 处理器
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved