Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   ASM y Microcontroladores (https://www.clubdelphi.com/foros/forumdisplay.php?f=44)
-   -   Proyecto ISP AT89S51/52 (https://www.clubdelphi.com/foros/showthread.php?t=55739)

JoseFco 25-04-2008 03:04:08

Proyecto ISP AT89S51/52
 
"Tolomeo se mudo al Polo Norte"

poliburro 25-04-2008 15:37:32

:P y que es? o que hace?

pcicom 25-04-2008 16:24:38

Se ve interesante tu trabajo, y creo que a algunos nos gustaria saber que es lo que hace tu programa..

A lo que veo es la programacion de algun tipo de tarjeta y/o chip...

JoseFco 26-04-2008 03:24:22

"Tolomeo se mudo al Polo Norte"

poliburro 26-04-2008 03:30:45

Cita:

Empezado por JoseFco (Mensaje 282756)
Es un decodificador hexaburrobinario de ultima generacion.:D:D:D

:| jajajajaja, jajajajja, te la fumaste wey jajajajja.

JoseFco 26-04-2008 03:33:22

"Tolomeo se mudo al Polo Norte"

JoseFco 26-04-2008 16:17:34

"Tolomeo se mudo al Polo Norte"

MaMu 26-04-2008 17:42:04

Cita:

Empezado por JoseFco (Mensaje 282790)
Hola pcicom y poliburro.

Ahora si en serio.Este programita pretende ser un programador para los chips Atmel AT89S51 y 52. No esta terminado al 100% aunque ya esta trabajando bastante bien.
Pronto estara terminado.

Un Saludo.

Que lindos uC, que recuerdos... extraño mucho el Timer2 del 89S52 (80C52 arq.).

JoseFco 27-04-2008 23:19:04

"Tolomeo se mudo al Polo Norte"

pcicom 28-04-2008 00:04:40

Checa con ESTO..

Código Delphi [-]
procedure TForm1.InicializaGridBuffer;
var
  nRow, nCol : integer;
begin
  StringGrid1.DeFaultColWidth := 35;
  StringGrid1.FixedCols := 0;
  StringGrid1.Cells[0,0] := 'Addr';
  StringGrid1.Refresh;
  for nCol := 0 to 15 do
  begin
    for nRow:= 0 to StringGrid1.rowCount-1 do
    begin
        if (nRow=0) then
            StringGrid1.Cells[nCol,nRow] := IntTohex(nCol,2)
        else
            StringGrid1.Cells[nCol,nRow] := 'FF';
    end;

  end;

end;

JoseFco 28-04-2008 00:14:23

"Tolomeo se mudo al Polo Norte"

pcicom 28-04-2008 00:46:20

Ya sta,.,.

Código Delphi [-]
procedure TForm1.InicializaGridBuffer;
var
  nRow, nCol : integer;
begin

  StringGrid1.DeFaultColWidth := 35;
  StringGrid1.FixedCols := 0;
  StringGrid1.Cells[0,0] := 'Addr';
  for nCol := 0 to 15 do
  begin
    for nRow:= 0 to StringGrid1.rowCount-1 do
    begin
        StringGrid1.Cells[nCol,nRow] := 'FF';

        if (nRow=0)then StringGrid1.Cells[nCol,0] := IntTohex(nCol,2);
        if (nCol=0)then StringGrid1.Cells[0,nRow] := IntTohex(nRow,2);


    end;

  end;

end;

pcicom arroba hotmail punto com

JoseFco 28-04-2008 00:55:58

"Tolomeo se mudo al Polo Norte"

JoseFco 28-04-2008 02:20:10

"Tolomeo se mudo al Polo Norte"

JoseFco 29-04-2008 01:07:30

"Tolomeo se mudo al Polo Norte"

egostar 29-04-2008 01:16:31

Cita:

Empezado por JoseFco (Mensaje 283118)
PD: Los Maestros me an abandonado.:mad:

A pues que maestros tan desgraciados ..... :D:D:D

Bueno amigo, quiero entender cual es tu problema, que es lo que deseas "llenar" en lugar de puras FF :confused:

Porque ya puedes colocar en cada casilla un valor, eso es lo mas complejo, pienso yo :cool:

Salud OS

MaMu 29-04-2008 01:16:59

Que es lo que le falta al proyecto para terminar?

Saludos

roman 29-04-2008 01:24:45

Hago un breve paréntesis para hacer el siguiente comentario al compañero JoseFco:

Aun cuando la aplicación en la que estás trabajando tiene que ver con microcontroladores; las preguntas que haces, tanto las de este hilo como las de algún otro que has abierto, corresponden exclusivamente al uso de un StringGrid, y convendría que las hicieras en el foro correspondiente, que en este caso sería el de OOP.

Digo esto, no con el ánimo de molestar, sino para ayudar a tener un mejor orden en estos foros, que redunde en mejores búsquedas para quienes inquieran información en temas relacionados.

// Saludos

JoseFco 29-04-2008 01:26:55

"Tolomeo se mudo al Polo Norte"

JoseFco 29-04-2008 01:37:12

"Tolomeo se mudo al Polo Norte"

JoseFco 29-04-2008 01:58:33

"Tolomeo se mudo al Polo Norte"

MaMu 29-04-2008 07:21:43

Me gustaria poder ver cual es el procedimiento que se "come" el byte 17. Se me hace, que descuenta una columna por fila del grid, por eso, solo te pasa siempre en el mismo byte. Habría que revisarlo.
Lo que dice roman, es muy cierto, cada tema debe ir en su respectivo subforo, asi sean temas derivados de otros hilos, eso nos ayuda a todos, sobre todo para poder seguir bien el hilo. Lo que quizas debas hacer, cuando lo quieras documentar y dar por finalizado, es citar en cada parte, cada uno de los links donde haces referencia a cada inquitud. Yo te pongo un caso mío con un administrador de impresion: cada duda la he posteado en su respectivo foro, porque aunque formen un todo, son temas aislados. Otra cosa que me gusta hacer (políticas del foro que modero en electrónica) es escribir SOLUCIONADO (en rojo y subrayado) cuando doy por concretado un tema, para facilitar la lectura a terceros, muchas veces estos, requieren rapidamente la solucion. Piensa que esto es un foro, aqui el tiempo puede ser eterno, y son muchisimos los hilos que para leer en cualquier búsqueda, por lo que mantenerlo en orden es escencial.

Saludos y ánimos con el proyecto, ya quiero verto totalmente funcional!!!

JoseFco 29-04-2008 22:21:23

"Tolomeo se mudo al Polo Norte"

egostar 30-04-2008 02:21:18

Aún no tengo claro el asunto este pero el problema no estará aquí

Código Delphi [-]
if k <= 16 then begin //Si le pones 17 que pasa?
   StringGrid1.Cells[k,q] := IntToHex(Buffer[i],2);
   Inc(k);
end
else begin
       //Vuelvo a la primera columna, bajo una fila
       k := 1;
       Inc(q);
       StringGrid1.Cells[k,q] := IntToHex(Buffer[i],2);
end;

Salud OS

JoseFco 30-04-2008 02:32:12

"Tolomeo se mudo al Polo Norte"

egostar 30-04-2008 02:55:17

Cita:

Empezado por JoseFco (Mensaje 283411)
Hola egostar. eso lo probe el otro dia con 17 y 14. Con 17 dejo de perder un byte y entonces pierdo dos. con 14 no recuierdo bien pero tampoco trabaja asi.
Con 16 me pone la primera linea perfecta: 00 12 00 72 12 00 7E B4 80 04 80 34 80 F6 75 A0
La segunda linea debe ser asi ---------- (FE)12 00 AF 75 A0 FD 12 00 AF 75 A0 FB 12 00 AF
El primer caracter de la segunda linea se pierde y la data gana un paso o sea se corre un grid.
Un Saludo.

El problema que tienes amigo [pepe-paco], es que se te está olvidando que las celdas del stringgrid comienza de 0, intenta hacerlo con este código, obviamente solo estoy enviando los primeros 30 caracteres, modificalo a manera de que lea todos los caracteres del Buffer :)

Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  i,j,indice: integer;
begin
  indice := 1; //Suponiendo que buffer sea un array de 1...x 
  for i := 1 to 2 do begin  //2 renglones, cambialo a los renglones que esperas
     for j := 1 to 15 do begin //15 columnas
         stringgrid1.Cells[j,i] := inttohex(Buffer[indice],2);
         inc(indice);
     end;
  end;
end;

Salud OS

JoseFco 30-04-2008 03:22:55

"Tolomeo se mudo al Polo Norte"

JoseFco 30-04-2008 03:34:08

"Tolomeo se mudo al Polo Norte"

egostar 30-04-2008 03:39:15

Cita:

Empezado por JoseFco (Mensaje 283418)
Aqui esta el resultado esperado:

Tenia una semana con ese problema y no se dejaba.
Bueno un problema menos y algo mas aprendido.:D

Un Saludo.

Pues me alegra brother, sobre todo que cada dia se aprenda algo, eso es lo mas importante :)

Solo un comentario off-topic si me lo permites, ese colorcito de la tabla me parece un poco duro para la vista :cool: :D:D:D

Salud OS

JoseFco 30-04-2008 03:44:29

"Tolomeo se mudo al Polo Norte"

JoseFco 30-04-2008 23:24:54

"Tolomeo se mudo al Polo Norte"

JoseFco 01-05-2008 00:00:57

"Tolomeo se mudo al Polo Norte"

MaMu 01-05-2008 09:53:16

Cita:

Empezado por JoseFco (Mensaje 283591)
Una pregunta a los Maestros.

Yo tengo en mi programita una funcion que llama un file intelhex del pc y lo convierte en hex, para esto uso un {Buffer: TBuffer;}lo declaro asi.Este mismo buffer es el que uso para mandar su contenido al serial port para programar un chip.
Ahora bien aqui la pregunta:Yo puedo declarar otro buffer {BuffeReceptor: TBuffer;} y llamar una funcion que lea el contenido del chip alojandolo en este "BuffeReceptor" sin que tenga nada que ver con el otro buffer, ni tampoco perder lo que en el otro buffer este en ese momento.? La idea de tener otro buffer y con el contenido que programe al chip separado del buffer en el que alojare lo que lea de este es posteriormente y en otra funcion poder compararlos a ver si las datas son iguales.

Un Saludo.

No entendi.

Código Delphi [-]
 
var BuffeReceptor:TBuffer;
begin
   BuffeReceptor:= TBuffer.Create;

JoseFco 01-05-2008 22:10:41

"Tolomeo se mudo al Polo Norte"

richy08 02-05-2008 00:24:38

valla se ve interesante pero que tip ode chip pretendes programar y para que servira :confused: disculpa mi ignorancia:p

JoseFco 02-05-2008 00:39:04

"Tolomeo se mudo al Polo Norte"

richy08 02-05-2008 00:45:58

guau jeje no cabe duda que siempre hay algo nuevo que aprender pero por desgracia jeje mi perfil es mas hacia bases de datos y redes asi que de circuiteria no se casi nada los unicos circuitos que veo son los de mi compu y los de mi ipod que por ciert ol oacabo de hacerlo fallecer por estarle echando mecanica saludos:D

FGarcia 02-05-2008 17:32:42

Cita:

Empezado por JoseFco (Mensaje 283591)
Una pregunta a los Maestros.

Yo tengo en mi programita una funcion que llama un file intelhex del pc y lo convierte en hex, para esto uso un {Buffer: TBuffer;}lo declaro asi.Este mismo buffer es el que uso para mandar su contenido al serial port para programar un chip.
Ahora bien aqui la pregunta:Yo puedo declarar otro buffer {BuffeReceptor: TBuffer;} y llamar una funcion que lea el contenido del chip alojandolo en este "BuffeReceptor" sin que tenga nada que ver con el otro buffer, ni tampoco perder lo que en el otro buffer este en ese momento.? La idea de tener otro buffer y con el contenido que programe al chip separado del buffer en el que alojare lo que lea de este es posteriormente y en otra funcion poder compararlos a ver si las datas son iguales.

Un Saludo.

¿Cuantos botones tienes en tu formulario? ¿Porque un boton hace lo que hace y no lo que otro boton hace?

La respuesta es la misma para tu(s) buffer(s). Ambos son instancias diferentes del mismo tipo. Solo programalas para que reciban lo que tiene que recibir o transmitir cada uno de ellos.

JoseFco 03-05-2008 16:45:21

"Tolomeo se mudo al Polo Norte"

JoseFco 18-06-2008 01:19:40

"Tolomeo se mudo al Polo Norte"


La franja horaria es GMT +2. Ahora son las 06:17:56.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi