Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Módulo MSSP Jadsonlee da Silva Sá Jadsonlee.sa@univasf.edu.br
2
Introdução - MSSP MSSP – Master Synchronous Serial Port.
Interface serial síncrona utilizada na comunicação com outros periféricos ou microcontroladores. Ex.: EEPROMs, registradores de deslocamento, drivers de displays, conversores A/D entre outros. Pode operar em dois modos: SPI Serial Peripheral Interface. I2C Inter-Integrated Circuit.
3
Introdução - MSSP Existem três registradores de controle associados:
Registrador de status – SSPSTAT; Registradores de controle – SSPCON e SSPCON2.
4
Modo SPI Interface mestre/escravo que permite transmitir e receber sincronamente 8 bits de dados simultaneamente. Todos os 4 modos padrão da SPI são implementados. A comunicação pode ser feita por três pinos: Serial Data Out (SDO) – RC5/SDO; Serial Data In (SDI) – RC4/SDI; Serial Clock (SCK) – RC3/SCK/SCL/LVDIN; No modo escravo, um quarto pino Slave Select (/SS) – RA5//SS/AN4, deve ser usado.
5
Modo SPI Existem 4 registradores: SSPCON – Controle; SSPSTAT - Status;
SSPBUF – Buffer Tx/Rx serial; SSPSR – Deslocamento – Não acessível.
6
Modo SPI
7
Modo SPI Funcionamento.
O SSPSR desloca os dados de entrada e saída do dispositivo – Primeiro MSb. O byte é movido para SSPBUF – BF (buffer cheio) e SSPIF são setados.
8
Modo SPI Funcionamento.
O bit WCOL (SSPCON<7>) é setado caso ocorra uma escrita em SSPBUF durante a Tx/Rx. O software do usuário deve zerar WCOL. SSPBUF deve ser lido antes de receber novos dados – O bit BF é zerado após a leitura. Os pinos devem ser configurados como entrada ou saída no registrador TRISC.
9
Modo SPI SSPSTAT.
10
Modo SPI SSPSTAT.
11
Modo SPI SSPCON.
12
Modo SPI SSPCON. O clock do mestre e do escravo devem ser configurados com a mesma polaridade.
13
Modo SPI
14
Modo SPI
15
Atividade Façam um programa em assembly, outro em C (no nível de registrador) e outro em C – CCS que transfere dados de um PIC16F877A para outro PIC16F877A.
16
Memória de Dados EEPROM
Jadsonlee da Silva Sá
17
Introdução Memórias de dados EEPROM e Programa FLASH.
Não são mapeadas diretamente no espaço de registro de arquivo. São indiretamente endereçadas via SFRs. Existem seis SFRs usados para ler/escrever esta memória: EECON1, EECON2, EEDATA, EEDATAH, EEADR e EEADRH.
18
Dados EEPROM Bloco memória de dados - EEPROM.
EEDATA contém os dados de 8 bits para ler/escrever. EEADR contém o endereço da posição da EEPROM sendo acessada. EEPROM possui 256 bytes. Faixa de endereço de 00 a FFh. Um único byte pode ser lido/escrito por vez. Uma escrita automaticamente apaga os dados e escreve os novos dados.
19
Registradores de Controle
20
Registradores de Controle
Quando uma escrita for finalizada, o bit EEIF de PIR2 será setado, e deverá ser zerado via software.
21
Registradores de Controle
EECON2. Não é um registrador físico. A leitura retorna 0’s. É utilizado na sequência especial de escrita da EEPROM.
22
Leitura - EEPROM Passos para leitura da EEPROM:
Escrever o endereço da posição em EEADR; Zerar o bit EEPGD de EECON1; Setar o bit RD de EECON1 – Inicia a leitura; O dado é carregado em EEDATA – Pode ser lido na próxima instrução; EEDATA mantém este valor até a próxima leitura ou até ser escrito pelo usuário.
23
Escrita - EEPROM Passos para escrita na EEPROM:
Verificar se o bit WR está zerado – Se sim, pode escrever. Escrever o endereço da posição em EEADR; Escrever o dado em EEDATA; Zerar o bit EEPGD de EECON1; Setar o bit WREN de EECON1 – Habilitar escrita; Desabilitar as interrupções – GIE (caso estejam habilitadas).
24
Escrita - EEPROM Passos para escrita na EEPROM:
Executar a sequência especial: Escrever 55h em EECON2; Escrever AAh em EECON2; Setar o bit WR de EECON1; Habilitar as interrupções (caso seja necessário).
25
Escrita - EEPROM Passos para escrita na EEPROM:
Zerar o bit WREN de EECON1 – Desabilitar a escrita. Após a finalização da escrita, o bit WR será zerado e o bit EEIF será setado. EEIF deve ser zerado por software. Verificar se EEIF está setado ou se WR está zerado – Fim da escrita.
26
Registradores
27
Exemplo - Assembly
28
Exemplo - Assembly
29
Exemplo - Assembly MOVLW 0x20
30
Tarefa Faça o programa anterior em linguagem C a nível de registrador e utilizando a API do CCS.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.