Red de conocimiento informático - Computadora portátil - ¿Cuál es la diferencia en la definición entre 51 y pic escrita en lenguaje C?

¿Cuál es la diferencia en la definición entre 51 y pic escrita en lenguaje C?

En primer lugar, existe una gran diferencia en los registros entre los microcontroladores PIC y 51. Por ejemplo, el IO del microcontrolador 51 no tiene direccionalidad. La lectura de IO son datos de entrada y la escritura de IO son datos de salida. Los datos de entrada IO y los datos de salida del microcontrolador PIC deben ser determinados por el registro de dirección. Por ejemplo, si todo el puerto A quiere generar un nivel alto, primero debe configurar el registro de dirección TRISA=0x00 del puerto A y luego asignar el registro de datos PORTA=0xFF del puerto A.

51 no tiene propiedad de dirección, si necesita enviarse al puerto P1, envíelo directamente a P1 = 0xFF.

Esto se debe a que el hardware es diferente, por lo que hay una gran diferencia en el software.

Además, casi todos los registros PIC y la memoria son direccionables por bits. Por ejemplo, el PIC de gama alta de 8 bits y el PIC de 16 bits pueden asignar valores de bits directamente: C1ctrlbits. ReOp = 7, es decir, asignando el número binario 111 a los primeros tres bits del registro, dejando los demás bits sin cambios.

Sintácticamente hablando, PICC (el compilador de lenguaje C de PIC, no el PICC de China) no permite funciones reentrantes. El microcontrolador 51 tiene una tabla de vectores de interrupción, por lo que puede tener múltiples funciones de interrupción. Debido a que el PIC de rango medio de 8 bits no tiene una tabla de vectores de interrupción, el tipo de interrupción debe determinarse en la función de interrupción (solo hay una función de interrupción). El microcontrolador PIC de 16 bits tiene una tabla de vectores de interrupción, pero configurar el tipo de interrupción es problemático.