Baixe o app para aproveitar ainda mais
Prévia do material em texto
ABRAMO RIBEIRO MARCHESE MARCIO LUIS PETRY JONATAS LOUREIRO DE ALMEIDA JUNIOR SENSOR DE ESTACIONAMENTO UTILIZANDO MSP430 Atividade Pratica Supervisionada, apresentado à disciplina de Sistemas Microcontrolados, do Curso de Engenharia da Computação da Coordenação de Engenharia da Computação– COENC – da Universidade Tecnológica Federal do Paraná – UTFPR, Campus Pato Branco, como avaliação parcial da disciplina. Orientadora: Prof. Dr. Fabio Luiz Bertotti PATO BRANCO 2014 SUMÁRIO 1. Introdução ............................................................................................................. 3 2. Materiais e metodos.............................................................................................. 4 2.1 Materiais Utilizados ........................................................................................ 4 2.2 Métodos ......................................................................................................... 4 3. Fundamentação Teórica ....................................................................................... 6 4. Desenvolvimento .................................................................................................. 7 4.1 O Sensor HC-SR04 ........................................................................................ 7 4.2 Aquisição da distância .................................................................................... 8 4.3 Lógica para acionamento de led’s e Buzzer ................................................. 10 4.4 Definição da base de tempo para o Buzzer ................................................. 11 5. Conclusão ........................................................................................................... 15 6. Referências ......................................................................................................... 16 1. INTRODUÇÃO O sensor de estacionamento é um dispositivo utilizado em veículos automotores com a finalidade de evitar colisões com outros veículos ou obstáculos, durante o estacionamento. É comumente instalado no para-choque dos veículos e se caracteriza por utilizar sensores para capturar a distância até o obstáculo e informá-la ao usuário através de indicações visuais ou sonoras. Se utilizados bips como sinal sonoro, conforme o veiculo se aproxima do obstáculo os mesmos se tornam mais frequentes e a indicação visual apresentará ao condutor informações como, por exemplo, qual lateral do veiculo está mais próxima de algum obstáculo se for o caso.Alguns modelos comerciais mais simples apresentam problemas quando instalados em veículos com para-choque metálico, pois as ondas que se propagam pelo metal – sinais e ruídos provenientes de outros dispositivos - geram interferência nos sensores que capturam a distância. Nesses casos usam-se sensores de melhor qualidade e robustez, o que contorna o problema, mas passa a ser mais oneroso ao consumidor. O objetivo elencado é o desenvolvimento de um sensor de estacionamento utilizando um kit de desenvolvimento LaunchPad, com microcontrolador msp430g2553, 5 leds indicativos que indicam os níveis de distância do obstáculo e um buzzer que emite os bips de alerta. O sensor deve reconhecer distâncias de até 1 metro e empregar uma lógica própria para sinalizá-las corretamente ao condutor. 2. MATERIAIS E MÉTODOS 2.1 MATERIAIS UTILIZADOS • Sensor ultrassônico HC-SR04; • Kit desenvolvimentolaunchpad MSP430g2553 • Buzzer (3-5v); • Protoboard ( Mariz de contato ); • Fiosoujampers; • 5 Resistores de 220Ω • 5 Leds 2.2 MÉTODOS Utilizou-se o Code Composer Studio v5 para compilar e depurar o código enviado para o Kit de Desenvolvimento pela porta USB do computador que também prove a alimentação do circuito. Inicialmente fez-se as conexões dos leds, resistores e buzzer nas portas de saída do Kit de Desenvolvimento e o sensor ultrassônico na porta de entrada utilizando a protoboard (matriz de contato) conforme diagrama abaixo: Figura 1 – Diagrama elétrico do circuito projetado O sensor ultrassônico HC-SR04 deve ser conectado ao Kit de Desenvolvimento respeitando a pinagem VCC, Trigger, Echo e GND. O buzzer deve ser polarizado corretamente para funcionar, onde o pino maior é o positivo ligado na saída do Kit e o GND é o comum. Para a construção do diagrama elétrico da Figura 1 utilizou-se o programa Fritzing, destinado a construção de diagramas elétricos e desenhos (Sketch’s) de aplicações que se utilizem de hardware e dispositivos eletrônicos. Também utilizou-se o programa Visual Paradigm for UML CommunityEdition na modelagem do diagrama de máquina de estados do projeto, que se encontra na Figura 5. 3. FUNDAMENTAÇÃO TEÓRICA O Kit de Desenvolvimento MSP430 LaunchPad fabricado pela Texas Instruments (TI) tem como principal objetivo ser uma plataforma de desenvolvimento simples, de baixo consumo de energia e principalmente de baixo custo. Apresenta uma ferramenta de emulação on-board permitindo interface direta a um PC para uma fácil programação, depuração e avaliação. Os microcontroladores MSP430, possuem uma arquitetura RISC de 16 bit construídos utilizando a arquitetura de Von-Neumann em conjunto com um sistema de clock flexível e vários tipos de periféricos analógicos e digitais, o que provê soluções para uma vasta gama de aplicações. O sensor ultrassônico HC-SR04 funciona como detector de objetos com uma distancia detectável de 2 a 450 centímetros com grande precisão. Seu funcionamento é simples e é dividido em duas partes, um receptor e um emissor. O circuito emissor gera uma onda senoidal de 40KHz e o receptor tem um filtro amplificador com saída ligada ao pinoEcho. O pino Trigger normalmente deve estar em nível baixo e para iniciar uma leitura de distância, o mesmo deve ser colocado em nível alto por 10us e retornar para nível baixo em seguida. Neste momento, 8 pulsos de 40kHz são emitidos e basta verificar o tempo em que o pino Echo permaneceu em nível alto e em seguida implementar a fórmula para obter a distância. O buzzer nada mais é do que um pequeno alto-falante capaz de emitir sons em diversas frequências. É normalmente é usado em projetos que necessitam de avisos sonoros, relógios com alarme, e até para reproduzir músicas. Composto de 2 camadas de metal e uma camada interna de cristal piezoelétrico. Ao ser alimentado com uma fonte de sinal, vibra em frequência estabelecida pelo fabricante. Sua vantagem em relação a alto-falantes comuns é que consome pouca energia em relação à potência sonora, sendo facilmente alimentado com pequenas baterias. 4. DESENVOLVIMENTO O projeto proposto consiste na construção de um sistema micro controlado capaz de controlar o funcionamento de um sensor ultrassônico para medir a distância até um objeto qualquer. Com essa distancia deve-se atuar logicamente sobre um conjunto de leds e um buzzer de modo a simular um sensor de estacionamento comercial. Tendo em vista o escopo do problema e os dispositivos a serem utilizados, separou-se o seu desenvolvimento em duas partes principais: a medição da distância e a lógica de acionamento de buzzer e leds. Para concretizar a primeira parte foi necessário entender o funcionamento do sensor HC-SR04, o que foi possível analisando seu datasheet e os sinais envolvidos em seu funcionamento com osciloscópio. 4.1 O SENSOR HC-SR04 Esse sensor utiliza-se de sonar para determinar a distância até um objeto que esteja colocado em sua área de alcance. Essa é a mesma técnica utilizada no mundo animal por golfinhos e morcegos. Figura 2 - Sensor HC-SR04 O sensorilustrado na Figura 2 possui quatro pinos: VCC, Trigger, Echo, GND. Sendo os pinos mais externos utilizados na alimentação do circuito interno que controla o sensor, e os pinos Trigger e Echo utilizados para comunicação e transferência de informações entre o sensor e um dispositivo microcontrolado qualquer. O sinal de Trigger seja, uma vez que esse sinal é processado pelo sensor, o mesmo envia uma sequência de 8 pulsos ultrassônicos de 40kHz que atingem um obstáculo e retornam ao sensor, sendo possível lê calculada com base no tempo de permanência em nível alto do sinal que retorna ao sensor. Além disso, deve nível alto por pelo menos 10us. Esse sinal deve ser repe de medida, e o intervalo recomendado pelo fabricante para envio periódico do sinal é de 60ms. Segue abaixo um diagrama de tempo contendo os sinais inerentes ao funcionamento do sensor: Figura 4.2 AQUISIÇÃO DA DISTÂNC O primeiro desafio encontrado no projeto foi o fato de o sensor ultrassônico exigir tensão de alimentação de 5v e o Kit Launchpad fornecer apenas 3.3v. Para contornar esse fato foi necessário conectar o sensor a uma fonte d alimentação externa, porém a alimentação USB do Kit é de 5v, utilizou marcações TP3 e TP1 para conectar os pinos GND e VCC, respectivamente. transferência de informações entre o sensor e um dispositivo microcontrolado Trigger (gatilho) serve como ativador de funcionamento, ou seja, uma vez que esse sinal é processado pelo sensor, o mesmo envia uma sequência de 8 pulsos ultrassônicos de 40kHz que atingem um obstáculo e retornam ao sensor, sendo possível lê-los através do pino Echo. A distância pode então ser calculada com base no tempo de permanência em nível alto do sinal que retorna ao Além disso, deve-se saber que o sinal de Trigger deve permanecer em nível alto por pelo menos 10us. Esse sinal deve ser repetido a cada nova aquisição de medida, e o intervalo recomendado pelo fabricante para envio periódico do sinal é de 60ms. Segue abaixo um diagrama de tempo contendo os sinais inerentes ao funcionamento do sensor: Figura 3 - Diagrama de tempo para sinais do sensor AQUISIÇÃO DA DISTÂNCIA O primeiro desafio encontrado no projeto foi o fato de o sensor ultrassônico exigir tensão de alimentação de 5v e o Kit Launchpad fornecer apenas 3.3v. Para contornar esse fato foi necessário conectar o sensor a uma fonte d alimentação externa, porém a alimentação USB do Kit é de 5v, utilizou marcações TP3 e TP1 para conectar os pinos GND e VCC, respectivamente. transferência de informações entre o sensor e um dispositivo microcontrolado (gatilho) serve como ativador de funcionamento, ou seja, uma vez que esse sinal é processado pelo sensor, o mesmo envia uma sequência de 8 pulsos ultrassônicos de 40kHz que atingem um obstáculo e retornam A distância pode então ser calculada com base no tempo de permanência em nível alto do sinal que retorna ao deve permanecer em tido a cada nova aquisição de medida, e o intervalo recomendado pelo fabricante para envio periódico do sinal é de 60ms. Segue abaixo um diagrama de tempo contendo os sinais inerentes ao o sensor O primeiro desafio encontrado no projeto foi o fato de o sensor ultrassônico exigir tensão de alimentação de 5v e o Kit Launchpad fornecer apenas 3.3v. Para contornar esse fato foi necessário conectar o sensor a uma fonte de alimentação externa, porém a alimentação USB do Kit é de 5v, utilizou-se as marcações TP3 e TP1 para conectar os pinos GND e VCC, respectivamente. Com o sensor devidamente alimentado o plano para a aquisição da distância foi o seguinte: 1. Utilizar um Timer para a geração do sinal (PWM) de Trigger; 2. Utilizar outro Timer no modo captura e comparação para: 2.1. Na borda de subida do sinal Echo, salvar o valor do registrador TaxCCR0 e mudar o Timer para detecção de borda de descida; 2.2. Na borda de descida do sinal Echo Timer para detecção de borda de subida; Para a criação do sinal de Trigger utilizou modo a gerar o sinal PWM desejado (Modo contínuo em nível baixo). Como foi definido um período T de 60ms e sabendo que o sinal de clock do timer em questão é de 1MHz, definiu segue: Nota-se que para cada valor de N o intervalo de tempo de 1us, logo TA0CCR1 = 9 para garantir os 10us em nível alto. Figura O tratamento do sinal de retorno ( modo de captura e comparação. O Timer é inicialmente configurado para geração de interrupção na detecção de uma borda de subida. Então o código é desviado para a rotina de tratamento de interrupção adequada que conta Com o sensor devidamente alimentado o plano para a aquisição da r para a geração do sinal (PWM) de Trigger; Utilizar outro Timer no modo captura e comparação para: Na borda de subida do sinal Echo, salvar o valor do registrador TaxCCR0 e mudar o Timer para detecção de borda de descida; Na borda de descida do sinal Echo, fazer o cálculo da distância e mudar o Timer para detecção de borda de subida; Para a criação do sinal de Trigger utilizou-se o Timer A0 configurado de modo a gerar o sinal PWM desejado (Modo contínuo – Set/reset omo foi definido um período T de 60ms e sabendo que o sinal de clock do timer em questão é de 1MHz, definiu-se TA0CRR0 e TA0CCR1, conforme � � � ∗ ��� �� �_ �� � 1 � � 60� ∗ 2� 2 � 1 � 59999 se que para cada valor de N o intervalo de tempo de 1us, logo TA0CCR1 = 9 para garantir os 10us em nível alto. Figura 4 - Sinal PWM gerado pelo Timer A0 O tratamento do sinal de retorno (Echo) foi feito pelo Timer A1 utilizando o modo de captura e comparação. O Timer é inicialmente configurado para geração de interrupção na detecção de uma borda de subida. Então o código é desviado para a rotina de tratamento de interrupção adequada que conta com uma lógica inversora, Com o sensor devidamente alimentado o plano para a aquisição da Na borda de subida do sinal Echo, salvar o valor do registrador TaxCCR0 e , fazer o cálculo da distância e mudar o se o Timer A0 configurado de Set/reset – Saída inicializada omo foi definido um período T de 60ms e sabendo que o sinal de se TA0CRR0 e TA0CCR1, conforme se que para cada valor de N o intervalo de tempo correspondente é ) foi feito pelo Timer A1 utilizando o modo de captura e comparação. O Timer é inicialmente configurado para geração de interrupção na detecção de uma borda de subida. Então o código é desviado para a com uma lógica inversora, de modo a permitir a execução de dois blocos de código distintos, um a cada interrupção. No primeiro bloco de código salva-se o valor de TA0CCR0 para posterior cálculo de distância e inverte-se a detecção de borda, configurando o Timer para detecção de borda de descida. E no segundo bloco de código é feita a comparação entre o valor anterior e o valor atual do registrador, chegando-se a um número N de contagens. Como o Timer foi configurado para uma base de tempo de 1us, N representa o intervalo de tempo em us que o sinal ficou em nível alto. De acordo com o fabricante, se o intervalo de tempo capturado estiver na ordem de us, a distância é dada pela fórmula: � � ���� _��_������� 58 [!�] 4.3 LÓGICA PARA ACIONAMENTO DE LED’S E BUZZER O sistema projetado contém 5leds e um buzzer e a restrição do projeto é de que ele deveria ser capaz de produzir algum evento (luminoso e/ou audível) a partir de 1 metro de distância. Sendo assim foi definido que: • Para distâncias superiores a 100 cm nenhum led é ligado e não há sinal audível. • Para distâncias entre 75 cm e 100 cm deve-se ligar um led e gerar um bipe de 1 segundo de período. • Para distâncias entre 50 cm e 75 cm deve-se ligar dois leds e gerar um bipe de 0.5 segundos de período. • Para distâncias entre 25 cm e 50 cm deve-se ligar três leds e gerar umbipe de 0.25 segundos de período. • Para distâncias entre 10 cm e 25 cm deve-se ligar quatro leds e gerar um bipe de 0.125 segundos de período. • Para distâncias menores que 10 cm deve-se ligar todos os leds e manter sinal audível constantemente ligado. Obs.: Os leds devem ser ligados sequencialmente, de modo a simular um indicador no painel do veículo. 4.4 DEFINIÇÃO DA BASE DE TEMPO PARA O BUZZER Para não ser necessário implementar o Watchdog Timer foi utilizada a rotina de tratamento de interrupção do Timer A1 canal 0, visto que a mesma ocorre a cada 60ms, tempo no qual TA1CCR0 atinge o valor máximo e resetado. Dessa forma percebe-se que: 60�# ∗ 2 = 0,12# ≈ 0.125# 60�# ∗ 4 = 0,24# ≈ 0.25# 60�# ∗ 8 = 0,48# ≈ 0.5# 60�# ∗ 16 = 0,96# ≈ 1# Portanto foi criada uma lógica de contagem e controle para alterar o estado lógico da porta de saída que alimenta o buzzer. Essa lógica faz com que o estado lógico seja invertido (simulando o liga e desliga do buzzer) apenas depois de x vezes que a interrupção ocorrer. Sendo x =2,4,8,16. Segue abaixo o modelo de máquina de estados completo para o projeto. Deve-se ressaltar que ele refere-se a apenas um ciclo de medição, ou seja, os processos descritos abaixo se repetem indefinidamente enquanto o programa estiver em execução. Figura 5 – Diagrama de Máquina de Estados para o projeto Também foram retiradas imagens do osciloscópio em tempo real durante a execução do programa. As figuras a seguir representam o sinal PWM que está sendo gerado via software para o buzzer de acordo com os níveis de distância estipulados: Figura 6- Imagem osciloscópio buzzer nível1 Figura 7 - - Imagem osciloscópio buzzer nível 2 Figura 8- - Imagem osciloscópio buzzer nível3 Figura 9 - - Imagem osciloscópio buzzer nível4 5. CONCLUSÃO A partir do projeto realizado pode-se ver a grande gama de aplicações do micro controlador MSP430G2553 que pode realizar tarefas das mais simples até mais complexas. Percebeu-se que o micro controlador em questão também tem suas limitações por não conter uma grande quantidade de periféricos, porém conseguiu-se facilmente contorna-las utilizando o mesmo periférico para duas ou mais tarefas. A apresentação do sensor de estacionamento com bips já se torna suficiente para o condutor se orientar, porém para maximizar a abrangência comercial do projeto foi implementado também a interface visual com leds, conforme mencionado anteriormente. Observou-se que os condutores apreciam esta interface, pois sons externos ao veículo podem se tornar difíceis de ouvir, dependendo do local em que se esteja. Outro ponto a favor da utilização de sinais visuais se concentra nos deficientes auditivos, que muitas vezes são limitados a uma faixa de frequência específica graças aos aparelhos auditivos, o que pode impossibilitar a detecção dos bipes adequadamente, se não for tratado no projeto. De forma mais abrangente, pode-se dizer que o projeto proporcionou vivência profissional aos acadêmicos. Pela primeira vez até o presente momento fomos incumbidos de projetar, mesmo que em alto nível, componentes comerciais reais. Tal fato, além de proporcionar grande satisfação, nos permitiu perceber que existem inúmeros dispositivos comerciais, não só na área automotiva, que podem ser construídos e simulados utilizando o microcontrolador em questão. Seguindo essa linha de pensamento, pode-se dizer que um projeto futuro seria reconstruir o sensor de estacionamento utilizando comunicação por rádio- frequência para comunicação dos dados dos sensores e o display. Essa idéia, mencionada pelo professor durante a apresentação do projeto, permitiria uma grande economia na instalação dos sensores de estacionamentos, pois não necessitaria de cabos físicos para a transmissão dos dados. 6. REFERÊNCIAS http://www.micropik.com/PDF/HCSR04.pdf - Acessado em fevereiro de 2014 http://www.ti.com/lit/ug/slau318d/slau318d.pdf - Acessado em fereveiro de 2014 http://forum.43oh.com/topic/1489-bluetoothandroid-rc-car-wall-racer/ - Acessado em fevereiro de 2014 7. APÊNDICE #include<msp430.h> #define P1_LED0 BIT0 #define P1_LED1 BIT1 #define P1_LED2 BIT2 #define P1_LED3 BIT3 #define P1_LED4 BIT4 #define P1_TRIGGER BIT6 #define P2_ECHO BIT0 #define P2_BUZZER BIT1 voidconfig_ini(void);//Refere-se asconfiguraçoesde clock da CPU e WDT voidconfig_portas(void);// Configuracaodeportas I/O voidini_TA1(void); //Configuracao do timer A1 voidini_TA0(void); //Configuracao do timer A0 unsignedchar x=0;//Auxilia o TIMER A1 nadetecçãodebordadesubida/descida unsignedinttempo_anterior=0, tempo=0;//Auxiliamnacapturade TA1CCR0 float medida = 0.0; //Valor emcentímetrosque o HC-SR04 estámedindo unsignedintcount = 0, y=0;//Auxiliamnalógica do buzzer int i =0; intmain(void) { config_ini(); config_portas(); ini_TA0(); ini_TA1(); while(1) { if(medida<= 10.0) { P1OUT = (P1_LED0 + P1_LED1 + P1_LED2 + P1_LED3 + P1_LED4); //Acendetodososleds P2OUT = P2_BUZZER; //Apitacontinuamente } elseif(medida > 10.0 && medida <= 25.0) { P1OUT = (P1_LED0 + P1_LED1 + P1_LED2 + P1_LED3); //Acende4leds y=2; //Apitade 0.12s em 0.12s } elseif(medida> 25.0 &&medida<= 50.0) { P1OUT = (P1_LED0 + P1_LED1 + P1_LED2); //Acende3leds y=4; //Apitade 0.24s em 0.24s } elseif(medida> 50.0 &&medida<= 75.0) { P1OUT = (P1_LED0 + P1_LED1); //Acende2leds y=8; //Apitade 0.48s em 0.48s } elseif(medida> 75.0 &&medida<= 100) { P1OUT = (P1_LED0); //Acendeapenas1led y = 16; //Apitade 0.96s em 0.96s } elseif (medida > 100.0) { y=0; //Paranãocomputar P1OUT = 0; //Nãoacendenenhumled P2OUT = 0; //Nãoapita } } } voidconfig_ini(void) { WDTCTL = WDTPW + WDTHOLD; // Pàra o WDT // Configuracoes do BCS // MCLK = DCOCLK = 16MHZ // SMCLK = DCOCLK/8 = 2MHZ --> Timer A DCOCTL = CALDCO_16MHZ; BCSCTL1 = CALBC1_16MHZ; BCSCTL2 = DIVS0 + DIVS1; __enable_interrupt(); // seta o bit GIE - permitegeracaodeinterrupcoes } voidconfig_portas(void) { P1DIR = (P1_LED0 + P1_LED1 + P1_LED2 + P1_LED3 + P1_LED4 + BIT5 + P1_TRIGGER + BIT7);//Todoscomosaídamenos o P1.5 (Chave) P1OUT = 0x00;//Todosemnívelbaixo P1REN = BIT5;//Habilita resistor p/ P2.0 P1OUT&= ~BIT5;//Informaque é depull-down (Reseta o bit) P2DIR = (P2_BUZZER + BIT2 + BIT3 + BIT4 + BIT5 + BIT6 + BIT7); //ApenasP2.ECHO comoentrada do sensor HC P2REN= P2_ECHO;//Habilita resistor p/ P2.0 P2OUT= P2_ECHO;//Informaque é depull-up (Seta o bit) P1SEL|= P1_TRIGGER;//Saidadesinal PWM TA0.1 = P1.6 P1SEL2 &= ~P1_TRIGGER; P2SEL = P2_ECHO;//Entrada do ECHO configurada } voidini_TA1(void) { /* Fontedeclock: SMCLK * Fatodivisao: 2 TACLK = 1MHz * ModoContinuo */ TA1CTL = TASSEL1 + ID0 + MC1; TA1CCTL0 = CM0 + CAP + CCIE; //Bordadesubida + Captura + interrup. habilitada } voidini_TA0(void){ /*Fontedeclock: SMCLK = 2MHz * Fatoddiv : 2 TACLK = 1MHz * Modocontinuocomgeracaodeint. a cada 60ms */ TA0CTL = TASSEL1 + ID0 + MC0; //Modo set/reset //Saidainicializadaemnivelbaixo TA0CCTL0 = CCIE; TA0CCTL1 = OUTMOD0 + OUTMOD1 + OUTMOD2 + OUT; TA0CCR0 = 59999; TA0CCR1 = 9; //Geraumainterrup. acada 60ms e o PWM fica 10us no HIGH paraativar o sensor } #pragma vector=TIMER0_A0_VECTOR __interruptvoidTimer0A0(void) { //Implementa a logica do buzzer: //Entracountvezesna RTI e sóalterao estado do buzzerdeacordocom a variavel y, quepossui //um valor padraoparacadadistancia if(count == y && y != 0){ count=0; P2OUT ^= P2_BUZZER; } count++; //Seentrarnesseif é porque a medidafoialteradadeum valor de y alto paraum valor de y baixo //e o contadorjáestavacom valor mais alto do que o valor do y recemalterado, entaocorrige-seissofazendocount=0; if(count > y) { count=0; } } #pragma vector=TIMER1_A0_VECTOR __interruptvoidTimer1A0(void) { if(x==0) { x=1; tempo_anterior = TA1CCR0;//Resgata o valor do registrador no eventodesubida do sinal do ECHO TA1CCTL0 = CM1 + CAP + CCIE;// Reconfiguraparabordadedescida } else{ x=0; if( (TA1CCR0 - tempo_anterior) > 0 ){ tempo = TA1CCR0 - tempo_anterior;//calcula o tempo total do sinal do ECHO }else{ tempo = (65535 - tempo_anterior) + TA1CCR0; } medida = tempo / 58.0;// Nessecasoconsidera-se o tempoemmilissegundos TA1CCTL0 = CM0 + CAP + CCIE;// Reconfiguraparabordadesubida } }
Compartilhar