TENGO ESTE PROGRAMA HECHO EN PIC BASIC, ACTUALMENTE SOY NUEVO, PERO CON DESEOS DE APRENDER MICROS. EL PROGRAMA QUE TENGO ES EL PBP Y PROTON IDE LITE. ESTE PROGRAMA EN PBP NO PUEDO COMPILARLO Y EN PROTON ME DICE QUE SOBREPASO LAS 50 LIEAS USTEDES PUEDEN COLABORARME COMPILANDOLO Y ENVIANDOME EL ASM. PORFAVOR ES PARA UNA NOTA EN LA U.
****************************************************************
"* Name : UNTITLED.BAS *
"* Author : [select VIEW...EDITOR OPTIONS] *
"* Notice : Copyright (c) 2005 [select VIEW...EDITOR OPTIONS] *
"* : All Rights Reserved *
"* Date : 07/04/2005 *
"* Version : 1.0 *
"* Notes : *
"* : *
"****************************************************************
define osc4
define adc_bits 8
define adc_clock 3
define adc_sampleus 5000
define oscal_1k1
@ device mclr_off
symbol carga = gpio.5
symbol panel = gpio.2
symbol led = gpio.4
tens1 var byte[10]
tens2 var byte[10]
tmp var byte
tenspanel var word
tensbateria var word
conta var byte
intensa var byte
OPTION_REG= %10000000
CMCON= %00000111
ADCON0= %00000000
ANSEL=%00000011
WPU=%00000000
IOCB=%00000000
INTCON=%00000000
OUTPUT CARGA
OUTPUT PANEL
OUTPUT LED
LOW LED
LOW PANEL
LOW CARGA
CLEAR
MAIN:
GOSUB AD
IF TENSPANEL<TENSBATERIA THEN
HIGH LED
PAUSE 200
LOW LED
ELSE
HIGH LED
ENDIF
IF INTENSA=0 THEN
IF TENSABATERIA>13800 AND PANEL=0 THEN
HIGH PANEL
CONTA=CONTA+1
ENDIF
ELSE
IF TENSABATERIA>14400 THEN
HIGH PANEL
CONTA=0
INTENSA=0
ENDIF
ENDIF
IF TENSABATERIA<12000 THEN
LOW CARGA
ENDIF
IF TENSABATERIA<10000 THEN
LOW CARGA
ENDIF
IF TENSABATERIA>11000 THEN
HIGH CARGA
ENDIF
IF CONTA>20 THEN
INTENSA=1
ENDIF
GOTO MAIN
AD:
FOR TMP=0 TO 9
ADCIN 0,TENS1[TMP]
TENSPANEL=
(TENS1[0]+TENS1[1]+TENS1[2]+TENS1[3]+TENS1[4]+TENS1[5]+TENS1[6]+
TENS1[7]+TENS1[8]+TENS1[9])/10
TENSPANEL=(TENSPANEL+1)*196
ADCIN 1,TENS2[TMP]
TENSBATERIA=
(TENS2[0]+TENS2[1]+TENS2[2]+TENS2[3]+TENS2[4]+TENS2[5]+TENS2[6]+
TENS2[7]+TENS2[8]+TENS2[9])/10
TENSBATERIA=(TENSBATERIA+1)*196
PAUSE 100
NEXT TMP
RETURN
MI EMAIL ES:
electromoderna@hotmail.com