PDA

Ver la versión completa : Para ingenieros electronicos/industriales



JaPeL
19/04/2008, 03:13
Buenas! bueno soy estudiante de lic. informatica y con un amigo estamos haciendo un proyecto, el problema es q necesitamos "crear" unas plaquetas usando microcontroladores, es para mostrar algunas cosas en un lcd, leer cierta informacion q enviamos a traves de un puerto com/lpt y un teclado, y a su ves enviar la informacion q leimos a traves del com, y el teclado a una pc (por cualquier puerto, preferentemente el com) en fin no estoy pidiendo q me digan como hacerlo (pues pierde la gracia), pero simplemente que me iluminen en saber si es factible hacer lo que estoy pensando, y que procesador PIC/motorola recomiendan ya que vi muchos modelos y nose cual elegir (ademas prefiero q se pueda programar en C porque no soy muy amigo del ASM) desde ya muchas gracias!.

P.D. Disculpen los HORRORES ortograficos.

hardyx
19/04/2008, 11:46
Yo soy ingeniero de informática, pero tenéis que diseñar el circuito primero. Hay algunos programas ya traen los cirtuitos más comunes para colocar. No soy de electrónica, y a lo mejor me equivoco, pero yo pondría un Z80 (Zilog) o un i8080 (Intel) que son procesadores sencillos, y muy bien documentados. También hará falta algún otro controlador para leer el teclado y gestionar el puerto serie.

Y creo que vas a tener que aprender el ensamblador del procesador, incluso cómo se codifican las instrucciones que le llegan al procesador. Ten en cuenta que estás tratando con circuitos y señales. Además si eliges el Z80 el ensablador es muy fácil y tienes mucha información en la red.

Con esto puedes investigar un poco, hasta que nos ilumine un electrónico de verdad.
Pero mira, ellos se meten a programar, pues nosotros a fundir circuitos, je, je. :quepalmo:

yatan
19/04/2008, 12:08
No acabo de entender muy bien el recorrido que kieres hacer con la información, pero si lo k kieres es

ordenador con teclado----(via puerto com)---> Circuito ----> LCD

con un simple Pic 16f84a se puede hacer, y usando mikrobasic puedes hacer el programa en basic y usando sus propias librerías ahorraras trabajo en hacer el programa, pero usando ese compilador y sus librerías contra mas cosas cargues mas memoria consume (la versión gratuita solo deja usar 2k en el hex o algo así)

PD:Te habla alguien k no es ingeniero [apacigueitor]


Aki tienes un trozo de programa que lee lo k envías desde el ordenador con el terminal y que escribe en la LCD las letras que va recibiendo; al pulsar enter se borra la pantalla ( si no esta modificado era eso lo que tenia que hacer xD)

while true
do
received_byte = Soft_Uart_Read(er) ' Read received data
loop until er = 0
if received_byte = 13 then

Lcd_Cmd(Lcd_Clear)
end if
Lcd_chr_cp(received_byte)
Soft_Uart_Write(received_byte) ' Send data via UART
wend

JaPeL
19/04/2008, 12:35
uf! algun fan del Z80 te va a querer comer crudo xD digo me parece que al Z80 le sobra para hacer esta tarea por eso es que estaba pensando en un Pic o algun motorola simil, pero bueno si alguien me puede confirmar q es posible a traves de un circuito simple y un pic leer la informacion de un puerto com (y quizas volcarla a una memoria) me conformo, y nose si me sera util pero cuando estudie lic. en CS de la comp. vi automatas a pila lo cual supongo me ayudara en el diseño del circuito... de todas maneras muchas gracias por responderme :brindis: .

< - >
[QUOTE=yatan;708689]No acabo de entender muy bien el recorrido que kieres hacer con la información, pero si lo k kieres es

ordenador con teclado----(via puerto com)---> Circuito ----> LCD

con un simple Pic 16f84a se puede hacer, y usando mikrobasic puedes hacer el programa en basic y usando sus propias librerías ahorraras trabajo en hacer el programa, pero usando ese compilador y sus librerías contra mas cosas cargues mas memoria consume (la versión gratuita solo deja usar 2k en el hex o algo así)

PD:Te habla alguien k no es ingeniero [apacigueitor]


wow muchas gracias! a proposito veo q existen muchos modelos de PIC, la diferencia entre ellos es la misma que la diferencia entre procesadores de pc? o existen cosas q algunos PIC pueden hacer q otros no? gracias!

P.D. cuando el proyecto este mas acabado les comentare con detalles mi creacion ^^

yatan
19/04/2008, 12:59
Creo que basicamente cambia la velocidad de trabajo de cada pic; el 16f84a funciona a 4mhz, hay algunos de mas y otros menos veloces.

Tambien cambia la cantidad de pines de entrada y salida de datos, o la posibilidad de usb, la cantidad de timers, oscilador interno y demas cosas que creo que desconozco por el momento :P

dardo
19/04/2008, 13:05
Tengo por aquí aburrido un 16f84 que iba a usar para un robot, cosa que al final no hice, y que iba a usar luego para la ibnterfaz de la estracion meteorologica que tampoco construí.

El 16f84a tiene dos puertos de entrada salida, watchdog y algunas otras cosas, aunque la señal de reloj la tienes que iontroducir de manera externa, pues carece de ellos, en cualquier caso le enchufas un oscilador y listo, ya tiene reloj, y me paredce que tienen multiplicador de frecuencia para el mismo.

Dentro de la gama de microcontroladores de la casa Microchip es el más básico que vas a encontrar.

Si queires mostarr en un display a través de un puerto cierta información es muy sencillo.

Es la típica práctica de estructura de computadores de primero de informática de sistemas, solo que en ese caso te dan una placa con seis leds que ya tienen la interfaz del puerto paraqlelo y tienes que hacer cosas con los leds. Nosotros lo llamabamos hacer el coche fantástico.

La parte de ensamblador es muy sencilla para el PC, solo que ya no me acuerdo de las interrupciones, pero vamos, que lees de teclado, almacenas en alguna variable y cuando pulsas intro mandas al puerto, excepto que lo que quieras es que cada pulsación la muestre en el display, que en este caso es: pulsas una tecla, capturas la interrupción, generas otra interrupción, mandas al puerto con la instrucción put.

Por su parte la placa tiene que tener un puerto de entrada, supongo que un conector puerto de serie. y que con una PAL debidamente programadao algo semejante conviertes la señal a un tipo de señal que entienda el display, seguramente ASCII.

La gracia es que hacerlo por el puerto COM es una matada, mola mucho más por el puerto paralelo, es mucho más sencillo. Solo tienes que tener en cuenta la lógica del display, que suele ser en lógica inversa, al menos los display guarros de siete segmentos a los que estoy acostumbrado.

< - >

Creo que basicamente cambia la velocidad de trabajo de cada pic; el 16f84a funciona a 4mhz, hay algunos de mas y otros menos veloces.

Tambien cambia la cantidad de pines de entrada y salida de datos, o la posibilidad de usb, la cantidad de timers, oscilador interno y demas cosas que creo que desconozco por el momento :P

Hombre, los 18CXX son otra liga que los 16FXX, puesto que cuentan con más puertos, oscilador interno, interfaz USB y mucha más de todo lo demás.