Autor Tema: Ejemplos en PBP y PROTEUS  (Leído 266844 veces)

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

Desconectado sandra

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 374
Re: Ejemplos en PBP y PROTEUS
« Respuesta #165 en: 01 de Mayo de 2008, 15:56:49 »
Pues bien como esto ya tiene un rato abandonado vamos a revivirlo el siguiente código es un borrador de un proyecto que tengo entre manos pero como ejemplo vale. Se trata  de leer la temperatura con  un sensor ds1620 en modo 3 wire. Además lee un sensor analógico de temperatura msp7001a el cual sirve como medida patrón  o referencia. Además  debe guardar dichas medidas cada cierto tiempo en una memoria 24lc65 todo esto con reloj en tiempo real con un ds1307
La parte de guardar los datos la tengo pendiente porque me estoy rompiendo la cabeza para hacer el dataloger.
Nota. Incluyo un programita en qbasic que no recuerdo de donde lo baje sirve para cargar la hora al ds1307  directamente de la pc vía puerto serie.

DEVICE 16F876A
XTAL=20

'******   configuracion puerto serie fisico  *****

HSERIAL_BAUD=9600
HSERIAL_RCSTA=%10010000
HSERIAL_TXSTA=%00100000
HSERIAL_CLEAR=ON

'****** configuracion puerto analogico/digital ***

DECLARE ADIN_RES 8
DECLARE ADIN_TAD frc
DECLARE ADIN_DELAY 50
TRISA=%00000111
ADCON1=%00000000

'****** CONFIGURACION RESTO DE PUERTOS **************
INPUT PORTB.2
INPUT PORTB.1
INPUT PORTB.0
 '******   DS1620 control pins *********************
 
SYMBOL DQ= PORTB.5 ' DS1620 DQ pin #1
SYMBOL CLK0=PORTB.4 ' DS1620 CLK pin #2
SYMBOL RST=PORTB.3 ' DS1620 RST pin #3
DIM decimal AS BYTE
DIM Temp AS WORD

   
'========= variables temperatura =========

DIM lecturaAn0 AS BYTE
DIM mv AS FLOAT
DIM temperatura AS FLOAT
temperatura=0
mv=0

 '======== variables rtc  =======
DIM SEGUNDOS AS BYTE
DIM MINUTOS AS BYTE
DIM HORA AS BYTE
DIM dia AS BYTE
DIM fecha AS BYTE
DIM mes AS BYTE
DIM ano AS BYTE
Init:
HBUSOUT %11010000,7,[%00010000] 'int externa 1hz
HBUSOUT %11010000,0,[0] 'inicialisa ds1
DELAYMS 40

nopres:
HIGH PORTC.0
IF PORTB.2=0 THEN 
Loadtime:
DELAYMS 40       
SEGUNDOS=HRSIN            ' Read the Seconds serially
MINUTOS=HRSIN            ' Read the Minutes serially
HORA=HRSIN            ' Read the Hours serially
fecha=HRSIN            ' Read the Date serially
mes=HRSIN            ' Read the Month serially
ano=HRSIN            ' Read the Year serially          
SetTime:
HBUSOUT $D0,$00,[SEGUNDOS,MINUTOS,HORA,dia,fecha,mes,ano] ' write time
GOTO main
ENDIF
GOTO nopres


'============= rutina principal =================

main:
LOW PORTC.0
WHILE 1=1
GOSUB leerMsp700
GOSUB Read_1620
GOSUB GetTime
HRSOUT "time"," ", HEX2 HORA,":",HEX2 MINUTOS,":",HEX2 SEGUNDOS," ","data"," ",HEX2, fecha ,"/",HEX2,mes,"/",HEX2 ano ,10,13
HRSOUT "******************************************",0,10,13
HRSOUT "temperatura_msp700="," ",DEC2 temperatura,"c",0,10,13
HRSOUT "******************************************",0,10,13
HRSOUT "temperatura_ds1620="," ",DEC Temp,".",DEC decimal,0,10,13
HRSOUT "******************************************",0,10,13
GOSUB piloto
mv=0
temperatura=0
WEND




' ************ mcp9700  **********************
leerMsp700:
lecturaAn0=ADIN 0
mv=(lecturaAn0 * .0195)-.400
temperatura=mv/.0195
RETURN


Read_1620:   
    RST = 1
    SHOUT DQ,CLK0,LSBFIRST,[$0C,$02] ' Continuous convert, CPU mode
    RST = 0
    DELAYMS 10                            ' Minimum wait time after write
    HIGH RST                             ' Enable 1620
    SHOUT DQ, CLK0, LSBFIRST, [$EE]  ' Send start temp convert command
    LOW RST                             ' Disable 1620
    DELAYMS 1000                          ' Wait for conversion to complete
   
    HIGH RST                              ' Enable 1620
    SHOUT DQ, CLK0, LSBFIRST, [$AA]  ' Send read temp command
    SHIN DQ, CLK0, LSBPRE, [Temp\9]  ' Read 9 bit temperature
    LOW RST 
    IF Temp.7=0 THEN
    decimal=5
    ELSE
    decimal=0
    ENDIF                               ' Disable 1620
    Temp = Temp/2                       ' Scale reading to whole degrees C.
    RETURN

   piloto:
   HIGH PORTC.2
   DELAYMS 100
   LOW  PORTC.2             
   DELAYMS 100
   RETURN
   
 
   
       
 '================== leer la hora actual =============
   GetTime:

HBUSIN $D1,$00,[ SEGUNDOS,MINUTOS,HORA,dia,fecha,mes,ano]
RETURN
 
   



El pesimista se queja del viento
El optimista espera que cambie
El realista ajusta las velas

Desconectado Chrisbaf

  • PIC16
  • ***
  • Mensajes: 178
Re: Ejemplos en PBP y PROTEUS
« Respuesta #166 en: 05 de Mayo de 2008, 00:57:38 »

aqui te dejo unos datos, yo he usado con el pic 16f84 y me a funcionado bien, solo recuedate que vas a medir la descarga de el potenciometro a travez del capacitor para obtener un valor de resistencia no un valor de voltaje.

POT Pin,Scale,Var
Lee un potenciómetro (ú otro dispositivo resistivo) en Pin . Pin puede ser una constante , 0 - 15 , ó una


La resistencia se mide tomando el tiempo de descarga de un capacitor a través de un resistor .
( 5 K a 50 K ) .Scale se usa para ajustar distintas constantes RC . Para constantes RC grandes , Scale debe
ser baja (valor mínmo 1 ) . Para constantes RC pequeñas , Scale debe ser máxima (255) . Si el valor de
Scale es correcto , Var debe ser cero para mínima resistencia y 255 para máxima resistencia .
Desafortunadamente , Scale debe ser determinada en forma experimental .Para esto , coloque el
dispositivo a medir en máxima resistencia y mídalo con Scale=255 . En estas condiciones , Var tendrá un
valor apropiado de Scale .(Este es el mismo tipo de proceso que efectúa la opción ALT-P en BS1 ).
POT,3,255,B0 ´ lee el potenciómetro en pin 3 para determinar Scale

Desconectado Chrisbaf

  • PIC16
  • ***
  • Mensajes: 178
Re: Ejemplos en PBP y PROTEUS
« Respuesta #167 en: 05 de Mayo de 2008, 01:02:16 »
se me olvidaba  tambien puedes usar rc time :

RCTIME puede usarse para leer un potenciómetro ( ó cualquier dispositivo resistivo ) .La resistencia
puede ser medida descargando un capacitor a través de un resistor ( 5 K a 50 K ) y midiendo el tiempo de
carga ( ó viceversa )
La resolución de RCTIME depende de la frecuencia del oscilador . Si se usa un oscilador de 4 Mhz , el
tiempo estará en incrementos de 10 us .Si se usa un oscilador de 20 Mhz ,el tiempo tendrá una resolución
de 2 us .Definir un valor de OSC no tiene efectos sobre RCTIME. La resolución siempre cambia con la
velocidad del oscilador en uso .
Si el pin no cambia de estado , se devuelve 0
Low PORTB.3 ´ descarga el capacitor para comenzar
Pause 10 ´ descarga por 10 mseg.
RCTIME PORTB.3,0,W0 ´ lee el potenciómetro en pin 3

Desconectado MiCrOtRoNiC

  • PIC18
  • ****
  • Mensajes: 271
Re: Ejemplos en PBP y PROTEUS
« Respuesta #168 en: 08 de Mayo de 2008, 01:03:07 »
ya hay una nueva version del microcode studio y PBP la 3.0.0.5 y pbp2.50a....si no me equivoco todavia no soporta punto flotante :?

Desconectado sandra

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 374
Re: Ejemplos en PBP y PROTEUS
« Respuesta #169 en: 08 de Mayo de 2008, 15:57:54 »
Bueno continuando con los ejemplos ahora tenemos la lectura de un sensor de temperatura ds1624 y continuando con el ejemplo anterior le agregamos el data loger con una memoria 24lc65  aclaro que esta muy lejos de estar terminado ase falta optimizar y mejorar el código  pero como ejemplo vale.


Lectura del ds1624




DEVICE 16F876A
XTAL=4

'******   configuracion puerto serie fisico  *****

HSERIAL_BAUD=2400
HSERIAL_RCSTA=%10010000
HSERIAL_TXSTA=%00100000
HSERIAL_CLEAR=ON

DIM  i2c_in[3] AS BYTE 'data received over I2C bus
DIM temp AS BYTE
     main:
    GOSUB Config_Register   'Set Configuration
    GOSUB Start_Convert     'Start continuous conversion
 
TOP:
    i2c_in[0]=0
    i2c_in[1]=0
    i2c_in[2]=0
    temp=0
    DELAYMS 500
    GOSUB Read_Temp     'Read the current temperature
    i2c_in[2] = i2c_in[1] >> 3 'Shift 5 decimal bits to LS position
    temp = (i2c_in[1]*1000) 'PIC Doesn’t like decimals, but there is a way to work around this
    temp =(temp ** 2048)/100
    HSEROUT [DEC i2c_in[0],".",DEC2 temp ,13,10]'Outputs temperature to terminal
    GOTO TOP            'Loops forever

               

   
               
               
Config_Register:        'Set continuous conversion
    HBSTART             'Start Condition
    HBUSOUT %10010000 'Send Address, (device= %1001, A0= 0, A1= 0, A2= 0, R/W= 0)                       
    HBUSOUT $AC       'Send “Access Configuration” command
    HBUSOUT $00       'Send “Continuous Conversion” command
    HBSTOP            'Stop Condition
    RETURN
 
Start_Convert:          'Start Conversion
    HBSTART
    HBUSOUT %10010000 'Send Address, (device= %1001, A0= 0, A1= 0, A2= 0, R/W= 0)
    HBUSOUT $EE       'Send “Start to Convert” command
    DELAYMS 10
    HBSTOP
    RETURN
 
Read_Temp:              'Read temperature
    HBSTART
    HBUSOUT %10010000 'You must “write” the command to read the temperature before
    HBUSOUT $AA       'Send “Read Temperature” command
    HBRESTART     '* Reissue Start Condition *
    HBUSOUT %10010001 'Send Address, (device= %1001, A0= 0, A1= 0, A2= 0, R/W= *1*)
    i2c_in[0] =HBUSIN
    HBUSACK
    i2c_in[1] =HBUSIN
    HBUSACK
    HBSTOP
    RETURN
 

Data loger



DEVICE 16F876A
XTAL=20

 
 DIM MINU AS BYTE
 DIM PONE AS BYTE
 DIM PTWO AS BYTE
'******   configuracion puerto serie fisico  *****

HSERIAL_BAUD=9600
HSERIAL_RCSTA=%10010000
HSERIAL_TXSTA=%00100000
HSERIAL_CLEAR=ON

'****** configuracion puerto analogico/digital ***

DECLARE ADIN_RES 8
DECLARE ADIN_TAD frc
DECLARE ADIN_DELAY 50
TRISA=%00000111
ADCON1=%00000000

'****** CONFIGURACION RESTO DE PUERTOS **************

INPUT PORTB.2 : SYMBOL sw2=PORTB.2
INPUT PORTB.1 : SYMBOL sw1=PORTB.1
INPUT PORTB.0 : SYMBOL sw0=PORTB.0
OUTPUT PORTC.0 :SYMBOL ledr=PORTC.0
OUTPUT PORTC.1: SYMBOL ledv1=PORTC.1
OUTPUT PORTC.2: SYMBOL ledv2=PORTC.2
'*********** configuracion 24lc65
DIM addres AS WORD
addres=0
DIM data_out AS BYTE
data_out=0
DIM data_in AS BYTE
DIM reading AS  BYTE
reading=1
SYMBOL control_write=%10100000
SYMBOL control_red=%10100001

 '******   DS1620 control pins *********************
 
SYMBOL DQ= PORTB.5 ' DS1620 DQ pin #1
SYMBOL CLK0=PORTB.4 ' DS1620 CLK pin #2
SYMBOL RST=PORTB.3 ' DS1620 RST pin #3
DIM decimal AS BYTE
DIM Temp AS WORD

   


 '======== variables rtc  =======
DIM SEGUNDOS AS BYTE
DIM MINUTOS AS BYTE
DIM HORA AS BYTE
DIM dia AS BYTE
DIM fecha AS BYTE
DIM mes AS BYTE
DIM ano AS BYTE
Init:
HBUSOUT %11010000,7,[%00010000] 'int externa 1hz
HBUSOUT %11010000,0,[0] 'inicialisa ds1
DELAYMS 40
'********  transmitir la hora actual al ds1307  via pueto serial *********

nopres:
 ledr=1
 ledv1=0
 ledv2=0
IF sw2=0 THEN 
Loadtime:
DELAYMS 40       
SEGUNDOS=HRSIN            ' Read the Seconds serially
MINUTOS=HRSIN            ' Read the Minutes serially
HORA=HRSIN            ' Read the Hours serially
fecha=HRSIN            ' Read the Date serially
mes=HRSIN            ' Read the Month serially
ano=HRSIN            ' Read the Year serially          
SetTime:
HBUSOUT $D0,$00,[SEGUNDOS,MINUTOS,HORA,dia,fecha,mes,ano] ' write time
GOTO main
ENDIF
GOTO nopres


'**************************************************************************
'*                      rutina principal                                                                     
'*
'***************************************************************************
main:
ledr=0
WHILE 1=1
GOSUB GetTime
data_out=fecha:GOSUB eprom_write
data_out=mes:GOSUB eprom_write
data_out=MINUTOS:GOSUB eprom_write
data_out=HORA:GOSUB eprom_write
GOSUB Read_1620
data_out=Temp:GOSUB eprom_write
data_out=decimal:GOSUB eprom_write
GOSUB piloto
HRSOUT "estoy grabando" ,10,13
WEND

 '================== leer la hora actual =============
   GetTime:
HBUSIN $D1,$00,[ SEGUNDOS,MINUTOS,HORA,dia,fecha,mes,ano]
RETURN
 

'***************** leer ds1620 ************
Read_1620: 
    RST = 1
    SHOUT DQ,CLK0,LSBFIRST,[$0C,$02] ' Continuous convert, CPU mode
    RST = 0
    DELAYMS 10                            ' Minimum wait time after write
    HIGH RST                             ' Enable 1620
    SHOUT DQ, CLK0, LSBFIRST, [$EE]  ' Send start temp convert command
    LOW RST                             ' Disable 1620
    DELAYMS 1000                          ' Wait for conversion to complete
   
    HIGH RST                              ' Enable 1620
    SHOUT DQ, CLK0, LSBFIRST, [$AA]  ' Send read temp command
    SHIN DQ, CLK0, LSBPRE, [Temp\9]  ' Read 9 bit temperature
    LOW RST 
    IF Temp.7=0 THEN
    decimal=5
    ELSE
    decimal=0
    ENDIF                               ' Disable 1620
    Temp = Temp/2                       ' Scale reading to whole degrees C.
    RETURN

 
   
 
   
       
 
 '****************** gravar en memoria extena ***************
eprom_write:
HBUSOUT  control_write,addres,[data_out]
 addres = addres + 1
 IF addres >= 100 THEN
 addres=0
 ledr=0
 GOTO descargar
 ENDIF
 RETURN
   
  piloto:
   ledr=1
   DELAYMS 100
   ledr=0           
   DELAYMS 100
   RETURN
   
 '***************** descargar memoria extena   ****************   
descargar:
IF sw1=0 THEN exit
GOSUB piloto2
GOTO descargar

exit:
ledv1=0

WHILE 1=1
GOSUB eprom_read             
data_in=fecha
GOSUB  eprom_read
data_in=mes
GOSUB eprom_read
data_in=MINUTOS
GOSUB eprom_read
data_in=HORA
GOSUB  eprom_read
data_in=Temp
GOSUB eprom_read
data_out=decimal
HRSOUT "time"," ", HEX2 HORA,":",HEX2 MINUTOS," ","data"," ",HEX2, fecha ,"/",HEX2,mes,10,13
HRSOUT "******************************************",0,10,13
HRSOUT "temperatura_ds1620="," ",DEC Temp,".",DEC decimal,0,10,13
GOSUB piloto3
WEND



'*************** leer memoria externa **************************
eprom_read:
data_in = HBUSIN control_red,addres
addres = addres + 1
IF addres >= 100 THEN
addres=0
ledv2=0
GOTO main
ENDIF
RETURN

piloto2:
   ledv1=1
   DELAYMS 100
   ledv1=0             
   DELAYMS 100
   RETURN
   
   
   piloto3:
   ledv2=1
   DELAYMS 100
   ledv2=0             
   DELAYMS 100
   RETURN
   
 

El pesimista se queja del viento
El optimista espera que cambie
El realista ajusta las velas

Desconectado Mc Guiver

  • PIC10
  • *
  • Mensajes: 31
Re: Ejemplos en PBP y PROTEUS
« Respuesta #170 en: 10 de Mayo de 2008, 17:32:19 »
Ah ese error es comun, bueno al menos mas de 4 usuarios lo hemos tenido pero en la realidad funcionan sin ningun problema. Puedes probarlo y nos cuentas

Gracias aunque aun no lo intente, sin embargo ya que estoy empezando con algunas cosiilas del picbasic me gustaria q alguien se aportara con un pequeño project hecho en proteus con una multiplexacion de led 7 segmentos usando el 7447 o 74ls48. ya que de tanto buscar encontre codigo pero no me funcionan y si tuviera el proyecto del proteus (archivo DSN) creo q no habria fallas.
GRacias de antemano

Los ejemplos estan sobre este mismo post, los hizo LordLafebre y estan muy sencillos el circuito funciona aunque segun la version del Proteus te puede dar erroro el display.

Contribuyo con un circuito que me dio dolores de cabeza.

PIC 12F675
1 Potenciometro conectado a GPIO 0 (AN0)
4 Leds en los puertos GPIO 1, 2, 4, 5 .
De a cuerdo a la posicion del potenciometro se van prendiendo los leds.

Adjunto archivo y simulacion. Probado fisicamente , luego de varios meses que programo un pic.  :(

Saludos

Muchas Gracias Vegue. Saludos al Peke


alguien que me de una mano con el comando "pot"

¿Como reemplazo el comando readadc de picaxe en pbp ? ¿tengo que usar un pic con entrada analógica? pues estoy usando un 16f84 y no lo puedo hacer andar. alguien qie me responda mil gracias!!!!!!
abrazo para todos

Daniel de Argentina (Mc Guiver)

El comando POT no te sirve como para leer un ADC, el 16f84 no tiene un ADC te recomiendo el 16F88 ese si trae y ejemplos podras encontrar en el foro del uso del comando ADCIN

Desconectado Mc Guiver

  • PIC10
  • *
  • Mensajes: 31
ayuda con adcin please!!!!!
« Respuesta #171 en: 11 de Mayo de 2008, 14:03:06 »
estimado navaismo:  gracias por tu respuesta con el tema del comando pot. Ahora estoy practicando con el comando adcin pero no lo puedo hacer funcionar.Solo quiero hacer encender tres leds de acuerdo con la pisición del potenciómetro. Tengo un pic 16f873A es el mismo que el 16f873? porque el editor que tengo solo tiene el 16f873 y no el A.Vi un ejemplo de uno de los muchachos del foro pero usa otro pic y se me compilcó un poco, este es el programa que edité y calciulo que la estoy errando en las declaraciones, es un pic de 10 bits el que uso.

Con un pic 16f873A y con un oscilador de 4 mhz , lo compila y lo programa sin errores pero el pic no obedece al potenciometro, parpadean los leds sin control.
gracias a vos o a cualquiera de los otros genios que esten en el foro.

Programa:

define adc_bits 10
define adc_clock 3
define adc_sampleus 50

dog var byte

TRISA = %11111111      'puerto A se define como entradas
adcon1 = 0                    'puerto A es analógico

main:  adcin 0,dog
           if dog <= 80 then rojo
           if dog > 80 and dog <= 160 then verde
           goto ambar
     
rojo:   high portb.0
          low portb.2
          low portb.1
          goto main
     
verde: high portb.1
           low portb.0: low portb.2
          goto main
       
ambar: high portb.2
            low portb.1:low portb.0
            goto main       

Desconectado Mc Guiver

  • PIC10
  • *
  • Mensajes: 31
Re: Ejemplos en PBP y PROTEUS
« Respuesta #172 en: 11 de Mayo de 2008, 14:39:11 »
Gracias Vequepic... estoy tratando e adaptar tu programa para un pic 16f873A pruebo y despues te cuento jejeje   

saludos   Mc Guiver

Desconectado RALF2

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2062
Re: Ejemplos en PBP y PROTEUS
« Respuesta #173 en: 11 de Mayo de 2008, 14:42:28 »
Hola
Dog no deberia ser WORD en vez de byte ya que estas trabajando con 10bits  :mrgreen:
Otro detalle de hecho el mas importante  :mrgreen: estas colocando adcon1 = 0 eso quiere decir justificacion a la derecha y fosc = fosc/2 por eso no te trabaja coloca, adcon1 = $80 con eso resuelves el problema

Saludos

Desconectado Veguepic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2119
Re: Ejemplos en PBP y PROTEUS
« Respuesta #174 en: 11 de Mayo de 2008, 22:17:37 »
Hola Mc Guiver:

No conozco ese pic pero tengo varias observaciones

Estoy seguro que tiene comparadores y no los veo desactivados.

Solo has definido el puerto A y los otros puertos??

Usando el if de esa manera la rutina ambar siempre se ejecuta, debe ser una de las razones por las que parpadean varias luces.

Saludos
“Si la gente es buena sólo porque temen al castigo y porque esperan una recompensa, entonces verdaderamente somos un grupo lastimoso." Albert Einstein.

Saludos desde Lima , Peru    -    Hugo

Desconectado Mc Guiver

  • PIC10
  • *
  • Mensajes: 31
Re: Ejemplos en PBP y PROTEUS
« Respuesta #175 en: 14 de Mayo de 2008, 09:32:58 »
EstimadoVequepic:
El puerto Bno esta predefinido como salida?,Cuando lo compilo me aparecen errores como:
error pbppic14.lib 5732: 255 ( entre corchetes) undefined simbol "ANSEL"
   "         "       "      "                                 undefined symbol "adcon0"
                                                                          "            "        "adres"
                                                                          "             "       GO_DONE
una serie de errores que nolos entiendo bien.
si no te molesta en contestarme hacelo y te lo agradezco en el alma sinó  tambien voy a probar con un conversor externo 0831 (si lo consigo jejeje)
un abrazo
                Mc Guiver                                             

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Ejemplos en PBP y PROTEUS
« Respuesta #176 en: 14 de Mayo de 2008, 11:37:46 »
Eso quiere decir que el PIC no cuenta cohn los registros o bien el MPASM no esta cachando bien el lugar de la libreria. No desistas siempre es mas facil usar el AD del PIC busca los ejemplos que tenemos aqui mismo y veras, por ejemplo busca los que hemos usado el lm35dz con el 877 y ve como esta la explicacion es mas sencillo de lo que crees.
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado Mc Guiver

  • PIC10
  • *
  • Mensajes: 31
Re: Ejemplos en PBP y PROTEUS
« Respuesta #177 en: 17 de Mayo de 2008, 10:57:50 »
Estimado Navaismo: Estuve mirando los ejemplos del foro , cada vez que miro siempre algo aprendo, te voy a hacer caso con lo del adc del pic ya que se me hace dificil conseguir un adc extrerno. Vi en un ejemplo de justificacion a la derecha y a la izquierda, la pregunta es:
si es a la derecha queda el decimal 1 o sea 00000001=1 pero si esta a la izquierda-segun lo que vi (y me confundiò) ,es 01000000= 64 , porque es 64 y no 128? no seria asì 10000000=128 ?
Otra pregunta: ¿para que se justifica a la derecha  o a la izquierda ? (no soy estudiante de electronica ni de computacion, soy tècnico mecànico pero me encanta esto de los pics y todo lo que tenga que ver con la automatizacion)
Si tengo un pic de 10 bits , ¿lo puedo hacer trabajar con 8 bits? Que libro o manual me puedes recomendar para aprender bien pbasic ya que los elemplos de pbasic pro no son tan claros como los de picaxe (por lo menos para mi) entonces lo que hago es de los dos hacer uno jaja.pero bien!!... voy entendiendo, si fuera facil seria aburrido.
Lo de la libreria del pic que me mencionaste, ¿la tiene que tener el compilador o el pic?
un abrazo
           Mc Guiver

« Última modificación: 17 de Mayo de 2008, 16:06:05 por Mc Guiver »

Desconectado Mc Guiver

  • PIC10
  • *
  • Mensajes: 31
Re: Ejemplos en PBP y PROTEUS
« Respuesta #178 en: 17 de Mayo de 2008, 11:06:39 »
estimado Vequepic:
¿como hago para desactivar los comparadores? ¿si los desactivo automaticamente se activan las entradas del puerto A como analogicas?
Lo del if ya lo corregì .
Gracias, un abrazo y sigo probaaaaannnndooooooooooo !!!ajjajaja

Desconectado Mc Guiver

  • PIC10
  • *
  • Mensajes: 31
Re: Ejemplos en PBP y PROTEUS
« Respuesta #179 en: 17 de Mayo de 2008, 11:10:33 »
Hola ralf2:

 que significa fosc = fosc/2 para que se utiliza?

Un abrazo

Mc Guiver


 

anything