Dado digital com msp430
1934 palavras
8 páginas
Microprocessadores e MicrocontroladoresObjetivo
O objetivo deste experimento é introduzir a utilização dos modos de baixo consumo, além das interrupções e a linguagem Assembly e C voltadas para o MSP430.
Introdução Teorica
Os microcontroladores MSP430, tem modelo RISC de 16 bits e sua aplicação é voltada para modos de baixo consumo. O MSP430 conta com cinco modos de baixo consumo, sendo que três deles são os mais utilizados. No modo ativo, a CPU, o clock e os módulos ficam ativos e a corrente fica próxima a 300 µA, podendo ser reduzida de acordo com o Vcc. Outro modo é o LPM0 em que a CPU e o MCLK ficam inativos, o SMCLK e o ACLK ficam ativos e a corrente fica próxima a 85 µA. Em outro módulo o LPM3 a CPU, o MCLK, o SMCLK e o …exibir mais conteúdo…
A declaração destas intruções no codigo foi realizada da forma demosntrada na figura 3.
Figura 3- Declaração de intruções. Utilizando a declaração de um for infinito é possível garantir que a execução de tudo que se encontra dentro dele ocorra infinitas vezes. Dentro do for infinito foi declarado o codigo necessário para habilitar o modo de baixo consumo level 4, além da função de interrupção.
Figura 4- Loop infinito.
Após isso foi declarada a função de interrupção, nesta função ocorre a chamada do codigo em assembly que é o responsável pela seleção de um número aleatório de 1 a 6 e também pelo acendimento do LED correspondente ao número selecionado. O codigo em assembly se fez necessário pois era necessário garantir que o dado não seria viciado, ou seja, que cada número teria a mesma chance de ser selecionado, e uma forma de garantir isso e utilizando o mesmo número de instruções e ciclos de clock para cada alternativa existente.
O modo de interrupção e acionado ao se apertar o botão conectado a porta P1.3 como descrito no codigo de interrupção da figura 5.
Figura 5- entrada no modo de interrupção
No modo de interrupção o programa deixa o modo de baixo consumo modo 4 e executa os comandos existentes na função denominada “funcled”. Nesta parte que ocorre