este trabajo se realizo con el objetivo de conocer y estudiar algunas de las principales bases en el estudio de los Microcontroladores y su programación además el uso de el programa que nos permiten crear el código que se cargara en el microcontrolador, de esta forma asociamos lo aprendido en la clase con la práctica y el desarrollo de la lógica de programación, en esta ocasión se utilizara el programa de simulación virtual Proteus que es una herramienta muy útil a la hora de visualizar procesos electrónicos, en esta ocasión lo usamos para visualizar el programa en MPLAB. Esto con el fin de afianzar nuestros conocimientos en los Microcontroladores y el comportamiento de cada una de ellas en diferentes circunstancias que se presentan en el estudio y la utilización de ellos.
Koding for kids es un programa de formación que contribuye a desarrollar habilidades del Siglo XXI tales como el pensamiento crítico y computacional, la creatividad y la resolución de problemas a través del uso e implementación de la micro:bit.
Koding for kids es un programa de formación que contribuye a desarrollar habilidades del Siglo XXI tales como el pensamiento crítico y computacional, la creatividad y la resolución de problemas a través del uso e implementación de la micro:bit.
Fase 1, Lenguaje algebraico y pensamiento funcional
Workshop ii microcontrollers using mplab and proteus
1. |
Microcontroladores II
Escuela Ingeniería Electrónica
1
WORKSHOP II MICROCONTROLLERS USING MPLAB AND PROTEUS®
TALLER DE MICROCONTROLADORES II UTILIZANDO MPLAB Y PROTEUS®
1
Jeisson Julián Saavedra García
Universitaria de investigación y desarrollo UDÍ
Asignatura Campos Electromagnéticos, Escuela de ingeniería electrónica y telecomunicaciones.
1
Ingeniería electrónica, Barrancabermeja, Santander, Colombia.
Tel: 6202638-6222863, fax: 6200790
1
Jeisson20saavedra@gmail.com
Resumen: este trabajo se realizo con el objetivo de conocer y estudiar algunas de las principales
bases en el estudio de los Microcontroladores y su programación además el uso de el programa
que nos permiten crear el código que se cargara en el microcontrolador, de esta forma asociamos
lo aprendido en la clase con la práctica y el desarrollo de la lógica de programación, en esta
ocasión se utilizara el programa de simulación virtual Proteus que es una herramienta muy útil a la
hora de visualizar procesos electrónicos, en esta ocasión lo usamos para visualizar el programa en
MPLAB. Esto con el fin de afianzar nuestros conocimientos en los Microcontroladores y el
comportamiento de cada una de ellas en diferentes circunstancias que se presentan en el estudio y
la utilización de ellos.
Palabras clave: MPLAB, Proteus, Assembler, lógica, programación, microcontrolador, PIC.
Abstract: This work was carried out with the goal of knowing and studying some of the main bases
in the study of the Microcontrollers and their programming in addition, the use of the program that
allows us to create the code that will be loaded into the microcontroller, In this way we associate
what they have learned in the class with the practice and the development of the programming
logic, on this occasion will be used the program Proteus virtual simulation that is a very useful tool
when viewing electronic processes, On this occasion we used for viewing the program in MPLAB.
This in order to strengthen our knowledge in the Microcontrollers and the behavior of each person
in different circumstances that are presented in the study and use of them.
Key words: MPLAB, Proteus, Assembler. Logic, programming, microcontroller, PIC.
2. |
Microcontroladores II
Escuela Ingeniería Electrónica
2
INTRODUCCION
El desarrollo de cualquier actividad que nos
permita desarrollar actitudes y ampliar el
conocimiento es lo que pretendemos buscar
cuando desarrollamos talleres de este tipo, la
complejidad de un lenguaje de programación
de bajo nivel hace que sea virtuoso la
capacidad al desarrollar un taller en donde
podamos visualizar la herramienta de
programación y además usar una
herramienta que permita visualizar esta
programación es lo que se quiere llegar a
lograr como primera medida entendiendo el
programa y el código.
ACTIVIDAD
Para el desarrollo de la actividad se pedía
realizar el esquemático del circuito del
microcontrolador en proteus para luego
cargar el programa en el PIC virtual del
programa de Proteus.
Los detalles se mostraran en los anexos del
trabajo donde esta lo requerido por el
profesor.
Como segunda medida era cargar el
programa o código que nos da el profesor en
el software MPLAB creando el archivo para
cargar en proteus con extensión adecuada
(.asm) y además se pide realizar la siguiente
actividad.
INTERRUPTORES SALIDAS
RB0 RB1 RB2 RB3 RA0 RA1 RA2 RA3
0 0 0 0 1 1 1 1
1 0 0 0 0 1 1 1
0 1 0 0 1 0 1 1
0 0 1 0 1 1 0 1
0 0 0 1 1 1 1 0
1 1 1 1 0 0 0 0
Tabla1. Actividad pedida
DESARROLLO
Siguiendo las especificaciones del profesor
se realiza el montaje del circuito en proteus
quedando de la siguiente manera, en el cual
se cargara el programa del código dado
guardado en la extensión adecuada.
Figura1.circuito del montaje del PIC 16F84A
Para la segunda instancia se procede a realizar el
programa en el MPLAB, de manera que el código
dado por el profesor pueda archivarse como un
archivo de extensión (.asm) para poderlo cargar
en el simulador virtual en proteus, para ello se
crea un nuevo proyecto en el MPLAB, escogemos
el lenguaje de programación assembler y el PIC
16f84a, luego guardamos en la carpeta deseada y
en el archivo nuevo que se crea se pega el código
dado en el taller y se procede a guardar este con
la extensión recomendada.
Los datos hallados tanto el código usado
para este proceso se ve a continuación igual
el paso a paso de la actividad pedida.
Por condiciones de descripción en el proteus
se cambio el esquema original por el
siguiente.
3. |
Microcontroladores II
Escuela Ingeniería Electrónica
3
Figura 2. Cambio de circuito
El código de programación hecho en
MPLAB es el siguiente.
#include "p16f84.inc"
org.0
goto inicio
org.4
retfle
inicio bsf status, 5
movlw b'0000'
movwf trisa
movlw b'1111'
movwf trisb
bcf status, 5
movlw b'1111'
movwf porta
ciclo btfss portb,0
goto apagar1
bcf porta,0
goto pulsa2
apagar1 bsf porta,0
goto pulsa2
pulsa2 btfss portb,1
goto apagar2
bcf porta,1
goto pulsa3
apagar2 bsf porta,1
goto pulsa3
pulsa3 btfss portb,2
goto apagar3
bcf porta,2
goto pulsa4
apagar3 bsf porta,2
goto pulsa4
pulsa4 btfss portb,3
goto apagar4
bcf porta,3
goto ciclo
apagar4 bsf porta,3
goto ciclo
end
Figura 3. Código MPLAB
Para ver los resultados que se pedían en
la tabla1, se monta el programa .HEX en
el circuito virtual de PROTEUS y se corre
el programa (Run the simulation). Y se
ven los siguientes resultados, para
observarlos mejor los montaremos como
anexos.
OSC1/CLKIN
16
RB0/INT
6
RB1
7
RB2
8
RB3
9
RB4
10
RB5
11
RB6
12
RB7
13
RA0
17
RA1
18
RA2
1
RA3
2
RA4/T0CKI
3
OSC2/CLKOUT
15
MCLR
4
U1
PIC16F84A
C1
22pF
R1
10k
R2
100
MCLR
MCLR
R1(1)
C2
22pF
X1
CRYSTAL
OSC1
OSC2
OSC1
OSC2
OFF ON
1
2
3
4
8
7
6
5
DSW1
DIPSW_4
DSW1(NO1)
R3
10k
R4
10k
R5
10k
R6
10k
int1
int2
int3
int4
R7
330
R8
330
R9
330
R10
330
D1
LED-BIGY
D2
LED-BIGY
D3
LED-BIGY
D4
LED-BIGY
RA0
RA1
RA2
RA3
int1
int2
int3
int4
RA0
RA1
RA2
RA3
4. |
Microcontroladores II
Escuela Ingeniería Electrónica
4
Anexos:
A continuación se verán los resultados en proteus de acuerdo al código descrito
anteriormente.
La condición inicial que todos comienzan encendidos.
Cuando se oprime o se le manda un HIGH al RB0 del PIC16F84A el led que corresponde
a la salida RA0 se debe apagar, igual mente si pasa ese caso para RB1, RB2,RB3; se
deben apagar, RA1, RA2 y RA3.