Está en la página 1de 12

Es un circuito integrado programable, capaz de ejecutar las órdenes

grabadas en su memoria; está compuesto por varios bloques funcionales,


los cuales cumplen una tarea específica.
Un microcontrolador posee todos los componentes de un
computador, pero con unas características fijas que no pueden
alterarse:
Procesador
Memoria de programa (No volátil)
Memoria datos (lectura y escritura)
Líneas E/S para los controladores de periféricos
Recursos auxiliares

MICROPROCESADOR, CPU

Es el elemento más importante del microcontrolador, y su función


es interpretar una serie de instrucciones almacenadas en la
memoria y hacer operaciones con ellas
Memoria

Es la parte del dispositivo que se encarga de almacenar las


instrucciones a interpretar y los datos que estas utilizan en
el programa
El microcontrolador cuenta con cuatro tipos de memoria:
ROM con máscara  Fabricante
RAM  Datos en tiempo de ejecución (temporales)
EEPROM  Grabada por el usuario (datos permanentes)
FLASH  Donde se graba el programa
Periféricos

Los microcontroladores cuentan con una serie de pines


destinados a entrada y salida de datos o señales
digitales. A estos pines se les denomina periféricos, y
están agrupados en puertos “Puertos”, que a su vez son
controlados por registros
Recursos Auxiliares

Circuito de reloj.
Temporizadores y contadores.
Conversores AD
Comparadores
Modulador de ancho de pulsos (PWM)
Puerto serie
Otros puertos de comunicación (USB, CAN)
Sistema de protección.
Estado de reposo
MICROPROCESADOR Recursos
MEMORIA PERIFERICOS Auxiliares
Lenguaje de bajo nivel
Lenguaje de máquina
1110011 11001001 11001010 10110010 11111100
Lenguaje Assembler

Movlw 1
Movwf PP1H
Movlw 244
F@Call dly@w
F1_000046 equ $ ; in [NUEVOAD.BAS] TRISA = %11111111
Bsf STATUS,5
ram_bank = 1
Movlw 255
Movwf TRISA
F1_000047 equ $ ; in [NUEVOAD.BAS] TRISB = %11110001
Movlw 241
Movwf TRISB
Lenguaje de nivel Medio

Lenguaje C

error = Soft_UART_Init(&PORTC, 7, 6, 9600, 0);


if (error > 0) {
PORTB = error; while(1) ; }
Delay_ms(100);

for (i = 'z'; i >= 'A'; i--)


Soft_UART_Write(i);
Delay_ms(100);
}

while(1) {
byte_read = Soft_UART_Read(&error
if (error) PORTB = error;
else
Soft_UART_Write(byte_read);
}
Lenguaje de Alto Nivel
Lenguaje Basic
Main:
Variables[0] = 0
Cls
DelayMS 10
Print At 1,1, "hola"
DelayMS 500
leer:

For i = 1 To 500
If PIR1.5 = 1 Then
Variables[0] = RCREG ' If receive flag then get
character
Cls
DelayMS 10
Print At 1,2,Variables[0]
DelayMS 3000
Cls
GoTo leer
End If
DelayMS 1
Next,1
GoTo leer