Menú
Foros
Nuevos mensajes
Buscar en foros
Novedades
Nuevos mensajes
Nuevos recursos
Última actividad
Recursos
Últimas revisiones
Buscar recursos
Acceder
Registrarse
Novedades
Buscar
Buscar
Buscar sólo en títulos
De:
Nuevos mensajes
Buscar en foros
Menú
Acceder
Registrarse
Install the app
Instalar
Foros
Diseño digital
Microcontroladores y sistemas embebidos
Problema con un código para 16F84A
JavaScript está desactivado. Para una mejor experiencia, por favor, activa JavaScript en el navegador antes de continuar.
Estás usando un navegador obsoleto. No se pueden mostrar este u otros sitios web correctamente.
Se debe actualizar o usar un
navegador alternativo
.
Responder al tema
Mensaje
[QUOTE="fuzzer0110, post: 937575, member: 274489"] Hola isair, bienvenido al foro. A primera vista da la impresión de que quieres grabar un código escrito para el compilador CCS C, y que fue escrito para un micro diferente al PIC16F84A. Lo mejor, en cuanto al uso de instrucciones se trata, es consultar siempre el manual del compilador. Por poner algún ejemplo, la instrucción: [code]#use standard_io(b)[/code] que por cierto está activa por defecto en CCS, deja sin sentido el uso de la instrucción [code]set_tris_a(011111111);[/code] Después aparece al inicio del main(): [code] setup_adc_ports(NO_ANALOGS); setup_adc(ADC_CLOCK_DIV_2); setup_psp(PSP_DISABLED); setup_spi(SPI_SS_DISABLED); setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); setup_timer_1(T1_DISABLED); setup_timer_2(T2_DISABLED,0,1); setup_comparator(NC_NC_NC_NC); setup_vref(FALSE);[/code] Si te fijas en la hoja de datos, te darás cuenta que este micro no tiene ni Timer1 ni Timer2, ni módulo convertidor de A/D, ni puerto paralelo, etc. Lo del uso de los delays, si puede presentar algún problema, sobretodo cuando son muy extensos como por ejemplo [code]delay_ms(20000);[/code] Cuando TRILO-BYTE dice que traba el micro, creo que se refiere a que si por ejemplo está el micro en un momento dado ejecutando un delay de 20 segundos como el del ejemplo, y en el momento en que han transcurrido digamos solo 3 segundos, presionas un pulsador para ejecutar otra orden, el micro no va a responder a esa pulsación hasta que no se termine el tiempo del delay. Para tiempos tan extensos, es mejor usar la interrupción de un temporizador para manejar los tiempos de espera y no bloquear el micro. Finalmente, debes poner atención a lo que te han mencionado del uso correcto de llaves con las instrucciones. Sería bueno también ver el encabezado del programa donde están los bits de configuración (fuses). Saludos! [/QUOTE]
Verificación
Responder
Foros
Diseño digital
Microcontroladores y sistemas embebidos
Problema con un código para 16F84A
Arriba