Vous êtes sur la page 1sur 9

Lista de exerccios de microcontroladores I

Exerccio 1) Elaborar o fluxograma e o programa em C para setar todos os pinos do PORTB quando o bit 2 do PORTA estiver em nvel lgico alto, e resetar todos os pinos do PORTB quando o bit 2 do PORTA estiver em nvel lgico baixo. Exerccio 2) Elaborar o fluxograma e o programa em C para enviar o estado dos pinos do PORTC para o PORTB. Isto deve ocorrer toda vez que o bit 0 do PORTA estiver em nvel lgico alto. Exerccio 3) Elaborar o fluxograma e o programa em C para mostrar no PORTC apenas o estado dos quatro bits menos significativos do PORTB. Isto deve ocorrer toda vez que bit 3 do PORTA estiver energizado. Exerccio 4) Elaborar o fluxograma e o programa em C para mostrar nos 4 bits menos significativos do PORTB o estado dos 4 bits mais significativos do PORTC. Isto deve ocorrer toda vez que o bit 0 do PORTA estiver em nvel lgico baixo Circuito Base para os exerccios abaixo.

Lista de exerccios de microcontroladores I

Exerccio 5) Elaborar o fluxograma e o programa em C para incrementar de 1 o valor de uma varivel toda vez que o push-button conectado S1 for pressionado. O valor em binrio desta varivel deve ser mostrado constantemente nos leds conectados no PORTB. Exerccio 6) Elaborar o fluxograma e o programa em C para incrementar de 1 o valor de uma varivel toda vez que o push-button S1 for pressionado e decrementar de 1 toda vez que o push-button S2 for pressionado. O valor desta varivel deve ser mostrado constantemente nos leds conectados no PORTB. Exerccio 7) Elaborar o fluxograma e o programa e C para ascender oito leds numa determinada seqncia. Os oito leds esto conectados aos pinos de PORTB do micro-controlador e devem ser acesos obedecendo a seqncia mostrada na tabela abaixo. O sistema deve avanar para o estado seguinte a cada pulso dado no boto S1. Estando no estado 7 e um pulso dado no S1 deve-se voltar para o estado 0. Estado 0 1 2 3 4 5 6 7 Exerccio 8) Modificar o exerccio 7 de forma avanar entre os estados quando o boto S1 for pressionado e retroceder quando o boto S2 for pressionado. LED7 0 0 0 0 0 0 0 1 LED6 0 0 0 0 0 0 1 0 LED5 0 0 0 0 0 1 0 0 LED4 0 0 0 0 1 0 0 0 LED3 0 0 0 1 0 0 0 0 LED2 0 0 1 0 0 0 0 0 LED1 0 1 0 0 0 0 0 0 LED0 1 0 0 0 0 0 0 0

Lista de exerccios de microcontroladores I

Circuito Base para os exerccios abaixo.

Exerccio 9) Projetar um contador digital de peas onde o total de peas produzidas deve ser mostrado em um display de sete segmentos. No esquema acima o pushbutton S1 representa o sensor de peas, deste modo, a cada pulso dado no pushbutton S1 o valor mostrado no display de sete segmentos deve ser incrementado de um. Obs.: Implementar somente o contador de unidade. Exerccio 10) Implementar no exerccio acima o contador de unidade, dezena e centena. Exerccio 11) Implementar no exerccio acima um boto de reset S3 para zerar o contador. Exerccio 12) Tendo como base o esquema acima, projete um contador crescente e decrescente. O valor do contador deve ser mostrado nos displays de sete segmentos. O boto S1 incrementa o valor do contador, o boto S2 decrementa e o boto S3 utilizado para zerar o contador.

Resoluo do exerccio 1 da lista

Incio

OSCCON=0x72 TRISA=0xff ANSEL0=0x00 TRISB=0x00

RA2=1

PORTB=0xff

PORTB=0x00

Resoluo do exerccio 2 da lista

Incio

OSCCON=0x72 TRISA=0xff TRISB=0x00 TRISC=0xff ANSEL0=0x00

RA0=1

s PORTB=PORTC

Resoluo do exerccio 3 da lista

Incio

OSCCON=0x72 TRISA=0xff TRISB=0xff TRISC=0x00 ANSEL0=0x00

RA3=1

PORTC=PORTB & 0x0f

Resoluo do exerccio 4 da lista

Incio

OSCCON=0x72 TRISA=0xff ANSEL0=0x00 TRISB=0x00

RA0=0

s PORTB=PORTC*16

Resoluo do exerccio 5 da lista

Incio Definio de variveis unsigned char count unsigned char flag_RA0 OSCCON=0x72 TRISA=0xff ANSEL0=0x00 TRISB=0x00

count=0 flag_RA0=0

RA0=1 e flag_RA0=0 s count=count+1 flag_RA0=1

RA0=0

s flag_RA0=0

PORTB=count

Resoluo do exerccio 6 da lista

Incio

Definio de variveis unsigned char count unsigned char flag_RA0 unsigned char flag_RA1

OSCCON=0x72 TRISA=0xff ANSEL0=0x00 TRISB=0x00

count=0 flag_RA0=0

RA0=1 e flag_RA0=0 s count=count-1 flag_RA0=1

RA1=1 e flag_RA1=0 s count=count+1 flag_RA1=1

RA0=0

s flag_RA0=0

RA1=0

s flag_RA1=0

PORTB=count

Vous aimerez peut-être aussi