TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: pacoelmakinas en 21 de Junio de 2007, 19:10:27
-
Hola chicos/as, alguien me podria ayudar con las siguientes cuestiones?Seria de mucho agrado, hay van:
1.Realiza un programa que lea la entrada analógica AN0 y muestre el resultado por
PORTA[5:1]:PORTD[7:3]. Freloj = 4MHz, Vref+ = VCC, Vref- = GND.
2.Realiza una rutina de acceso a memoria EEPROM asigne los valores almacenados a los bancos 0 y 1
de RAM, de forma que la configuración del PIC se cargue desde EEPROM.
3.Realiza una rutina de acceso a memoria EEPROM que escriba el valor almacenado en los bancos 0 y
1 de RAM de forma que la configuración del PIC quede almacenada en la memoria no volátil.
4.Realiza una rutina de temporización que cuente 500 segundos. TMR1, 4MHz.
5.Realiza una rutina de temporización que cuente 500 segundos. TMR2, 32kHz.
6.Realiza una rutina de temporización que cuente 2,5 mseg. TMR2, 3,33MHz.
-Realiza una rutina de puerto serie, 4MHz, 10.000baudios, 8 BIT. Debe configurar correctamente
para los parámetros requeridos y realizar una función eco simple.
-Realiza un programa de puerto serie, 4MHz, 9.600baudios, 8 BIT. Debe configurar correctamente
para los parámetros requeridos y recibir 100 bytes y almacenarlos en el banco 1 de RAM de forma
contigua. Se recomienda la gestión de errores y la utilización de punteros de RAM e interrupciones.
-Realiza un programa de puerto serie, 4MHz, 4.800baudios, 9 BIT, con detección de cabecera
automática. Debe configurar correctamente para los parámetros requeridos y generar con el módulo
PWM una señal de periodo igual al valor recibido en el primer byte de la trama de comunicación en
useg, y tiempo de nivel alto ajustado por el valor del segundo byte de la trama.
-Realiza un programa que genere señales PWM, el ajuste de la frecuencia se haga en función del
valor leído del puerto B y el ajuste de tiempo a 1 se haga con el valor leído en puerto A, de forma
que, sea cual sea el valor de puerto B, el tiempo a 1 siempre oscile de mínimo a máximo con todo el
rango del puerto A.
Os lo agradeceria de corazon, con poco que me contestaseis.
Un saludo, gracias
-
Hola amigo!
¿Cuantos puntos vale cada item? :D
Deberias darnos mas pistas: Que micro usar, que lenguaje de programacion, a que curso vas, etc....
Saludos!
-
jajaja Fin de semestre ?
¿Cuantos puntos vale cada item? :D
Deberias darnos mas pistas: Que micro usar, que lenguaje de programacion, a que curso vas, etc....
-
Alguien se está por transformar en "pacoelreprobado" :D
:idea: Y si probamos con estudiar ? :idea:
Bromas aparte, por 300 Euros cada respuesta, te las contesto en éste fin de semana previo envío del dinero por Western Union.
:D :D :D :D :D
No mentira; era otra broma.
.... No puedo hacerlo tán rápido, dame algunos días más ....
-
Bueno Paco, pero..., sois estudiante de ingenieria en electronica?, porque lo que pides no son trabajos demandados por un cliente, sobre todo esta:
Realiza una rutina de temporización que cuente 2,5 mseg. TMR2, 3,33MHz.
O lo otro que se me ocurre es que a la carrera de medicina que hayan incorporado una tema adicional como 'microcontroladores 1' y tu estudies medicina y logicamente te importe un bledo la materia y solo te interese aprobar 'porque si' esta materia.
Si no lo que deberias hacer es replantearte si realmente te interesa la ingenieria electronica y/o la informatica, antes de que sea tarde y sigas en el rumbo equivocado y reveas tu vocacion.
Se que probablemente se enojes o enfades cuando leas las respuestas de tu peticion, pero realmente no se me ocurre como es que tu primer mensaje fue asi.
Le voy a arruinar el negocio a Mario con lo que te voy a decir pero 'todas' las respuestas de tus preguntas, estan respondidas en el foro y las que no, en los 10.000 ejemplos que Microchip tiene publicado como codigo abierto en su pagina, que son en ASM, tambien estan los datasheet de todos su productos, eso si en inlges o en chino, solamente, tambien puedes usar el google o algun otro buscador donde seguramente te soprendera lo que hay hecho y se puede hacer con un microcontrolador PIC.
Bienvenido al foro.
-
Falto uno de los items del pedido, aqui lo pongo :mrgreen: :mrgreen:
Realiza una rutina que haga que el PIC salte de su zocalo, de tres volteretas en el aire y caiga insertado nuevamente en el zocalo, esta rutina debe repetirse hasta que todos los participantes del Foro Todopic aplaudan parados.
Bueno, empecemos a ayudar, chee!!! :D :D :D
-
Se trata de microcontroladores PICs (lenguaje en ensamblador), el 16F877, y los ejemplos que propuse son aquellos en los que tengo dudas o no se resolver. Os agradeceria muchisimo por poco que me ayudaseis.
-
Se trata de microcontroladores PICs (lenguaje en ensamblador), el 16F877, y los ejemplos que propuse son aquellos en los que tengo dudas o no se resolver. Os agradeceria muchisimo por poco que me ayudaseis.
Amigo , sin ofender pero creo que debieras comenzar a dar algunos pasos tu solo, probar algunos códigos y luego, en lo que no te salga, posteas el código y lo vamos resolviendo juntos pero el esfuerzo lo tienes que poner tú también. De nuestra parte, el esfuerzo está en dedicar tiempo a leer el post, a controlar tus códigos, a revisarlos, a buscar las fallas, etc ... y creeme eso no es poca cosa, incluso para alguien que tenga mucha experiencia en el tema.
Ese es el espíritu del foro.
-
De acuerdo. Alguien me podria ayudar a como guardar en los bancos 0 y 1 de la ram?Osea, yo leo de la eeprom y despues guardo en los bancos 0 y 1 de la ram. Se que es con direccionamiento indirecto, pero tengo mis dudas, al igual de como cambiar de banco.
Un saludo, gracias
-
De acuerdo. Alguien me podria ayudar a como guardar en los bancos 0 y 1 de la ram?Osea, yo leo de la eeprom y despues guardo en los bancos 0 y 1 de la ram. Se que es con direccionamiento indirecto, pero tengo mis dudas, al igual de como cambiar de banco.
Un saludo, gracias
Lo puedes hacer con indireccionamiento indirecto o no. No es obligación.
Para cambiar de banco, es trabajando con los bits RP0 y RP1 del status. Para seleccionar banco 0 y 1, en el direccionamiento indirecto es poniendo el STATUS,IRP en 0 , y en 1, es para banco 2 y 3.
Esta información está muy bien documentada en el datasheet ¿lo has observado?
-
INICIO
BSF STATUS,5 ;CONFIGURACION DE PUERTOS banco1
MOVLW B'11000'
MOVWF PORTA
CLRF PORTE ;PUERTO E COMO SALIDAS
MOVLW 07
MOVWF ADCON0 ;PUERTA A COMO SALIDAS O ENTRADAS DIGITALES.
BCF PIE1,4 ;BITS DE EEPROM
MOVLW B'00000110'
MOVWF TMRO_OPT ;ACTIVO RESISTENCIA DE PULL- UP
MOVLW B'11110000' ;SALIDAS ENTRADAS AL TECLADO MATRICIAL
MOVWF PORTB
CLRF PORTD ;SALIDAS EL CRISTAL LCD
MOVLW B'00100100' ;SELECCION TX DE 8 BITS,ALTA VELOCIDAD, MODO
BCF STATUS,5 banco 0
seguir el programa
ESCRIBIR en eeprom
BCF STATUS,6 ;BANCO 0
BCF STATUS,5
MOVF ADDR_L,W
BSF STATUS,6 ;BANCO 2 SE METE EEADR LA DIRECCION
MOVWF EEADR ;A LA QUE SE BA A ACCEDER.
BCF STATUS,6 ;BANCO CERO
MOVF MINUTO,W ;SE METE EN EEDATA EL DATO A
BSF STATUS,6
MOVWF EEDATA ;ESCRIBIR
BSF STATUS,5 ;BANCO 3
BCF EECON1,EEPGD ;ACCESO A LA MEMORIA DE PROGRAMA
BSF EECON1,WREN ;HABILITO ESCRITURA DE EEPROM.
MOVLW 55H
MOVWF EECON2
MOVLW 0AAH
MOVWF EECON2
BSF EECON1,WR ;SE LE DA ORDEN A LA ESCRITURA.
MOVLW B'11000000' ;HABILITO INTERRUPCIONES.
MOVWF INTCON
BCF STATUS,6 ;BANCO 0
BCF STATUS,5
RET BTFSS PIR2,EEIF ;¿ESCRITURA LISTA? SI, SALTE.
GOTO RET ;NO GOTO RET
BCF PIR2,EEIF ;BORRAR BIT DE PREGUTA.
BSF STATUS,5
BSF STATUS,6
BCF EECON1,WREN
BCF STATUS,6 ;BANCO 0
BCF STATUS,5
RETURN
LEER en eeprom
BCF STATUS,6 ;BANCO 0
BCF STATUS,5
MOVF ADDR_L,W ;ACCEDER A LA POSICION DE LA EEPROM
BSF STATUS,6 ;BANCO 2
MOVWF EEADR
BSF STATUS,5 ;BANCO 3
BCF EECON1,EEPGD ;ACCESO A LA MEMORIA DE PROGRAMA
BSF EECON1,RD ;INICIA EL PROCESO DE LECTURA.
BCF STATUS,5 ;BANCO 2
MOVF EEDATA,W ;EXPLORO EL CONTENIDO DE EEPROM
BCF STATUS,6 ;BANCO0
MOVWF MINUTO ;..........MINUTO=EEPROM
RETURN
saludos ................