Exercícios MSP430.pdf
-
Upload
mainara-santos -
Category
Documents
-
view
30 -
download
0
Transcript of Exercícios MSP430.pdf
MSP4301. Defina a função 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 função poderá ser utilizada diretamente nas outras questões 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 função void main(void){} para controlar 6 LEDs de uma árvore de natal usando o hardware da questão anterior. Considere que os LEDs são 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 função 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 nível baixo. Considere um período de 1 ms entre os bits. (2,5 pontos)
5. Desenhe o hardware necessário para o MSP430 controlar via P1.0 um motor DC de 12V e 4A. Utilize transistores bipolares de junção (TBJ) com Vbe = 0,7 V, beta = 100 e Vce(saturação) = 0,2 V. Além disso, considere que Vcc = 3 V para o MSP430, e que este não pode fornecer mais do que 10 mA por porta digital. (1,25 pontos)
6. Desenhe o hardware necessário para o MSP430 controlar via pino P1.6 um motor DC de 10V e 1,5A. Utilize transistores bipolares de junção (TBJ) com Vbe = 0,7 V e beta = 120. Além disso, considere que Vcc = 3,5 V para o MSP430, e que este não pode fornecer mais do que 10 mA por porta digital. (2,5 pontos)
7. Defina a função void ConfigPWM(volatile unsigned int freqs, volatile unsigned char ciclo_de_trabalho); para configurar e ligar o Timer_A em modo de comparação, a fim de controlar o motor DC da questão anterior. Considere que o pino P1.6 já foi anteriormente configurado como saída do canal 1 de comparação do Timer_A, que somente os valores {100, 200, 300, …, 1000} Hz são válidos para a frequência, que somente os valores {0, 25, 50, 75, 100} % são válidos 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 semáforos 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 função void EscreveDigito(volatile char dig); que escreve um dos dígitos 0x0-0xF em um único display de 7 segmentos via porta P1, baseado na figura abaixo. Considere que em outra parte do código 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)
1
10. Faça o programa completo que lê um byte de entrada serialmente via pino P2.0 e transmite este byte via porta P1. O sinal serial começa com um bit em nivel alto, depois os bits na ordem 0-7 e termina com um bit em nível baixo. Os pinos P1.0-P1.7 deverão corresponder aos bits 0-7, respectivamente. Considere um período de 1 ms entre os bits. (2,5 pontos)
2
Registradores do MSP430
Reg. Uso Exemplo
PxDIRDefine se o pino correspondente ao bit será de entrada (bit = 0) ou de
saída (bit = 1).
Se PxDIR = 0xF,os pinos Px.0-Px.3 são definidos como saída,
e Px.4-Px.7 são definidos como entrada.
PxREN Habilita o resistor de pull-up/down correspondente ao bit.
Se PxREN = 0xF, somente os resistores de pull-up/ldown nos pinos Px.0-Px.3 são habilitados.
PxOUT Escreve o valor no pino de saída correspondente ao bit.
Se PxOUT = 0xF, os pinos Px.0-Px.3 são levados para nível alto, e Px.4-Px.7 são levados para nível baixo.
PxOUTDefine se o resistor correspondente ao bit será de pull-up (bit = 1) ou de
pull-down (bit = 0).
Se PxREN = 0xFF e PxOUT = 0xF,os pinos Px.0-Px.3 terão resistores de pull-up,
e Px.4-Px.7 terão resistores de pull-down.
PxIN Reflete o valor do pino de entrada correspondente ao bit.
Se PxIN = 0xF, os pinos Px.0-Px.3 estãoem nível alto, e Px.4-Px.7 estão em nível baixo.
3
4