Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

08/02/2011 #21


hola alguien me puede ayudar con mi codigo esta en bascom no se me apaga al iniciar el turnero la flecha ya que las flechas funcionan cuando el displays comienza a contar los tunos y junto a esto parparea un led de timbre aca les dejo la programacion:



Código:
$regfile = "m8def.dat"
$crystal = 8000000
'$baud = 9600

'******************* DipSwitch ***********************************************
Ddrc.0 = 0
Portc.0 = 1

Ddrc.1 = 0
Portc.1 = 1

Ddrc.2 = 0
Portc.2 = 1

Ddrc.3 = 0
Portc.3 = 1

Dipswitch Alias Pinc.0

'******************* Flecha Derecha ******************************************
Ddrc.4 = 1
Portc.4 = 0

Flechaderecha Alias Portc.4

'******************* Flecha Derecha ******************************************
Ddrc.5 = 1
Portc.5 = 0

Flechaizquierda Alias Portc.5

'******************* Speaker *************************************************
Ddrd.0 = 1
Portd.0 = 0

Speaker Alias Portd.0

'******************* Habilitar Display ***************************************
Ddrc.4 = 1
Portc.4 = 0

Habilita Alias Portc.4

'******************* Botones *************************************************


Ddrb.0 = 0
Portb.0 = 1
Boton1 Alias Pinb.0

Ddrb.1 = 0
Portb.1 = 1
Boton2 Alias Pinb.1

Ddrb.2 = 0
Portb.2 = 1
Boton3 Alias Pinb.2

Ddrb.3 = 0
Portb.3 = 1
Boton4 Alias Pinb.3

Ddrb.4 = 0
Portb.4 = 1
Boton5 Alias Pinb.4

Ddrb.5 = 0
Portb.5 = 1
Boton6 Alias Pinb.5

Ddrb.6 = 0
Portb.6 = 1
Boton7 Alias Pinb.6

Ddrb.7 = 0
Portb.7 = 1
Boton8 Alias Pinb.7
'******************* Display *************************************************
Ddrd.1 = 1
Portd.1 = 0
Ddrd.2 = 1
Portd.2 = 0
Ddrd.3 = 1
Portd.3 = 0
Ddrd.4 = 1
Portd.4 = 0
Ddrd.5 = 1
Portd.5 = 0
Ddrd.6 = 1
Portd.6 = 0
Ddrd.7 = 1
Portd.7 = 0
Ddrd.6 = 1
Portd.6 = 0
Const Delay1 = 80                                           'Delay 1
Const Delay10 = 10                                          'Delay 10
Const Delay500 = 500                                        'Delay 500

Dim Ram(4) As Byte

Dim A As Byte
Dim B As Word
Dim C As Word
Dim D As Byte
Dim F As Byte
Dim H As Word
Dim I As Byte
Dim W As Word
Dim X As Byte
Dim Y As Byte
Dim Z As Byte
Dim Unidades1 As Byte
Dim Pulsa1 As Bit
Dim Pulsa2 As Bit
Dim Pulsa3 As Bit
Dim Pulsa4 As Bit
Dim Pulsa5 As Bit
Dim Pulsa6 As Bit
Dim Pulsa7 As Bit
Dim Pulsa8 As Bit
Dim Pulsa9 As Bit
Dim Pulsa10 As Bit
Dim Pulsa11 As Bit
Dim Pulsa12 As Bit


Dim Pulses As Word , Periods As Word

'Pulses = 10 : Periods = 1                                   'set variables
Pulses = 1000 : Periods = 100
Unidades1 = 0
Habilita = 1
Gosub Display1

Do

   If Boton1 = 0 Then
      Waitms Delay1
      While Boton1 = 0
      Wend
      Waitms Delay1
      Unidades1 = 1
      Gosub Dips
      Gosub Display1
      Gosub Sonido
   End If
   If Boton2 = 0 Then
      Waitms Delay1
      While Boton2 = 0
      Wend
      Waitms Delay1
      Unidades1 = 2
      Gosub Dips
      Gosub Display1
      Gosub Sonido
   End If
   If Boton3 = 0 Then
      Waitms Delay1
      While Boton3 = 0
      Wend
      Waitms Delay1
      Unidades1 = 3
      Gosub Dips
      Gosub Display1
      Gosub Sonido
   End If
   If Boton4 = 0 Then
      Waitms Delay1
      While Boton4 = 0
      Wend
      Waitms Delay1
      Unidades1 = 4
      Gosub Dips
      Gosub Display1
      Gosub Sonido
   End If
   If Boton5 = 0 Then
      Waitms Delay1
      While Boton5 = 0
      Wend
      Waitms Delay1
      Unidades1 = 5
      Gosub Dips
      Gosub Display1
      Gosub Sonido
   End If
   If Boton6 = 0 Then
      Waitms Delay1
      While Boton6 = 0
      Wend
      Waitms Delay1
      Unidades1 = 6
      Gosub Dips
      Gosub Display1
      Gosub Sonido
   End If
   If Boton7 = 0 Then
      Waitms Delay1
      While Boton7 = 0
      Wend
      Waitms Delay1
      Unidades1 = 7
      Gosub Dips
      Gosub Display1
      Gosub Sonido
   End If
   If Boton8 = 0 Then
      Waitms Delay1
      While Boton8 = 0
      Wend
      Waitms Delay1
      Unidades1 = 8
      Gosub Dips
      Gosub Display1
      Gosub Sonido
    End If

Loop

Display1:
   Ram(1) = Lookup(unidades1 , Numeros)
   Portd.1 = Ram(1).1
   Portd.2 = Ram(1).2
   Portd.3 = Ram(1).3
   Portd.4 = Ram(1).4
   Portd.5 = Ram(1).5
   Portd.6 = Ram(1).6
   Portd.7 = Ram(1).0
Return
'******************************************************************************
Sonido:
   Sound Speaker , 65 , 1000                                'C2(1/16)
   For I = 0 To 12
    Gosub Display1
    Next I                                                  'P(1/16)
    Sound Speaker , 87 , 954                                'F2(1/16)
   For I = 0 To 12
    Gosub Display1
    Next I                                                  'P(1/16)
    Sound Speaker , 98 , 850                                'G2(1/16)
   For I = 0 To 12
    Gosub Display1
    Next I
Return
'******************************************************************************
Dips:
   C = Pinc

   C = C And &B11110000
   If C < Unidades1 Then
      Flechaderecha = 0
      Flechaizquierda = 1
   Else
      Flechaderecha = 1
      Flechaizquierda = 0
   End If
Return

Numeros:
Data 191 , 134 , 219 , 207 , 230 , 237 , 253,135,255,239
esta simulado en proteus

aqui esta el circuitocc.bmp
04/06/2011 #22


Que tal 'gonpa',
Se que es muy tarde para contestar pero mas vale tarde que nunca, creo que jamas se debe de estar por mucho tiempo en una llamada de interrupcion, no es lo coorecto en cualquier lenguaje. Que pasaria si en ves de pantalla LCD fueran displays de 7 segmentos multiplexados por algun momento no se veria algun segmento.

Talves deberias de utilizar un contador para interrumpir el programa principal y llamar la subrutina Teclado o aqui mismo ejecutar esa secuencia y activar una bandera, esta bandera le indicara al programa principal si se a precionado una tecla y poder ejecutar las subrutinas siguientes:

If Key_b = 1 Then
Gosub Borrar
Gosub Ingreso
Gosub Comprobar
End If

If Key_b = 2 Then
Gosub Borrar
Gosub Clave_vieja
Gosub Clave_nueva
Gosub Confirmar
Gosub Guardar
End If

Espero te sirva de algo o contesta si ya lo solucionaste y de que manera

Saludos...
30/07/2011 #23


hola mamun gracias por responder, ese codigo es parte del codigo que subi? igual no utilize la interrupcion por teclado, segui avanzando y bueno el proyecto quedo bien pero el proble que ando teniendo es que no se como grabar un vector o cualquier variable en la eeprom del atmega8:

me podrias brindar una rutina para grabar datos en la eeprom con bascom? en mi caso es un vector de 4 elementos o si puedes guiarme la verda ya no se como hacerlo.

y cuando termine subo el codico con los circuitos y todo para compartirlos aqui =)

desde ya muchas gracias!
30/07/2011 #24


Epprom
Que tal gonpa,
Creo que no te gusta leer!!!, ignoro que problemas tuviste o que intentaste, pero esto es lo que dice el manual, espero te sirva.

'Syntax
'WRITEEEPROM var , address

'Syntax
'READEEPROM var , address

$regfile = "m48def.dat"
$crystal = 4000000
$baud = 19200
$hwstack = 32
$swstack = 10
$framesize = 40

Dim byte_eeprom As byte
Dim dato_byte as byte

Dim word_eerpom as word
Dim dato_word as word

byte_eeprom = 128
word_eeprom = 2010

Writeeprom byte_epeprom,1
Writeeprom word_epeprom,10

Readeeprom dato_byte,1
Readeeprom dato_word,10

Print dato_byte
Print dato_word

End
30/07/2011 #25


si lei todo pero el problema mio era que no estaba bien la logica de mi programa xD, si grababa por que respete todas las sintaxis de la ayuda que trae bascom. ya lo solucione y anda perfecto! graba mi clave en eeprom sin problemas....muchas gracias igual!

estoy pensando en algun proyecto interesante a mi alcance con adquirir datos y guardarlos.

saludos
01/09/2012 #26


AT 89S8252 con problemas logicos
bueno basicamente tengo un equipo que tiene un AT 89S8252, el equipo me dice que tiene un problema logico,(prende un led indicando esto) mi consulta es la siguiente, alguien tiene un programador para este micro? alguien sabe como puedo leerlo y regrabarlo nuevamente aunque sea en uno nuevo? desde ya mil gracias
02/09/2012 #27

Avatar de cosmefulanito04

exetv dijo: Ver Mensaje
bueno basicamente tengo un equipo que tiene un AT 89S8252, el equipo me dice que tiene un problema logico,(prende un led indicando esto) mi consulta es la siguiente, alguien tiene un programador para este micro? alguien sabe como puedo leerlo y regrabarlo nuevamente aunque sea en uno nuevo? desde ya mil gracias
Esos uC se programan usando SPI.

Podés encontrar un programador basado en puerto paralelo, acá te dejo la página:

http://dybkowski.net/content/en/node/15

Después estoy casi seguro, pero como nunca lo probé no se si funcionará, que con el ponyprog, el programador de los AVR y un puerto serie, también podrías:



Si no me equivoco, deberías tener el PIN /EA a VCC, será cuestión de probar.
02/09/2012 #28


muchas gracias cosmefulanito04 , voy a probar a ver que puedo hacer, espero hacerlo funcionar ja, saludos
02/09/2012 #29


Yo uso el vmlab, y nunca tuve problemas.
Saludos
02/09/2012 #30


con el vmlab se puede leer y programar este micro AT 89S8252 ? saludos
06/09/2012 #31


Hola Amigo forero, si quieres un diseño de grabadores de AVR de cualquier tipo, Atmegas o attinys checa este enlace te acolitara bastante. Solo en esto te puedo acolar...

http://www.circuitvalley.com/2011/06...rogrammer.html
07/09/2012 #32


exelente aporte, tambien voy a probarlo, saludos
05/10/2012 #33


Interpretacion de diagrama
Muy buenas. Hoy compré un programador para el microcontrolador ATtiny84, para el cual necesito hacer una conexión a parte desde los pines de la salida del programador hacia el microcontrolador. La configuración de este microcontrolador es la siguiente:


y la configuración que debo lograr con la salida del programador es esta:


Básicamente lo que no se es a que pin del microcontrolador corresponden el VDD, el VPP y el SCK.

Agradecería su ayuda!
Imágenes Adjuntas
Tipo de Archivo: gif pinattiny24.gif (9,8 KB (Kilobytes), 84 visitas)
Tipo de Archivo: png pinicsptiny24.png (20,6 KB (Kilobytes), 85 visitas)
06/10/2012 #34
Moderador

Avatar de Chico3001

VDD = VCC
VPP sin usar
SCK = PA4 (USCK)
08/10/2012 #35


Chico3001 dijo: Ver Mensaje
VDD = VCC
VPP sin usar
SCK = PA4 (USCK)
Crack! mil gracias, finalmente pude cargar el programa.

Ahora estoy teniendo un problema con un ATMEGA88.. bajé un programa de internet para este microcontrolador, el cual está diseñado para que 2 leds enciendan y apaguen a una cierta frecuencia, pero luego de ensamblar todos los componentes y ponerlo en marcha, me doy cuenta de que la frecuencia con que encienden y apagan los leds es mucho menor a la que debería funcionar. Revisé el programa y está bien.. Le cambié el cristal y sigue igual. Alguna idea sobre lo que podría estar sucediendo?

Gracias!
08/10/2012 #36
Moderador

Avatar de Chico3001

Posiblemente tienes mal cargada la configuracion de los bits y esta usando el oscilador RC interno...

http://www.cursomicros.com/avr/arqui...uses-avr2.html
http://www.olimex.cl/tutorial/MCI-Lectura3.pdf
http://www.slideshare.net/jevelarde/...s-programables
10/10/2012 #37


Chico3001 dijo: Ver Mensaje
Posiblemente tienes mal cargada la configuracion de los bits y esta usando el oscilador RC interno...

http://www.cursomicros.com/avr/arqui...uses-avr2.html
http://www.olimex.cl/tutorial/MCI-Lectura3.pdf
http://www.slideshare.net/jevelarde/...s-programables
Amigo muchas gracias nuevamente.. Era ese el problema, crei que los bits configurados se cargaban junto con el programa y con tu comentario me di cuenta de que no era asi.
Gracias por tu tiempo!
21/12/2012 #38


Programar Atmega8515
Hola a todos, tengo un Atmega8515 16Pu y tengo que programarlo, alguien sabe si hay manera de programarlo haciendo algun circuito en un protoboard o alguna otra manera sin tener que usar la plaqueta programadora.

saludos y gracias
22/12/2012 #39

Avatar de Ajna

Claro solo busca "programador serial avr" y vas a encontrar varios muy sencillos que solo requieren del puerto serie de tu computadora un transistor y unas cuantas resistencias y el software puede ser el ponyprog
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.