Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Universidade Federal do Ceará - Campus de Sobral Disciplina: MICROPROCESSADORES Trabalho nº 1 Curso: Engenharia Elétrica Professor: Marcelo Marques simoes de Souza Data: 09/10/2022 Estudantes: Matrículas: Nota: Paulo Henrique Sousa Melo 432129 1. Introdução Quando tratamos de microprocessadores, principalmente em seu uso acessível para manipular e controlar alguma ação por meio da comunicação com componentes. Dessa forma, o tipo de controle que mais vem sendo utilizando em automação ou até mesmo circuitos para realização de tarefas simples com o aperta de um botão. Existem diversas marcas, modelos e tamanhos deste componente, por isso um artigo é de grande utilidade para nos guiar nesse mar de informação. Vamos aborda sobre o micro controladores “PIC” é a sigla, em inglês, para Programmable Interface Controller, que, em português, significa “Controlador de interface programável”. Já pelo nome conseguimos perceber que esse componente se trata de um meio manipulável de controlar outros objetos eletrônico por uma interface, que iremos abordar em breve. Entretanto, com passar do tempo, tornou-se mais comum se referir ao componente por sua abreviação, “PIC”. A empresa responsável pela criação do PIC foi a Microchip Technology, que, fundada em 1989, é uma das principais empresas norte americanas no ramo de semicondutores. Todos PIC’s são descendentes do pic1650 e possuem uma arquitetura Harvard, que tem como principal característica o acesso à memória de dados de modo separado da memória de programa. 2. Objetivo do Trabalho O objetivo da prática é que, aprender a programa os microprocessadores utilizando a linguagem em assemble entendendo a lógica utilizada para usar os comandos certos para execuções de ações dentro do micro. Aprender a utilizar as plataformas MPLABX e o Protheus para elaboração de projetos com microprocessadores. 3. Equipamentos utilizados Microprocessador PIC18f4550 MPLABX (Site) Protheus (Site ) 4. Código em assemble #include "pic18f4550.inc" config fosc = xt_xt config wdt = off config lvp = off 2 ;*************************** ;* DECLARAÇÃO DAS VARIAVEIS* ;*************************** VARIAVEIS UDATA_ACS 0 CONT1 RES 1 ;REGISTRADOR DE MEMORIA CONT2 RES 1 ;REGISTRADOR DE MEMORIA SW1 EQU .0 ; PINO RC0 SW2 EQU .1 ; PINO RC1 RES_VECT CODE 0X0000 GOTO START MAIN_PROG CODE ;********************** ;* INICIO DO PROGRAMA * ;********************** START CLRF CONT1 ; ZERANDO A VARIAVEL CONT1 CLRF CONT2 ; ZERANDO A VARIAVEL CONT2 CLRF AUX ; TESTE CLRF TRISD ; DECLARANDO A PORTD COMO SAIDA BSF TRISC,SW1 ; CONFIGURANDO A PORTA RC0 COMO ENTRADA BSF TRISC,SW2 ; CONFIGURANDO A PORTA RC1 COMO ENTRADA CLRF PORTD ; ZERA PORTD ; ROTINA LOOP BTFSC PORTC,SW1 ; VERIFICA SE SW1 ESTA PRESSSIONADO, E PULA SE NÃO ESTIVER BRA LOOPA BRA LOOPB LOOPA ; CASO EM QUE KEY1 BTFSC PORTC,SW2 ; VERIFICANDO SE SW2 ESTA PRESSIONADA, E PELA SE NÃO ESTIVER BRA LOOPC BRA LOOPD LOOB ; CASO EM QUE SW1 NÃO É PRESSIONADA BRA LOOPE BRA LOOPF LOOPC ; CASO EM QUE AS DOIS BOTÃO ESTÃO PRESIIONADOS GOTO LOOP LOOPD ; CASO EM QUE SOMENTE A SW2 ESTA PRESSIONADA CALL INCREMENT GOTO LOOP LOOPF ; CASO EM QUE NUNHUMA CHAVE É PRESSIONADA GOTO LOOP ; SUB-ROTINAS INCREMENT CALL DELAY200MS CALL DELAY200MS CALL DELAY200MS 3 CALL DELAY200MS CALL DELAY200MS BTFSC PORTC,SW1 ; CASO O BOTÃO TENHA PARADO DE SER APERTADO,PULA PARA A PROXIMA INCF AUX ;INCREMENTA PORTD MOVFF AUX , PORTD RETURN ; RETORNA PARA A ULTIMA POSIÇÃO ANTES DA FUNÇÃO DECREMENT CALL DELAY200MS CALL DELAY200MS CALL DELAY200MS CALL DELAY200MS CALL DELAY200MS BTFSC PORTC,SW2 ; CASO O BOTÃO TENHA PARADO DE SER APERTADO,PULA PARA A PROXIMA DECF AUX ; DECREMENTA PORTD MOVFF AUX , PORTD RETURN ; RETORNA PARA A ULTIMA POSIÇÃO ANTES DA FUNÇÃO ;********************* ;* FUNÇÃO QUE ATRASA * ;********************* DELAY2OOMS MOVLW .200 ;COLOCA O VALOR 200 NO REGISTRADOR MOVWF CONT2 ; PASSA O VALOR 200 DO REGISTRADOR PARA VERIAVEL CONT2 DELAYM CALL DELAY200U ;CHAMA A FUNÇÃO DE DELAY DE 200us CALL DELAY200U ;CHAMA A FUNÇÃO DE DELAY DE 200us CALL DELAY200U ;CHAMA A FUNÇÃO DE DELAY DE 200us CALL DELAY200U ;CHAMA A FUNÇÃO DE DELAY DE 200us CALL DELAY200U ;CHAMA A FUNÇÃO DE DELAY DE 200us DECFSZ CONT2 ;DECREMENTA CONT2 E PULA CASO SEJA 0 BRA DELAYM ; VOLTA PARA A SUBROTINA DELAYM RETURN ; RETORNA PARA A ULTIMA POSIÇÃO ANTES DA FUNÇÃO DELAY200U MOVLW .48 ; COLOCA O VALOR 48 NO REGISTRADOR MOVWF CONT1 ; PASSA O VALOR 48 DO REGISTRAOR PARA VARIAVEL CONT1 DELAY NOP ;NÃO FAZ NADA POR 1 CICLO DE CLOCK DECFSZ CONT1 ;DECREMENTA CONT1 E PULA CASO SEJA 0 BRA DELAY ;RETORNA PARA A ULTIMA POSIÇÃO ANTES DA FUNÇÃO RETURN ; RETORNA PARA A ULTIMA POSIÇÃO ANTES DA FUNÇÃO END PROJETO DO PROTEUS 4 Fonte: Próprio autor. 5. Conclusão O trabalho, portanto, destaca um papel essencial do microprocessador para a execução de pequenos projetos, pois permite um estudo controlado das condições de interesse, de modo a possibilitar a criatividade de cada um para a sua implementação. Além disso, os trabalhos, juntamente com a elaboração do projeto, foram importantes para a fixação de conceitos apresentados nas aulas teóricas da disciplina.
Compartilhar