# Quien sabe programar en Mplab?



## jenny_sangronis (Jul 15, 2007)

ok agradezco a quien me pueda ayudar por favor....

tengo que hacer un montaje para la universidad con un pic 16f84 que en la parte de los osciladores tienen que ir conectados 2 condensadores de 27 pf con un cristal xt de 4 Mhz.  En el puerto A que va a ser mi entrada van conectados 3 switch y en el puerto B que es mi salida va conectado un display de 7 segmentos. El hecho es que tengo que meterle el codigo ensamblador a Mplab porque es el simulador que utilizar el profesor y no tengo experiencia en programar en este lenguaje.  Agradezco a quien me pueda ayudar. De antemano Gracias....


----------



## gorgojo (Jul 16, 2007)

el mplab es un entorno de programacion pero el lenguaje en si es el asembler de pic , escribes el programa (cosa que no sabes hacer) y luego lo ejecutas en el Mplab , lo pruebas etc.
es un programa relativamente facil , pero deberas aprender a programar el 16f84 , en el data sheet estan todas las instrucciones para hacerlo , pero te recomiendo que tomes clases de asembler porque aunque te de el programa escrito luego tu profesor te lo hara correr en el mplab y se dara cuenta que no lo hiciste tu


----------



## davolo (Jul 20, 2007)

diem como va a trabajr el ckto , me dice k tiene 3 switch y un displasy conectdos al pic , especifica como va ser la secuencia de trabajo , mmmm y te doy una mano con eso..
suerte


----------



## pic-man (Jul 20, 2007)

Aquí tienes un tutorial de MPLAB. En la misma página puedes encontrar varios ejemplos de programas en ensamblador. Revisa la página que de seguro te sirve para que puedas realizar tu proyecto.


----------



## jenny_sangronis (Jul 23, 2007)

gracias davolo pero ya sali de mi proyecto. pero de todas maneras lo tomare en cuenta para la proxima.


----------



## jenny_sangronis (Jul 23, 2007)

Muy bueno tu link pic-man lo tendre en cuenta para la practica. Muchas gracias...


----------



## Jeannenina (Ago 28, 2007)

oye yo si necesito casi el mismo programa, sino que mis entradas son 4 switch y las salidas es el display, la cuestion aca es que en la configuracion del programa hay que hacer que en el display salgan los numeros en hexa, 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F cada ves que yo manipule el switch dependiendo la entrada obviamente..... ayudenme please


----------



## ars (Ago 28, 2007)

Jeannenina, te podriamos pasar el programa, pero como ya dijieron no tendria sentido alguno si es que lo necesitas para un trabjo de escuela. 
Mira con lo que debes trabajar es con tablas, es muy sencillo. si buscas en el google encontraras muchos ejemplos, si tienes alguna dua con alguna instruccion o lo que sea vuelve a preguntar.


----------



## Jeannenina (Ago 30, 2007)

otra pregunta, es que tengo un programa que me muestra los numeros en hexa pero ya sin un switch, ahora va solo, sino que va muy rapido, solo me muestra el 8, asi que tengo que ponerle un reloj para que valla mas rapido, este debe detectar son los flancos, cual seria las instruccion para realizar esto en MPLAB


----------



## Saint_ (Ago 30, 2007)

Hola, Jeannenina, se mas especifica con lo que requieres, 
1)visualizar en un display los valores en exadecimal de los datos introducidos por unos swith.
o un contador en hexa (el contador mostrara los numeros con intervencion de algo...).


"hay ocaciones en que se requieren hechos..."


----------



## Guest (Sep 3, 2007)

Jeannenina dijo:
			
		

> otra pregunta, es que tengo un programa que me muestra los numeros en hexa pero ya sin un switch, ahora va solo, sino que va muy rapido, solo me muestra el 8, asi que tengo que ponerle un reloj para que valla mas rapido, este debe detectar son los flancos, cual seria las instruccion para realizar esto en MPLAB



Si quieres hacer que vaya mas lento ua manera sencilla seria hacer 2 registros que se decrementen cadaves que vas a mostrar un numero diferente, es decir:

Independientemente de la tecnica que utilises para la temporizacion, despues de mostrar el numero exa en las salidas del pic, en ves de mostrar otro has que tenga que decrementar un registro con la instruccion decsfz , esta decrementa cada ciclo de instruccion y se salta una linea cuando llega a 0


----------

