- Jue, 10 Jun 2010 17:18
#956417
Hola a todos.
Mi intención en el primer post fue de exponer un simple ejemplo de la sencillez de programación ,en el entorno Basic sin meterme en muchos tecnicismos aburridos. Comprendo que abra gente que empiece en este mundillo y no sepa realmente de que trata el tema.Yo intentare explicar en medida a mis conocimientos y dentro de un cierto límite, tener en cuenta que no lo sé todo no soy un profesor ,pero creo que entre todos podemos hacer un cursito decente .Bueno seguimos con muestro curso.Un microcontrolador es un un circuito integrado que tiene la arquitectura de una computadora de 8 bits.Tiene memoria FLASH , RAM y memoria EEPROM y puertos convertibles o bidireccionales en entradas o salidas . Los microcontroladores cuando salen de fábrica no están programados , ay que programarlos para que realice el objetivo deseado. Los microcontroladores PIC (Periperal interface controller ) son fabricados por la empresa MICROCHIP .Los mC por ejemplo el 16F876 puede soportar 100,000 ciclos de escritura en su memoria Flahs y un millón de ciclos en su memoria Eeprom y son capaces de retener estos datos durante 100 años. Existen en el mercado mas de 150 modelos diferentes cada uno con características similares , con más o menos memoria y mas o menos puertos , en la red podemos encontrar el Data Sheet en pdf es el manual o el prospecto que manda la fabrica de las características del mC y es el utilizado por los ingenieros de las empresas para el desarrollo de sus proyectos . La CPU del mC emplea una arquitectura llamada RISC (coputador de juego de instrucciones reducido ) con solo 35 instruciones son como el lenguaje que entiende el mC . Se que se quedan muchas cosas en el tintero esto es un breve repaso de lo que es un PIC . Como ejemplo utilizaremos el PIC 16F876 para numerar sus 28 patas, ay modelos que tienen mas patas que otros mas o menos puertos y diferentes y funciones especiales comentare lo mas sencillo y escueto posible para que todo el mundo lo entienda y según surjan las dudas y preguntas nos meteremos en mas lios, como he dicho el 16F876 tiene 28 patas de las cuales son en terminos generales De la 2 a la 7 puerto A, de la 21 a la 28 puerto B , de la 11 a la 18 puerto C, la entrada del oscilador o para que todo el mundo lo entienda donde se conecta el cristal de cuarzo pata 9 y pata 10 , y solo nos quedan las patas de alimentación o donde le metemos los voltios para que funcione el mC , son 1 y 20 positivo y 8 y 19 negativo o masa. Sé que todas las patas tienen diferentes utilidades y funciones especiales según el PIC que queramos utilizar y que expondremos más adelante , de momento nos quedamos con este ejemplo. Nos centraremos en las patas de los puertos A B y C el puerto A tiene 6 patas de las cuales son comúnmente denominadas con una letra la R que sería RA0 RA1 RA2 RA3 RA4 Y RA5 estas son las patas del puerto A o PORTA ,el puerto B o PORTB tiene 8 patas de RB0 a RB7 y el puerto C o PORTC tiene 8 patas mas de RC0 a RB7 si os dais cuenta, las patras de los puertos empiezan por el número cero , esto indica que si queremos enviar un dato o un numero la pata RB0 del puerto B dicara el dato del menor peso y la pata RB7 el de mayor peso ,un ejemplo: Envío el número 1 en decimal ,00000001 en binario por el puerto B , las patas de puerto B o PORTB indicaran de esta forma : RB0=1 RB1=0 RB2=0 RB3=0 RB4=0 RB5=0 RB= 0 y RB7=0 si os dais cuenta en nuestro primer ejemplo de encender un led le decíamos a nuestro programa que encendiera o enviara por el puerto B o PORTB : PORTB = %00000001 en este caso estamos encendiendo la pata RB0 del puerto B si queremos encender orto o todos los leds indicaríamos: PORTB = %00111001 en este caso le mandamos que encienda RB0 RB3 RB4 y RB5 y que RB1 RB2 RB6 y RB7 permanezcan a 0 o estado apagado. El símbolo de % es para decirle a nuestro programa que el numero es en binario si queremos enviar un numero en decimal simplemente seria de esta forma PORTB = 3 y el puerto B o PORTB enviaría el numero 3 en binario que seria 00000011 y seria igual que PORTB = %00000011 ay mas sistemas de numeración pero de momento nos centraremos en este que es el más sencillo para mi entender de comprender. El comando TRIS indicamos a nuestro programa pomo configurar los puertos si son entradas o salidas , conjuntamente con el comando AllDigital que configura los puertos analógicos o digitales ya nos meteremos con las entradas analógicas en su momento. En el caso del comando TRIS seria así: TRISA = %00111111 indicamos que queremos que el puerto A o PORTA se comporte como que todos sus puertos sean entradas, en este caso el comando TRIS el 0 es salidas y el 1 entradas como nuestro 16F876 tiene solamente 6 puertos en el puerto A o PORTA le indicamos que 6 de sus puertos se configuren como entradas o que se preparen para recibir datos . Esto es un breve chispazo de programación .Uff que complicado es el realizar el curso espero que entendáis esto la verdad es que no pensé que seria tan trabajoso si tengo fallos o necesitáis mas datos decírmelo ya pondré como se programan y las herramientas necesaria para trabajar en basic como programas y grabadores de PIC darme un tiempo que esto es trabajoso quiero que lo entendáis a parte del tiempo dedicado .Me estoy centrando en lo básico para poder seguir, ya sabemos encender un puerto y que pata del puerto encender o apagar y darle un tiempo entre encendido o apagado según queramos, diréis que es una tontería encender un puerto con un tiempo especifico pero pensar en las luces de posición de un avión o en las señales que se envían al servo para que funcione o las señales de un driver a un motor paso a paso o un semáforo o el juego de luces del coche KIT todo esto se puede realizar con este simple programita y solo conocemos 3 o 4 comandos y acabamos de empezar a programar . un saludo a todos y tener paciencia que todo es poco a poco
Última edición por tomastell el Vie, 11 Jun 2010 15:24, editado 1 vez en total.
Align Trex 600E Pro DFC montando
Align Trex 500E Pro EFL en vuelo
Outrage Fusion 50 montando
Spektrum DX6i 2.4Ghz DSMX
Spektrum DX8