·

Engenharia Eletrônica ·

Outros

Send your question to AI and receive an answer instantly

Ask Question

Preview text

3 1 Construa um sistema embarcado simples que opere com uma frequência de processamento de 4MHz Se o botão 1 for pressionado e depois solto a lâmpada deve alternar seu funcionamento se esta ligada deve desligar e viceversa Obs1 a lâmpada LAMP deve ser configurada com 12V e resistência de 20Ω Obs2 se necessário utilize o transistor BC547 O esquemático desenvolvido no software de simulação Proteus para a implementação do exercício 1 é apresentado na Figura 1 Figura 1 Sistema embarcado proposto no exercício 1 Fonte Elaborado pelos autores A programação para o microcontrolado é apresentada abaixo includeP18F4550h Configurações pragma config FOSC INTOSCHS pragma config IESO OFF pragma config PWRT ON pragma config WDT OFF pragma config PBADEN OFF pragma config LVP OFF pragma config BOR OFF void main void 4 OSCCONbitsIRCF21 OSCCONbitsIRCF11 OSCCONbitsIRCF00 OSCCONbitsSCS11 TRISDbitsTRISD0 0 TRISBbitsTRISB0 1 for ifPORTBbitsRB00PORTDbitsRD0PORTDbitsRD0 whilePORTBbitsRB00 5 2 Construa um sistema no Proteus para realizar as tarefas abaixo a Um dispositivo controle remoto formado por bateria botão resistor e led Quando o botão é apertado o led acende Obs1 utilize o led do circuito integrado PC817 Obs2 considerando a tensão no LED do PC817 igual a 1V a corrente sobre o mesmo deve ser 1mA O esquemático desenvolvido no software de simulação Proteus para a implementação do exercício 2 é apresentado na Figura 2 Figura 2 Sistema embarcado proposto no exercício 2 A programação para o microcontrolado é apresentada abaixo includeP18F4550h Configurações pragma config IESO OFF pragma config PWRT ON pragma config WDT OFF pragma config PBADEN OFF pragma config LVP OFF pragma config BOR OFF pragma config FOSCHS pragma config CPUDIVOSC1PLL2 6 pragma interrupt PriorityISR unsigned long int cont0 Interrupção com prioridade pragma code highvector0x08 Vetor de interrupção de alta prioridade void interruptathighvectorvoid asm GOTO PriorityISR endasm Função de tratamento de interrupção pragma code void PriorityISRvoid INTCONbitsINT0IF 0 Configura o flag para 0 PORTDbitsRD0 1 void main void TRISDbitsTRISD0 0 Configura pino RD0 como saída TRISBbitsTRISB0 1 Configura pino RB0 como entrada Configurando Interrupção RCONbitsIPEN 1 Habilitando a interrupção INTCONbitsGIEH 1 Interrupção de alta prioridade INTCONbitsINT0IE 1 Habilita interrupção no botão INT0 INTCONbitsINT0IF 0 Configura o flag para 0 INTCON2bitsINTEDG0 0 Interrupção na borda de subida do botão 7 b Um dispositivo formado por bateria microcontrolador PIC18F4550 LED e fototransistor O microcontrolador deve fazer o LED piscar na seguinte sequência acende aguarda apaga aguarda acende aguarda apaga Em seguida o microcontrolador deve entrar no modo SLEEP Se o fototransistor for acionado o microcontrolador deve sair do modo SLEEP e piscar o LED novamente na sequência entrando novamente no modo SLEEP Obs1 utilize o fototransistor do circuito integrado PC817 Obs2 considerando a tensão no LED igual a 22V a corrente sobre o mesmo deve ser 10mA Obs3 o sistema deve operar com uma frequência de 10MHz a partir de um cristal com a mesma frequência O esquemático desenvolvido no software de simulação Proteus para a implementação do exercício 2 é apresentado na Figura 3 Figura 3 Sistema embarcado proposto no exercício 2 A programação para o microcontrolado é apresentada abaixo includeP18F4550h Configurações pragma config IESO OFF pragma config PWRT ON pragma config WDT OFF pragma config PBADEN OFF pragma config LVP OFF pragma config BOR OFF 8 pragma config FOSCHS pragma config CPUDIVOSC1PLL2 pragma interrupt PriorityISR unsigned long int cont0 Interrupção com prioridade pragma code highvector0x08 Vetor de interrupção de alta prioridade void interruptathighvectorvoid asm GOTO PriorityISR endasm Função de tratamento de interrupção pragma code void PriorityISRvoid INTCONbitsINT0IF 0 Configura o flag para 0 PORTDbitsRD0 1 forcont0cont50000cont PORTDbitsRD0 0 forcont0cont50000cont PORTDbitsRD0 1 forcont0cont50000cont PORTDbitsRD0 0 forcont0cont50000cont Sleep void main void TRISDbitsTRISD0 0 Configura pino RD0 como saída TRISBbitsTRISB0 1 Configura pino RB0 como entrada OSCCONbitsIDLEN 0 Habilita o modo SLEEP Configurando Interrupção RCONbitsIPEN 1 Habilitando a interrupção INTCONbitsGIEH 1 Interrupção de alta prioridade INTCONbitsINT0IE 1 Habilita interrupção no botão INT0 INTCONbitsINT0IF 0 Configura o flag para 0 INTCON2bitsINTEDG0 0 Interrupção na borda de subida do botão PORTDbitsRD0 1 forcont0cont50000cont PORTDbitsRD0 0 forcont0cont50000cont PORTDbitsRD0 1 forcont0cont50000cont PORTDbitsRD0 0 forcont0cont50000cont Sleep 9 3 Construa um sistema no Proteus para realizar as seguintes tarefas a Um dispositivo controle remoto é formado por bateria botão resistor e led Quando o botão é apertado o led acende Obs1 utilize o led do circuito integrado PC817 Obs2 considerando a tensão no LED do PC817 igual a 1V a corrente sobre o mesmo deve ser 1mA O esquemático desenvolvido no software de simulação Proteus para a implementação do exercício 3 é apresentado na Figura 4 Figura 4 Sistema embarcado proposto no exercício 3 b Um dispositivo formado por uma fonte microcontrolador PIC18F4550 motor de passo e fototransistor O microcontrolador deve ser iniciado parado Fazer o motor de passo girar a direita continuamente caso o fototransistor seja acionado apenas uma vez em uma janela de tempo de 2 segundos Fazer o motor de passo girar a esquerda continuamente caso o fototransistor seja acionado duas vezes em uma janela de tempo de 2 segundos Fazer o motor de passo parar caso o fototransistor seja acionado três vezes em uma janela de tempo de 2 segundos Obs1 utilize o modelo MOTORBISTEPPER como motor de passo Obs2 utilize o fototransistor do circuito integrado PC817 10 Obs3 o sistema deve operar com uma frequência de 24MHz a partir de um cristal com frequência de 8MHz O esquemático desenvolvido no software de simulação Proteus para a implementação do exercício 3 é apresentado na Figura 5 Figura 5 Sistema embarcado proposto no exercício 3 A programação para o microcontrolado é apresentada abaixo includeP18F4550h Configurações pragma config IESO OFF pragma config PWRT ON pragma config WDT OFF pragma config PBADEN OFF pragma config LVP OFF pragma config BOR OFF pragma config FOSCHSPLLHS pragma config PLLDIV 2 11 pragma config CPUDIVOSC3PLL4 pragma interrupt PriorityHISR pragma interrupt PriorityLISR variavel global unsigned long int cont0 op0 ct0 Interrupção de alta prioridade pragma code highvector0x08 Vetor de interrupção de alta prioridade void interruptathighvectorvoid asm GOTO PriorityHISR endasm Função de tratamento de interrupção pragma code void PriorityHISRvoid INTCONbitsINT0IF 0 cont if cont 1 INTCONbitsTMR0IF 0 T0CONbitsTMR0ON 1 TMR0H 74 TMR0L 89 Interrupção de baixa prioridade pragma code lowvector0x18 void interruptatlowvectorvoid asm GOTO PriorityLISR endasm Função de tratamento de interrupção pragma code void PriorityLISRvoid INTCONbitsTMR0IF 0 T0CONbitsTMR0ON 0 switch cont case 1 op 1 cont 0 break case 2 op 2 cont 0 12 break default op 3 cont 0 break void main void Configuração das portas TRISD 0 TRISBbitsTRISB0 1 Configurando Interrupção RCONbitsIPEN 1 INTCONbitsGIE1 INTCONbitsGIEH 1 INTCONbitsGIEL 1 INTCONbitsINT0IE 1 INTCONbitsINT0IF 0 INTCON2bitsINTEDG0 1 INTCONbitsTMR0IE 1 T0CON 0b00000111 INTCON2bitsTMR0IP 0 INTCONbitsTMR0IF 0 for ifop1 PORTDbitsRD0 1 PORTDbitsRD1 0 PORTDbitsRD2 0 PORTDbitsRD3 0 forct0ct180000ct PORTDbitsRD0 0 PORTDbitsRD1 1 PORTDbitsRD2 0 PORTDbitsRD3 0 forct0ct180000ct PORTDbitsRD0 0 PORTDbitsRD1 0 PORTDbitsRD2 1 PORTDbitsRD3 0 forct0ct180000ct PORTDbitsRD0 0 PORTDbitsRD1 0 PORTDbitsRD2 0 PORTDbitsRD3 1 forct0ct180000ct 13 ifop2 PORTDbitsRD0 0 PORTDbitsRD1 0 PORTDbitsRD2 0 PORTDbitsRD3 1 forct0ct180000ct PORTDbitsRD0 0 PORTDbitsRD1 0 PORTDbitsRD2 1 PORTDbitsRD3 0 forct0ct180000ct PORTDbitsRD0 0 PORTDbitsRD1 1 PORTDbitsRD2 0 PORTDbitsRD3 0 forct0ct180000ct PORTDbitsRD0 1 PORTDbitsRD1 0 PORTDbitsRD2 0 PORTDbitsRD3 0 forct0ct180000ct ifop3 PORTDbitsRD0 0 PORTDbitsRD1 0 PORTDbitsRD2 0 PORTDbitsRD3 0