Duda con el libro compilador c ccs y simulador proteus para microcontroladores pic

#1
hola estoy leyendo el libro compilador c ccs y simulador proteus para microcontroladores pic y en ejemplo 1 del capitulo 3 muestra un ejemplo sencillo para trabajar con los puertos, en donde RB0 actua como entrada con un pulsador y RB1 como salida con un diodo, la idea es que la salida debe tener el mismo valor que la entrada al oprimirse el pulsador.Mi duda es que la entrada no esta alimentada con tension en el simulador proteus si no que conectado a tierra, por que? es un error de libro o se debe a otra razon? puede estar relacionado con la resistencia de pull-up??? por favor si alguien puede darme una mano se lo agradeceria soy nuevo con los pic y estoy aprendiendo de a poco y la verdad es que este simple ejemplo me dejo con esa duda, desde ya muchas gracias.En anexo una imagen del libro y el programa en c.
 

Adjuntos

#3
Entiendo que se pueda programar las resistencias de pull-out, pero no me queda muy en claro como trabajan luego estas. Por lo que veo en la imagen, de alguna manera con la resistencia de pull-out puedo dar un valor alto a la entrada sin tener conectado tension? (como sucede en la entrada RB0?) esa parte me tiene confundido
 

Vick

Moderador
#4
1. No es pull-out es Pull-Up.

2. Busca info de lo que es un resistor de pull-up (o pull-down) y entenderás como funcionan los del PIC...

Saludos.
 
#6
La Resistencia Pull-up es una resistencia que va de conectada de Vcc a un pin de entrada en cualquier circuito integrado; lo que le da a la entrada un nivel alto por defecto y facilita el cambio a nivel bajo pues únicamente hace falta colocar un pulsador entre el pin de entrada y tierra. En el caso del puerto B de los PICs existe la posibilidad de habilitar una resistencia pull-up interna cuando este actúa como entrada; esto se hace modificando el bit /RBPU (Option.7)

Vcc-----Pull_Up----------Pulsador---------Tierra
aaaaaaaaaaaaaaaa|
aaaaaaaaaaaaaaaa|
aaaaaaaaaaaaPin_entrada
 
Última edición:
#7
Muchas gracias braulio!!! lo que a mi me costaba trabajo entender era como al conectar una entrada directamente a masa a traves de un pulsador podria darme un valor alto o bajo dependiendo de la posicion del pulsador sin que interactue Vdd en la conexion, en el libro no lo explica pero ahora me quedo claro
 
Última edición:
#9
Hola compañeros, actualmente me encuentro aprendiendo el lenguaje C, esoy utilizando ccs, pero en un programa que tome el libro microcontroladores y ccs, ejemplo (3) lo compilando me sale error, el programa es el siguiente:

realiza un menu de control mediante un pulsador, el programa deve mostrar un menu de tres funciones, mediante el pulsador se debe seleccionar uno de los 3 elementos y con otro ejecutar la funcion( en este4 caso encender un led)



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

#include <lcd.c>
#include <kbd.c>


void main() {
char k;
int x;

lcd_init();
kbd_init();
port_b_pullups(TRUE);

lcd_putc("\fListo...\n");

while (TRUE) {
k=kbd_getc();
x=k-48; //Conversión numérica
if(k!=0){
if(k=='*')
lcd_putc('\f');
else
lcd_putc(k); //Imprime carácter
delay_ms(500);
printf(lcd_putc,"\f Car=%c",k); //Imprime carácter
delay_ms(500);
printf(lcd_putc,"\f Car=%u",k); //Imprime valor ASCII
delay_ms(500);
printf(lcd_putc,"\f Num=%u",x); //Imprime valor numérico
delay_ms(500);
lcd_putc("\fListo...\n");
}
}
}

y los errores son:

Clean: Deleting intermediary and output files.
Clean: Deleted file "F:\m\m.c.mcs".
Clean: Done.
Executing: "C:\Archivos de programa\PICC\Ccsc.exe" +FM "m.c" +DF +LN +T +A +M +Z +Y=9 +EA
*** Error 12 "C:\ARCHIV~1\PICC\drivers\lcd.c" Line 91(29,30): Undefined identifier -- set_tris_d
*** Error 12 "C:\ARCHIV~1\PICC\drivers\lcd.c" Line 103(30,31): Undefined identifier -- set_tris_d
*** Error 12 "C:\ARCHIV~1\PICC\drivers\lcd.c" Line 133(28,29): Undefined identifier -- set_tris_d
*** Error 12 "C:\ARCHIV~1\PICC\drivers\kbd.c" Line 106(49,50): Undefined identifier -- set_tris_d
*** Error 12 "C:\ARCHIV~1\PICC\drivers\kbd.c" Line 109(49,50): Undefined identifier -- set_tris_d
*** Error 12 "C:\ARCHIV~1\PICC\drivers\kbd.c" Line 112(49,50): Undefined identifier -- set_tris_d
*** Error 12 "C:\ARCHIV~1\PICC\drivers\kbd.c" Line 143(25,26): Undefined identifier -- set_tris_d
7 Errors, 0 Warnings.
Halting build on first failure as requested.
BUILD FAILED: Fri Jan 29 12:02:11 2010
 
#10
dcf.electronica
Parece que estas usando MPLAB para depurar el codigo
si asi es debes agregar los divice y drive que se encuentran en la carpeta del CCS
y asi no te saldra el error..
Mira el tema en microcontroladores"dispositivos controlados por USB"
ahy encontraras un tuto de como hacer esto..
"PROYECTOS CON PIC Y SIMULACION EN PROTEUS"
suerte.:apreton:
 
#11
hola ya que estan estudiando del libro: Compilador C CCS e Simulador Proteus para Microcontroladores Pic

tengo una duda .. alguien conoce lo que dice la pagina secreta 43 !! ???? porque he descargado de varios lados y en todas le falta la pagina 43 !!!!! jajajaja

saludos !
 
#13
mmmmm me parece que ese es el manual de CCS o cual libro es ?

ahi te adjunto la tapa del libro que te comentaba ( es CCS + Proteus) ....traté de adjuntar todo el libro pero es muy pesado para subirlo y no me deja, igual se puede encontrar facilmente por la web pero en todos los sitios de descarga le falta la pagina 43 :(
 

Adjuntos

#18
hola jhonferd al final nunca pude encontrar la pagina 43, descargue de varios lados el libro pero siempre faltaba esa pagina, y la edicion nueva no la encontré por ningun lado, seguramente la parte que falta del cuadro esta en la edicion nueva de ese libro pero en otra pagina, no justamente la 43, saludos !
 
Arriba