Você está na página 1de 4

MSP430

1. Defina a funo void Atraso(volatile unsigned int x); que fornece um atraso de 'x' milissegundos. Utilize o Timer_A para a contagem de tempo, e assuma que o SMCLK j foi configurado para funcionar a 1 MHz. Esta funo poder ser utilizada diretamente nas outras questes desta prova. (2,5 pontos) 2. Desenhe o hardware utilizado para controlar 6 LEDs utilizando charlieplexing. Apresente os pinos utilizados no MSP430 e os LEDs, nomeados L1-L6. (1,25 pontos) 3. Defina a funo void main(void){} para controlar 6 LEDs de uma rvore de natal usando o hardware da questo anterior. Considere que os LEDs so nomeados L1-L6, e que cada LED Lx dever acender separadamente por x*300ms. Por exemplo, L1 fica aceso por 300ms, depois L2 por 600ms, L3 por 900ms, e assim por diante. (2,5 pontos) 4. Defina a funo void paralelo_para_serial(void); que l o byte de entrada via porta P1 e transmite os bits serialmente via pino P2.0. Comece com um bit em nivel alto, depois os bits na ordem P1.0 - P1.1 - - P1.7 e termine com um bit em nvel baixo. Considere um perodo de 1 ms entre os bits. (2,5 pontos) 5. Desenhe o hardware necessrio para o MSP430 controlar via P1.0 um motor DC de 12V e 4A. Utilize transistores bipolares de juno (TBJ) com Vbe = 0,7 V, beta = 100 e Vce(saturao) = 0,2 V. Alm disso, considere que Vcc = 3 V para o MSP430, e que este no pode fornecer mais do que 10 mA por porta digital. (1,25 pontos) 6. Desenhe o hardware necessrio para o MSP430 controlar via pino P1.6 um motor DC de 10V e 1,5A. Utilize transistores bipolares de juno (TBJ) com Vbe = 0,7 V e beta = 120. Alm disso, considere que Vcc = 3,5 V para o MSP430, e que este no pode fornecer mais do que 10 mA por porta digital. (2,5 pontos) 7. Defina a funo void ConfigPWM(volatile unsigned int freqs, volatile unsigned char ciclo_de_trabalho); para configurar e ligar o Timer_A em modo de comparao, a fim de controlar o motor DC da questo anterior. Considere que o pino P1.6 j foi anteriormente configurado como sada do canal 1 de comparao do Timer_A, que somente os valores {100, 200, 300, , 1000} Hz so vlidos para a frequncia, que somente os valores {0, 25, 50, 75, 100} % so vlidos para o ciclo de trabalho, e que o sinal de clock SMCLK do MSP430 est operando a 1 MHz. (1,25 pontos) 8. Desenhe o hardware para controlar dois semforos utilizando charlieplexing. Apresente os nomes dos pinos do MSP430 e indique os LEDs pelos nomes Vermelho1, Amarelo1, Verde1, Vermelho2, Amarelo2 e Verde2. (1,25 pontos) 9. Defina a funo void EscreveDigito(volatile char dig); que escreve um dos dgitos 0x0-0xF em um nico display de 7 segmentos via porta P1, baseado na figura abaixo. Considere que em outra parte do cdigo os pinos P1.0-P1.6 j foram configurados para corresponderem aos LEDs A-G, e que estes LEDs possuem resistores externos para limitar a corrente. (2,5 pontos)

10. Faa o programa completo que l um byte de entrada serialmente via pino P2.0 e transmite este byte via porta P1. O sinal serial comea com um bit em nivel alto, depois os bits na ordem 0-7 e termina com um bit em nvel baixo. Os pinos P1.0-P1.7 devero corresponder aos bits 0-7, respectivamente. Considere um perodo de 1 ms entre os bits. (2,5 pontos)

Registradores do MSP430 Reg. Uso Define se o pino correspondente ao bit ser de entrada (bit = 0) ou de sada (bit = 1). Habilita o resistor de pull-up/down correspondente ao bit. Escreve o valor no pino de sada correspondente ao bit. Define se o resistor correspondente ao bit ser de pull-up (bit = 1) ou de pull-down (bit = 0). Reflete o valor do pino de entrada correspondente ao bit. Exemplo Se PxDIR = 0xF, os pinos Px.0-Px.3 so definidos como sada, e Px.4-Px.7 so definidos como entrada. Se PxREN = 0xF, somente os resistores de pull-up/ ldown nos pinos Px.0-Px.3 so habilitados. Se PxOUT = 0xF, os pinos Px.0-Px.3 so levados para nvel alto, e Px.4-Px.7 so levados para nvel baixo. Se PxREN = 0xFF e PxOUT = 0xF, os pinos Px.0-Px.3 tero resistores de pull-up, e Px.4-Px.7 tero resistores de pull-down. Se PxIN = 0xF, os pinos Px.0-Px.3 esto em nvel alto, e Px.4-Px.7 esto em nvel baixo.

PxDIR

PxREN

PxOUT

PxOUT

PxIN

Você também pode gostar