Upload
stephenakd13
View
215
Download
0
Embed Size (px)
DESCRIPTION
manejo de displays
Citation preview
NOMBRE: Stephen ValenciaASIGNATURA: Microcontroladores y PLCNRC: 3363FECHA DE ENTREGA: 29-10-2015
1. Compruebe el funcionamiento en el simulador de todos los circuitos y programas presentados. Escriba los comentarios correspondientes en todas las instrucciones.
CONTADOR ASCENDENTE 0_9
TRISB=0 Coloca al puerto B como salidaN VAR BYTE N como variable DATO VAR BYTE Dato como variable INICIO: Inicio del programaFOR N= 0 TO 9 Ciclo for LOOKUP N, [64,121,36,48,25,18,2,120,0,16],DATO Almacena una tabla de datos constantes PORTB= DATO Asignación de la variable dato al puertoPAUSE 300 Genera una pausa de 300 msNEXT N Termina el ciclo GOTO INICIO Vuelve al inicioEND Fin del programa
CONTADOR DESCENDENTE 9_0
TRISB=0 Coloca al puerto B como salidaCMCON=7 Digitaliza el puertoN VAR BYTE N como variable DATO VAR BYTE Dato como variable INICIO: Inicio del programaFOR N= 9 TO 0 Step -1 Ciclo for y disminución de uno en uno LOOKUP N, [64,121,36,48,25,18,2,120,0,16],DATO Almacena una tabla de datos constantes PORTB= DATO Asignación de la variable dato al puertoPAUSE 300 Genera una pausa de 300 msNEXT N Termina el ciclo GOTO INICIO Vuelve al inicioEND Fin del programa
CONTADOR MULTIPLEXADO 00_99
TRISA = 0 Coloca al puerto A como salidaTRISB= 0 Coloca al puerto B como salidaCMCON = 7 Digitaliza el puertoN VAR BYTE Declara a la variable NUNIDAD VAR BYTE Declara a la variable UNIDADDECENA VAR BYTE Declara a la variable DECENAUNIDAD = 0 Inicialización de la unidad Decena = 0 Inicialización de la decenaDATO VAR BYTE Declaración de la variable DATOCONTADOR: Inicio del contadorFOR DECENA = 0 TO 9 Inicio del ciclo para las decenas
FOR UNIDAD = 0 TO 9 Inicio del ciclo para las unidadesGOSUB DISPLAY Llama a la subrutina display NEXT UNIDAD Salta al otro ciclo de Unidad NEXT DECENA Salta al otro ciclo de DecenaGOTO CONTADOR DISPLAY:FOR N = 1 TO 10 Inicio del ciclo NLOOKUP UNIDAD,[64,121,36,48,25,18,2,120,0,16],DATO Almacena una tabla de datos a la unidad PORTB = DATO Asigna al puerto la variable datoHIGH PORTA.1 Declaración de la variable en altoLOW PORTA.0 Declaración de la variable en bajo PAUSE 50 Genera una pausa de 50 ms LOOKUP DECENA,[64,121,36,48,25,18,2,120,0,16],DATO Almacena una tabla de datos a la unidad PORTB = DATO Asigna al puerto la variable datoHIGH PORTA.1 Declaración de la variable en altoLOW PORTA.0 Declaración de la variable en bajo PAUSE 50 Genera una pausa de 50 ms RETURN Regresa al ciclo END
2. Realice un contador módulo 100 (00-99), para controlar los displays conectados en el mismo puerto como se ve en la figura.
TRISB=0 ; Puerto B de salidaA VAR BYTE ; Variable AB VAR BYTE ; Variable B decenasC VAR BYTE ; Variable C unidadesA=0 ; Inicializo variable A en 0B=0 ; Inicializo variable B en 0C=0 ; Inicializo variable C en 0CONT: ; Nombre del programaFOR A=0 TO 9 ; Ciclo repetitivoLOOKUP A,[0,16,32,48,64,80,96,112,128,144], B ; Toma valores de un vectorFOR C=0 TO 9 ; Ciclo repetitivoPAUSE 500 ; Pausa de 500 msPORTB= B+C ; suma de unidades y decenas NEXT C ; termina cicloNEXT A ; termina cicloGOTO CONT ; regresa a etiqueta contEND ; termina el programa
3. Realice un contador ascendente módulo 23, con los displays multiplexados, es decir conectados en el mismo puerto, sin decodificador.
RA7/OSC1/CLKIN16
RB0/INT 6
RB1/RX/DT 7
RB2/TX/CK 8
RB3/CCP1 9
RB4 10
RB5 11
RB6/T1OSO/T1CKI 12
RB7/T1OSI 13
RA0/AN0 17
RA1/AN1 18
RA2/AN2/VREF 1
RA3/AN3/CMP1 2
RA4/T0CKI/CMP2 3
RA6/OSC2/CLKOUT15
RA5/MCLR4
U1
PIC16F628A
A7 QA 13
B1 QB 12
C2 QC 11
D6 QD 10
BI/RBO4 QE 9
RBI5 QF 15
LT3 QG 14
U2
74LS47
A7 QA 13
B1 QB 12
C2 QC 11
D6 QD 10
BI/RBO4 QE 9
RBI5 QF 15
LT3 QG 14
U3
74LS47
RA7/OSC1/CLKIN16
RB0/INT 6
RB1/RX/DT 7
RB2/TX/CK 8
RB3/CCP1 9
RB4 10
RB5 11
RB6/T1OSO/T1CKI 12
RB7/T1OSI 13
RA0/AN0 17
RA1/AN1 18
RA2/AN2/VREF 1
RA3/AN3/CMP1 2
RA4/T0CKI/CMP2 3
RA6/OSC2/CLKOUT15
RA5/MCLR4
U1
PIC16F628A
A7 QA 13
B1 QB 12
C2 QC 11
D6 QD 10
BI/RBO4 QE 9
RBI5 QF 15
LT3 QG 14
U2
74LS47
A7 QA 13
B1 QB 12
C2 QC 11
D6 QD 10
BI/RBO4 QE 9
RBI5 QF 15
LT3 QG 14
U3
74LS47