Proyecto con lenguaje ensamblador

Compañeros tengo que hacer un proyecto usando lenguaje ensamblador como proyecto final de mi materia programacion de sistemas. Entre las opciones habia muchas que eran relacionadas a software pero le plantee al profe hacer algo mas enfocado a mi carrera y que controle hardware ya que me gusta meterle mano a los fierros.
quisiera saber si me pudieran orientar con opciones que pudiera elegir para llevar a cabo pero que no representen alto grado de dificultad ya que apenas empiezo con la materia y en lo que va del curso hare el proyecto, ya saben controlar con los puertos algo.

espero su ayuda comentarios sugerencias o dudas
 
ninguna sugerencia?

he leido un poco y veo que habria que implementar un pic para hacer la cosa mas interesante, podrian decirme por donde empezar o donde puedo tomar referencias para informaciónrmarme sobre el tema


saludos
 
Ensamblador para DOS, Linux y Windows

84-415-1482-8.jpg


Si usted conoce algo de programación, al contemplar este libro y su temática, probablemente se preguntará qué sentido tiene dedicar nuestro tiempo a aprender a programar en un lenguaje, como es el ensamblador, de tan bajo nivel, teniendo hoy a nuestra disposición sofisticadas herramientas de desarrollo rápido que, en minutos, son capaces de generar las aplicaciones más complejas que podamos imaginar.

Una de las respuestas a esta pregunta sería que, programando en ensamblador, nos convertiremos prácticamente en artesanos del desarrollo de programas, ocupándonos de todas las tareas en las que deseemos intervenir personalmente. El tiempo empleado para crear cualquier programa será superior pero, a cambio, obtendremos programas muchísimo más pequeños e infinitamente más rápidos que los que podamos crear con cualquier lenguaje de alto nivel.

La finalidad de este libro es, entre otras, la de servir como guía de aprendizaje para todos aquellos programadores que desean introducirse en el desarrollo a bajo nivel, utilizando el lenguaje ensamblador de los procesadores x86 en la plataforma PC y con los sistemas operativos DOS, Windows y Linux. Para ello se facilitará toda la información, teórica y práctica, llevándole desde un nivel de inicio hasta un nivel medio. El objetivo es hacer el aprendizaje de este lenguaje lo más simple posible, sin entrar en todos los detalles de bajo nivel y todas las posibilidades que, pudiéndose encontrar en materiales de referencia, no resultan totalmente imprescindibles en un principio.

Este libro incluye un CD-ROM donde encontrará todos los recursos necesarios: ensambladores, enlazadores y editores, que serán usados a lo largo del libro en los tres sistemas citados, así como las imágenes utilizadas por el autor en los ejemplos desarrollados a lo largo del libro.

http://www.fcharte.com/libros/84-415-1482-8.pdf
 
gracias por la ayuda he estado investigando sobre proyectos pero todavia no me decido por uno en especifico.

me podrian dar sugerencias de que pic es el mas barato y sencillo como para iniciarme en esto de la programacion de pics?, porque hay infinidad de proyectos pero no quiero algo excesivamente complejo y costoso a tal grado que no lo pueda terminar.

saludos
 
Hola:

Si es para iniciarte a los PIC, el más recomendado es el 16F84A por lo fácil que es, el más usado para aprender, donde hay más información sobre él sea en Internet, institutos o universidad e incluso hay un buen libro todo en ensamblador precisamente el PIC-16F84A en el cual puedes ver su página en www.pic16f84a.org

Más adelante, como 18 patas son pocas sobre todo si vas a usar LCD, normalmente se lanzan al 16F876A con 28 patas o las 40 patas del 16F877A.

Hay otros PIC similares del 16F84A, el 16F627A/628A y el más nuevo 16F88 con más memoria, más funciones, más RAM y EEPROM, etc.

En el libro aprenderás todas las instrucciones de ese PIC de gama media.

Saludos.
 
compañeros me surgio una idea para llevar a cabo y me gustaria que me dijeran el grado de complejidad para ver si me animo o mejor le quito cosas.

bueno viendo por ahi que se puede hacer un velocimetro, pense en la posibilidad de crear el velocimetro pero que pueda programarlo para que a cierta velocidad accione un actuador, por ejemplo como el bugatti veyron que a determinada velocidad el aleron se despliega , bueno algo similar programar una velocidad a la cual mueva algo

que me dicen se puede hacer facilmente o si le estoy jugando al mago?


saludos
 
No es del todo descabellado. Con unos pocos conocimientos de electronica pueden hacerse. Aunque si pretendes montarlo en tu vehiculo puede que necesites más precisión. Con esas cosas no se juega.
 
en verdad no pensaba montar un aleron en mi auto pero fue de ahi donde surgio la idea, lo mio mas bien seria accionar un actuador cualquiera pero dependiendo de la velocidad.

siguiendo con las dudas lo que mas me preocupa seria el codigo fuente que tiene que ser ensamblador, el proyecto que menciono que tal esta en cuanto a codigo? crees que resulte muy engorroso hacerlo en ensamblador?

lo que pasa es que ese es uno de los requerimentos del proyecto. por otro lado hoy se me ocurrio otra idea, que en ves de que sea velocidad lo que rija mi actuador , que sea la temperatura. osea el mismo sistema que mencione antes de controlar un actuador pero su referencia seria la temperatura que registre un sensor.
por ultimo me podrian dar comentarios de una comparativa de complejidad y precio entre los dos proyectos?


disculpen si soy tan pregunton pero es que si ando medio perdido.

saludos
 
No vi antes tu pregunta.

Con temperatura... Seria relativamente más sencillo, ya que por internet hay varios proyectos de un termometro, algunos ya vienen con el codigo.

Programar con ensamblador es casi siempre, relativamente complejo. En general, programar pic u otros micros. Los recursos son muy limitados y no podemos excedernos gastando recursos.

Lo complejo del codigo, seria realizar el algoritmo de control del velocimetro. Para saber esactamente a que velocidad estás llendo. (Suponiendo que el acelerometro, te dé resultados Velocidad-Tensión). Ya que tendrias que hacer que el microcontrolador en cuestión interpretase estos datos, para eso yo usaria una tabla dentro del pic.

Comparativa, complejidad precio. Pues no puedo darte un numero esacto. Pero, si me atreveria a aventurar que lo más caro seria el acelerometro. Un pic sencillo y economico 16f84 o 16F873, no cuestan demasiado. Y tambien dependerá de el circuito que pretendas gobernar con el pic y el acabado que quieras darle. Yo no creo que salga más allá de 30 o 40 €.
 
gracias por tus comentarios lanselor en verdad que me son de mucha ayuda ya que estoy entrando en algo totalmente nuevo para mi.

con respecto al proyecto como dices lo de la velocidad seria mas complicado y no quiero meterme en problemas por tratar de impresionar al profe, ya que tengo que entregar proyectos finales para otras materia tambien.
he optado por hacer el medidor de temperatura y que este accione un actuador de acuerdo a un parametro que yo le programe previamente. por ejemplo que a los 80 °C mueva una compuerta o algo asi.

no se que me recomiendes en cuanto al proyecto, he visto algunos y manejan otros pics, en lo personal quisiera apegarme al pic 16f84 que segun me dicen otros miembros es el mas sencillo y barato como para iniciarse. crees que pueda ser posible el proyecto del termometro asi usando este pic?

a y otra cosa no se que tanto problema represente conectar un display mas bien un lcd a este pic para desplegar la temperatura, crees que aumente mucho la complejidad? solo seria poner la temperatura en pantalla.


gracias por todo
 
El de temperatura esta excelente para empezar.
y lo puedes hacer con ese pic (16f84a)

En donde vivo cuesta $US 4.00 y tiene lo suficiente para multiples aplicaciones.

Lo que no se es que si ya cuentas con un programador o pienzas fabricarlo?

el programa que puedes usar es el MPLab para compilar tu programa y el IC-prog para cargarlo al pic

el Mplab lo bajas de la pagina de microchip y el ic-prog de su propia pagina los dos son gratuitos.

en relacion a la programacion despues hablamos cuando tengas la lista de elementos que mencione.

exito.
 
Viendo costo beneficio te conviene comprar un pic que traiga por lo menos un ADC incluido, sin embargo, se puede fabricar un ADC con el pic 16f84a, pero es mas trabajo.
Hay dos formas que eh provado y almenos funcionan lo sufivcientemente bien para practicar.


las dos se basan en la señal de comparacion por aproximaciones sucesivas.

la primera es hacer un contador de 8 bits con el puerto b, cada ves que avance un nuemro en el contador deberas escanear una entrada del puerto a.

la segunda que aun estoy refinando es la de generar una señal de PWM y pasarla por un filtro actovo de paso bajo a 1Hz de frecuencia de corte para tener una señal limpia a comparar.

la primera consiste en hacer un contador y usar ese contador con un DAC de 8 bits o uno hecho con resistencias el inconveniente de hacerlo con resistencias es no hay valores de 2a la x para cumplir con los lineamientos necesario ademas creo que se vuelve mas complicado hacer arreglos para fabricar tu el DAC por lo que te recomiendo que no lo fabrique y mejor lo compres.
la señal que te dara el contador es una rampa la cual podras comparar con un opam741, con relacion a la señal de entrada de tu amplificador de intrumentacion de donde proviene la señal de sensor de temperatura.

para el sensor de temperatura te recomiendo que uses el LM35 que es un transistor que te provee de 10mv/ºC lo que te asegura cierta exactitud en la medicion.

en relacion con la segunda opcion de ADC, supone que debes hacer mediante programacion un PWM que te de la cantidad de bits que requieras, mas que bits se podria decir que son divisiones por volt, despues este PWM deberas pasarlo por un filtro pasa bajos para gerenar una señal estable de tension para poderla comparar con la señal de entrada y despues la salida del comparador llevarla a una entrada del puerto A que hara una interrupcion de programa para asignarle un valor de tension.

la segunda opcion como vez es mas compleja, sin embargo te da la posibilidad de crear las divisiones o resolucion que tu necesites, asi no estaras ligado a un numero de bits y te reduce el numero de conversiones que deves hacer para tener el valor de tu lectura.

se que mis explicaciones no son muy claras, solo te estoy dando una idea general, es necesario que investigues por tu cuenta, no es por ser egoista pero necesitamos ver que tanto interez tienes en realizar tus proyectos y no solo el que te proporcionemos todo para que tu llegues y armes.

espero que la explicacion te aclare ciertas dudas, sino sigue preguntando.

lo que te mencione arriba es mas sencillo, que busques un pic con un adc incluido, te facilita desde el armado hasta la programacion, pero si te intereza ver todo el desarrollo desde cero, te podre proporcionar mas información.

exito.
 
Gradmaster dijo:
Viendo costo beneficio te conviene comprar un pic que traiga por lo menos un ADC incluido, sin embargo, se puede fabricar un ADC con el pic 16f84a, pero es mas trabajo.

El nuevo sustituto directo del 16F84A, ahora es el 16F88, antes 16F876A y 16F627 y 16F628. Son de 10 bit, si quieres algo mejor aparte ya se puede usar el PCF8591, ADC y DAC en bus I2C.
 
Hola voyteck, un buen velocimetro es mucho más caro que un sensor de temperatura, yo te recomiendo que mejor hagas el proyecto con la temperatura, aunque si ocupas un sensor como el lm35, la salida es analógica, por lo que tendrias que usar un convertidor analogico digital si ocupas el 16f84a o ocupar el cad integrado en el 16f877, podrias ocupar un display para marcar la temperatura, y si tienes los conocimientos necesarios de control, podrias controlar la velocidad de un ventilador con PID, pero si no podrias simplemente prender o apagar un ventilador dependiendo de la temperatura, ya se que esto lo puedes hacer unicamente con amplificador operacionales, pero si tienes que programar en ensamblador, tambien se puede.
 
agradezco sus comentarios y por lo que dicen y lo que he indagado seria mas complejo ocupar el 16f84 porque mi señal de entrada es analogica y este solo procesa digitales estoy en lo correcto?

veo que varios proyectos incorporan el 16f877 porque ya tiene el convertidor analogico digital integrado asi que supongo que sera mas facil ocupar este modelo de pic y en combinacion con el lm35.

les comento que el programador lo tienen en los laboratorios de electronica de la escuela y el software que mencionan ya lo he descargado.

bueno ahora el proyecto quedaria asi: pic 16f877 + lm35 verdad?


entonces ocupo el 16f877 ? es que no se de modelos de pic osea como van los grados segun entiendo el 16f84 es el mas basico pero de ahi no se cual siga que ya incorpore el conversor analogico digital y ademas que sea facil de conseguir y a un precio razonable.

que me dicen?
 
compañeros una disculpa por ausentarme tanto tiempo pero la verdad que la universidad me ha absorbido bastante estos ultimos dias.

ya he encargado el pic 16f877 y ahora en las vacaciones tengo planeado elaborar el codigo de mi programa para que regresando de vacaciones solo lo cargue al pic y listo.

con respecto a esto tengo una serie de preguntas:

descargue el mplab v8.15 que segun entendi si es compatible con windows vista, pero que me dicen ustedes si funciona bien o mejor descargo el 8.10 y lo ocupo en una pc con xp?

quisiera que me corrigieran si estoy equivocado, pero segun he entendido el mplab te permite crear y ejecutar el codigo que hayas hecho en lenguaje ensamblador y ya con esto darte cuenta si funcionara al cargarselo a tu pic? la verdad quisiera simularlo antes de cargarlo al pic pues no me gustaria quemarlo.


por ultimo, yo estoy llevando una materia de lenguaje ensamblador pero quisiera saber donde puedo encontrar los comandos suficientes para llevar a cabo mi proyecto, en el foro tienen varios tutoriales, alguno en especial que me recomienden para el 16f877?

saludos y gracias
 
Atrás
Arriba