Autor Tema: EJEMPLITOS DE BASCOM AVR... ATMEGA8..  (Leído 205753 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: EJEMPLITOS DE BASCOM AVR... ATMEGA8..
« Respuesta #30 en: 01 de Junio de 2006, 01:30:51 »
Uff, no sé cómo estés trabajando el Proteus. Te recomiendo que pases al foro de Simuladores y allá publiques tu pregunta. Yo no puedo ayudarte.  :(

Desconectado vszener

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2395
Re: EJEMPLITOS DE BASCOM AVR... ATMEGA8..
« Respuesta #31 en: 01 de Junio de 2006, 10:06:57 »
Bueno, las imagenes no se ven.....el fallo que te da es de la extension del archivo que debes cargar, no simula porque no tiene cargado ningun archivo, como bien te indican, debes cargarle al microcontrolador el archivo .hex generado por tu compilador.

PD: Como bien dice el amigo migsantiago, esta duda es mejor que la postees en el subforo de simuladores, asi dejamos este magnifico post creado por el amigo olotill con sus ejemplos y preguntas de los mismos



Suerte!!! :wink:
· Nos vemos en los bares!!!!!
· Mi Blog: Aqueronte

Desconectado Drankos

  • PIC10
  • *
  • Mensajes: 3
Re: EJEMPLITOS DE BASCOM AVR... ATMEGA8..
« Respuesta #32 en: 06 de Junio de 2006, 04:41:24 »
Hey olotill, que paso? te has tomado unrespiro que mas que respirodeben haberte saltado los pulmones, XD. te falta tiempo ? Deseas que te eche una mano ? Bien soy un burrito mas en este gran mundo de la programacion, pero por ganas que no sea.
Gracias y un saludo.
« Última modificación: 06 de Junio de 2006, 05:44:21 por Drankos »

Desconectado olotill

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 249
Re: EJEMPLITOS DE BASCOM AVR... ATMEGA8..
« Respuesta #33 en: 06 de Junio de 2006, 19:58:35 »
Compadre Drankos..

Pues tenes toda la razon, mas que descanso parece asma....  :D :D pasa que he estado con trabajo y montando mis modulitos de entrenamiento para PIC`s y ATMEL, q en estos dias los compartire aca en el foro...

Y como te decia el problema que no he seguido con los ejemplos es que Proteus a momentos no simula bien, por lo prefiero probar los ejemplos in real con mis modulitos  :mrgreen:

Ahora lo que necesito es una pequeña guia para saber como enchufo el BASCOM AVR con la maestria de SISCO el GTP USB +, ya que ya lo probe reconociendo ATMEL y va de pelos  :-/ :-/ :-/  gracias SISCO...


Bien eso por ahora, poquito de paciencia.... o porque no proponemos ejemplitos y los vamos desarrollando...

Recuerden que 2 o 7000 cabezas piensan mejor que 1.... y la mia no puiensa mucho  :D :D

Listo entonces espero sugerencias, y pues veran q ando de vuelta prontico por el foro

Una abrazo compadres
"La imaginación es más importante que el conocimiento"  A. Einstein..

Desconectado Vinho

  • PIC10
  • *
  • Mensajes: 42
Re: EJEMPLITOS DE BASCOM AVR... ATMEGA8..
« Respuesta #34 en: 10 de Junio de 2006, 13:29:59 »
Hola gente!

Soy novato en esto de los AVR, pero aquí les dejo un ejemplo de interrupción de timer1.
Se trata de un ejemplo sencillo con display de 7seg de ánodo común, un pulsador como control, un led como testigo y el Mega 8.

El ejemplo consiste en contar del 0 al 9 cada segundo (aproximadamente)...  Primero se inicializa en 0 y espera la orden de inicio del pulsador, luego empieza el conteo y al llegar a 9 comienza otra vez, si se vuelve a presionar el pulsador, regresa a cero y espera por una nueva orden de inicio.

El cálculo del tiempo de interrupción es así: Xtal = 4Mhz, Prescale = 64, timer 1 = 16 bits (65535)
64/4000000 = 0.000016; 0.000016*65535 = 1.04856 seg. Al menos eso dice la teoría  :mrgreen:

Este es el código:

' Prueba de Interrupciones de Timer
' Trabaja con el circuito TimerInt2 de Proteus
' Display en Pb
' Control  en Pd.1
' Testigo en Pd.0


'$sim
$crystal = 4000000
Config Portb = Output
Config Timer1 = Timer , Prescale = 64
Enable Interrupts
On Timer1 Refres

Ddrd.0 = 1                                                  ' d0 como salida
Portd.0 = 1
Ddrd.1 = 0                                                  ' d1 como entrada
Portd.1 = 1


Disp Alias Portb
Ctrl Alias Pind.1
Test Alias Portd.0

Dim Aux As Byte

Inicio:
Disable Timer1
Disp = &H40                                                 'Presenta 0 en el display
Set Test                                                        'Apaga el led
Waitms 250                                                  'No es necesario, solo para estabilización y antirebote además del debounce
Aux = 0
Bitwait Ctrl , Reset                                         'Espera a que se presione el pulsador
Reset Test                                                     'Prende el led
Enable Timer1
Do
Debounce Ctrl , 0 , Inicio                                'Si se presiona el pusldador, salta a Inicio
Loop

Refres:
Incr Aux
If Aux = 10 Then
   Aux = 0
End If
Disp = Lookup(aux , Tabla)                           'Busca en la tabla el dato en la posición Aux y lo presenta en el Display
Return


Tabla:
Data &H40 , &H79 , &H24 , &H30 , &H19 , &H12 , &H02 , &H78 , &H00 , &H10



Saludos!
« Última modificación: 10 de Junio de 2006, 13:37:31 por Vinho »

Desconectado Vinho

  • PIC10
  • *
  • Mensajes: 42
Re: EJEMPLITOS DE BASCOM AVR... ATMEGA8..
« Respuesta #35 en: 10 de Junio de 2006, 13:56:10 »
Hola!

Podria alguien postar algún ejemplo de interrupciones tiempo por favor?? Cómo se setea el tiempo exacto en que uno quiere que ocurra la interrupción?? Por cierto, tengo problemas con la instrucción RETURN, se supone que debe regresar a la instrucción en que estaba antes de una interrupción, pero siempre regresa al inicio del programa... Q estoy haciendo mal?

Saludos!!

Sobre esto me faltó explicar que estaba usando la sentencia "Debounce"... Y para variar, no leí bien el manual  :mrgreen:
Mi error era que con la opción Debounce, el programa saltaba a una subrutina, de la cual quería regresar. Para hacer eso hay que añadir un ",sub" al final de la instrucción porque sino es un simple salto (lo mismo ocurre con Gosub y Goto).
Ej: Debounce Pinb.3, 0, Rutina, Sub

Saludos!

Desconectado Vinho

  • PIC10
  • *
  • Mensajes: 42
Re: EJEMPLITOS DE BASCOM AVR... ATMEGA8..
« Respuesta #36 en: 15 de Junio de 2006, 19:44:19 »
Hola gente!
Aqui les dejo un ejemplo de uso de LCD y de ADC interno del Mega8...
No lo he construido aún, en el simulador de Bascom funciona muy bien, pero en Isis presenta algunos problemas (http://www.todopic.com.ar/foros/index.php?topic=1197.0 )
El ejemplo consiste en un voltímetro de cc q mide de 0 a 5V, la lectura es presentada en un LCD 2*16
Él código es:

' Voltímetro con ADC interno, LCD y Mega8
' Mide de 0 - 5 Vdc

$crystal = 4000000

Dim Volt As Single
Dim V As String * 4
Dim Aux1 As Word

Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2

Config Adc = Single , Prescaler = Auto , Reference = Avcc   'config ADC

Config Lcd = 16 * 2

Start Adc
Do
   Aux1 = Getadc(0)
   Volt = Aux1 * 5
   Volt = Volt / 1024
   V = Fusing(volt , "#.##")          'Redondea los decimales de un dato tipo single y lo transforma en string
   Lcd "V = " ; V
   Waitms 200
   Cls
Loop


Si alguien se anima a simularlo o construirlo, espero que publique los resultados  :-)

Saludos!
« Última modificación: 15 de Junio de 2006, 19:46:44 por Vinho »

Desconectado Vinho

  • PIC10
  • *
  • Mensajes: 42
Re: EJEMPLITOS DE BASCOM AVR... ATMEGA8..
« Respuesta #37 en: 29 de Junio de 2006, 20:17:25 »
Hola gente

He hecho algunos experimentos con PWM en Proteus y hasta ahora no logro que funcionen bien, estoy casi seguro que es prblema del simulador, pero hasta que no los arme prefiero no postearlos... Sin embargo les dejo este ejemplo básico de PWM con Bascom...  Se trata de sacar una señal PWM por 1a (pin 15 del mega8) al 20% y por 1b (pin 16) al 80%. Como se muestra en el circuito, es fácil llevar esta señal a un motor por ejemplo.

El código es:

$regfile = "m8def.dat"
$crystal = 4000000

Config Pinb.1 = Output
Config Pinb.2 = Output

Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1

Do
 Compare1a = 205
 Compare1b = 51
Loop

End

Como ven, 1a se carga con 205 (80%) y 1b(20%) con 51, la suma de ambos es 256 (100%). Esto es así porque elegimos Pwm=8 o sea de 8 bits, pero el comando Comapre A Pwm = Clear Up, es una especia de negación. Pwm también puede cargarse con 9 0 10 bits, para obtener un control más fino (mayor número de pasos).

La configuración de pines me parece que está de más, porque creo que es autmática cuando se configura el Tmer como PWM.

Saludos!


Desconectado Fabro

  • PIC10
  • *
  • Mensajes: 2
Hermano acolitate con la conexion para el atmega8
« Respuesta #38 en: 27 de Noviembre de 2006, 15:12:37 »
Lo que pasa es que no se muy bien como conectar los pines del programador ISP para el atmega8 porque en el diagrama que tiene Bascom me indica un Clock que de seguro es un emporizador y ademas la fuentes no se como conectar y tambien que es eso de STK200 y STK 300, en si necesito tu ayuda Mastro de Maestros... El problema de la programacion esta superado...
Fabricio Pillajo (UP Salesiana)

Desconectado Blanca Sánchez

  • PIC16
  • ***
  • Mensajes: 108
    • PicsMexico: Programación con Microcontroladores
Re: EJEMPLITOS DE BASCOM AVR... ATMEGA8..
« Respuesta #39 en: 18 de Febrero de 2008, 04:51:36 »
WUAW!

Me encanta este hilo. Gracias a él he podido aprender mucho sobre AVR's y BASCOM. Aunque estoy empezando, he podido hacer algunas cosas sencillas que ya podía hacer con los pics... Pero otras no.... Por ejemplo, Una herramienta muy valiosa cuando se trabajan con LCD's es la creación de caracteres especiales. BASCOM te permite crear el caracter que desees con solo dibujarlo dentro de la ventana LCD Designer:


Una vez que terminas el diseño, le das clic en Ok e inmediatamente inserta la instrucción en tu programa. Debes recordar que despúes de crear un nuevo caracter, debes insertar la instrucción CLS.

WUAW!

P.D. Lo irónico es que nunca entendí como hacerlo con los pics...  :shock: :D
P.D.2. Si también estás aprendiendo a programar en BASCOM, checa los programas que vienen en el propio BASCOM-AVR Help. Muy buenos!!!
« Última modificación: 18 de Febrero de 2008, 05:00:16 por Blanca Sánchez »

Desconectado stk500

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4923
Re: EJEMPLITOS DE BASCOM AVR... ATMEGA8..
« Respuesta #40 en: 18 de Febrero de 2008, 05:00:23 »
asi mismo Srta Blaanca!
con Bascom puede diseñar tu LCD muy facil sin tener que usar programa complicado como otros Mcu,
y debo decirte que yo uso Bascom y cualquier cosas que podamos ayudarte aqui estamos

Meta

  • Visitante
Re: EJEMPLITOS DE BASCOM AVR... ATMEGA8..
« Respuesta #41 en: 18 de Febrero de 2008, 05:14:35 »
LCD STUIDO

Programa gratuito de diseños de gráficos para los GLCD (LCD Gráfico). Se puede aumentar sus funciones mediante plugins.

Si encuentran programa para LCD de 2x16 gratuito,mejor que mejor.






http://www.lcdstudio.com/

Desconectado Blanca Sánchez

  • PIC16
  • ***
  • Mensajes: 108
    • PicsMexico: Programación con Microcontroladores
Re: EJEMPLITOS DE BASCOM AVR... ATMEGA8..
« Respuesta #42 en: 18 de Febrero de 2008, 05:23:09 »
Hola:

Esa es otra de las cosas que no he hecho con los pics... el manejo de GLCD... WUAW!


Gracias stk500 por tus comentarios... siempre es bueno saberlo.

Para agregar otro detalle muy interesante al manejo de LCD con BASCOM, es que puedes asignar a cada pin del LCD cualquier pin de cualquier puerto del AVR!!!. Esto te permite simplificar MUCHO tu PCB pues te ofrece la posibilidad de conectarlo de acuerdo a los pines libres que tengas.


Algo que me gustaría hacer que no he hecho con los pics es leer y escribir en una memoria... espero agregar algo a este mensaje poniendo un programita...

Desconectado stk500

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4923

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: EJEMPLITOS DE BASCOM AVR... ATMEGA8..
« Respuesta #44 en: 18 de Febrero de 2008, 20:27:40 »
Hola

Blanca, aquí en el foro el amigo Palitroquez diseñó un software muy bueno para dibujar en la LCD con código asm o con lenguaje C usando PICs...



Aquí el tema en donde publica gratis su programa, con todo y código  :mrgreen:

http://www.todopic.com.ar/foros/index.php?topic=14552.0