¿Por qué ocurre este problema cuando se utiliza el microcontrolador PIC como salida?
También me he encontrado con este problema. Ahora déjame explicarte el motivo. De acuerdo con las instrucciones proporcionadas en la hoja de datos, se recomienda cambiarlo a PORTA = 0x01;delay();PORTA = 0x02;delay(); PORTA = 0x04;delay(); El problema debería resolverse.
Las palabras originales en la hoja de datos son las siguientes:
"Al leer el registro PORTA (Registro 3-1) se lee el estado del pin y al escribir en este registro se escribirá en El pestillo del puerto. Todas las operaciones de escritura son operaciones de lectura, modificación y escritura. Por lo tanto, escribir en un puerto significa primero leer el nivel del pin del puerto, modificar el valor de lectura y luego escribir el valor modificado en el pestillo de datos.
Lo que significa es que si quieres leer el valor de un puerto, primero debes leer un puerto, luego modificarlo y escribirlo. Cuando se escriben, los datos del puerto quedan bloqueados por el pestillo, por lo que si usa continuamente operaciones de bits para leer, obtendrá resultados incorrectos (aquí ha usado tres instrucciones de operación de bits consecutivas), especialmente para el mismo puerto. Para los microcontroladores PIC, debes tener cuidado con esto.
Explique la pregunta que agregó: está relacionada con la estructura del chip de este microcontrolador PIC. El microcontrolador PIC admite instrucciones de operación de bits. Pero sus operaciones de bits leen y escriben todo el puerto. Esto sucede al leer y escribir puertos de E/S.
Además, el PIC es un microcontrolador RISC que es diferente del microcontrolador 51 CISC. Las estructuras de chip del PIC y del AVR también son diferentes. AVR es un microcontrolador RISC mejorado.
Si escribe un microcontrolador 51 o un programa de microcontrolador AVR, puede utilizar instrucciones de operación de bits continuamente. No afectará tus resultados. Pero PIC no puede.
Tampoco existe el concepto de pasar página en el microcontrolador 51 y el microcontrolador AVR. El microcontrolador PIC tiene el concepto de pasar página. Especialmente cuando escribe programas de microcontrolador PIC en lenguaje ensamblador, debe prestar atención al cambio de página. Si lo escribe en lenguaje C, el compilador pasará automáticamente la página por usted, por lo que no tiene que preocuparse por eso.
Si tienes otras preguntas, puedes agregar mi qq: 373884636