TODOPIC
Otros Microcontroladores / Dispositivos programables => Microcontroladores 8 bits => Mensaje iniciado por: Gokuden en 08 de Abril de 2005, 11:39:00
-
hola.
aqui les dejo un rar con un completo paquete en español de funcionamiento e instrucciones, registros de estos micros.
les recomiendo que si desean comenzar, usen un 89c51 o 52. si desean tambien, puedo poner aqui una introduccion de como se programa para que vean como se programa ... junto con un compilador...
Edición (link roto)
http://usuarios.lycos.es/gokudenelavismo/temporal/pdf51.rar
-
Estaría interesante Gokuden.
Algún esquemilla de un programador sencillito?
Por cierto estuve buscando algún sitio donde poder comprar un AT89C51SND.Uno de esos q implementa usb,Compact flash y demas...pero no he conseguido na de na.
Ah,otra cosa,el enlace que pusiste no me funciona
Saludos
-
ya arregle el link, si sigue dando problemas, me avisan.
primero comenzemos con algo basico.
estos micro controladores son famosos, economicos y versatiles. ESCUCHEN, tenganlos por seguro que si tienen un micro de estos, el prgoramador aprendera sa usarlo, es realmente facil.
BREVE INTRODUCCION
este micro tiene 4 ptos como un 877, no trae adc, ni i2c, ni captura, trae solo uart.
y no trabaja a 4 ciclos por instruccion como microchip sino a 12. exactamente el trabaja a 1microsegundo por instruccion si le colocas un cristal e 11,0529mhz, que es bastante comercial. ![Chica Chica]()

otra cosa es que no se configuran puertos, es decir, si deseas sacar datos por el saca y si deseas leer lee, es bidireccional en tiempo de ejecucion.
con respecto a las interrupciones, tiene igual interrupciones para cada modulo, como timers, uart, etc etc pero cada uno apunta a un vector diferente, no como en microchip que todos apuntan a 04h, estos apuntan diferente, asi que puedes hacer rutinas de interrupcion diferentes para cada una. pero me imagino que tendran una duda. ?que pasa si esta interrumpido y viene otra interrupcion?, el tiene un registro donde tu le puedes dar mas prioridad a una que a otra, y si estas en una interrupcion y se activa la de mayor prioridad, entonces se va a la otra, se ejecuta y regresa a la que estaba realizando. ^^. pero si todas tienen la misma jerarquia, pos la interrupcion que se haga mientras este haciendo una no se ejecuta, se pierde
.
ADENTREMOS ALGO A LA PROGRAMACION.
los puertos se llaman p0, p1,p2, y p3 a diferencia de porta,portb,etc etc.
con respecto a las instrucciones. estan en el pdf que les di arriba, en un capitulo, pero para decirles una de las mas utilizadas en microchips serian.
MICROCHIP VS 8051
CALL LCALL O ACALL
GOTO JMP O LJMP
COSAS IMPORTANTISIMA.
porque ciertas instrucciones se les pone una L antes. es porque s i tu programa es muy largo, las instrucciones sin L como esas llaman a rutinas que esten 128 lineas por debajo o per encima a ella, en cambio con la L antes, puedes abarcar toda la memoria del micro. mejor usa siempre L, lo que pasa es que esta instruccion te ocupa dos espacios en vez de 1 como las demas.
este mciro funciona como microcontrolador, como microchip o como microprocesador, asi que la patita EA, debe ir a tierra creo, voy a revisar y corregire si no es asi.
este micro no tiene PWR, o power on reset de microchip, asi que debes resetearlo manualmente despues de haberlo encendido, o le pones una resistencia de 10k a tierra, y en esa misma patita un condensador de 10micros F. a vcc. pero el lado negativo del condensador a Vcc. ya que el reset es inverso.
con respecto al direccionamiento, es micro usa un direccionamiento diferente, usa un registro llamado DPTR, este registro es de 16 bits y puedes usarlo directo, meter valores de 16bits en el, pero para leerlo, el tiene un Dptr bajo y un dptr alto ya que este micro es de 8bits. QUE SIGNIFICA ESE DIRECCIONAMIENTO. significa que no usa el cochino PCL de microchip, tienes dos bancos de registro, ni paginas, todo esta en una misma pagina y dos bancos. programas para adelante y no le pares a nada ^^.
-
PRIMEROS CONOCIMIENTOS DE SUS CARACTERISTICAS. SEGUNDA PARTE ANTES DE HACER UN PROGRAMA.
INTERRUPCIONES.
tiene varias interrupciones, y como dije antes, un vector de interrupcion diferente.
que son vectores de interrpcion? es la localidad de memoria a donde el micro se dirije cuando se acontece la interrupcion deseada y previamente activada.
son estos:
INTERRUPCION VECTOR A QUE APUNTA.
1. interrupcion externa 0 (IE0) 3h
2. interrupcion timer0 (TF0) BH
3. interrupcion externa 1 (IE1) 13h
4. interrupcion timer 1 (TF1) 1BH
5. R1 y T1, interrupcion serial 23H
y hay un timer 2 que es para el 89c52.
DIFERENCIAS ENTRE 89C51 Y 89C52
son iguales, si tienes un programa en uno, puedes programarlo en el otro, colocarlo en tu circuito sin alterar nada y te funcionara. pero el 89c52 trae un timer2 y trae 8k de memoria en comparacion a los 4k que trae el 51.
OTRAS COSA.
ete micro tiene unos registros de ram, que tienen nombre, que son r0,r1,r2... a r7, puedes usarlos cuando quieras, son ram que trae el micro pero ya tienen nombre.
REGISTROS MAS USADOS.
esta el famoso status qe ahora no se usa para nada. a menos que vayas a usar el carry. ya no se usa el Z, no existe, ya que hay instrucciones para comparar directo y no con una xorwf o xorlw.

registro de interrupcion.

y el de priroridades pero este no le paren mucho
-
TIMERS
El 8051 tiene 2 timer/contadores de 16 bits cada uno, llamados Timer 0 y
el Timer 1 respectivamente. Ambos pueden ser configurados para operar como
temporizadores (timers) o como contadores (counters).
Cuando se trabaja como contador, el registro interno del contador, es incrementado cada vez que existe una transición negativa (de 1 a 0) por la línea de entrada correspondiente a T0 ó T1. En cambio, cuando funciona como temporizador "Timer", el registro es incrementado cada 12 periodos de oscilación es decir su frecuencia de conteo es 1/12 de la frecuencia del oscilador.
En el momento que los bits del registro del contador pasan de todos 1"s a
todos 0"s, se activa la línea de interrupción interna correspondiente a TF0 o TF1,
generándose, (si ha sido permitida) una interrupción.


REGISTRO DE MODO DE CONTROL DEL TIMER/CONTADOR
Este registro permite especificar si se van a trabajar como Temporizadores
(Timers) o como Contadores (Counters), los puertos denominados Timer 0 y Timer 1. Existen 4 modos de trabajo para estos puertos

COSAS IMPORTATES 2.
otra cosa que deben saber es que tu puedes levantar el bit o bajar el bit de un registro de forma directa.
ejemplo.
el bcf o bsf de microchip aqui con clr y setb respectivamente.
este ejemplo es como si usaremos el status de microchip. si deseamos poner en alto el bit RP0, ponemos
SETB RPO en vez de BSF STATUS,RP0
-
COSAS ANTES DE HACER EL PROGRAMA.
este microcontrolador no controla nada de corriente en sus salidas, asi que no podran prender ni un led, pueden quemar el puerto. asi que deben usar un latch, buffer digital, o un amplificador operacional en modo seguidor para ello. pero para informacion y otras cosas pueden hacerlo directo. la corriente de cada pto es de menos de 1mA.
el acumulador se llama A, hay registros ram con nombres libres de uso como B, r1 a r7, y puedes mover datos directo de un registro a otro
SOFTWARE
para programar usaremos el block de notas, y como compilador el ASM52, buscalo en google. para hacer los retardos o delays usaremos el PICLOOPS, el cual este posee la capacidad de tambien hacer retardos para 8051.
PRENDAMOS Y APAGUEMOS UN LED
PONDRE EL PROGRAMA Y EXPLICARE LINEA A LINEA.

$MOD51 ;identificador de programa, obligatorio.
;primero programa
;POWERED by:
; Gokuden
;****************DECLARACION DE REGISTROS********************
LED BIT P1.0
DATOL EQU 20H
; decimos qe el bit 0 del Pto1, se llamara LED, con la pseudoinstruccion BIT
; asi se declara una variable, igual que microchip. desde 20h com el 16f84a
;************************ VECTORES**************************
ORG 0000H ;comenzaremos a programar desde la 0h, obligatorio
LJMP START ; cuando el micro arranca, apunta a 00000h MOV SP,#2FH;stack pointer es el stack, dejalo asi
;*******************CUERPO**************************
START: SETB P1.0
LCALL RET1S
CLR P1.0
LCALL RET1S
JMP START
; PONEMOS EN ALTO EL BIT P1.0 ......ES COMO EL BSF PORTB,0.
; LLAMAMOS A LA RUTINA DE 1SEGUNDO DE RETARDO
; PONEMOS EN BAJO EL BIT P1.0....... ES COMO EL BCF PORTB,0
; LLAMAMOS LA RUTINA DE 1 SEGUNDO
; VAMOS A START DE NUEVO, COMO EL GOTO START .
;********************************************************** ; ESTO ES RUTINA DE 1SEGUNDO. SE HACE CON PICLOOPS.
; RETARDO 1 SEGUNDO
;****************************************************************
RET1S: MOV R1,#16
MOV R2,#71
MOV R3,#255
LOOP: DJNZ R3,$
DJNZ R2,LOOP
DJNZ R1,LOOP
RET
; MOVEMOS EL VALOR EN DECIMAL A EL REGISTRO R1, FIJENSE QUE SE MUEVE DIRECTO, Y NO COM EN MICROCHIP QUE PRIMERO A W LUEGO A EL REGISTRO
;Y NO COM EN MICROCHIP QUE PRIMERO A W LUEGO A EL REGISTRO
; DECREMENTA Y SALTA SI NO ES CERO EL VALOR.
; DECREMENTA Y SALTA SI NO ES CERO
END
disculpen que no puse los comentarios al lado pero se descuadraba el programa.
luego pondre otro programa mas complicado con mas cosas. no eexplico las instrucciones porque son muchas pero por eso ire haciendo programas y las iran viendo en ejecucion.
pero si en realidad no van a dejar esto solo en el pc y van a comprar el micro y van a programrarlo ya probar. pos me mandan un email a elavismo@gmail.com o a mi msn supergogeta_4@hotmail.com, o por aqui mismo mejor, y le detallo a la perfeccion cada detalle , cada paso, y que tengan duda.
SE QUE NO ES FACIL ARRANCAR ASI COMO ASI Y QUE LO QUE ESCRIBI NO ES SUFICIENTE PERO ASI EMPESAREMOS, LOS QUE COMPREN Y TENGAN COMO PROGRAMARLOS, ME DICEN, Y LO HAREMOS DETALLADAMENTE.
-
Amigo no puedo acceder al archivo, serias tan amable y me lo podrías enviar, o me das otra opción para descargarlo.
harry_jauregui@hotmail.com
Gracias por tu atención
-
Amigo necesito vajar el archico q pusiste pero no se puede, porfa no se si tu me lo podrias enviar a mi mail q es.. serfran@gmail.com, te quedare muy agradecido.
-
que tal gokuden la verdad sabes me esta llamando la atencion pues estos micros 8051 estan regalados pero lo que no se es si son memoria flash ,que tal son los grabadores si son faciles de fabricar como para los pic el compilador de donde lo consiguo y la verdad el link que dejastes ya no funciona creo ,pero sobre todo queria saber lo del grabado del micro o es que ya hay una version flash del 8051 o de frente nos vamos para lo de atmel que parece que si es flash y e visto un compilador en c de esos bichos bueno hasta luego



-
el micro que uso de esa arquitectura es el conocido at89c51 y at89c52 el cual son iguales pero uno con mas memoria. si son flash. y los programadores son exageradamentes sencillos. uno mas que otros..
el compilador es el asm52. buscalo en google pero es para assembler..
-
hola xavales, ya lo he comentado en otro post, los micros AT89C5X tienen memoria flash pero necesitan la programacion en paralelo (complicado de hacer....), Sin embargo los AT89S5X se pueden programar via SPI (3 lineas ;D, osea como los AT90SXX ) buscad en la red ISP FLASH PROGRAMMER y encontrareis tanto el HW como el SW para programarlos via puerto Paralelo. En cuanto al compilador, os recomiendo que paseis del ensamble (no es que no me guste pero no se pueden hacer muchas cosas complicadas sin dejarse los sesos), os recomiendo el Keil C para programar en lenguaje C (la version DEMO te permite compilar hasta 2k y no tiene las librerias para trabajar con numeros flotantes).
Un saludo.XeReX
-
aqui esta un programador sencillo para la familia 51 y 51.
Aqui
-
Hola, la pagina a la que apuntas tiene un programador, yo lo hice y el resultado fue negativo... no creo que me equivocara a la hora de hacer la placa y de soldar los componentes..... en este otro enlace (de la misma pagina)
http://chaokhun.kmitl.ac.th/~kswichit/IspPgm30a/ISP-Pgm30a.html
viene otro programador (el que yo comentaba) con un integrado CMOS 74HC745, este es el que yo utilizo y funciona perfectamente. Un saludo.
-
Gracias gente pues de solo pic no vive el hombre amen
-
hola amigos, gracias por sus respuestas son muy amables
Tengo una duda:
El programador "ISP Programer" puede programar o no la serie AT89C5X por favor aclaren eso.
En cuanto al integrado CMOS 74HC745 que esta en el esquematico del "ISP Programer"
me parece muy buena la idea de su inclusion porque ademas aisla al Puerto paralelo del PC.
bueno en todo caso aqui les envio una pagina que encontre:
para grabar la seriel AT89C5X no es tan sencillo pero funciona
ya lo probe, y si encuentran un grabador mas sencillo avisen please.
http://usuarios.lycos.es/tervenet/grabador8051.htm
-
oye beto esa pagina tiene muy buena pinta mira oye tu q as andado mas por alli la verdad recien me compre el 89c51 oye alli tambien esta el programa grabador y el compilador que ojala sea el bueno osea no demo por lo menos en asembler te agradeceria tu respuesta beto ya estoy listo para empezar el micro me esta esperando gracias por todo amigos , a tenia dudas sobre la diferencia entre el c en medio o el s que diferencia tienen a proposito el datashet es de solo de 50 paginas esta que me dan ganas estos micros por favor amigos respondan
-
Beto se me escapo la verdad yo tengo el 89c51 pero la verdad dime para grabar este uso un 89c51 tambien entonces caigo en lo mismo como puedo hacerme mi grabador si no tengo otro gravador de este micro no hay un buen modelo que no use necesariamente u microcontrolador , y que sea para esta familia 89c51 exclusivamente y el software programador uno que funcione pues estoy con poco presupuesto para experimentar te agradeceria a todos si me respomden gracias
-
Bueno mi amigo electronado creo que al darte esa pagina te
he puesto en un dilema
.
Como grabar un 89C51 /89C52 si el grabador necesita uno de estos chips
ya grabado para poder grabar los uControladores 89C5X ??????????
-Te dire que un amigo me presto su grabador para grabar este micro
y no tube problemas.
Justamente estoy en busca de un grabador mas sencillo como el que pusieron
anteriormente en una pagina web
Bueno particularmente estoy muy interesado en esta pagina:
http://www.batronix.com/electronic/circuits/mc-programmer-2.shtml
El harware es mas sencillo y tiene un buen software para grabar estos micros
y tambien es capas de de compilar un archivo ASM y descompilar un archivo HEX;
OJO; No lo he probado aún pero estoy en eso.
Aqui tienes otra pagina para que analices:
http://chaokhun.kmitl.ac.th/~kswichit/Pgm89v31_web/Pgm89v31.html
Tambien no es muy complicado de hacer
En fin la decisión es tuya . Suerte
RECUERDA: QUERER ES PODER 


If you want the PEACE prepare for the WAR
-
tiempo sin revisar.. el que quiera aprender o hacer algo, que me avice
-
ps hay para ambos.. el qe menciono yo es solo para 51..
-
hola soy nuevo en esto y quisiera saber que es lo que tengo de tener para extraer informacion desde un at89c52 ya sea el programa y que tipo de circuito es que tengon un este chip y ya esta programado pero quiero saber como lo puedo leer
por algo se empieza o no???????
saludos desde viña del mar chile
-
Escrito originalmente por jerupic666
hola
soy nuevo en esto de los micros 8051 quisiera saber si estos grabadores que se mencionan anteriormente son unicamente para la serie de atmel o tambien funcionan para cualquier micro 8051
yo probe un 8051 intel y funciona tambien
-
mira que yo sepa si se puede leer el programa de un microcontrolador que ya esta grabado ,
simplemente tienes que conseguir un descompilador que en internet hay varios para la serie
8051 con sus respectivas instrucciones de uso

-
HOLA QUISIERA SABER SI EL PROGRAMADOR QUE MENCIONASTE SIRVE PARA EL 8051 Y TAMBIEN COMO DEBO CONFIGURAR EL SOFTWARE PARA QUEMAR UN PROGRAMA EN ESTE MICROCONTROLADOR GRACIAS
-
No he podido descargar el tutorial, la página me dice error...... :?
Atte: Enigma... La llanerita de Guayana :D
-
Buenas Tardes!
soy nuevo en el foro (hace rato que lo tengo visto pero hace poco que me anime a registrarme)
En mi facultad usamos ese micro, y para programar/debugear usabamos el Keil uvision3.
Con respecto a lo de las instrucciones, solo hay q mirar el datasheet del microcontrolador
un saludo!
NärXEh :)
-
h<a href="http://usuarios.lycos.es/gokudenelavismo/temporal/pdf51.rar" target="_blank">http://usuarios.lycos.es/gokudenelavismo/temporal/pdf51.rar[/url]
Hola Gokuden, muy buena tu iniciativa, ya que ahorita en la universidad nos estan enseñando a usar este pic y ya nos asignaron un proyecto y ni idea de como hacerlo. Lamentablemente el link que colocaste al principiono funciona, no descarga ningun archivo.
Otra cosa, alguien aca sabe que programa puedo usar para simular en la pc? Algo asi como el Proteus pero para Atmel.
Para programar y compilar que programas se usan?
El Assembler se puede hacer igual en bloc de notas y guardarlo con la extension .asm?
Saludos!
-
Hola amigo puede usar el AVR Simulator IDE http://www.oshonsoft.com/avr.html aunque te aconsejo que use tambien el AVR Studio de Atmel alli lo puede bajar de su pagina.
Saludo
-
Hola amigo puede usar el AVR Simulator IDE http://www.oshonsoft.com/avr.html aunque te aconsejo que use tambien el AVR Studio de Atmel alli lo puede bajar de su pagina.
Saludo
Muchas gracias hermano por tu respuesta!
Lo descarare e intentare manejarlo. Funcionaria casi igual que el Proteus?
-
NO ANDA EL LINK
---http://usuarios.lycos.es/gokudenelavismo/temporal/pdf51.rar---
LO PODRIAS ARREGLAR GRACIAS :mrgreen:
-
gokuden como puedo cambiar los baudios de velocidad de transmisión serial en atmel 8052 por asembler para que sea 9600 tengo entendido que existe un modo de 8bits que usa velocidades variables a las necesidades? :shock:
-
Hola Amigos.
El 8051 es un micro que continua dando la batalla.Sus parientes Atmel son una muestra de ello.Como el AT89S51 y el AT89S52.Solo tienen que googlear un poco y encontraran mucha ayuda.
Un Saludo.
-
El 8051 posiblemente sea el microcontrolador de 8 bits mas vendido de la historia, y seguramente el que mas saco derivativos, casi todas las marcas sacaron un clon, de los mejores que conozco son los de Dallas por lejos. Ademas muchos otros micros sacaron ideas de este.
Saludos !
-
El 8051 posiblemente sea el microcontrolador de 8 bits mas vendido de la historia, y seguramente el que mas saco derivativos, casi todas las marcas sacaron un clon, de los mejores que conozco son los de Dallas por lejos. Ademas muchos otros micros sacaron ideas de este.
Saludos !
Hola RICHI777, El Dallas DS5000 tremendo chip.Con ese derivado del 8051 di mis primeros pasos en el mundo de los micros.El soporte para su desarrollo el Kit5 Kit en Dos :) llovio muchos desde entonces amigo. Pero el DS5000 tenias la posibilidad de solo editar un byte en el firmware sin afectar lo demas.Podias desensamblar en el momento y si querias pues de un address a otro.Muy buena seguridad para que no te copiaran el codigo.
Atmel tambien a hecho buenas copias del 8051 ( los AT89S51 son un ejemplo) El original 8051 salio a la luz en el 1980 y sigue dando que hacer.
Un Saludo.
PD:No es muy popular en estos dias como lo son los PIC y muchas son las razones.Por solo mencionar una, Los PICs tienen menos instruciones a aprender.El 8051 256 instruciones. :)
-
Hola, si buenisimo el DS5000, pero me parecieron mejores el DS80C320 y el DS89C430, si no me equivoco son los derivados del 8051 mas rapido que conozco, una de las contras que les encontre es que la extension a la arquitectura se hacia por registros, ejemplo por hardware podias seleccionar si el DPTR se incrementaba o decrementaba, bueno el trick pero podia traer problemas. En si me gustan los micros mas ortogonales, con respecto a las intsrucciones mas potencia es casi seguro mas instrucciones.
Saludos !
-
Si los Dallas creo que son la copia mas potente del 8051.Otra cosa que traen estos micros es que al tener como memoria DRAM y bateria de litium interna, se les podia hacer particion a la memoria y celecionar que parte era programa y que parte era para almacenar data.Cuando yo usaba los DS5000 el costo de entonces eran unos $25.00 usd.Pero hasta como herramienta de trabajo los use.Ya que les metia un intelhex y podia desemsamblar el codigo desde el mismo. :) El problema del hardware que te refieres puede ser el pin de selecionar memoria interna o memoria externa.Este pin se deja flotante si usas su memoria interna y se tira a masa si usas memoria externa.Pero aqui el problemita si el chip esta lock y por acidente tiras ese pin a masa, todo el software se tira automaticamente fuera y pierdes su contenido. :)
Un Saludo.
PD: Para la mayoria de las cosas que desarrollamos un 89C51 o 52 resueve.Si no necesitamos muchas salidas pues con un 89C2051 /4050 (estos tienen el mismo core 8051 solo que dos puertos menos.)