Está en la página 1de 6

NOMBRE: Stephen Valencia

ASIGNATURA: Microcontroladores y PLC


NRC: 3363
FECHA 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 salida
N VAR BYTE
N como variable
DATO VAR BYTE
Dato como
variable
INICIO:
Inicio del
programa
FOR 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
Asignacin de la
variable dato al puerto
PAUSE 300
Genera una
pausa de 300 ms
NEXT N
Termina el ciclo
GOTO INICIO
Vuelve al inicio
END
Fin del
programa

CONTADOR DESCENDENTE 9_0


TRISB=0
Coloca al puerto
B como salida
CMCON=7
Digitaliza el
puerto
N VAR BYTE
N como variable
DATO VAR BYTE
Dato como
variable
INICIO:
Inicio del
programa
FOR N= 9 TO 0
Step -1
Ciclo for y
disminucin 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
Asignacin de la
variable dato al puerto
PAUSE 300
Genera una
pausa de 300 ms
NEXT N
Termina el ciclo
GOTO INICIO
Vuelve al inicio
END
Fin del
programa

CONTADOR MULTIPLEXADO 00_99


TRISA = 0
A como salida
TRISB= 0
B como salida
CMCON = 7
puerto

Coloca al puerto
Coloca al puerto
Digitaliza el

N VAR BYTE
Declara a la
variable N
UNIDAD VAR BYTE
Declara a la
variable UNIDAD
DECENA VAR BYTE
Declara a la
variable DECENA
UNIDAD = 0
Inicializacin de
la unidad
Decena = 0
Inicializacin de
la decena
DATO VAR BYTE
Declaracin de la
variable DATO
CONTADOR:
Inicio del contador
FOR DECENA = 0 TO 9
Inicio del ciclo para
las decenas
FOR UNIDAD = 0 TO 9
Inicio del ciclo para
las unidades
GOSUB DISPLAY
Llama a la
subrutina display
NEXT UNIDAD
Salta al otro ciclo
de Unidad
NEXT DECENA
Salta al otro ciclo
de Decena
GOTO CONTADOR
DISPLAY:
FOR N = 1 TO 10
Inicio del ciclo N
LOOKUP 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 dato
HIGH PORTA.1
Declaracin de la
variable en alto
LOW PORTA.0
Declaracin 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 dato
HIGH PORTA.1
Declaracin de la
variable en alto
LOW PORTA.0
Declaracin de la
variable en bajo
PAUSE 50
Genera una pausa de
50 ms
RETURN
Regresa al ciclo
END

2. Realice un contador mdulo 100 (00-99), para controlar los displays


conectados en el mismo puerto como se ve en la figura.
TRISB=0
; Puerto B de salida
A VAR BYTE
; Variable A
B VAR BYTE
; Variable B decenas
C VAR BYTE
; Variable C unidades
A=0
; Inicializo variable A en 0
B=0
; Inicializo variable B en 0
C=0
; Inicializo variable C en 0
CONT:
; Nombre del programa
FOR A=0 TO 9
; Ciclo repetitivo
LOOKUP A,[0,16,32,48,64,80,96,112,128,144], B ; Toma valores de un vector
FOR C=0 TO 9
;
Ciclo repetitivo
PAUSE 500
; Pausa de 500 ms
PORTB= B+C
; suma de unidades y decenas
NEXT C
; termina ciclo
NEXT A
; termina ciclo
GOTO CONT
; regresa a etiqueta cont

END

; termina el programa

U2
7
1
2
6
4
5
3

A
B
C
D
BI/RBO
RBI
LT

QA
QB
QC
QD
QE
QF
QG

13
12
11
10
9
15
14

74LS47

U1
16
15
4

RA7/OSC1/CLKIN
RA6/OSC2/CLKOUT
RA5/MCLR

RA0/AN0
RA1/AN1
RA2/AN2/VREF
RA3/AN3/CMP1
RA4/T0CKI/CMP2

RB0/INT
RB1/RX/DT
RB2/TX/CK
RB3/CCP1
RB4
RB5
RB6/T1OSO/T1CKI
RB7/T1OSI

17
18
1
2
3
6
7
8
9
10
11
12
13

PIC16F628A

U3
7
1
2
6
4
5
3

A
B
C
D
BI/RBO
RBI
LT

13
12
11
10
9
15
14

QA
QB
QC
QD
QE
QF
QG

74LS47

U2
7
1
2
6
4
5
3

A
B
C
D
BI/RBO
RBI
LT

QA
QB
QC
QD
QE
QF
QG

13
12
11
10
9
15
14

74LS47

U1
16
15
4

RA7/OSC1/CLKIN
RA6/OSC2/CLKOUT
RA5/MCLR

RA0/AN0
RA1/AN1
RA2/AN2/VREF
RA3/AN3/CMP1
RA4/T0CKI/CMP2

RB0/INT
RB1/RX/DT
RB2/TX/CK
RB3/CCP1
RB4
RB5
RB6/T1OSO/T1CKI
RB7/T1OSI

17
18
1
2
3
6
7
8
9
10
11
12
13

PIC16F628A

U3
7
1
2
6
4
5
3

A
B
C
D
BI/RBO
RBI
LT

QA
QB
QC
QD
QE
QF
QG

13
12
11
10
9
15
14

74LS47

3. Realice un contador ascendente mdulo 23, con los displays multiplexados,


es decir conectados en el mismo puerto, sin decodificador.