Вы находитесь на странице: 1из 2

Questes 1.Considere o trecho de programa abaixo.

Digite-o no IDE PIC C Compiler e verifique seu funcionamento no circuito que vai em anexo. Aps isso, faa as modificaes necessrias para que o acionamento dos LED's ocorra tanto na direo: b0->b1->b2->b3->b4->b5->b6->b7 como na direo oposta b7->b6->b5->b4->b3->b2->b1->b0. Ou seja, o LED aceso deve IR e VIR na sequencia especificada acima. No programa original, o LED aceso apenas VAI.

PROGRAMA: #include <16F877A.h> #fuses HS #use delay (clock=20M)

main() { while(true) { output_B(0b00000001); //O comando output_B( ) joga o valor binrio escrito delay_ms(100); //entre os parnteses na porta B. output_B(0b00000010); delay_ms(100); output_B(0b00000100); delay_ms(100); output_B(0b00001000); delay_ms(100); output_B(0b00010000); delay_ms(100); output_B(0b00100000); delay_ms(100); output_B(0b01000000); delay_ms(100); output_B(0b10000000); delay_ms(100); } }

2.Considere o trecho de programa abaixo. Digite-o no IDE PIC C Compiler e verifique seu funcionamento no circuito que vai em anexo. Aps isso, faa as modificaes necessrias para que o acionamento dos LED's ocorra conforme a questo anterior. Alm disso, insira os comentrios no programa para explicar o seu funcionamento.

PROGRAMA: #include <16F877A.h> #fuses HS #use delay (clock=20M) int numero; main() { while(true) { numero=1; while(numero!=0) //O teste realizado aqui para verificar se a varivel { //numero diferente de 0. output_B(numero); delay_ms(100); numero=numero*2; } } }

Вам также может понравиться