2.3 本章小结
在本章节中,对市面上出现的PID控制器的控制原理和应用情况给予了简单的介绍,并且列出了所要设计的PID控制器的基本硬件图,为下面章节中控制器的选型和设计提供了一定的参考。
7
第3章单片机的PID控制器的硬件设计
3.1 键盘输入电路
在单片机控制器的设计中,需要操作者对系统进行干预,如设置或修改参数、选择操作功能、对系统进行人工控制等,这就要求系统中有键盘输入的功能。 在本论文的设计中,由于不需要经常和大量地进行键盘操作,同时为了简化硬件电路,往往采用非编码键盘,利用软件来进行按键的识别和功能的散转。根据需要按键的多少,又可以选择独立式或行列矩阵式的键盘。鉴于所需要的按键不多,往往只需要几个功能键,此时,可采用独立式按键结构。独立式键盘是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不会影响其他I/O口线的状态。
在本论文的键盘设计中,利用P3端口的P3.2、P3.3、P3.4、P3.5作为四个按键的输入端。电路连接图如图3.1所示:
图3.1 PID控制器的按键电路连接图
8
3.2 LED显示器
在单片机应用系统中,显示器是人机对话的重要组成部分,它将系统的运行状态、输出和结果直观地显现出来。在本论文中,基于89C51单片机的硬件结构,采用了电路简单、对硬件及I/O接口的要求少的特点的LED显示器作为其输出单元。
在本论文所应用的显示电路中,利用扩展芯片8255A来连接一个6位共阴极的LED显示器。
3.2.1 LED数码管显示器结构和原理
LED(Light Emitting Diode)数码管显示器的每一位由八个发光二极管组成。其中,7个发光二极管构成字型“8”的各个笔画,依次称为a-g段,另一个发光二极管作为小数点,称为dp。
当在某发光二极管上施加一定的正向电压时,该段比画即亮;不加电压则不点亮。为了保护各段LED不被破坏,需外加限流电阻。每管驱动电流3-10mA(平均值),发光二极管将管压降为约1.8V。单片机中通常使用的LED数码管有共阴极和共阳极两种。
图3.2 LED显示器实物图
9
以共阴极LED显示管为例,各LED公共阴极KO接地。若向各段的控制端加上高电压(信号“1”),则该段发光二极管发亮,加上信号“0”,则该段发光二极管熄灭。公共端接地时,向各段控制输出端输出不同的信号,就会显示出不同的信号,就会显示出不同的代码。鉴于管数目有限,这种LED数码显示器智能显示0-9、A、B、C、D、E、F、H、L、P、U等字符和小数点。共阳极LED数码管与共阴极LED数码管相反。
3.2.2 LED数码显示器的接入
在本论文中,选择共阴极LED数码管显示器作为以单片机为核心的PID控制器的显示器,其中,有六个LED数码管显示数据,为了减少硬件连线,采用LED动态扫描显示方式。
图3.3数码管引脚图
为了实现上述功能,在系统中扩展了一片通用的并行接口8255A。Intel 公
10
司的8255A使一个通用的可编程并行接口芯片,它具有3个独立的8位I/O接口(A口、B口、C口),提供TTL兼容的并行接口。作为输入时提供三态缓冲器功能,作为输出时提供数据锁存功能。8255有3种工作方式:方式0、方式1、方式2,能使用无条件、查询和中断等多种数据传送方式完成CPU与I/O设备之间的数据交换。
在单片机外部扩展的8255A,令它的A、B、C口均工作方式0,即简单输入/输出方式。8255A的A、B口控制LED显示器,LED显示器采用动态扫描显示方式。其中,A口8条线输出LED显示器的端码(a、b、c、d、e、f、g、dp),B口输出LED的位选信号,用PB0-PB5这6条线控制6个LED数码管
图3.4 LED显示器与89C51单片机的电路连接
11