Autor Tema: AVR BASCOM Ejemplos ( mis proyectos)  (Leído 15022 veces)

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

Desconectado stk500

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4923
AVR BASCOM Ejemplos ( mis proyectos)
« en: 26 de Noviembre de 2009, 12:07:05 »
Hace muchos tiempos que estoy estudiando Bascom AVR, aprendiendo con este lenguaje y esperando tener cosas muy concreta me decidi compartir aqui, con el gran deseo que otros que quieran tambien cooperar y compartir, pues bien ya que hay un Hilo aqui sobre esten gran lenguaje y poca unformacion en habla españolas
http://www.todopic.com.ar/foros/index.php?topic=8108.0
pues quiero continuar aqui no solo con el Atmega8 sino con otros mas que tengo.
pues bien de momento os dejo aqui un Reloj que todavia no esta acabado del todos , ya que le queria poner mas cosas, pero me divertir muchos con el aprendiendo, ya que llevo muchos meses haciendolo , buscando informacion,leyendos otros Textos, otros proyectos.

Se trata de un Reloj muy simple, con 3 teclado de momento, la Tecla del Puerto PD4 es para iniciar el ajuste, la tecla del Puerto PD2 se ajusta las Horas, el Puerto PD3 es para ajustar los Minutos y volviendo a la Tecla PD4 se memorizas los ajuste, el Puerto PD6 aun lo estoy trabajando, donde quiero implementar texto.

aqui os subo el Codigo y las imagen
Código: [Seleccionar]
' * - - * - * * - - - - - - - - - - - - - - - - - - - - - - - - - - -
'Hecho por Rafael Jimenez
'www.todopic.com.ar/foros
'' * - - * - * * - - - - - - - - - - - - - - - - - - - - - - - - - -
$regfile = "m8def.dat"       ' se puede usar cualquier micro,
$crystal = 8000000       ' aqui yo uso el Cristal interno


Declare Sub text_amoroso()

Config Pind.2 = Input       ' pulsador para ajuste de hora
Config Pind.3 = Input       'pulsador para ajuste los minutos
Config Pind.4 = Input       ' pulsador para configurar el reloj, una pulsacion espera ajuste,
                               'volver a pulsar momoriza los ajuste
'Config Pind.6 = Output       ' Toggle mensaje display
Portd.2 = 1
Portd.3 = 1
Portd.4 = 1
'Portd.6 = 0
' Declaramos variables
Dim A As Integer       ' Variables para caracteres
Dim Segundos As Byte       ' variable para Segundos
Dim Minutos As Byte       'variable para minutos
Dim Horas As Byte       ' variable para la horas
' el reloj inicia con todos los datos a ceros
Let Segundos = 0
Let Minutos = 0
Let Horas = 0
Let A = 0



' aqui usaremos un LCD 162x2 , observar el Esquema,
'se puede usar varios tipo de LCD, pero debe cambiar la config lcd = 162x2.240x4 ha sido probado

Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.0 , Rs = Portc.1



Config Lcd = 20 * 4
Deflcdchar 0 , 32 , 21 , 14 , 4 , 4 , 10 , 17 , 17       ' resultado del editor de caracteres
Deflcdchar 1 , 32 , 4 , 14 , 14 , 14 , 4 , 4 , 4       ' resultado del editor de caracteres

Config Timer1 = Timer , Prescale = 1024       ' aqui usamos el reloj internos de Mcu
On Ovf1 Tim1_isr       '
Load Timer1 , 7812       ' 8Mhz/1024=7812 aqui calgamos el reloj a segundo

Setclock: 'ajuste del reloj
Disable Interrupts
Let Segundos = 0
Cls       ' aqui borramos el Display del LCD

Cursor On Blink       ' aqui actvamos cursor del display

Lcd "Hora: "
Lowerline
Lcd "Ajuste la hora!"
Locate 1 , 9
Lcd ":"
Locate 1 , 12
Lcd "."


Do
  If Pind.3 = 0 Then
      Minutos = Minutos + 1
      If Minutos = 60 Then Minutos = 0
      Waitms 200
   End If
   If Pind.2 = 0 Then
      Horas = Horas + 1
      If Horas = 24 Then Horas = 0
      Waitms 200
   End If
   If Pind.4 = 0 Then Exit Do
   Locate 1 , 7
   Lcd "  "
   Locate 1 , 7
   Lcd Horas
   Locate 1 , 10
   Lcd "  "
   Locate 1 , 10
   Lcd Minutos
   Locate 1 , 13
   Lcd "  "
   Locate 1 , 13
   Lcd Segundos
   Waitms 50
Loop


Enable Timer1
Enable Interrupts

Cursor Off Noblink

Call text_amoroso()

Do
  Toggle Portd.6
  Waitms 100
  If Pind.4 = 0 Then
      Waitms 10
      While Pind.4 = 0
         nop
      Wend
      Goto Setclock
  End If
Loop

Tim1_isr:
   Load Timer1 , 7812

   If Segundos = 60 Then
      Segundos = 0
      Minutos = Minutos + 1
      If Minutos = 60 Then
         Minutos = 0
         Locate 1 , 10
         Lcd "  "
         Horas = Horas + 1
         If Horas = 24 Then
            Horas = 0
            Locate 1 , 7
            Lcd "  "
            Call text_amoroso()
            nop
            nop
         End If
      End If
   End If

   Locate 1 , 7
   Lcd Horas
   Locate 1 , 10
   Lcd Minutos
   Locate 1 , 13
   Lcd "  "
   Locate 1 , 13
   Lcd Segundos

   Locate 1 , 16
   If A = 0 Then
      Lcd Chr(0)
      A = 1
   Elseif A = 1 Then
      Lcd Chr(1)
      A = 0
   End If
   Segundos = Segundos + 1
Return

End


Sub text_amoroso()
   Locate 2 , 0
   Lcd "Rafael Jimenez! "
End Sub








Cual quier comentarios se agradece




Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: AVR BASCOM Ejemplos ( mis proyectos)
« Respuesta #1 en: 26 de Noviembre de 2009, 12:57:18 »
Menos mal que te has animado, dinosauriooooooooo  :D

Desconectado stk500

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4923
Re: AVR BASCOM Ejemplos ( mis proyectos)
« Respuesta #2 en: 27 de Noviembre de 2009, 05:52:05 »
 :D :D ya lo sabe Sr. Manuel :D y estoy preparando mas cosas  :lol: :lol:
 

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: AVR BASCOM Ejemplos ( mis proyectos)
« Respuesta #3 en: 27 de Noviembre de 2009, 20:04:20 »
muy buena Rafa, el bascom es en lenguaje Basic? cierto?

seguimos atentos :-/
.

Desconectado stk500

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4923
Re: AVR BASCOM Ejemplos ( mis proyectos)
« Respuesta #4 en: 28 de Noviembre de 2009, 03:56:59 »
muy buena Rafa, el bascom es en lenguaje Basic? cierto?

seguimos atentos :-/

Si amigo Cryn , y tambien en Assembler puede usar  Ej.
Código: [Seleccionar]
Dim C As Byte
Loadadr C , X 'load address of variable C into register X

 
$asm

Ldi R24,1 ; load register R24 with the constant 1

St X,R24 ; store 1 into variable c

$end Asm

Print C

End
 
muchas gracias por tu interes.
Saludo

Desconectado Pablo35

  • PIC10
  • *
  • Mensajes: 1
Re: AVR BASCOM Ejemplos ( mis proyectos)
« Respuesta #5 en: 25 de Enero de 2010, 19:21:51 »
Hola, quiero saber si me puedes ayudar con un lio que tengo, no manejo muy bien los pwm en los avr, estoy usando bascom avr y un micro atmega32, necesito generar una frecuencia de 35Khz a la salida del timer y modular su ancho de pulso, me puedes ayudar con un modelo para poder programar? no entiendo bien como puedo calcular esa frecuencia de salida.

De verdad muchas gracias por tu ayuda
saludos

Pablo

Desconectado stk500

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4923
Re: AVR BASCOM Ejemplos ( mis proyectos)
« Respuesta #6 en: 27 de Enero de 2010, 07:56:17 »
Hola, quiero saber si me puedes ayudar con un lio que tengo, no manejo muy bien los pwm en los avr, estoy usando bascom avr y un micro atmega32, necesito generar una frecuencia de 35Khz a la salida del timer y modular su ancho de pulso, me puedes ayudar con un modelo para poder programar? no entiendo bien como puedo calcular esa frecuencia de salida.

De verdad muchas gracias por tu ayuda
saludos

Pablo

pues para generar pwm debe usar el timer de atmega32 , pero deberia ante todos hacer los calculo con el tipo de cristal que use,  por ejemplo

F=  oscilador/ prescaler, los prescale que puede usar son 1,8,64,128,256 y 1024, no olvide que prescale es Divisor.
deberia configurar el Timer,
Config Timer0 = Pwm , Prescale = X , Compare Pwm = Clear Down , Pwm = On
Config Timer1 = Pwm , Pwm = 8 , Prescale = X , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down ,
no olvide que ese micro tiene 4 pwm y creo  que 3 timer,  timero es de 8bit,timer1 de 16 bit,timer2 8bit,  leete la hoja de  datos.
cualquier dudas seguimos.

Desconectado donisra

  • PIC10
  • *
  • Mensajes: 1
Re: AVR BASCOM Ejemplos ( mis proyectos)
« Respuesta #7 en: 11 de Mayo de 2010, 19:56:43 »
hola me podrias ayudar con un proble ma q tengo, tengo q conectar el teclado del computador al micro un atmega 16 y lo q escriba mostrarlo en un lcd, y lo mismo con el mouse del computador, mover el mouse se tiene q mover el cursor en el lcd y
no se q instrucciones ni librerias tengo q usar

Desconectado andes baires

  • PIC10
  • *
  • Mensajes: 1
Re: AVR BASCOM Ejemplos ( mis proyectos)
« Respuesta #8 en: 28 de Octubre de 2010, 16:55:23 »
Hola a todos. soy nuevo con micros de Atmel. Mi experiencia es mayor con micros de Freescale (05 y hs08). Para empezar me consegui un STK500 y baje el BASCOM DEMO , el WinAvr y AVR Studio. Pero me encontré que el AVR Studio ( ultima version) no soporta la herramienta STK500. Podrían aclararme si esto es verdad o estoy equivocado. Especificamente estoy intentando hacer un proyecto con ATMEGA 128 y al parecer el STK500 no soporta directamente a este micro.
Agradeceré sus comentarios. saludos

Desconectado stk500

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 4923
Re: AVR BASCOM Ejemplos ( mis proyectos)
« Respuesta #9 en: 28 de Octubre de 2010, 23:47:45 »
Hola Andes baires y Bienvenido a nuestros Foro Todopic!

pues claro que lo soporta! lo que te puede suceder es la Version y mal configuracion, el STK500 no tiene salida USB y si tiene una Pentium IV nueva sin conector Serial no te va a funcionar, yo tengo mi STK500 con un Adaptador SERIAL/USB , el unico problema que te puede dar con el Adaptador,  es que cada vez que desconecte la Targeta STK500 con el programa abierto se te cuelgue al programar el micro que tenga, por lo que deberia reiniciar el programa, cosa que con el SERIAL directo  no da problema, osea dberia decirnos que Versionjes instalaste y  mas INFO , el AVRStudio Soporta todas Serie Amega y el WinAVR tambien y si usa el Bascom claro que lo soporta, lo que me extraña muchos tu problema.

Saludo y Suerte

Desconectado cristian_elect

  • PIC18
  • ****
  • Mensajes: 453
Re: AVR BASCOM Ejemplos ( mis proyectos)
« Respuesta #10 en: 29 de Octubre de 2010, 16:39:12 »
Las ultimas placas todivia tienen puerto serial rs232, felismente compre una placa AMD (AM3) que tiene puerto paralelo y serial.
Pero las ultimas que vienen con USB3 solo tiene puerto rs232. 


 

anything