Curso tutorial del PIC16F877

Saludos Lithiumrd!

Esta chido que más gente quiera compartir el conocimiento! :) muchas gracias bro!
Y yo? ya tengo el código y circuito del prox ejemplo, pero soy bien huevón (entiendase 'huevón' como flojo, sin ganas de trabajar) y no he hecho el escrito. Espero ya no distraerme tanto y hacerlo, jejeje

Buena Vibra!


EDITO:

Ajua, le eche un poco de ganas y ya termine una contribución más.
Se trata de una pequeña 'calculadora' (muy tonta pero me parece muy buen ejemplo) que realiza la suma, resta y multiplicación de dos datos.
Si tienen dudas/sugerencias/reclamaciones/correcciones/agradecimientos/loquesea ya saben que aquí pueden hacer evidencia de ello y tratare de que todo quede OK.

Kamara kamaradas, hasta la próxima!

Antes de despedirme, que hongo con ese 'proyecto'? Vamos, sugieran algo! :)

Buena Vibra!
 

Adjuntos

  • e0x03_193.pdf
    528.8 KB · Visitas: 340
hey que tal muchachos soy nuevo en el foro me gustaria aportar conocimientos y en cuanto a lo de proponer proyectos me gusta el tema de la comunicacion ( serie , paralelo , usb) y seria bueno algun proyecto de estos .
saludos y a la orden
 
Hola a todos!
son muy buenas sus aportaciones
pero tengo una duda
veran yo quiero usar un pic para generar una melodia, donde tenga las 88 frecuencias de un piano
pero no se como
el pic que quiero usar es el 16f877a
cualquier ayuda se los agradeceria
 
hola Moyano Jonathan!
gracias por tu respuesta
pero el problema es que yo uso mas assemble
y tengo muy pocos conocimientos de c aunque si lo he manejado
pero cual es la libreria?
ocupa mucha memoria un vez compilado el programa?
 
Hola estoy trabajando un pic 16f877-20/P.

Ya terminé mi programa y todo funciona bien, solo quiero activar el "CODE PROTECTION".

El el pic 16f84 solo tenía que cambiar el OFF por ON como en la siguiente palabra de configuración
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _XT_OSC & _WRT_ENABLE_ON & _LVP_OFF & _DEBUG_OFF & _CPD_OFF

Si lo compilo así, no hay errores y todo funciona bien.

Pero si le cambio a "ON" lo hago en este PIC 16f877 al compilar con el quick build me sale el siguiente error:
--->> __CONFIG _CP_ON & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _XT_OSC & _WRT_ENABLE_ON & _LVP_OFF & _DEBUG_OFF & _CPD_OFF

-->> Error[113] E:\DOCUMENTOS\PROGRAMACIóN\PIC\SENSORCOLOR\SERIE+ADC.ASM 3 : Symbol not previously defined (_CP_ON)

Alguien sabe como escribir correctamente esa palabar de config, habilitando el Code protection?

Lo que noté es que si por ejemplo yo en al cabecera pongo que estoy usando el PIC16f877A me sale aún 1 error más:
-->> Error[113] E:\DOCUMENTOS\PROGRAMACIóN\PIC\SENSORCOLOR\SERIE+ADC.ASM 3 : Symbol not previously defined (_WRT_ENABLE_ON )

Entonces pareciera que entre diferentes modelos no aceptan algunas opciones, pero acaso el PIC16f877 no acepta Protección de código?

Agardecería si alguien me pasa esa línea de la palabra de configuración, de preferencia así en texto :D

Saludos y gracias
 
Por lo general para la palabra de configuración prefiero utilizar un número, por lo que no sé mucho acerca del método que utilizas, pero viendo el datasheet del chip se ve que son varias configuraciones para el 'code Protection'

bits 12 y 13 _ CP1 y CP0: Protección de código
0 0 Protección desde la posición 0000h hasta 1FFFh
0 1 Protección desde la posición 1000h hasta 1FFFh
1 0 Protección desde la posición 1F00h hasta 1FFFh
1 1 Sin protección

Ahora viendo un segmento del archivo C:/Archivos de programa/Microchip/MPLAB IDE/Device/PIC16F877.dev

field (key=CP mask=0x3030 desc="Code Protect")
setting (req=0x3030 value=0x3030 desc="Off")
checksum (type=0x0 protregion=0x0-0x0)
setting (req=0x3030 value=0x2020 desc="1F00:1FFF")
checksum (type=0x20 protregion=0x1f00-0x1fff)
setting (req=0x3030 value=0x1010 desc="1000:1FFF")
checksum (type=0x20 protregion=0x1000-0x1fff)
setting (req=0x3030 value=0x0 desc="All")
checksum (type=0x20 protregion=0x0-0x1fff)

lo que esta en negritas, creo yo que es la orden que se debe poner en la linea de configuración, no lo probé, así que si funca, pss avisas.
Buena Vibra!
 
sangreaztk dijo:
Por lo general para la palabra de configuración prefiero utilizar un número, por lo que no sé mucho acerca del método que utilizas, pero viendo el datasheet del chip se ve que son varias configuraciones para el 'code Protection'

bits 12 y 13 _ CP1 y CP0: Protección de código
0 0 Protección desde la posición 0000h hasta 1FFFh
0 1 Protección desde la posición 1000h hasta 1FFFh
1 0 Protección desde la posición 1F00h hasta 1FFFh
1 1 Sin protección

Ahora viendo un segmento del archivo C:/Archivos de programa/Microchip/MPLAB IDE/Device/PIC16F877.dev

field (key=CP mask=0x3030 desc="Code Protect")
setting (req=0x3030 value=0x3030 desc="Off")
checksum (type=0x0 protregion=0x0-0x0)
setting (req=0x3030 value=0x2020 desc="1F00:1FFF")
checksum (type=0x20 protregion=0x1f00-0x1fff)
setting (req=0x3030 value=0x1010 desc="1000:1FFF")
checksum (type=0x20 protregion=0x1000-0x1fff)
setting (req=0x3030 value=0x0 desc="All")
checksum (type=0x20 protregion=0x0-0x1fff)

lo que esta en negritas, creo yo que es la orden que se debe poner en la linea de configuración, no lo probé, así que si funca, pss avisas.
Buena Vibra!

Hola, con núemeros si me había funcionado, solo que enviaba la configuración completa como por ejemplo 0x3FF, solo que me hubiera gustado manejarlo con palabras para así solo estar cambiando el ON por el OFF sin pensar en Hexa.
Pero gracias por la información.

Saludos y feliz Fin de Año¡¡¡¡¡
 
sangreaztk dijo:
no intentaste con:

__CONFIG _CP_ ALL& _WDT_OFF & _BODEN_ON & _PWRTE_ON & _XT_OSC & _WRT_ENABLE_ON & _LVP_OFF & _DEBUG_OFF & _CPD_OFF

Buena Vibra!

Hola, gracias por respodner, pero si ya hab÷ia intentado as÷i.

Esa forma de configurar la copie alguna vez de un ejemplo y me gust÷o.
Como que ya me acostumbr÷e a usarlo as÷i desde el pic16f84, por eso estaba intentando con este pic.

Gracias pro todo
Saludos
 
Hola buen dia a todos, me he leido practicamente todo lo del foro y bueno hay un monton de cosas que a lo mejor por falta de tiempo para prestarle atensión no comprendo, pero la cuestion es esta, me dieron un tema de tesis que es un modulo de enseñanza y aprendizaje de microcontroladores y practicamente ni sabia como comenzar, ahora que leo esto pues veo que este tema que me dieron no es tan complicado cierto? (please digan que no :) ) . Veo que primero crearon un circuito multiproposito que podria usar como base para hacer practicas sencillas para esta propuesta de laboratorio, lo que me hace entender que el pic 16f877 es amigable y se pueden hacer muchos proyectos con el. Ya he descargado varias cosas de aca pero Como hago para tener mas información de lo que han hecho? Les agradeceria muchiiisimo su ayuda ya que estoy bien limitada d tiempo con esto . Me parece lo maximo esto que hacen los felicito de verdad que si.. gracias y espero sus respuestas...
 
Hey Marisela!
Saludos!. Como bien lo dices, el mundo de los PICs no es complicado, solo baste entender la 'lógica' y usar tu 'imaginación' para crear cosas locas y útiles.
Disculpa lo tarde de mi respuesta.
Acerca de tu modulo de enseñanza te recomiendo que trates de conseguir algún buen texto, muchos han empezado con el PIC16F84 y un libro referente a este (no tengo a la mano la bibliografía exacta), aunque de hecho aprender un lenguaje, como el Ensamblador (Assembly), puedes aplicarlo para usar cualquier PIC (o por lo menos de la gama baja y media).
Claro está que te puedo apoyar con cualquier duda o consulta, siempre que este a mi alcance aún soy novato.
Cuentanos más acerca de lo que quieres para seguir apoyándote.
Buena Vibra!
 
Hola...! gracias por tu respuesta...
Bueno te cuento estoy haciendo como una propuesta de un laboratorio de microcontroladores para mi tecnologico, porque solo vemos ese tema en una materia y de verdad queda uno como corto de conocimiento. Para esto quiero crear como un modulo donde el alumno pueda hacer varias practicas que pueden ser estos pequeños proyectos y hasta alguno mas ambicioso no se si me explico. Por eso les pregunto que si el circuito que hicieron al principio es como multifuncional, es decir si se pueden hacer varios proyectos cambiando solo la programacion del pic.. Por fa si no me explico me dicen, y buenon me van preguntando que preguntas tienen para yo seguir explicando.

Ah otra cosa te digo lo del 877 porque es como comun usarlo en el tecnologico aunque voy a leer las especificaciones de el 864 que me dices a ver como es... un millon de gracias !
 
Te cuento:
Yo en mi escuela igualmente solo he llevado una materia de PICs, pero me toco un buen profe, me dio las bases y ya solo es cuestión de leer/investigar/experimentar un poco más para crear aplicaciones más interesantes. La teoria/practica que nos enseño fue muy buena, trato de traer esos apuntes aquí pero la neta que a veces soy muy flojo o me distraigo facilmente y no lo he hecho, pero un poco de presión externa , como tu, puede animarme a seguir contribuyendo.
Las practicas que hice (las que recuerdo) fueron una calculadora tonta (que fue el ultimo aporte que escribí en este tema), un contador de tres dígitos, un teclado matricial para la generación de sonidos, un termómetro digital (donde se usaron el CAD y un LCD) y por ultimo el proyecto final que fue un mostrador de mensajes en el aire.
En cada una de esas practicas se avanzó en un tema diferente acerca de los recursos del PIC, por lo que son buena idea en que las tomes en cuenta para crear tus propias practicas.
Como ya te lo mencione, cuentas con mi ayuda para lo que se te ofrezca.
Buena Vibra!

Nota: que horas son en Venezuela? aca en México van a ser las 10pm
 
Si es que he ido leyendo y bajando bastante información de tus guias y eso y estan super, estoy viendo como consigo un buen texto como me aconsejaste. Con respecto a lo del horario Aca eran como las 11 y algo casi las doce.

Pero mi pregunta es, esos proyectos tu lo montabas con una misma tabla? como te explico, con un mismo circuito base? o si le agregaban algo mas, porque noto que los montajes que hiciste en tu clase tienen LCD todos..... porque podria hacer tambien un modulo o un montaje donde pueda probar varias cosas eso es lo que realmente necesitaria lograr.. si me entiendes? :)
 
Yo no tengo una tarjeta entrenadora, los circuitos los armo en una protoboard (tablilla de pruebas) supongo que si las conoces, no? a lo mejor la conoces con otro nombre, no sé. Esto me da más flexibilidad para saber que pines usar de entrada o salida. Aunque igual armar una tarjeta entrenadora es una buena experiencia y te ahorra algo de tiempo a veces.
En casi todos los circuitos existen similitudes como usar un cristal con sus capacitores, conectar a VCC el reset con una resistencia, para las entradas usar resistores pull-up y para las salidas si uso leds con sus respectivos resistores limitadores de corriente, etc.
Buena Vibra!
 
Atrás
Arriba