Curso tutorial del PIC16F877
| #31 |
| #32 Ejemplo en ensamblador |
|
sangreaztk
|
El primer ejemplo en ensamblador, es un programa fácil pero no estoy seguro de haberlo explicado muy bien, a los que tengan dudas pues pregunten.
Después pondré más ejemplos y luego pondré como usar el MPLAB. Hasta luego kamaradas! Nota: Si el archivo no tiene una buena presentación notifiquenmelo puesto que estoy usando OpenOficce y a veces no hay buena compatibilidad entre formatos. |
|||||||||||
|
|
||||||||||||
| #33 Ejemplo 0x01 |
|
sangreaztk
|
Hola a todos!
Un documento más con un nuevo ejemplo! Nos vemos Kamaradas! |
|||||||||||
|
|
||||||||||||
| #34 Yo coopero |
|
fragmir
|
Hola yo copero con un sencillo codigo en mc18 de mplab para encender un led con un boton-
# include <p18f1320.h> # include <delays.h> # pragma config IESO=OFF, FSCM=OFF, OSC=HSPLL # pragma config BORV=42, BOR=ON, PWRT=ON # pragma config WDTPS=32768, WDT=OFF # pragma config MCLRE=ON # pragma config DEBUG=OFF # pragma config LVP=OFF, STVR=OFF # pragma config CP1=OFF, CP0=OFF # pragma config CPD=OFF, CPB=OFF # pragma config WRT1=OFF, WRT0=OFF # pragma config WRTD=OFF, WRTB=OFF, WRTC=OFF # pragma config EBTR0=OFF, EBTR1=OFF # pragma config EBTRB=OFF # define SW1 LATAbits.LATA0 # define D1 PORTBbits.RB0 //todas estas directivas son "fuses" del pic 18f1320, las cuales son necesarias para programar el pic. void main(void ){ ADCON1=0b01111111; TRISA=1;//porgramamos puerto A 1 input 0 output LATA=0;//ponemos en 0 lógico el puerto A TRISB=0;//puerto porgramado como salia LATB=0;//ponemos en 0 el puerto B INTCON2bits.RBPU=0;//Activamos resistencias de pull-up while(1){ //bucle infinito if(SW1==1){ //si se presiona el switch aqui se puede agregar un funcion para evitar el rebote pero //por ahora solo trato de definir funciones muy basicas para que vean como es este rollo. D1=1; //prendemos el led } Delay10KTCYx(10); //fucnion de delay es lo mas basico pero mas util usar interrupciones D1=0; //apagamos el led } }//este programa esta funcionando y es demasiado sencillo, espero les sirva como inicio. espero les sirva un saludo |
|||||||||||
|
|
||||||||||||
| #35 |
|
carloscm
|
Tus anexos se me hacen interesante, pero hay muchas cosas que no se entienden muy bien, por ejemplo esta linea " INTCON2bits.RBPU=0;//Activamos resistencias de pull-up "a que se refiere esto? y en el que esta en word tambien, en que lenguaje esta? o como lo explicas?
|
|||||||||||
|
|
||||||||||||
| #36 |
|
carloscm
|
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
// CARLOS #include <16F877.h> // Def. el Micro a Usar #fuses HS,NOWDT,NOPROTECT,NOLVP // Config. de los fusibles #use delay(clock=10000000) // Velocidad Cristal #int_rtcc void Ini_puertos() // Procedimiendo Inicio el perifericos { output_high(PIN_B1); // Activamos a "1" el Pin (Colocamos 5Volts ó "1"Logico) delay_ms(500); // Retardo en miliSegundos output_low(PIN_B1); // Mandamos a Gnd (Cero Volts ó "0" Logico) delay_ms(500); // Retardo en miliSegundos output_high(PIN_B1); // Activamos a "1" el Pin (Colocamos 5Volts ó "1"Logico) delay_ms(500); // Retardo en miliSegundos output_low(PIN_B1); // Mandamos a Gnd (Cero Volts ó "0" Logico) } void main() // Programa Principal { Ini_puertos(); // Mando a traer la funcion que inicia perifericos while(1) // Ciclo infinito { output_high(PIN_B0); // Activamos a "1" el Pin (Colocamos 5Volts ó "1"Logico) delay_ms(1000); // Retardo en miliSegundos output_low(PIN_B0); // Mandamos a Gnd (Cero Volts ó "0" Logico) output_high(PIN_B1); delay_ms(1000); output_low(PIN_B1); output_high(PIN_B2); delay_ms(1000); output_low(PIN_B2); output_high(PIN_B3); delay_ms(1000); output_low(PIN_B3); output_high(PIN_B4); delay_ms(1000); output_low(PIN_B4); output_high(PIN_B5); delay_ms(1000); output_low(PIN_B5); output_high(PIN_B6); delay_ms(1000); output_low(PIN_B6); output_high(PIN_B7); delay_ms(1000); output_low(PIN_B7); output_high(PIN_B6); delay_ms(1000); output_low(PIN_B6); output_high(PIN_B5); delay_ms(1000); output_low(PIN_B5); output_high(PIN_B4); delay_ms(1000); output_low(PIN_B4); output_high(PIN_B3); delay_ms(1000); output_low(PIN_B3); output_high(PIN_B2); delay_ms(1000); output_low(PIN_B2); output_high(PIN_B1); delay_ms(1000); output_low(PIN_B1); } } si alguein quiere el .hex se los puedo enviar. sigamos con las aportaciones |
|||||||||||
|
|
||||||||||||
| #37 |
|
fragmir
|
Ok refiriendome al codigo que yo puse, es lenguaje c que se programa con mplab con un compilador que se llama mcc 18 si no lo consigues yo te lo puedo subir al skydrive y de ahi te lo bajas.
Respecto a las resistencias de pull-up, son resistencias que se colocan entre una señal loigca y la fuente de alimentacion, y sirven simplemente para evitar una confusion entre un uno y un cero logico, solamente que con este pic y otros mas, no es necesario colocar esas resitencias sino que ya las trae colocadas internamente. Una ventaja no? |
|||||||||||
|
|
||||||||||||
| #38 |
|
carloscm
|
Ok, he escuchado de mplab, pero la verdad no he trabajado con el, te agradeceria que lo subieras y me pasaras el link para ver si nos podemos familiarizar, y por lo que veo tu ya estas con uno de la familia 18f, es un gran avance, en ese tipo de micros como activo la conexion usb?
sigamos adelante con las aportaciones |
|||||||||||
|
|
||||||||||||
| #39 |
|
fragmir
|
Carlos no comprendo bien tu pregunta pero el dispositivo cuenta con puerto de recepcion y transmisión sincrona y asincrona, respecto a lo del usb no quisiera contestarte algo incorrecto.
Yo subiré hoy el mplab y todo eso al skydrive y seguro mañana posteo el link para todos. Un saludo |
|||||||||||
|
|
||||||||||||
| #40 |
|
carloscm
|
Mi pregunta es como declaro para activar la conexion usb en la familia de los 18f, para poderse comunicar con la pc y viserversa. , por ejemplo en la familia de los 16f, es la que he ocupado y para activar la conexion serial, es <include>rs232..., pero ahora estoy empezando con los 18f y no se como activar el usb. si es mucho pedir haber si tambiensi tienes algun diagrama te lo agradeceria mucho
gracias por tu atencion |
|||||||||||
|
|
||||||||||||
|
| 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

