Plano maquina dispensadora de refrescos

Solo disponible en BuenasTareas
  • Páginas : 15 (3575 palabras )
  • Descarga(s) : 0
  • Publicado : 3 de diciembre de 2009
Leer documento completo
Vista previa del texto
List C=132, W=1, P=16F877, ST=OFF, N=062
Include P16F877.INC
Title "Control Logico para Maquina Expendedora de Alimentos"

;Configuracion del integrado: WDT off, CP on, OSC LP, BOR Off, _PWRTE On, LVP Off
__Config _CP_ALL & _LVP_OFF & _BODEN_OFF & _WDT_OFF & _PWRTE_ON & _LP_OSC

; #Define PRUEBA ;Omitir rutina de base de tiempo
; #Define OMITLCD ;Omitir Bit bf del Módulo LCD;-------------------------------------------------------------------------------
; Este programa controla el despacho automático de Alimentos
;
;Periféricos asociados:
; * Teclado Selector de Producto y Ajuste
; de la Hora. (Puerto D: RD0 a RD5)
; * Sensor de Cancelar Despacho. (Puerto D: RD6)
; * Sensor de Modo de Servicio. (Puerto D: RD7)
; * Interruptor Selector de Campo de
;producto a Modificar (Puerto C: RC0)
; * Sensor de Moneda 100 Bs. (Puerto C: RC1)
; * Sensor de Moneda 500 Bs. (Puerto C: RC2)
; * Pantalla LCD 2 x 16. (Puerto B: RB0 a RB7) Data
; (Puerto E: RE0 a RE2) Control
; * Driver para Solenoide #1 (Puerto A: RA0)
; * Driver para Solenoide #2 (Puerto A: RA1)
; * Driver para Solenoide #3 (Puerto A: RA2)
; * Driver para Solenoide #4 (PuertoA: RA3)
; * Driver para el Compresor del
; Refrigerador. (Puerto A: RA4)
; * Driver para el Solenoide de Monto
; Válido. (Puerto A: RA5)
;-------------------------------------------------------------------------------

;Definir registros de propósito general:
Cblock 0x20
REGSEG ;Contador BCD de segundos
REGMIN ;Contador BCD de minutos
REGHORA ;Contador BCD de horasREGTIEMPO ;Registro para eventos de segundos
REGCOMP ;Registro para evento del Compresor
REGTEMP ;Registro de propósito general
PRODUCTO ;Registro que contiene el producto seleccionado
CANTPRO1 ;Registro de Cantidad del Producto #1
CANTPRO2 ;Registro de Cantidad del Producto #2
CANTPRO3 ;Registro de Cantidad del Producto #3
CANTPRO4 ;Registro de Cantidad del Producto #4
COSTO1;Registro Costo del Producto #1
COSTO2 ;Registro Costo del Producto #2
COSTO3 ;Registro Costo del Producto #3
COSTO4 ;Registro Costo del Producto #4
MONTO ;Registro Monto Ingresado por el Usuario
CSTATUS ;Registro Indicador de Eventos
REGT_W ;Stack del registro W
REGT_STATUS ;Stack del registro STATUS
REGT_FSR ;Stack del registro FSR
REGT_INDF ;Stack del registro INDF
Endc;Definir pines del Puerto A Control de Actuadores:
Cblock 0
solend_1 ;Motor para gira del espiral #1 - RA0
solend_2 ;Motor para gira del espiral #2 - RA1
solend_3 ;Motor para gira del espiral #3 - RA2
solend_4 ;Motor para gira del espiral #4 - RA3
compre ;Compresor para el Refrigerador de Refrescos - RA4
solend_c ;Soleiode de Bandeja de Monto Válido - RA5
Endc

;Definir pindel Puerto B Bit Ocupado del Módulo (LCD BF):
bf Equ 7 ;Bit indicador de ocupado del módulo LCD - RB7

;Definir pines del Puerto C Sensores del Equipo:
Cblock 0
selcampo ;Interruptor selector de campo a modificar - RC0
_100bs ;Sensor de Moneda de 100 Bs - RC1
_500bs ;Sensor de Moneda de 500 Bs - RC2
Endc

;Definir pines del Puerto D (Teclado):
Cblock 0
pdto1 ;Selección delproducto 1 - RD0
pdto2 ;Selección del producto 2 - RD1
pdto3 ;Selección del producto 3 - RD2
pdto4 ;Selección del producto 4 - RD3
ajthrs ;Ajuste del campo de las horas - RD4
ajtmin ;Ajuste del campo de los minutos - RD5
clr_par ;Interruptor de límite N.C. Cancelar operación - RD6
puerta ;Interruptor de límite N.C. (Servicio) - RD7
Endc

;Definir pines del Puertos E (ControlLCD):
Cblock 0
rs ;Pin de habilitación del módulo LCD - RE0
rw ;Pin de lectura / escritura del módulo LCD - RE1
ena ;Pin de habilitación del módulo LCD - RE2
Endc

;Definir bit de Control del Registro CSTATUS:
Cblock 0
rtc ;Indicador de ciclo de registros del RTC
key ;Indicador de teclado en uso
seg ;Indicador de evento de 1 segundo
Endc

;Definir constantes y...
tracking img