Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature currently requires accessing the site using the built-in Safari browser.
La configuración de fuses para trabajar con el módulo USB depende del cristal que quieras usar.¿como se configura los fuses para trabajar con el pic 18F2550 en HID?, tengo la versión de mikroC 6.0.0
por favor posteen una imagen
if kp="*" then // este es el boton de enter
Lcd_Cmd(_LCD_CLEAR)
lcd_out(1,1,"simulando ro")
lcd_Cmd(_LCD_SECOND_ROW)
Lcd_chr(2,5,ro1)
goto generar
end if
Lcd_Chr_CP(kp) // aquí muestra los numeros que van entrando por el teclado
inc(curx) // este contador es para el cursor
if curX=1 then // esto es lo que trato de hacer para salvar el valor,
ro1= keypad_key_press()// introducido por el teclado y poder
end if // hacer algunas operaciones artimeticas para despues mostrarlas otra vez
if curX=2 then //por la lcd, mas o menos a una calculadora!
ro2=kp
end if
if curX=3 then
lcd_cmd(_LCD_MOVE_CURSOR_RIGHT)
ro3=kp
end if
wend
generar:
Case 1
kp = 49 ' 1
Case 2
kp = 50 ' 2
Case 3
kp = 51 ' 3
Case 4
kp = 65 ' A
Case 5
kp = 52 ' 4
Case 6
kp = 53 ' 5
Case 7
kp = 54 ' 6
Case 8
kp = 66 ' B
Case 9
kp = 55 ' 7
Case 10
kp = 56 ' 8
Case 11
kp = 57 ' 9
Case 12
kp = 67 ' C
Case 13
kp = 42 ' *
Case 14
kp = 48 ' 0
Case 15
kp = 35 ' #
Case 16
kp = 68 ' D
End Select
unsigned int valor_adc;
void main () {
ANSEL = 0X01;
ANSELH = 0;
TRISA0_bit = 1;
PORTA = 0;
while(1) {
valor_adc = ADC_Read(0);
}
}
unsigned int valor_adc;
void main () {
ANSEL = 0X01;
ANSELH = 0;
TRISA0_bit = 1;
ADCON0 = 0X80;
ADCON1 = 0X80;
PORTA = 0;
while(1) {
ADCON0.ADON = 1;
delay_us(20);
ADCON0.GO = 1;
while(ADCON0.GO == 1);
valor_adc = (ADRESH << 8) + ADRESL;
}
}
cual tarda menos en ejecutarse?
Así es. Tanto las librerías como el programa principal, se pueden optimizar para que únicamente se compilen las funciones que se requiera usar.No como tal, el "riesgo" de usar librerías es que posiblemente dentro de esas librerías hay funciones que nunca se utilizan dentro del programa pero aún así se graban en el micro y esto ocupa memoria. Pero aclaro, esto depende del desarrollador de la librería; generalmente las librerías del mismo compilador están optimizadas para usar sólo lo que el programador escribe.
PORTE&=(0<<RS|0<<RW|0<<E);
TRISE&=(0<<RS|0<<RW|0<<E);
DB=(1<<DB5)|(1<<DB4)|(1<<NL);
DB=(1<<DB3)|(1<<DSP)|(1<<CUR);
PORTE|=(1<<E);
PORTE&=~((1<<E));
PORTE &= (0 << RS | 0 << RW | 0 << E);
TRISE &= (0 << RS | 0 << RW | 0 << E);
DB = (1 << DB5) | (1 << DB4) | (1 << NL);
DB = (1 << DB3) | (1 << DSP) | (1 << CUR);
PORTE |= (1 << E);
PORTE &= ~((1 << E));
void interrupt(){
PORTB.B0 = !PORTB.B0;
INTCON.T0IF = 0; //flag de interrupcion del timer0 puesto en 0
return;
}
void main() {
TRISB = 0x00; //todos los pines del puerto B como salida
PORTB = 0; //todos los pines del puerto B en 0
INTCON = 0b10100000; //habilito interrupcion del timer0
OPTION_REG = 0b00000111; //reloj interno (fosc/4); prescalador al Timer0; prescalador en 8
OSCCON.SCS = 1; //fuente de clock interno
while(1)
{
}
}