3. Alexandre Brandão Lustosa
Twitter: @abrandaolustosa
E-mail: abrandaol@outlook.com
LinkedIn: www.linkedin.com/in/abrandaol
Phone: +55 (21) 97367-6161
Senior Software Engineer with 20 years of experience in web development, transactional and distributed systems,
Microsoft C# .Net specialist and C/C ++ development for Linux Embedded and Microchip Microcontroller.
Certificated by Microsoft .Net MCSD Web Developer, MCSA Microsoft SQL Server 2012 and Microsoft IT Specialist.
Founder and community leader of InsideTech Conf.
Entrepreneur at Stone Pagamentos
C# .Net MCSD / MCSA DBA SQL Server IoT / C++ Developer Engineer
7. Microprocessador/Processador
O microprocessador, geralmente chamado apenas
de processador, é um circuito integrado que realiza as
funções de cálculo e tomada de decisão de
um computador. Todos os computadores e equipamentos
eletrônicos baseiam-se nele para executar suas funções,
podemos dizer que o processador é o cérebro do
computador por realizar todas estas funções.
13. Microcontroladores
Microcontrolador é um pequeno computador (SoC) em um
único circuito integrado o qual contém um núcleo de
processador, memória e periféricos programáveis
de entrada e saída. A memória de programação pode
ser RAM, NOR flash ou PROM a qual, muitas vezes, é
incluída no chip. Os microcontroladores são concebidos
para aplicações embarcadas, em contraste com
os microprocessadores utilizados em computadores
pessoais ou outras aplicações de uso geral.
22. Memory Model – (Pure or Strict) Harvard
Architecture
The original Harvard architecture computer, the Harvard Mark I, employed
entirely separate memory systems to store instructions and data.
Uses two separate memory spaces for program instructions and data -
separate pathways with separate address spaces.
Allows for different bus widths
Improved operating throughput
RISC designs are also more likely to feature this model
The CPU can both read an instruction and perform a data memory access at
the same time, even without a cache
PIC Microcontrollers (Separate code and data spaces)
31. Bits de Configuração
Os microcontroladores Microchip possuem regiões de
memória definidas para uso específico, contendo Bits de
Configuração (Configuration Bits ou Fuse Bits). Esses bits
determinam o funcionamento fundamental do dispositivo,
como modo do oscilador, Watchdog Timer, modos de
programação e proteção de código. A correta configuração
desses bits definem o funcionamento do seu
microcontrolador. Para tanto, vamos entender como fazer
esse trabalho.
32. Bits de Configuração – PIC16F877A
Oscillator Selection Bits (FOSC1:FOSC0)
Configuration Bits: Watchdog Timer Enable Bit (WDTE)
Power-up Timer Enable Bit (PWRTE)
Brown-out Reset Enable Bit (BOREN)
Low-Voltage ICSP Enable Bit (LVP)
Data EEPROM Memory Code Protection Bit (CPD)
Flash Program Memory Write Enable Bits (WRT1:WRT0)
In-Circuit Debugger Mode Bit (Debug)
33. Bits de Configuração – PIC16F877A
C/C++
#pragma config FOSC = HS // Oscillator Selection bits (HS oscillator)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = ON // Power-up Timer Enable bit (PWRT enabled)
#pragma config BOREN = ON // Brown-out Reset Enable bit (BOR enabled)
#pragma config LVP = OFF // Low-Voltage (Single-Supply)
#pragma config CPD = OFF // Data EEPROM Memory Code Protection bit
#pragma config WRT = OFF // Flash Program Memory Write Enable bits
#pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off)
34. Special Function Registers
I/O and peripheral control (such as serial ports or general-purpose IOs)
timers
stack pointer
stack limit (to prevent overflows)
program counter
subroutine return address
processor status (servicing an interrupt, running in protected mode, etc.)
condition codes (result of previous comparisons)