数字式直流电机调速系统设计 毕业论文 下载本文

PA3 PA2 PA1 PA0 RD CS GND A1 A0 PC7 PC6 PC5 PC4 PC0 PC1 PC2 PC3 PB0 PB1 PB2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 8255A 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 PA4 PA5 PA6 PA7 WR RESET D0 D1 D2 D3 D4 D5 D6 D7 Vcc PB7 PB6 PB5 PB4 PB3 图3-6 8255芯片的引脚结构

3.4.1 8255芯片的引脚功能

RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。

CS:芯片选择信号线,当这个输入引脚为低电平时,即CS=0时,表示芯片被选

24

中,允许8255与CPU进行通讯;CS=1时,8255无法与CPU做数据传输。

RD:读信号线,当这个输入引脚为低电平时,即RD=0且CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。

WR:写入信号,当这个输入引脚为低电平时,即WR=0且CS=0时,允许CPU将数据或控制字写入8255。

D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。

PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。

PB0~PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。

PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。

A1,A0地址选择线用来选择8255的PA口,PB口,PC口和控制寄存器。

? 当A1=0, A0=0时,PA口被选择; ? 当A1=0, A0=1时,PB口被选择; ? 当A1=1, A0=0时,PC口被选择; ? 当A1=1. A0=1时,控制寄存器被选择。

25

3.4.2 LED介绍

LED发光器件有数码管和点阵两种,LED8段数码管属于LED发光器件的数码管的一种,8段数码管有称为8位8字型数码管,有A~G和P八段。其中P是指小数点。常用数码管有10个管脚,每一段有一个,多余的两个管脚为一个数码管的公共端,两根之间相互连通。在电路上看,数码管可分为共阴和共阳两种。8段数码管显示单片机数据。用单片机驱动LED数码管的方法有很多,按显示方式分有:

? 静态显示 该显示是显示驱动电路具有输出锁存功能,单片机将所要的数据送出就不再控制LED,直到下一次显示时再传送一次新的显示数据。静态数据的数据稳定,占用的CPU时间少。静态显示中,每一个显示器都要占用单独的具有锁存功能的I/O接口,改接口用于笔划段字型代码。这样单片机就要把显示的字形代码发送到接口电路,该字段就可以显示发送的字形。要显示新的数据时,单片机再发送新的字形码。

? 动态显示 动态扫描方法是用其接口电路把所有显示器的8个笔划段a~h同名连在一起,而每一个显示器的公共极COM各自独立的受I/O控制,CPU向字段输出口送出字形码时,显示器接收到相同的字形码,但究竟是哪个显示器亮,则取决于COM端,而这一端是由I/O接口控制的,有单片机决定何时显示哪一位了。动态扫描用分时的方法轮流控制各个显示器的COM端,使各个显示器轮流亮。在轮流点亮扫描过程中,每位显示器的点亮时间极为短暂,但由于认得人的视觉暂

26

留现象及发光二极管余辉效应,给人的印象就是一组稳定的显示数据。

3.5报警模块

以8155的C口的低4位(PC0~PC3)控制4个报警灯,已实现各参数的超限报警,报警功能显示为电动机转速过高、过低;电机的工作电压过高或者过低;电机的工作电流过高或者过低;电网电压过高或者过低。

3.6键盘控制电路

系统以74LS244芯片配合4×4行列式键盘,实现键盘扫描。在现实使用中,单片机的简单开关参数的输入也是通过按键实现的,但是,在需要输入参数较多、功能较复杂的情况下,就需要采用行列键盘的形式对单片机进行输入了。键盘接口,尤其是键入信号的软件处理方法是影响系统使用和操作性能的重要因素。

3.6.1键盘接口及其软件的任务

键盘接口及其软件的的任务主要包括以下几个方面: 首先,检测并判断是否有按键按下。 其次,按键开关进行延时消抖。 再次,计算并确定按键的键值。

最后,程序根据计算出的键值进行一系列的动作处理和执行。 功能模块分为以下3个方面。

27