Está en la página 1de 19

Disear la propuesta de proyecto de implementacin

Desarrollo Unidad 1 Paso 2


INTRODUCCION

En este trabajo se trabaja con el desarrollo y practica de Microprocesadores y

Microcontroladores realizando ejercicios con SIMUPROC con un software de lenguaje lenguaje

de programacin de bajo nivel, se estudio tambien software MPLAB que tiene el mismo lenguaje

pero en este software lo utilizamos para realizar las instrucciones para la utilizacion el

microprocesador PIC16F84A para realizar un circuito para hacer intermitente dos led con

diferentes tiempos de prendido y el otro ejercicio es, que por medio de dos pulsadores prenda y

apague un led con el Microprocesador y para demostrar se emulo en el Software PROTEUS 8.6.
Tabla de contenido

OBJETIVOS .................................................................................................................... 4

1. Desarrollar un mapa conceptual de de la arquitectura de un microcontrolador. ................. 5


2. Utilizando el software libre SIMUPROG .................................................................... 5
3. Encendido y apagado de dos LED (rojo y verde) con intermitencia de aproximadamente de 2
segundos el rojo y 1 segundo el verde. ................................................................................. 8
4. Encendido de un LED por accin sobre un pulsador se mantenga ................................... 12
5. Se debe escoger una de las 3 Propuestas de tipo grupal para el desarrollo del proyecto final
del curso ......................................................................................................................... 17
Conclusiones .................................................................................................................. 18
Bibliografa .................................................................................................................... 19
OBJETIVOS

Realizar en el sofware SIMUPROG en el lenguaje de bajo nivel se desarrollara el codigo

de las actividades de rea de un pentgono regular, hallar el rea del tringulo rectngulo y dar

solucin a la siguiente ecuacin.

Determinar qu es un microcontrolador y qu aspectos lo diferencian de un

microprocesador utilizado para el diseo

Conocer los encapsulados tpicos en los que podemos encontrar el microcontrolador.

Disear en MPLAB para ejecutar los codigos para el funcionamiento del Microprocesador

PIC16F84A y simulacin en proteus de los circuitos


1. Desarrollar un mapa conceptual de de la arquitectura de un microcontrolador.

2. Utilizando el software libre SIMUPROG

C1 34
C2 30
C3 42
C4 29
C5 21

b: hallar el rea del tringulo rectngulo cateto opuesto = C3, Cateto adyacente = C4

#SimuProc 1.4.2.0

msg Hallar el Area de un Triangulo


msg Digite el valos del cateto opuesto C3
IN AX,1
STF 050
msg Digite el valos del cateto adyacente C4
IN AX,1
STF 055
LDF 050
MULF 055
DIVF 060
msg El area del triangulo recto es:
OUT 1,AX
HLT

c:dar solucin a la siguiente ecuacin: c2X - c3 + c1 = c5x + c4

#SimuProc 1.4.2.0
msg Solucionar la ecuacion C2X - C3 + C1 = C5X - C4
msg Ingrese el valor de C1
IN AX,1;
STF 100; ;Guarda en [mem] y mem+1 el contenido de BX y AX
msg Ingrese el valor de C2
IN AX,1;
STF 200;

msg Ingrese el valor de C3


IN AX,1;
STF 300;

msg Ingrese el valor de C4


IN AX,1;
STF 400;

msg Ingrese el valor de C5


IN AX,1;

msg Resolver
msg x=(C4+C3-C1)/(C2-C5)

SUBF 200;
STF 101;

LDF 400;
ADDF 300;
SUBF 100;

DIVF 101;

msg La solucion es:


OUT 1,AX;
HLT
3. Encendido y apagado de dos LED (rojo y verde) con intermitencia de aproximadamente
de 2 segundos el rojo y 1 segundo el verde.

list p=16F84A ; list directive to define processor


#include <p16F84A.inc> ; processor specific variable definitions

__CONFIG _CP_OFF & _WDT_ON & _PWRTE_ON & _RC_OSC

org 0x00
status equ 03h
cblock 0ch

PDel0,PDel1,PDel2,PDel0a,PDel1a,PDel2a,PDel3a

endc
bsf status,5
clrf TRISB
movlw b'00001' ;bit0 como entrada
movwf TRISA
bcf status,5
clrf PORTB
clrf PORTA
;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
inicio
btfss PORTA,0 ;verifica si el witch est presionado
goto inicio ;si no vuelve a escanear el switch
bsf PORTB,0 ;enciende el primer led
call segundo
call segundo ;espera 2 segundos
bsf PORTB,1 ;enciende el segundo led
call segundo
bcf PORTB,1 ;apaga el segundo led
pasodos btfss PORTA,0 ;verifica si el witch est presionado
goto pasodos ;si no vuelve a escanear el switch
bcf PORTB,0 ;apaga el primer led
bsf PORTB,2 ;enciende el tercer led
call segundo
call segundo ;espera 2 segundos
;bsf PORTB,3 ;enciende el cuarto led
;call segundo
;bcf PORTB,3 ;apaga el cuarto led
;pasotres
;btfss PORTA,0 ;verifica si el witch est presionado
;goto pasotres ;si no vuelve a escanear el switch
;bcf PORTB,2 ;apaga el tercer led
;bsf PORTB,4 ;enciende el quinto led
;call segundo
;call segundo ;espera 2 segundos
;bsf PORTB,5 ;enciende el sexto led
;call segundo
;bcf PORTB,5 ;apaga el quinto led
ultimo
btfss PORTA,0 ;verifica si el witch est presionado
goto ultimo ;si no vuelve a escanear el switch
bcf PORTB,1
goto inicio ;comienza de nuevo

;------------------------------------------------------------------------------
segundo
movlw .14 ; 1 set number of repetitions (C)
movwf PDel0 ; 1 |
PLoop0
movlw .72 ; 1 set number of repetitions (B)
movwf PDel1 ; 1 |
PLoop1
movlw .247 ; 1 set number of repetitions (A)
movwf PDel2 ; 1 |
PLoop2
clrwdt ; 1 clear watchdog
decfsz PDel2, 1 ; 1 + (1) is the time over? (A)
goto PLoop2 ; 2 no, loop
decfsz PDel1, 1 ; 1 + (1) is the time over? (B)
goto PLoop1 ; 2 no, loop
decfsz PDel0, 1 ; 1 + (1) is the time over? (C)
goto PLoop0 ; 2 no, loop
PDelL1
goto PDelL2 ; 2 cycles delay
PDelL2
clrwdt ; 1 cycle delay
return ; 2+2 Done

END ; directive 'end of program'


En el siguiente Link se puede observar la emulasion en Proteus 8.6:
https://www.youtube.com/watch?v=jMAn6K604VE&feature=youtu.be

4. Encendido de un LED por accin sobre un pulsador se mantenga

list p=16F84A ; list directive to define processor


#include <p16F84a.inc> ; processor specific variable definitions

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC


;**** Definicion de variables ****
Contador1 equ 0x0C
Contador2 equ 0x0D

Pulsador equ 0 ; pin RB0


Led equ 1 ; pin RB1

;**** Inicio del Micro ****


;reset
org 0x00 ; Aqui comienza el micro. -
goto Inicio ; Salto a inicio de mi programa. -
;**** Vector de Interrupcion ****
org 0x04 ; Atiendo Interrupcion. -
goto ISR

; **** Programa Principal ****


;**** Configuracion de puertos ***
org 0x05 ; Origen del codigo de programa. -
Inicio
bsf STATUS, RP0 ; Pasamos de Banco 0 a Banco 1. -
movlw b'11111101' ; RB0 como entrada y RB1 como salida. -
movwf TRISB
movlw b'01000000' ; Config. Por flanco Ascendente. -
movwf OPTION_REG
bcf STATUS, RP0 ; Paso del Banco 1 al Banco 0
bcf PORTB,Led ; El Led comienza apagado. -
movlw b'10010000' ; Habilitamos GIE y INTE (interrupcin porRB0)
movwf INTCON
;**** Bucle infinito ****
Bucle
nop ;
goto Bucle ;

;.............................................
;**** Rutina de servicio de Interrupcion ****
;**** Interrupcion por RB0 ****
ISR
btfss INTCON, INTF ; Consultamos si es por RB0. -
retfie ; No, Salimos de interrupcin. -
call Demora_20ms ; Comprueba si es rebote. -
btfss PORTB,Pulsador
goto Fin_ISR ; Es rebote, entonces salimos. -
btfss PORTB,Led ; Si esta prendido, lo apagamos. -
goto Prender_Led
bcf PORTB,Led ; Apagamos Led
goto Fin_ISR
Prender_Led
bsf PORTB,Led ; Encendemos Led
Fin_ISR
bcf INTCON, INTF ; Limpiamos bandera. -
retfie ; Salimos de interrupcin. -
;..........................................
;**** Demora ****
Demora_20ms
movlw 0xFF ;
movwf Contador1 ; Iniciamos contador1. -
Repeticion1
movlw 0x19 ;
movwf Contador2 ; Iniciamos contador2
Repeticion2
decfsz Contador2, 1 ; Decrementa Contador2 y si es 0 sale. -
goto Repeticion2 ; Si no es 0 repetimos ciclo. -
decfsz Contador1, 1 ; Decrementa Contador1. -
goto Repeticion1 ; Si no es cero repetimos ciclo. -
return ; Regresa de la subrutina. -

end
En el siguiente Link se puede observar la emulasion en Proteus 8.6:
https://www.youtube.com/watch?v=sbuZmVhw4pc&feature=youtu.be
5. Se debe escoger una de las 3 Propuestas de tipo grupal para el desarrollo del proyecto
final del curso

Sistema automtico almacenamiento y secamiento de arroz, Se escogi este proyecto por


las varias utilidades que se tiene para una de las partes de la produccin del arroz, designando
muchas variables en el proceso como lo son; temperatura, el porcentaje de humedad,
temperatura, peso, luz y flujo del aire dentro del sacado del arroz, etc. La automatizacin del
secador ofrece gran versatilidad en la experimentacin del secado del arroz, lo cual redunda
adems de una mejor eficiencia y calidad, disminuyendo hasta en un 40% el tiempo de secado
evitando el sobrecalentamiento del grano, utilizando Arduino programndolo se deber con l
anterior informacin:
Leer los valores de temperatura del proceso y humedad del grano de caf provenientes del
sensor de temperatura/humedad DHT11 y enviarlas al sistema de control central (computador).
Aplicar las seales digitales de control provenientes del sistema de control central a los
drivers de potencia de los actuadores del proceso de secado del arroz, los cuales son: motor con
tornillo
sin fin para transferencia del caf desde el contenedor de recoleccin hacia la tolva de
secado, encendido/apagado de caldera, motor que administra giro de tolva para secado, motor
contornillo sin fin para salida del caf seco hacia sistema de almacenamiento
.
Conclusiones

Se estudi el lenguaje Ensambler para utilizar los programas SIMUPROC y MPLAB el


cual se utiliz para ingresar los cdigos al Microcontrolador PIC16F84A.

este proyecto nos sirve para comprender un poco ms la teora de los microcontroladores y
su aplicacin; de ah la importancia del mismo, pues a travs de l se puede apreciar lo
interesante que es la programacin en nuestra vida cotidiana.
Bibliografa

Angulo U, (2001). Microcontroladores PIC. Diseo practico de aplicaciones (2 Ed). Recuperado


de
http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/detail.action?docID=10491329&p00=
microcontroladores+pic

Gonzlez, H. U. (Julio de 2009). 309696- Modulo de Microprocesadores y Microcontroladores.


Universidad Nacional Abierta y a Distancia. Colombia. Recuperado de
http://hdl.handle.net/10596/6933

A., R. C. (06 de 05 de 2006). Microcontroladores Pic Programacin en Basic Cap 1. Quito,


Editorial Rispergraf. Recuperado de http://hdl.handle.net/10596/7115

Yuste, P. P. (09 de 06 de 2009). Salidas Digitales de un Sistema Microcontrolador. Universidad


Politcnica de Valencia. Recuperado de http://repository.unad.edu.co/handle/10596/7111

Garcia, C. Canchila, J. Laboratorio de microcontroladores. Monografas. Recuperado de:


http://www.monografias.com/trabajos12/decibin/decibin.shtml#ixzz4ub3RFIgn

Bustamante, R. (2005). Diseo de sistema automtico de control y monitoreo de temperatura en


el proceso de secado de arroz. Universidad de la Salle. Bogot. Recuperado de:
http://repository.lasalle.edu.co/bitstream/handle/10185/16462/00781336.pdf?sequence=1

También podría gustarte