Autor Tema: Ayuda con programa para PIC 16F877A  (Leído 5376 veces)

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

Desconectado leofer2487

  • PIC10
  • *
  • Mensajes: 3
Ayuda con programa para PIC 16F877A
« en: 27 de Septiembre de 2008, 02:37:43 »
Saludos , quisiera que me ayuden para hacer un programa que te cuente CUANTAS VOCALES hay dentro de una PALABRA . Todo esto que se muestre por el puerto B.
Les agradecere un monton si pueden brindarmeuna mano.  Muchas gracias  :-/

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Ayuda con programa para PIC 16F877A
« Respuesta #1 en: 27 de Septiembre de 2008, 02:53:22 »
Tendrás que especificar mejor tu problema, ¿contado en prosa o en verso?, ¿con voz de hombre o de mujer?, ¿deseas que cuente en español o en inglés?.
Y además, ¿qué tipo de vocales?, ¿las cinco españolas o las más de 20 francesas?, ¿válidas aunque tengan tilde o diéresis?
Y eso por no hablar de la palabra; tendrás que definir bien si te refieres a un Segmento del discurso unificado habitualmente por el acento, el significado y pausas potenciales inicial y final o a, por ejemplo, la "Palabra de Dios", que seguro que tiene miles de vocales.
En fin, lo mejor es que empieces por mirar las normas del foro.

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2062
Re: Ayuda con programa para PIC 16F877A
« Respuesta #2 en: 27 de Septiembre de 2008, 11:15:17 »
Tendrás que especificar mejor tu problema, ¿contado en prosa o en verso?, ¿con voz de hombre o de mujer?, ¿deseas que cuente en español o en inglés?.
Y además, ¿qué tipo de vocales?, ¿las cinco españolas o las más de 20 francesas?, ¿válidas aunque tengan tilde o diéresis?
Y eso por no hablar de la palabra; tendrás que definir bien si te refieres a un Segmento del discurso unificado habitualmente por el acento, el significado y pausas potenciales inicial y final o a, por ejemplo, la "Palabra de Dios", que seguro que tiene miles de vocales.
En fin, lo mejor es que empieces por mirar las normas del foro.

 :shock: :shock: :shock: :shock: :shock: :D

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Ayuda con programa para PIC 16F877A
« Respuesta #3 en: 27 de Septiembre de 2008, 12:19:16 »
 :D :D :D :D :D :D :D :D :D :D :D :D :D :D

Podrias usar la nueva funcion built in del CCS word2vocal(&string) !!!!!!!

El papel lo aguanta todo

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Re: Ayuda con programa para PIC 16F877A
« Respuesta #4 en: 27 de Septiembre de 2008, 16:00:43 »
Saludos , quisiera que me ayuden para hacer un programa que te cuente CUANTAS VOCALES hay dentro de una PALABRA . Todo esto que se muestre por el puerto B.
Les agradecere un monton si pueden brindarmeuna mano.  Muchas gracias  :-/

por si no lo sabias leofer248, este tipo de mensajes es ofensivo en la red. Seria de agradecer que modificaras la forma en que quieres pedir ayuda (así como está, da la impresión de que quieres que te hagan el programa).  :?







La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Ayuda con programa para PIC 16F877A
« Respuesta #5 en: 27 de Septiembre de 2008, 16:34:38 »
Podrias usar la funcion isalpha(x) (esa si existe eh?) a cada byte que llega al serial colcar un switch(data) e ir aumentado un contador cuando sea vocal.
El papel lo aguanta todo

Desconectado leofer2487

  • PIC10
  • *
  • Mensajes: 3
Re: Ayuda con programa para PIC 16F877A
« Respuesta #6 en: 28 de Septiembre de 2008, 19:12:11 »
Hola a todos ,si disculpen que suene ofensivo elmensaje ,esto en la forma de la expresion delproblema. Tengo el codigo de un programa que puede servirme de base para resolver mi problema pero no se por donde empezar para modificarlo. El codigo es el siguiente :

   list      p=16f877A      ; list directive to define processor
   #include   <p16f877A.inc>   ; processor specific variable definitions
   
   __CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_ON & _CPD_OFF

; '__CONFIG' directive is used to embed configuration data within .asm file.
; The lables following the directive are located in the respective .inc file.
; See respective data sheet for additional information on configuration word.

;***** VARIABLE DEFINITIONS

NUMERO      EQU   0X20      ; almacen temporal
NUM_INI      EQU   0X30      ; almacena dos dígitos en BCD

;**********************************************************************
      
      ORG     0x000              ; processor reset vector

      bcf   STATUS,RP1   ; pone a cero RP1
      bsf   STATUS,RP0   ; pasamos a banco 1
      movlw   0x00      ;
      movwf   PORTB      ; define puerto B como salida
      bcf   STATUS,RP0   ; pasamos a banco 0
      bcf   STATUS,IRP   ; selecciona bancos 0 y 1

      movlw   NUM_INI   ;
      movwf   FSR      ; inicio de números
      
de_nuevo   movf   INDF,W      ; obtiene dos dígitos
      movwf   NUMERO   ; a almacen temporal
      sublw   0x2A      ; se acabó?
      btfsc   STATUS,Z   ; salta si no se acabó
      goto   fin      ;
      call   nibble      ; saca nibble
      incf   FSR,F      ; dos dígitos mas
      goto   de_nuevo   ; continúa y regresa
         

nibble      nop
nibble_sup   swapf   NUMERO,W   ; lee los dígitos en BCD
         call   mostrar_dig   ; envía dígito a display
      
nibble_inf   movf   NUMERO,W
         call   mostrar_dig   ; envía dígito a display
         return

         goto   fin

mostrar_dig   andlw   0x0F      ; deja solo un dígito
         call   tabla      ;
         movwf   PORTB      ; envía dígito a la salida
         return

tabla      addwf   PCL,F
         retlw   b'00111111'
         retlw   b'00000110'
         retlw   b'01011011'
         retlw   b'01001111'
         retlw   b'01100110'
         retlw   b'01101101'
         retlw   b'01111100'
         retlw   b'00000111'
         retlw   b'01111111'
         retlw   b'01100111'

fin         sleep

         END   

------------------------------------------------------------------------------------------------------

Soy un novato en la parte de hacer programas , No pretendo que me HAGAN elproblema perosi necesito una ayuda como empezar a hacer la modifcacion. MUCHAS GRACIAS A TODOS  :-/




Desconectado leofer2487

  • PIC10
  • *
  • Mensajes: 3
Re: Ayuda con programa para PIC 16F877A
« Respuesta #7 en: 28 de Septiembre de 2008, 19:14:26 »
Las especificaciones del programa es que las VOCALESque va a contar son 5 . Referidas a lasvocales ESPAÑOLAS .NAda mas . El programa es simple pero no se por que me complico . AYUDEN -MEEE  :?

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Ayuda con programa para PIC 16F877A
« Respuesta #8 en: 28 de Septiembre de 2008, 22:57:08 »
Hola.

Si tu quieres contar las vocales que tiene una palabra ..... de que manera ingresas las palabras?????? ... para mi la forma mas adecuada seria por una interfaz serial.

El papel lo aguanta todo

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5490
    • Electrónica Didacta
Re: Ayuda con programa para PIC 16F877A
« Respuesta #9 en: 29 de Septiembre de 2008, 14:36:33 »
La base para contar vocales, es que el programa sepa quien es la vocal,

No dices como el programa tomará las palabras, así que te aquí en adelante asumiré condiciones:

con una interfaz serial (PC-pic) lo primero es identificar las vocales en la tabla ASCCI

las vocales minusculas son: 0x61, 0x65, 0x69, 0x6F, 0x75

entonces crea una tabla con esos valores, y por cada palabra transmitida del PC al pic, guardalas en un espacio de memoria, entonces lo demás es comparar cada caracter de ese buffer con la tabla que te mencioné. El resto es mostrar en el puerto en caso de cumplirse la condición.


La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek


 

anything