Está en la página 1de 5

UNIVERSIDAD MAYOR, REAL Y PONTIFICIA

DE SAN FRANCISCO XAVIER DE CHUQUISACA

FACULTAD TÉCNICA

Carrera de Electrónica

Programación Aplicada
ELC 317

Tarea No “3”

Estudiante: Álvarez Ardaya Cristhiams Eduardo

Fecha de Presentación: 12/10/2018

Sucre - Bolivia
TAREA 3

Programación en Lenguaje Assembler

ENUNCIADO

Le fue encargado la elaboración de un proyecto, el cual consiste en hacer un juego de luces


parecido a las luces frontales del auto de serie de acción “El Auto Fantástico”. Se utilizará 8 leds y
se prenderá un led a la vez y cuya secuencia vaya de izquierda a derecha y luego de derecha a
izquierda. Utilice el microcontrolador PIC16F628A, escribir el código fuente en lenguaje
ensamblador y la simulación en Proteus.

Armado del circuito de la Practica 3

Se siguió con todas las instrucciones del docente de laboratorio así logrando sacar el siguiente
resultado:

Elaborando el código fuente da como resultado que se enciendan los leds con una
secuencia elaborada de izquierda a derecha y luego de derecha a izquierda y en los
intervalos se encenderán todos.

2
Código Fuente

/*

* File: main1.c

* Author: LabTec06

* Created on 8 de octubre de 2018, 09:23 AM

*/

// PIC16F628A Configuration Bit Settings

// 'C' source line config statements

// CONFIG

#pragma config FOSC = XT // Oscillator Selection bits (XT oscillator: Crystal/resonator on


RA6/OSC2/CLKOUT and RA7/OSC1/CLKIN)

#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)

#pragma config PWRTE = ON // Power-up Timer Enable bit (PWRT enabled)

#pragma config MCLRE = ON // RA5/MCLR/VPP Pin Function Select bit (RA5/MCLR/VPP pin
function is MCLR)

#pragma config BOREN = ON // Brown-out Detect Enable bit (BOD enabled)

#pragma config LVP = OFF // Low-Voltage Programming Enable bit (RB4/PGM pin has digital
I/O function, HV on MCLR must be used for programming)

#pragma config CPD = OFF // Data EE Memory Code Protection bit (Data memory code
protection off)

#pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection
off)

// #pragma config statements should precede project file includes.

3
// Use project enums instead of #define for ON and OFF.

#include <xc.h>

#define _XTAL_FREQ 4000000

#define TRUE 1

void metodo2(){

while (TRUE){

PORTB = 0b11111111; __delay_ms(100);

PORTB = 0b00000000; __delay_ms(100);

PORTB = 0b00000001; __delay_ms(100);

PORTB = 0b00000010; __delay_ms(100);

PORTB = 0b00000100; __delay_ms(100);

PORTB = 0b00001000; __delay_ms(100);

PORTB = 0b00010000; __delay_ms(100);

PORTB = 0b00100000; __delay_ms(100);

PORTB = 0b01000000; __delay_ms(100);

PORTB = 0b10000000; __delay_ms(100);

PORTB = 0b11111111; __delay_ms(100);

PORTB = 0b00000000; __delay_ms(100);

PORTB = 0b10000000; __delay_ms(100);

PORTB = 0b01000000; __delay_ms(100);

PORTB = 0b00100000; __delay_ms(100);

PORTB = 0b00010000; __delay_ms(100);

PORTB = 0b00001000; __delay_ms(100);

4
PORTB = 0b00000100; __delay_ms(100);

PORTB = 0b00000010; __delay_ms(100);

PORTB = 0b00000001; __delay_ms(100);

};

void main(void) {

TRISB = 0x00;

PORTB = 0x00;

metodo2 ();

return;

También podría gustarte