Ejercicio 4
Ejercicio 4
;con el introducido por 3 interuptores conectados a las lineas RB0-RB2 DEL PUERTO B
;EL RESULTADO DE ESA MULTIPLICATION DEBERA VISUALISARSE EN LAS LINEAS RB3-RB7 DEL PURTO
B
PROCESSOR 16F877A ; INDICA EL MODELO DE PIC QUE SE USA ES UNA DIRECTIVA DEL
ENSAMBLADOR
#include <xc.inc> ; DIRECTIVA DEL ENSAMBLADOR QUE INCLUYE ARCHIVO DE CABECERA QUE
CONTIENE LOS REGISTROS DE FUNCION ESPECIALESDE LOS DIFERENTES
; CONFIG
CONFIG LVP = OFF ; Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit
(RB3 is digital I/O, HV on MCLR must be used for programming)
CONFIG CPD = OFF ; Data EEPROM Memory Code Protection bit (Data EEPROM code
protection off)
CONFIG WRT = OFF ; Flash Program Memory Write Enable bits (Write protection off; all
program memory may be written to by EECON control)
CONFIG CP = OFF ; Flash Program Memory Code Protection bit (Code protection off)
ORG 0X0000 ; comando que indica al ensamblador direccion en la memoria donde se situara
la siguiente
; instruccion
MOVLW 00000111B
CICLO:
CLRF VAR1
CLRF VAR2
CLRF RESULTADO
MOVWF VAR1
RRF VAR1,1
MOVF PORTB,0
MOVWF VAR2
MOVLW 0
;PROGRAMA PRINCIPAL
INICIO:
ADDWF VAR1,0
MOVWF RESULTADO
DECFSZ VAR2,1
RLF RESULTADO,1
RLF RESULTADO,1
RLF RESULTADO,1
MOVF RESULTADO,0
movwf PORTB
goto CICLO
end
SEGUNDO problema.s Programa que lee el numero binario
PROCESSOR 16F877A
#include <xc.inc>
; CONFIG
CONFIG LVP = OFF ; Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit
(RB3 is digital I/O, HV on MCLR must be used for programming)
CONFIG CPD = OFF ; Data EEPROM Memory Code Protection bit (Data EEPROM code
protection off)
CONFIG WRT = OFF ; Flash Program Memory Write Enable bits (Write protection off; all
program memory may be written to by EECON control)
CONFIG CP = OFF ; Flash Program Memory Code Protection bit (Code protection off)
PSECT udata
bsf STATUS,5
bcf STATUS,6 ; pone A o el bit 6 del registro status para direccionar la pagina 1 de la
; memoria de datos
movlw 0x06 ;configura todas las terminales de puerto A
inicio:
movf PORTA,0
addlw 8
movwf PORTB
goto inicio
END
Libry included
PROCESSOR 16F877A
; Configuration words
; CONFIG
CONFIG LVP = OFF ; Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit
(RB3 is digital I/O, HV on MCLR must be used for programming)
CONFIG CPD = OFF ; Data EEPROM Memory Code Protection bit (Data EEPROM code
protection off)
CONFIG WRT = OFF ; Flash Program Memory Write Enable bits (Write protection off; all
program memory may be written to by EECON control)
CONFIG CP = OFF ; Flash Program Memory Code Protection bit (Code protection off)
PSECT udata
movlw 02 ; 2 -> W
movlw 04 ; 4 -> W
END
Examen, ejercicio 9. Se colocan tres interruptores en las lineas RB2-RB4
;Se trata de diseñar un programa que comienza leyendo el número binario de 3 bits
#include "p16f877a.inc"
bsf STATUS,5 ; PONE A 1 EL BIT 5 DEL REGISTRO STATUS PARA DIRECCIONAR LA PAGINA
;1 DE LA MEMORIA DE DATOS
bcf STATUS,6 ; PONE A 0 EL BIT 6 DEL REGUSTRO STATUS PARA DIRECCIONAR LA PAGINA1
; DE LA MEMORIA DE DATOS