Curso tutorial del PIC16F877
| #51 Ejemplos del tutorial |
| #52 Sistema minimo para los ejemplos |
|
snakewather
|
USO del Sistema Minimo:
Esta imagen les ayudara a probar el pic con los ejemplos ya vistos claro antes tienen que grabar el PIC con el Winpic800. |
|||||||||||
|
|
||||||||||||
| #53 |
|
hhpp
|
Hola soy nuevo y quisiera pedirles una ayuda con el manejo de tablas en microcontroladores PIC.
La verdad estuve unas nuevas funciones o algo parecido que no logro entendedr como trabajan. movlw LOW(table_ram) movlw HIGH(table_ram) bueno no se como trabajkan high y low. Agradeceria su ayuda Héctor Pita |
|||||||||||
|
|
||||||||||||
| #54 Correccion de los ejemplos del tutorial |
|
snakewather
|
gracias alejandro que checo la informacion que envie me hizo un comentario de un codigo que puse mal y ademas no entendia por que lo ponia ahi, si me equivoque en esa linea de codigo
la instruccion correcta es clrf portc y la explifcacion de esto es que antes de configurar los puertos pongo esta instruccion para que cuando se prenda el pic y realice su tarea no aparesca en el puerto informacion no deseada lo que muchos llaman (bits basura) Aqui pongo el codigo donde me equivoque para que lo chequen y ademas les señalo donde fue. ;********************Un bit ON-OFF x PUERTO C 16F877.asm***************** ;***************************SNAKEWATHER**************************** ;El Programa hace que en el puerto C del pic16f877 el bit #0 este presente un intermitancia ;RC0=prende y apaga. ;ZONA DE DATOS************************************************* List P=16F877 ;En la zona de datos especifico el pic e incluyo la libreria a utilizar ;que contiene el mapa de memoria y especificaciones de dicho PIC. #include<p16f877.inc> PDel0 EQU 20h ;Estos son los registros para el retardo EQU nos dicen que equivalen PDel1 EQU 21h ;a una direccion de memoria en nuestro caso 20 y 21h espacio libre ;en nuestro PIC del mapa de memoria (ver hoja de datos BANCO 0) ;ZONA DE CODIGOS (Aqui pongo las instrucciones para el pic)***************** org 0x00 ;El programa comienza en la direccion 0 de la ;memoria de programa. clrf PORTC bcf STATUS,RP1 ;Se pone a uno el bit RP1 del registro status bsf STATUS,RP0 ;Se pone a uno el bit RP0 del registro status ;con esto se selecciona el banco 1 del pic. bcf TRISC,0 ;Se pone a cero el bit 0 del puerto C con ;esto el Bit 1 del Pto B esta configurado como ;salida. bcf STATUS,RP0 ;Se pone a cero el bit RP0 del registro status bcf STATUS,RP1 ;Se pone a cero el bit RP1 del registro status ;(seleccion del banco cero). ON bsf PORTC,0 ;Pone un 1 logico en el bit cero del PTo B. call RETARDO ;brinca a la rutina retardo bcf PORTC,0 ;apaga el bit cero de Pto B call RETARDO ;brinca a retardo goto ON ;prendelo otravez. |
|||||||||||
|
|
||||||||||||
| #55 |
|
PedroPotter
|
Si, es muy fino. También hay que aprender a programar en C y montarlos en el PIC, porque a la larga nos va a solucionar muchos problemas, t sobre todo ahorrar tiempo...
|
|||||||||||
|
|
||||||||||||
| #56 |
|
Alejandro Sherar
|
carloscm escribió: Bueno aqui les dejo un programa el cual prende todo el puerto b en ruleta, es decir que prende un led y esta va de izquierda a derecha y resgresa, espero les sirva creo que es un poco mas facil de entender, se los dejo a su consideracion Esta es una forma de hacer lo mismo, pero con un código mucho más corto. Dependiendo del compilador, los nombres de las variables pueden ser diferentes pero lo que me interesa es proponer la idea de multiplicar o dividir por 2 para girar el bit del puerto. 1.- Para girar el bit a izquierda:
2.- Para girar el bit a derecha:
Espero que les resulte útil este pequeño aporte. Saludos! |
|||||||||||
|
Ultima edición por Alejandro Sherar el 04 Nov 2008, 12:32 pm, editado 1 vez |
||||||||||||
| #57 Hola a todos |
|
fidodido18
|
Ojala fuera visto este foro una semana antes, no saben lo que luche con este pic para un parcial! y saben porque? Estaba trabajando con un cristal de 10 MHz y tenia dos capacitores de 100 nF
Estaba viendo el manual que esta en la primera pagina (no se si ya lo editaron) que no tiene las recomendaciones según el cristal, de los capacitores a utilizar. Seria ideal que agregaramos esos pero en grande, para que otras personas no cometan mi error.. Bueno por ahí veo que están programando en C, pues yo también lo intenté y con otro programa llamado NIPLE pero mis profesores de microcontroladores I y II me dijeron que con estos no podrás controlar los ciclos de maquina exactos, al menos que después editaras. Bueno es algo difícil de explicar escribiendo pero por lo general trato de hacer mis códigos con mplab. Saludos! |
|||||||||||
|
|
||||||||||||
| #58 MI PRIMER APORTE |
|
fidodido18
|
Bueno ya me presente, acá va mi primer aporte a la causa!
Yo tengo un impreso de 5 cms x 6 cms en el cual tengo mi PIC16F877A le coloque unos pines de salida y así de esta forma utilizar los que necesito en una portoboard o en otro impreso. Lo hice en EAGLE y esta con plano a tierra para que no se demoren media hora con la baquela dentro del ácido Ojo si van a imprimir el pdf en un computador tienen que quitar una opción que tiene por defecto Adobe Reader. Cuando vayan a imprimir el pdf, HACEN LO SIGUIENTE: FILE, Print, una vez se abre la ventana buscan la opción "PAGE SCALING" abren una lista y colocan "NONE", una vez hecho esto si pueden imprimir con toda seguridad. Si no lo hacen y dejan que Adobe imprima con otra opción se va dañar todo la escala y todo va quedar mal. PD. les coloque tambien el resto de archivos de EAGLE por si lo quiere editar. Saludos! |
|||||||||||
|
|
||||||||||||
| #59 Que cristal usar |
|
snakewather
|
hola fidodido18 que bien que te integres al equipo sobre lo que comentas del cristal que utilisaste a mi me
funcionado con cristales de 4,10,15 y 20 MHZ ademas de los capacitores de 22 ó 30pF. Pero fijate que todo lo que he programado la mayoria esta en enzamblador, en C no me gusta mucho para aplicaciones muy sencillas y he notado que si haces un programa muy sencillo como prender y apagar leds o algo por el estilo en C, el codigo del archivo .exe que se graba al PIC es mas grande que si lo hicieras en enzamblador por eso digo que es mejor utilizar C para aplicaciones mas extensas o laboriosas. Y con respecto al Programa NIPLE mejor cambia ese Programa lo checque una ves y creeme para aplicaciones mas exigentes no sirve genera un codigo muy extenso y hace al microcontrolador lento. Bueno eso es todo nos vemos y saludos desde mexico ¡hay me saludas a las chicas de colombia estan muy bien! |
|||||||||||
|
|
||||||||||||
| #60 |
|
picrocker
|
Muy bueno este foro, les comento que hasta ahora he programado el PIC 16F84A pero utilizando basic, utilizo un programa llamado JAL, pero les confieso que he intentado hacer ciertas cosas y no he podido, tambien he programado en C usando una herramienta llamada HI-TECH que se instala con el MPLAB y me funciona muy bien, estoy muy interesado en programar en ASM pero se me ha hecho complicado... pero estoy seguro que lo lograre...
Lo que he hecho es un robot que funciona con dos motores de paso y dos sensores opticos reflectivos y me funciona bien para seguir una línea... lo unico es que los motores son muy pequeños y no mueven el robot muy bien... pero en cuanto a programacion esta bien... me Construí un programador, el JDM que es por puerto serie y me funciona bien... |
|||||||||||
|
|
||||||||||||
|
| Otros temas de interés | |
|---|---|
| Destacado: Programas de simulación y diseño de circuitos electrónicos | |
| chip PWM especifico | |
| Problema generado por programas Spyware y Adware | |
| Cargador para auto para IPOD ESPECIFICO | |
| Programas de diseño de circuitos impresos | |
| Foros de Electronica |
| ||
Cuestiones Elementales de Electrónica ||
Fuentes de alimentacion ||
Circuitos de radio ||
Diseño de circuitos en general || || Sistemas de Audio: Preamplificadores, Ecualizadores || Amplificadores || Reparación || Discusión || || Microcontroladores y sistemas embebidos || Circuitos logicos combinacionales y secuenciales || Interfaces y Programacion || Dudas en general || Sistemas de Video || PC Hardware || Telematica y comunicaciones || Tecnologias moviles || Software Electronico || Robotica, Domotica y Mecatronica || Autotrónica || Automatizacion, Electronica industrial y de Potencia || Documentacion, circuitos y esquemas || Donde Las Ideas Convergen... || Tutoriales y Manuales || Proyectos Prácticos || |
Contacto |
Acerca de |
Ayuda |
Normas de la Comunidad |
Privacidad |
Mapa de los foros
© Foros de Electrónica - Comunidad Internacional de Electrónicos
© Foros de Electrónica - Comunidad Internacional de Electrónicos

