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

Temas similares

21/03/2011 #161

Avatar de atricio

disculpen por ser perdido pero quisiera saber como poder configurar el modulo ccp1 y ccp2 de los micros para poder hacer un pwm por hadware me hecharian una mano por favor
21/03/2011 #162


atricio en el post 109 lo tienes , hay una adc con pwm por hardwere.

en el 120 tienes ademas con cominicacion por usrt.


saludos
21/03/2011 #163

Avatar de atricio

muchas gracias amigo me recordaba que andaban por ahi pero no ubicaba bien
22/03/2011 #164


Gracias DEPREDADORX1

Probare lo que me dices y te cuento, por el momento he conseguido un sensor inflarrojos Sharp 2Y0A02 me funcione, mi siguiente paso es pasar al I2C.
26/03/2011 #165


Hola a todos de nuevo: primero quiero dar gracias a las personas que me ayudaron con el problema de los fuses de proton.
Ahora quiero pedirles que me ayuden con el siguiente problema, estoy interesado en hacer un letrero de matriz de leds, segun lo que encontre me dan ideas de como hacerlo con el pic 16F628A y un 74LS164 para el registro de desplazamiento.
Bien ahora mi problema es el siguiente, según explica la pagina de donde saque las ideas para hacer la matriz el comando ShiftLeft se utiliza para rotar los bits, es decir toma los bits uno por uno y los mando al registro de desplazamiento, pero el comando ShiftLeft no existe en el proton entonces no se si alguien podria ayudarme con un comando o una rutina que haga lo mismo.
ante mano gracias por la ayuda, les adjunto la pagina donde encontre las ideas como hacer esta matriz:http://www.ucontrol.com.ar/Articulos...rizLED7x32.htm
27/03/2011 #166


Bunas tardes estoy tratando de establecer una comunicación con el puerto USB, y hasta el momento he encontrado algunos programas que funcionan pero tengo un problema con el protón, al menos eso creo, debido a que no me compila una configuración crucial para el funcionamiento del pic me saca el siguiente error, Error[113] C:\DOCUME~1\HAIRHI~1\Config~1\TEMP\A.S 3508 : Symbol Not previously defined (CPUDIV_1_1), el codigo del programa es el siguiente:

Código PHP:
Device 18F4550  ' Usamos el PIC 18F4550, pero puedes declarar cualquiera de los 18Fxx5x.
    
    Xtal = 48         ' 
El PLL interno siempre ha de ser de 48MHz. (No se refiere al cristal de cuarzo)    
    
    
Reminders 1     ' Mostrar todos los avisos al compilar.
    
    @CONFIG_REQ       ; Configuración para usar un cristal de 20MHz.
           @PLL_Req   ; * Haz clic aquí para ver otras configuraciones del cristal.
               @__config config1l, PLLDIV_5_1 & CPUDIV_1_1 & USBDIV_2_1
               @__config config1h, FOSC_HSPLL_HS_1
           @WATCHDOG_REQ
               @__config config2h, WDT_OFF_2 & WDTPS_128_2
           @DEBUG_REQ        
               @__config config4l, LVP_OFF_4 & ICPRT_OFF_4 & XINST_OFF_4 & DEBUG_OFF_4
               @__config config3h, PBADEN_OFF_3
    
    All_Digital = 1   ' 
Todas las entradas/salidas serán digitales.

    
'-------- Configuración Encoder -----------
    Symbol INTF   = INTCON.1         ' 
RB0 External Interrupt Flag
    Symbol INTE   
INTCON.4         ' RB0 External Interrupt Enable
    Symbol GIE    = INTCON.7         ' 
Global Interrupt Enable
    Symbol INTEDG 
INTCON2.6        ' Flag = 0 Flanco bajada. Flag = 1 Flanco subida.

    On_Interrupt GoTo Interrupcion   ' 
Interrupción por Hardware (es la más rápida).

    
GIE    1                       ' Activa interrupciones generales.
    INTE   = 1                       ' 
Activa la interrupción externa RB0/INT.
    
INTEDG 1                       ' Hace que inicialmente la interrupción se dispare
                                     ' 
por flanco de subida.     
    
Dim x As Word                    ' Variable X ---> contador de posición actual.
    
    TRISA = %11111111
    TRISB = %11111111                ' 
Sólo usamos las entradas RB0 y RB1 para el encoder.
    
TRISC = %11111111
    TRISD 
= %11111111    
       
    USB_Descriptor 
"CDCDESC.INC" ' Descriptor del modo CDC (Puerto COM virtual)
    
    Dim PP0    As Byte System      ' 
Estado del USBPOLL
    
    Dim Buffer 
As String 20      ' Declaramos (sobradamente) un buffer de 20 bytes.
    
    DelayMS 500                    ' 
Damos tiempo para inicializarse.
    
    
Clear                          ' Pone a cero toda la memoria RAM del PIC antes de comenzar.
     
    Repeat                         
          USBPoll                  ' 
El PIC espera hasta enlazar con el PC a través del USB.
    
Until PP0 6

    
' --------------------------------------------------------------------------------
    
    While 1 = 1
        
        Buffer = Str$(Dec5, x)     ' 
Convierte X (númeroen una cadena (textode 5 cifras en ASCII.
                                   
' Esta cadena mostrará de 00000 hasta 65535.
        Repe:
           USBOut 3, Buffer, 5, Repe ' 
Envía la cadena de 5 bytes (ASCII correspondiente al número)
                                   
' al PC a través del USB.
    Wend
    
    End
    
    Interrupcion:             '
-------- Decodificador de Encoder --------------
       
    
Context Save              ' Salva en contexto de los registros antes de operar con la interrupción.
    
    If PORTB.0 = 1    Then    ' 
Si RB0 se ha puesto a 1 (flanco de subida),
       
INTEDG  0            ' entonces activar la siguiente interrupción por flanco de bajada.
       If PORTB.1 = 1 Then    ' 
Si RB1 está a 1,
          
Inc x               ' entonces incrementar el contador X.
       EndIf
    Else                      ' 
Si RB0 se ha puesto a 0 (flanco de bajada),  
       
INTEDG  1            ' entonces activar la siguiente interrupción por flanco de subida.
       If PORTB.1 = 1 Then    ' 
Si RB1 está 1,
          
Dec x               ' entonces decrementar el contador X.
       EndIf
    EndIf
     
    INTF = 0                  ' 
Borra el "flag" de la interrupción RB0/Int por poder permitir la   
                              
' siguiente interrupción cuando ocurra.
    Context Restore           ' 
Restablece el contexto de los registros tal como estaban antes de la
                              
' interrupción. 
Fuente: http://sites.google.com/site/proyect...ic-encoder-usb

El .Hex que me entregan en esta página de este programa funciona pero el .bas de protón me saca error al compilar.

Es solo por el código de configuración del cristal de 20 Mhz, no sé si necesite librerías adicionales en el protón o hay algo que falta en este.

De antemano muchas gracias quedo atento a cualquier ayuda.
27/03/2011 #167


bien he compilado el código y solamente me muestra un mensaje de almacenamiento de string, por lo que la ruta de easy HID USB, la cual estas trabajando no esta especificada y por ello sale el error que comentas. por lo que se deben generar los archivos que te anexo en imagen.
Archivos Adjuntos
Tipo de Archivo: rar usb.rar (35,6 KB (Kilobytes), 242 visitas)
Tipo de Archivo: rar usb-archivos generados.rar (7,7 KB (Kilobytes), 139 visitas)
27/03/2011 #168


Disculpa mi ignorancia es que estoy trabajando por primera vez con protón y no se muchas cosas , yo solo he trabajado la programación del micro usando mplab en ensamblador. Tú me dices que tengo que especificar la ruta del easy HID USB, ya estoy tratando de hacer esto pero si me pudieses dar una mano con esto estaría muy agradecido ósea dime como en el protón direcciono esta ruta, yo estoy en el momento bajando esta aplicación pues en otros foros me lo habían recomendado aunque no sé si el protón en si ya lo tenga instalado. De hecho si tuvieses algún programa hecho por ti con el puerto USB que fuese bidireccional o ejemplos muy sencillos de enviar cualquier cosa al puerto y otro de recibir, te estaría eternamente agradecido pues en el momento estoy en fase de experimentación con este tema.

De antemano muchas gracias, por ayudarme con este tema ya que estado toda la tarde tratando de solucionar este inconveniente.
27/03/2011 #169


bien un poco de tiempo porque estoy de salida pero realizaremos ejemplos basicos.
27/03/2011 #170


ok tranquilo, muchas gracias, quedo a la espera entonces.
27/03/2011 #171


bien para empezar visita esta pagina:

http://www.unrobotica.com/usbcon.htm

Por otro lado que versión de proton utilizas y como deseas realizar la interfaz de comunicación con el pc ( Visual Basic, C , delphi, labview, o con el hiperterminal)
27/03/2011 #172

Avatar de atricio

mira en paginas anteriores yo puse un ejemplo que use para comunicarme con LABVIEW y un micro 4550 esta explicado he incluso con el vi de labview en otro lado del mismo foro ojala te sirva. ojala los demas amigos podemos hacer un proyecto he ir disipando las dudas de todos
27/03/2011 #173


Muchas gracias autotronico, primero que todo quisiera poder poner a andar el ejemplo que no me funciona osea como hiciste para cargar el .inc de easy HID USB, ya que no me anda, concidencialmente la pagina que adjuntaste la estoy revisando hace una hora y comprendí muchas cosas que aun no comprendía. La comunicación que voy a hacer es con labview, y quiciera poder encontrar un buen ejemplo al menos el programa del micro bidireccional que es lo más complicado.

Atrico yo he visto foros en esta página creo que tuyos pero con CCS no con protón no sé si me equivoque ya que estado leyendo mucho y como es tanta información puede ser que se me haya pasado, así que si me equivoco podrías hacer me el favor de poner el link donde tienes esta información para estudiarla.

Lo único que me ha funcionado hasta el momento es el ejemplo del link que ajunte pero este lastimosamente no me está compilando satisfactoriamente solo me funciona el .hex que ya viene compilado por el creador del post y además no es bidireccional.

Disculpen la molestia voy a seguir leyendo a ver si puedo desenredar mis dudas, pero estaría muy agradecido si alguno de ustedes me ayuda con esto.

Se me olvidaba la versión que tengo es la 2.0.0.5 del 2009
Y el compilador versión 3.4.0.8
El loader versión 2.0.0.0


De antemano muchas gracias
28/03/2011 #174


hola todos bueno en dias anteriores prometi postear un par de ejemplos donde hablamos de como usar las GLCD´S no es dificil tampoco es para decir que es facil, o complicado no yo mas bien diria que es un tema apacionante de y mucho cuidado, es aqui donde comienza un nivel de programacion medio, lo digo en base a lo que ya he podido lograr y en base a lo que he visto en amigos cercanos. para empezar posteare un ejemplo de una GLCD samsung de Ref. YM 12864 y un PIC 18F452 vamos ha ir despacio primero como hacer q funcione;

Código PHP:
        Include "PROTON_G4.INT"
      
'***********************************
        Adin_Res = 10                '
resolucuion a 10-bit   
        ADIN_DELAY 
50              'Allow 50us sample time         
'
***********************************
        
TRISA = %00000001            'configura el el bit.0 del(PORTA.0) como entrada Analoga
        ADCON1 = %1001               '
Set de entrada analógica en PORTA.0
'***********************************        
        Dim XPOS_START As Byte
        Dim XPOS_END As Byte
        Dim YPOS_START As Byte
        Dim YPOS_END As Byte
        Dim SET_CLR As Byte
'
*********************************** 
       
        
Dim DATO As Word                                                                
        Dim VOLT 
As Byte          
                                                    
'*********************************** 

        DelayMS 300
        Cls
                                              
        XPOS_START = 0
        YPOS_START = 0
        XPOS_END = 127
        YPOS_END = 63
        SET_CLR = 1
        Line SET_CLR , XPOS_START , YPOS_START , XPOS_END , YPOS_END
        
        Cls
        DelayMS 100 
                               
        Line 1,0,0,127,0            '
Dibuja un Marco en la Glcd
        Line 1
,0,63,127,63          
        Line 1
,0,0,0,63             
        Line 1
,127,0,127,63
        Line 1
,0,30,127,30
        
        FRANK
:
        
DATO ADIn 0
        VOLT 
DATO 0.0488
        
Print At 2,55,Inverse 0Dec2 VOLT,"VOLTAGE"
        
GoTo FRANK  

si miran con detenimiento encontraran una fabulosa libreria que nos ayuda un monton lo demas es sentido común claro sin dejar de lado q para cada GLCD es necesario consultar su respectivo hoja de datos
porq1 no todas las GLCD traen el mismo orden de conexiones 2 es de gran importancia saber con q tipo de controlador vamos a trabajar si es toshiba o samsungclaro y la referncia del controlador cuenta ya q las librerias de Proton por ahora no soportan todos los tipos de controladores q hay en el mercado para samsung trabaja muy bien con el controlador KS0108 y para toshiba el t6963 con estos para las lcd monocromaticas es suficiente cabe destacar q son unos de los mas comerciales aun que vamos a encontrar otros es por eso q antes de comprar una GLCD debemos mirar el data.
En la rutina encontraremos como leer un voltage de 0 a 5votatravez del puerto A/D y asi mostrarlo en pantallatambien vamos a poder observar un marco al tamaño de la GLCD y aqui debajo les dejo lo mas importante como debe ir nuestra libreriaclaro debemos ajustala a nuestras necesidades 
    Device 
18F452
    Xtal 
20

    LCD_DTPort 
PORTD
    LCD_RSTPin 
PORTB.3 'B.5-c1
    LCD_ENPin = PORTC.0   '
B.4-E0
    LCD_RWPin 
PORTB.4  'B.3-C0
    LCD_CS1Pin = PORTB.0 '
B.0-E1
    LCD_CS2Pin 
PORTB.1 'B.1-E2
    LCD_RSPin = PORTB.2   '
B.2
    LCD_Type 
GRAPHIC
    Internal_Font 
On
    Font_Addr 
0

    SDA_Pin 
PORTC.4
    SCL_Pin 
PORTC.3

    Serial_Baud 
9600
    Rsout_Pin 
PORTC.6
    Rsout_Mode 
TRUE
    Rsout_Pace 
1
    Rsin_Pin 
PORTC.7
    Rsin_Mode 
TRUE

    Hserial_Baud 
2400                ' Set baud rate to 2400 for 4MHz XTAL
    Hserial_RCSTA = %10010000       ' 
Enable serial port and continuous receive
    Hserial_TXSTA 
= %00100000       ' Enable transmit and asynchronous mode
    Hserial_Clear = On                ' 
Enable Error clearing on received characters

    Keypad_Port 
PORTB

    CCP1_Pin 
PORTC.2
    CCP2_Pin 
PORTC.1

    Symbol T300 
3313
    Symbol N300 
3313 + $4000
    Symbol T600 
1646
    Symbol N600 
1646 + $4000
    Symbol T1200 
813
    Symbol N1200 
813 + $4000
    Symbol T2400 
396
    Symbol N2400 
396 + $4000
    Symbol T4800 
188
    Symbol N4800 
188 + $4000
    Symbol T9600 
84
    Symbol N9600 
84 + $4000

    Symbol OT2400 
396 + $8000                       ' Open True
    Symbol OT1200 = 813 + $8000                       ' 
Open True
    Symbol OT9600 
84 + $8000                      ' Open True
    Symbol OT300  = 3313 + $8000                  ' 
Open True

    Symbol ON2400 
396 + $4000 + $8000              ' Open Inverted
    Symbol ON1200 = 813 + $4000 + $8000              ' 
Open Inverted
    Symbol ON9600 
84 + $4000 + $8000              ' Open Inverted
    Symbol ON300  = 3313 + $4000 + $8000         ' 
Open Inverted

' Rsout / Serial Constants
    Symbol HOME = 1
    Symbol BELL = 7
    Symbol BKSP = 8
    Symbol TAB = 9
    Symbol CR = 13

    All_Digital = TRUE    ' 
Set PORTA and PORTE to all digital 
29/03/2011 #175


Que tal les va compañeros,

Gracias por el ejemplo de glcd a pipo12, mi pregunta es sencilla, para crear la libreria hay que guardar esos datos con extensión *.txt usando la libreta o me estoy equivocando.

Suerte a mil.
29/03/2011 #176


Glcd con pic 18f452
NO si usted escudriña su programa va a encontrar en los archivos .INC las librerias con las q cuenta y puede llamar segun sea su necesidad, estas estan en ASM. ya es la manera con la cual nos permite el compilador hacer muy trabajos y en poco tiempo. Hay q tener encuenta q las librerias las podemos ajustar a nuestra convenencia, claro hablo de direccionamiento de bits, y si es el caso agregar una instruccion o tambien deshabilitar....para un futuro posteare como imprimir en la GLCD varios tamaños de fuente y para finalizar vamos a ver como imprimir imagenes ya sean fijas o animadas
30/03/2011 #177


no he teido oportunidad de mirar el archivo de 32 bits. pregunto ya lo probaron podemos pensar en trabajar con los dspic, bueno no entiendo como sale dicho archivo libreria o actualizacion si en Cronwill aun no se habla de ello bueno si alguien me lo puede explicar gracias
30/03/2011 #178

Avatar de atricio

si seria bueno que puedieran explicar un poquito de como tratar los Dspic con Proton
14/04/2011 #179


Buenas, no se si alguno de ustedes haya trabajado con GLCD(LCD grafiaco), usando proton IDE pues yo he usado siempre las alfanumericas, y en uno de los manuales que se presentan en este foro hay ejemplos pero solo com paltallas alfanumericas pero para graficadoras no.

De antemano muchas gracias quedo atento.

http://articulo.mercadolibre.com.co/...28-pixeles-_JM

Esta es la GLCD que quiero controlar

Lcd Grafico Display 12864 128x64 Verde Topway Lm12864bly
17/04/2011 #180


Hola necesito ayuda para programar un teclado hexadecimal pero lo quiero manejar con el puerto b y las dos primeras del puerto b ya que la profesora quiere que le coloque un display 7 segmento en el puerto C del pic, y en el puerto D conectar 4 leds en los bits menos significativos. apenas me inicializo en esto es apenas mi primera practica lo veo muy complejo, ya que es apenas la primera practica y ni eh visto clase teorica estado leyendo tutorial de proton y proteus, El micro q uso es el PIC 16f877 y lo estoy programando en lenguaje basic. quientenga algo parecido o por lo menos ideas del teclado 4x4, por favor necesito ayuda de como lograrlo

Espero q me ayuden, desde ya gracias
¿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.