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

Temas similares

30/04/2012 #1

Avatar de sshoice esparza

pic-c pic16f8776a
lo que pasa colegas es que me e topado con tutoriales y no vienen muy explicado como
uno quicera el problema es con estos comoandso:

#byte porta= 0x05
#byte portb= 0x06
#byte portc= 0x07
#byte portd= 0x08
#byte porte= 0x09

#byte trisa= 0x85
#byte trisb= 0x86
#byte trisc= 0x87
#byte trisd= 0x88
#byte trise= 0x89


lo que pasa es que no se cual es su significado y su funcion,
me gustaria saber cual es su funcion para emplearlos a mi gusto y como mas me convenga
gracias :P
30/04/2012 #2

Avatar de el-rey-julien

byte porta= =x05
presumo que sera un bit en el puerto a pata 5 del puerto a,
ni idea cual es el lenguaje ese yo solo se algo y no mucho de .ams
1 di en que lenguaje esta el programa
2 como todos los lenguajes son muy intuitivos ya deberías haberlo descubierto
3 lee tutoriales
30/04/2012 #3

Avatar de sshoice esparza

no lo que e encontrado es algo acerca de la ram y de los bancos pero no me queda muy bien
entendido que digamos :S



y esta hecho en c en el programa pic-c :P

---------- Actualizado después de 3 minutos ----------

y pues si e visto bastantes tutoriales pero lo que pasa es que no me avia topado con estas definiciones,
y pues lo que pasa es que empiezas por lo mas facil pero cuano le vas entendiendo emiesas a ver que ay formas mas facil de hacer las cosas pero al principio cuesta trabajo entenderlas :S

#include <16f76.h>
#use delay (clock=4000000)
#fuses XT,NOWDT,NOPUT,NOPROTECT

#byte PORTB=0x06
#byte PORTC=0x07

int dato;

void main(void)


{

set_tris_b(0x00);
set_tris_c(0xff);
portb=0x00;

while (true)
{
dato= portc;
switch(dato)
{
case 1: PORTB =0xff;
break;

case 2: portb=0b00001111;
break;


case 3: portb=0b00111100;
break;

default: portb=0x00;
break;


}

}

}
y este es todo el codigo :P
Imágenes Adjuntas
Tipo de Archivo: png Sin título.png (51,9 KB (Kilobytes), 4 visitas)
30/04/2012 #4

Avatar de ByAxel

Hola.
Lo pongo de esta manera:

#byte como ya se vio, es para declarar o simbolizar a una direccion especifica de la RAM, eso al igual que #bit que es para un bit de algun byte.
Al usar #byte no se restringe el nombre, entonces puedes poner otras cosas:
Código:
#byte Salidas = 0x06
Esto es porque en el archivo de cabecera no estan definidos los registros del PIC y si revisan veràn que todo se resume a funciones pre-hechas (El CCS no maneja un C muy estricto).

Código:
output_b(0xFF);  // Igual para el resto de puertos
Finalmente, esto es para no estar buscando la direccion del registro jeje

Código:
#byte  MyPORTB = getenv("SFR:PORTB")
PD: Todo esta en el archivo de ayuda del CCS

Un saludo
30/04/2012 #5

Avatar de sshoice esparza

disculpa cual es el nombre adecuado para describir el tema para buscar mas del tema colega
30/04/2012 #6

Avatar de ByAxel

Todo lo que inicia con # son "directivas" para el compilador.
La directiva #byte solo se encuentra en el compilador del PICC. Esta directiva es para el control de memoria, como ya se vio se puede poner cualquier nombre a una dirección de la RAM ya sean registros especiales como los PORTx o TRISx.

Mira
http://www.ccsinfo.com/content.php?p...ntax-functions

Un saludo
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.