Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ingeniería en Computación
Organización de Computadoras
Alumnos:
Grupo:
5CM15
Profesor:
M. en C. Jesús García Ruiz
Diseño Esquemático:
Programa A:
Programa B:
Programa C:
Diseño Software:
Construcción:
Programa A
__CONFIG
_CP_OFF&_WDT_OFF&_PWRTE_ON&_MCLRE_OFF&_INTOSC_OSC_NOCLKOUT&_LVP_OFF;
LIST P = 16F628A
INCLUDE <P16F628A.INC>
CBLOCK 0X20
CONTA_1
CONTA_2
ENDC
ORG 0
INICIO
MOVLW H'07'
MOVWF CMCON
BSF STATUS,RP0
CLRF TRISB
CLRF TRISA
BCF STATUS,RP0
CLRF PORTA
CLRF PORTB
PRINCIPAL
BSF PORTA,3
BSF PORTA,2
BSF PORTA,1
BCF PORTA,0
MOVLW B'01101110' ;H
MOVWF PORTB
MOVLW d'4'
CALL RETARDOS_MS
BSF PORTA,3
BSF PORTA,2
BSF PORTA,1
BSF PORTA,0
BSF PORTA,3
BSF PORTA,2
BCF PORTA,1
BSF PORTA,0
MOVLW B'11111100' ;O
MOVWF PORTB
MOVLW d'4'
CALL RETARDOS_MS
BSF PORTA,3
BSF PORTA,2
BSF PORTA,1
BSF PORTA,0
BSF PORTA,3
BCF PORTA,2
BSF PORTA,1
BSF PORTA,0
MOVLW B'00011100' ;L
MOVWF PORTB
MOVLW d'4'
CALL RETARDOS_MS
BSF PORTA,3
BSF PORTA,2
BSF PORTA,1
BSF PORTA,0
BCF PORTA,3
BSF PORTA,2
BSF PORTA,1
BSF PORTA,0
MOVLW B'11101110' ;A
MOVWF PORTB
MOVLW d'4'
CALL RETARDOS_MS
BSF PORTA,3
BSF PORTA,2
BSF PORTA,1
BSF PORTA,0
GOTO PRINCIPAL
RETARDOS_MS
MOVWF CONTA_2
R1MS_BUCLEEXTERNO
MOVLW d'5000'
MOVWF CONTA_1
R1MS_BUCLEINTERNO
NOP
DECFSZ CONTA_1,F
GOTO R1MS_BUCLEINTERNO
DECFSZ CONTA_2,F
GOTO R1MS_BUCLEEXTERNO
RETURN
END
Programa B
__CONFIG
_CP_OFF&_WDT_OFF&_PWRTE_ON&_MCLRE_OFF&_INTOSC_OSC_NOCLKOUT&_LVP_OFF;
LIST P = 16F628A
INCLUDE <P16F628A.INC>
CBLOCK 0X20
CONTA_1
CONTA_2
VAR
ENDC
ORG 0
INICIO
BSF STATUS,RP0
MOVLW H'07'
MOVWF CMCON
PRINCIPAL
BTFSC PORTA, 6
GOTO NO
GOTO SI
SI
MOVLW B'11111101'
MOVWF PORTB
BSF PORTA,3
BSF PORTA,2
BSF PORTA,1
BCF PORTA,0
MOVLW d'4'
CALL RETARDOS_MS
BSF PORTA,3
BSF PORTA,2
BSF PORTA,1
BSF PORTA,0
MOVLW B'10011111'
MOVWF PORTB
BSF PORTA,3
BSF PORTA,2
BCF PORTA,1
BSF PORTA,0
MOVLW d'4'
CALL RETARDOS_MS
BSF PORTA,3
BSF PORTA,2
BSF PORTA,1
BSF PORTA,0
MOVLW B'11111101'
MOVWF PORTB
BSF PORTA,3
BCF PORTA,2
BSF PORTA,1
BSF PORTA,0
MOVLW d'4'
CALL RETARDOS_MS
BSF PORTA,3
BSF PORTA,2
BSF PORTA,1
BSF PORTA,0
MOVLW B'10011111'
MOVWF PORTB
BCF PORTA,3
BSF PORTA,2
BSF PORTA,1
BSF PORTA,0
MOVLW d'4'
CALL RETARDOS_MS
BSF PORTA,3
BSF PORTA,2
BSF PORTA,1
BSF PORTA,0
GOTO PRINCIPAL
NO
BTFSC PORTA, 7
GOTO NO1
GOTO SI1
SI1
MOVLW B'00010001'
MOVWF PORTB
BSF PORTA,3
BSF PORTA,2
BSF PORTA,1
BCF PORTA,0
MOVLW d'4'
CALL RETARDOS_MS
BSF PORTA,3
BSF PORTA,2
BSF PORTA,1
BSF PORTA,0
MOVLW B'11100011'
MOVWF PORTB
BSF PORTA,3
BSF PORTA,2
BCF PORTA,1
BSF PORTA,0
MOVLW d'4'
CALL RETARDOS_MS
BSF PORTA,3
BSF PORTA,2
BSF PORTA,1
BSF PORTA,0
MOVLW B'00011111'
MOVWF PORTB
BSF PORTA,3
BCF PORTA,2
BSF PORTA,1
BSF PORTA,0
MOVLW d'4'
CALL RETARDOS_MS
BSF PORTA,3
BSF PORTA,2
BSF PORTA,1
BSF PORTA,0
MOVLW B'00000011'
MOVWF PORTB
BCF PORTA,3
BSF PORTA,2
BSF PORTA,1
BSF PORTA,0
MOVLW d'4'
CALL RETARDOS_MS
BSF PORTA,3
BSF PORTA,2
BSF PORTA,1
BSF PORTA,0
GOTO PRINCIPAL
NO1
MOVLW B'00000001'
MOVWF PORTB
BSF PORTA,3
BSF PORTA,2
BSF PORTA,1
BCF PORTA,0
MOVLW d'4'
CALL RETARDOS_MS
BSF PORTA,3
BSF PORTA,2
BSF PORTA,1
BSF PORTA,0
MOVLW B'00010001'
MOVWF PORTB
BSF PORTA,3
BSF PORTA,2
BCF PORTA,1
BSF PORTA,0
MOVLW d'4'
CALL RETARDOS_MS
BSF PORTA,3
BSF PORTA,2
BSF PORTA,1
BSF PORTA,0
MOVLW B'10001111'
MOVWF PORTB
BSF PORTA,3
BCF PORTA,2
BSF PORTA,1
BSF PORTA,0
MOVLW d'4'
CALL RETARDOS_MS
BSF PORTA,3
BSF PORTA,2
BSF PORTA,1
BSF PORTA,0
MOVLW B'00000011'
MOVWF PORTB
BCF PORTA,3
BSF PORTA,2
BSF PORTA,1
BSF PORTA,0
MOVLW d'4'
CALL RETARDOS_MS
BSF PORTA,3
BSF PORTA,2
BSF PORTA,1
BSF PORTA,0
GOTO PRINCIPAL
RETARDOS_MS
MOVWF CONTA_2
R1MS_BUCLEEXTERNO
MOVLW d'249'
MOVWF CONTA_1
R1MS_BUCLEINTERNO
NOP
DECFSZ CONTA_1,F
GOTO R1MS_BUCLEINTERNO
DECFSZ CONTA_2,F
GOTO R1MS_BUCLEEXTERNO
RETURN
END
#include<16F628A.H>
#fuses PROTECT,NOMCLR,INTRC_IO,NOLVP,NOWDT,PUT
#use delay(clock=8000000)
#byte OPTION_REG=getenv("SFR:OPTION_REG")
#bit RBPU=OPTION_REG.7
int i = 0, j = 0, k = 0, l = 0;
int A[]={252,96,218,242,102,182,190,224,254,230};
void main(void){
RBPU = 0;
while(1){
output_B(0xfc); //l
delay_ms(1);
output_B(0xfc); //2
delay_ms(1);
output_B(A[i]); //3
delay_ms(1);
output_B(A[j]); //4
delay_ms(1);
i = 0;
j = 0;
}
Resultados:
Programa A
Simulacion
Practico
Programa B
Entrada 00
Simulacion
Practico
ENTRADA 01
ENTRADA 11
Programa C
Solo mostraremos el 0 y el 20
Conclusiones: