|  | 
 
| 
& O. L: k* d. E# r  k
x
EDA365欢迎您登录!您需要 登录 才可以下载或查看,没有帐号?注册  摘要:介绍了一种以AT89C52单片机为核心、Keil C51为开发工具的简易通用逻辑控制器。介绍了逻辑控制器的结构体系,
 5 M$ S9 O- U$ X9 S$ A* J5 s并鲶出了该系统软硬件设计要点。& ^+ R5 l5 b. y3 j4 Q9 q
 关键词:单片机;逻辑控制;Keil C51
 1 [' Q5 f: e! Q& s) l/ K随着控制技术的发展,逻辑控制器应运而生。它能更经济、/ W! }% j0 R6 f" L- ^0 Z
 更快逮、更灵活地解决简单开关量控制任务,可以替代常规定时
 8 L) ]7 X7 W) ^4 Z, T/ [/ I9 C5 C器、继电器、时钟和接触器所实现的功能。具有代表性的产品是
 ' R! ]! C6 V' {) ~6 K西门子(Siemens)公司的通用逻辑控制模块LOGO!。由于逻辑控
 0 a! V# J! B" _. C0 j制器功能强大,具有很多优势,目前已被广泛地应用到各种电气6 N) U# ~- U" X$ x$ w* x
 控制场合。( m5 |; r1 b( S( x* `
 然而,在一般的小规模电气控制应用中,若采用较多逻辑功
 / X' J; f' a% W5 b能的控制器,性价比不高。同时.51系列单片机具有体积小、价
 9 l' [' u4 h( c2 b格低、功能强、可靠性高和使用方便的特点,能够很容易地开发3 e! M+ w  D0 z. r
 各种基于单片机的智能化控制系统。基于这样的背景和纺织企5 a$ H% j* K) T+ Y5 t( T0 d! u. z
 业电气控制的实际需要,本文介绍-种用AT89C52实现的简易
 6 ~0 f4 x  h. ?/ l; v& A& Z# I/ M通用逻辑控制器,可实现与、或、非、与非、或非和异或6种基本
 / K: I2 ^  V7 ^5 s: ~. w& J逻辑功能,以及接通延时、断电延时和RS触发器3种特殊逻辑/ ~9 M4 D. l7 ]! q" O
 功能,还可以用这些逻辑功能组合成复合逻辑功能,这些功能
 + F% \4 e$ q. Z, x) W可以较好地满足- -般电气控制场合的要求。
 ! z$ R' q: X  v6 S+ u) w1系统概述
 ) @, ], h* P! V/ k- B+ r该逻辑控制器的输人部分有8个按键,8点数字量输人,输
 - B. z1 @" d8 d! @出部分有8点继电器输出,6个八段数码管,每个继电器的连续0 q5 P& C7 A  h9 g% P' d6 J
 电流为10A。核心部分是系统内部的100个三人一出的功能块,
 9 d- z* ]& s6 u. o, n每个功能块能通过键盘设定可实现上述的9种逻辑功能中的任. J" {0 S6 L3 X; `7 n* j" b. H
 意一种。此外,不同的功能块还能组合成一个逻辑块组,并能实.$ L+ `) t% `1 s' s2 F; ]
 现逻辑块组的整体功能。  K$ J  K5 l( K3 s: w" R, J- @
 对功能块的设定通过键盘和显示共同来完成。首先指定要
 3 S( m) ~4 l# Y. Z被编辑的功能块号,接眷确定该功能块的功能(即所实现的逻
 ; s' X/ h8 ?# l2 b辑),一旦功能确定,其输入端的个数与类型便可确定。然后通过.
 # ]$ n% ^. \% r$ Q- _+ |0 J按键选择其输人端,输人端来源可以是某个功能块的输出(用
 - z" q) p+ J# v# NPXX表示),可以是直接的数字量输人(用IX表示),或是固定的; B/ M6 }  G) \9 e( v) p# O) V
 高电平(用H表示)与低电平(用L表示),还可以是为空(用NC表
 / ~8 l6 ?8 Y) `  N& W示)即什么都不接.空输人端的逻辑取决于该功能块要实现的逻
 8 N  i; g% l, `1 E4 g/ S辑。见表1中的几个例子。: @2 j) J& L$ N& `1 D/ |1 ]6 w( `
 编辑完一个功能块后,需要保存数据才能进行下一个功
 % ?: S' C) o; s6 W: d+ ?3 e( U+ D
 ' P0 K' f6 ]' E2 K0 B* J% q能块的编辑。显示部分则密切配合按键,显示内容取决于按键
 7 h# D* P) H- k状态。功能块编辑完毕后,还需通过按键对系统输出进行编
 . P3 Q3 U  Q: l辑,系统输出的来源有:某个功能块的输出(同样用PXX表示),# Z2 L& _$ z; Z" D( `( L+ g1 U, `* T
 直接的数字量输人(IX),固定的高电平(H)与低电平(L),还可以0 r: v8 r* {. [2 E- g9 a  ^
 是为空(NC),在逻辑上低电平和空是一-致的,继电器不动作。确+ k" j3 J! F  j4 N/ v) V! ?, ?, X
 定输出后,同样需要保存数据,重新上电后,还能运行前次输; |& \# o6 c+ O; h9 J; F3 T0 k3 ]
 人的逻辑功能。同时,在运行逻辑功能以前,系统具有监控和$ n4 g+ H# A; F1 y' d3 h
 修改参数的功能。
 4 o6 k# x$ p: _& Z$ w6 \& ~, E表1几种逻辑功能的规定) Y  b$ ]/ C& U* A
 本系统中,逻辑运行涉及到大量的数据处理,因此数据结构
 6 U" F% J! E' }的安排关系到程序设计的繁简。考虑到一个功能块有五个参数,
 , h- q6 P- w/ O7 V5 C& x即功能代号、三个输人和一个输出,为了方便起见,功能块的参
 ; B' a; S* F: C5 H2 x% p数数据安排使用结构数组。而-一个功能块的某输入端有可能来* A2 i' ?& b$ d# p. ?9 M8 z
 自于另一个功能块的输出,在结构数组某一元素的成员用到另: J1 S  ?" F' E$ ~3 M% q
 一元素的成员,处理起来比较复杂,因此没有把功能块的输出放
 & [, i- K: @, B人结构中,功能块的输出采用单独的数组。为了实现数据的掉电( o  ]" W( _# }
 保护,同时在EEPROM中开辟对应的功能块镜像数组和输出镜
 8 G* M8 D6 ]# R8 G, x: p像数组。而输人由外部决定,不需要在EEPROM中保存。" {" ^+ d" L( U4 {
 由于C51能提供复杂的数据类型(数组结构等)和专门针
 3 \# i9 p/ w+ q3 k& K' X& ]0 A对8051单片机的data、idata、pdata、xdata .code等存储类型,极
 8 j* {. _4 F, r( e3 T大地增强了程序处理能力和灵活性。另外它提供常用的标准函
 - Y, G% Q& W( w3 Z5 I
 ( ^0 r1 a6 l/ C/ r! D& x
 9 G* c. N$ Z8 k' e1 E$ t* S2 U0 X% b+ }
 附件下载:% C9 @* ^% }5 N, |) I
 
 1 v4 }0 I2 d, k' H; T
 | 
 |