Descrição do esquema
Resenha: Descrição do esquema. Pesquise 862.000+ trabalhos acadêmicosPor: etec • 1/5/2014 • Resenha • 1.176 Palavras (5 Páginas) • 146 Visualizações
Circuito Descrição
Este applet demonstra o controlador 5 andar com elevador , percebi como um programa de software rodando em um microcontrolador PIC16F84 . Para motivar e ilustrar o projeto do controlador do elevador , o applet contém um componente especial de simulação que visualiza o elevador e seu botão de chão.
A este applet em implementa o "elevador - algoritmo " , já apresentado como uma máquina de estado em um dos applets anteriores. Uma vez que o carro do elevador começou , ele mantém sua direção atual até que todos os pedidos em curso nesse sentido foram processadas. Por exemplo, se o elevador está estacionado em FLOOR1 e alguém pressiona o botão na level2 ( modelado por PARKED_1 Estado). Naturalmente, o elevador começa a subir para level2 ( UP_TO_2 Estado). Agora , suponha que uma outra pessoa primeiro apertou o botão em level0 enquanto o elevador ainda está em movimento, e uma segunda pessoa aperta o botão on level4 pouco depois. Neste caso , o elevador continua a subir para level2 , mas , em seguida, continua indo para cima para level4 , antes de descer para level0 .
Utilize o menu de contexto ( "editar" ) no componente elevador para abrir a janela com a visualização elevador. Pressione qualquer botão chão e ver o comportamento do controlador de elevador . Você também pode abrir a janela de PIC de interface de usuário para assistir ( e editar) o programa do controlador .
O elevador tem cinco botões, uma em cada piso . Além disso , existem sensores de nível do chão . Quando o elevador está no andar térreo , o sensor de chão é ON. Se o elevador se move para cima , o sensor de terra está fora , eo sensor de nível K será ligada quando o elevador chega no chão K . O motor e direção são entradas de elevadores .
Entradas:
motor : ON e OFF
direção: mover para cima (ON) , mover para baixo (OFF)
Saídas:
Sensor: vetor de 5 bits , onde o bit de K será um, se o elevador está em K chão , caso contrário OFF
Button: 5 bits do vetor, Desligue o bitk ON se pressionado , e ficar no cargo até o elevador chega ao K chão.
// Elevador controlador (5 andares) com PIC16F84 para webdemos Hades.
#include "htc.h"
// Os botões que pedir a palavra alvo elevador
// Mapeamos BUTTON_0 = RA4 etc, para manter os esquemas simples ..
//
#define BUTTON_0 RA4
#define BUTTON_1 RA3
#define BUTTON_2 RA2
#define BUTTON_3 RA1
#define BUTTON_4 RA0
// Os sensores que indicam que chão da cabina de elevador
// Atingiu. Mais uma vez, o mapa 0-4 1-3 etc, para evitar sinal
// Travessia no esquema.
//
#define SENSOR_0 RB4
#define SENSOR_1 RB3
#define SENSOR_2 RB2
#define SENSOR_3 RB1
#define SENSOR_4 RB0
// Duas portas de saída usada para controlar o motor do elevador
// (On / off) e direção do motor (para cima / Ndown).
//
#define MOTOR_ON RB6
#define UP_NDOWN RB7
// O elevador afirma: meios estacionados à espera (pelo chão <i>),
// Up_to e down_to implica mudar-se para o chão correspondente.
// Nós forçar uma codificação que permite que você assista o estado
// Durante a simulação (nibble superior = 1/2/4: estacionada / cima / baixo),
// Menor mordidela = índice chão, 0xff = erro
//
enum elevator_state {
PARKED_0 = 0x10,
PARKED_1 = 0x11,
PARKED_2 = 0x12,
PARKED_3 = 0x13,
PARKED_4 = 0x14,
UP_TO_1 = 0x21,
UP_TO_2 = 0x22,
UP_TO_3 = 0x23,
UP_TO_4 = 0x24,
DOWN_TO_3 = 0x43,
DOWN_TO_2 = 0x42,
DOWN_TO_1 = 0x41,
DOWN_TO_0 = 0x40,
UNKNOWN = 0xff,
};
enum motor_state {
STOP = 0x00,
MOVE_UP = 0xc0,
MOVE_DOWN = 0x80,
};
//
...