Cada instrução da família mid-range tem 14 bits divididos entre um OPCODE, que especifica o tipo de instrução, e um ou mais operandos. Neste artigo, comentaremos as instruções relacionadas à movimentação de dados.
Cada instrução da família mid-range tem 14 bits divididos entre um OPCODE, que especifica o tipo de instrução, e um ou mais operandos. Neste artigo, comentaremos as instruções relacionadas à movimentação de dados.
A seguinte função para a família de microcontroladores PIC16 controla a exibição de 4 dígitos decimais em 4 displays de 7 segmentos multiplexados através de transistores e um decodificador BCD para 7 segmentos. O número a ser exibido deve estar contindo em digitos_low (dois dígitos BCD) e digitos_high (dois dígitos BCD mais significativos). Esta função utiliza a função mostra1digito.
A seguinte função para a família de microcontroladores PIC16 controla a exibição de 4 dígitos decimais em 4 displays de 7 segmentos multiplexados através de transistores e um decodificador BCD para 7 segmentos. O número a ser exibido deve estar contindo em digitos_low (dois dígitos BCD) e digitos_high (dois dígitos BCD mais significativos). Esta função utiliza a função mostra1digito.
cblock...endc é um recurso do MPASM muito utilizado para a geração de blocos de constantes (símbolos seqüenciais com nome). Portanto, não é necessário utilizar várias diretivas equ para que o assembler gerar uma lista de símbolos (com endereços contínuos).
cblock...endc é um recurso do MPASM muito utilizado para a geração de blocos de constantes (símbolos seqüenciais com nome). Portanto, não é necessário utilizar várias diretivas equ para que o assembler gerar uma lista de símbolos (com endereços contínuos).
A função abaixo demonstra uma maneira muito simples de obter atrasos de microsegundos com um microcontrolador da família PIC16 com cristal de 20Mhz. Devido à base de tempo muito pequena, utilizou-se apenas um loop que decrementa o variável delay invés de utilizar um timer. Para atrasos de microsegundos, veja a função delay_ms que também utiliza a variável delay e o TMR1.
A função abaixo demonstra uma maneira muito simples de obter atrasos de microsegundos com um microcontrolador da família PIC16 com cristal de 20Mhz. Devido à base de tempo muito pequena, utilizou-se apenas um loop que decrementa o variável delay invés de utilizar um timer. Para atrasos de microsegundos, veja a função delay_ms que também utiliza a variável delay e o TMR1.
Se você é novo no mundo dos microcontroladores em geral, você deve estar se questionando se o recurso Watchdog Timer dos microcontroladores PIC tem realmente alguma utilidade. Afinal, quem gostaria de ter o microcontrolador reiniciado, em determinadas circunstâncias, periodicamente?
Se você é novo no mundo dos microcontroladores em geral, você deve estar se questionando se o recurso Watchdog Timer dos microcontroladores PIC tem realmente alguma utilidade. Afinal, quem gostaria de ter o microcontrolador reiniciado, em determinadas circunstâncias, periodicamente?