Meu problema: não consigo fazer que um LED aceso após um delay qualquer (p.ex. 3 s), apague imediatamente.
Usando a instrução delay_ms(3000), o LED acende após o delay e só apaga depois do delay. Preciso que ele desligue imediatamente após cessar o comando.
Posso todas as coisas naquele que fortalece Fp 4:13
Scoring disabled. You must be logged in to score posts.
Resolve, só que preciso de intervalos pequenos. Assim, 3s se for dividir em delays de 1ms, serão 1000 (mil) delays. Deve haver uma maneira mais simples de fazer isso.
Tentei implementar um contador mas não rodou.
Meu código:
/**************************************************
* Início do Programa Temporizado4 *
* Definição de Cabeçalhos e Variáveis *
**************************************************/
#include <mega8.h> // Biblioteca Atmega8
#include <delay.h> // Cabeçalho da função delay
//#include <math.h> // Cabeçalho da função matemática
#define LED PORTB.1 // Nomeando entradas e saídas
#define LED2 PORTB.3
#define BT PIND.2
unsigned int contador; // Definindo variáveis
unsigned int contador1;
//bit estado=0;
// Aqui começa o programa:
void main(void) // Início da rotina principal
{
DDRB.1=1; // Definição dos registradores de entrada e saída
DDRB.3=1;
DDRD.2=0;
Neste caso, o Sr. deve utilizar uma estrutura de repetição tipo for ou while para permitir este recurso. Divida o tempo em intervalos pequenos e faça um loop de por exemplo 1000. Neste loop o Sr. ficará testando o pino e em caso do mesmo ficar verdadeiro, o led será desligado.
Att,
Cerne Tec
www.cerne-tec.com.br
Scoring disabled. You must be logged in to score posts.
Boa tarde aos senhores. Estou usando o canal PWM1a para liberação dos pulsos do meu sistema para acionamento de transistores. A questão é o seguinte: Qual é o valor de corrente liberado do canal PWM1a? Não consegui encontrar este valor no datasheet.
Necessito deste valor para efetuar o cálculo de parâmetros de driver de ataque da minha estrutura.
Aguardo resposta,
Att.,
Castellane Ferreira
FEIS UNESP Ilha Solteira/SP
Scoring disabled. You must be logged in to score posts.
Bom dia! Preciso alimentar o Atmega8 utilizando uma fonte de tensão de 400V (tensão de trabalho do meu sistema). Daí fiz um divisor resistivo de 1,68Mohms e 22kohms e, na saída, um diodo zener de 5V e um capacitor de 100uF. A vazio, tudo bem, consigo os 5V desejados. No entanto, quando coloco o microcontrolador no circuito, o microcontrolador não responde. Daí, medi a tensão de alimentação e ela arriou para 1,20V. Pensei que o microcontrolador estava queimado, mas quando o alimentei com uma fonte de 5V, ele responde muito bem.
Há alguma sugestão para a solução deste problema???
Obrigado a todos,
Att.,
Castellane Ferrreira
Scoring disabled. You must be logged in to score posts.
Sus malha resistiva está dividindo a tensão mas pela de Ohm, a corrente circulante do seu divisor será de + ou - 0,000235018 A, Ou seja, vc também está limitando a corrente a 235 uA. Não dá pro chip funcionar. Ou vc adiciona outra fonte 5Vcc ou transforma os 400 Vcc em 5Vcc através de um conversor DC/DC (circuito ativo) e não via divisor de tensão que também é limitador de corrente.
Posso todas as coisas naquele que fortalece Fp 4:13
Scoring disabled. You must be logged in to score posts.
Bom dia, senhores... Gostaria de saber qual é o clock máximo do Atmega8 e se há alguma diferença do Atmega8 16PU para o Atmega 8PU. É possível trabalhar com clock interno do Atmega8 a 16MHz?
Aguardo resposta, obrigado!
Scoring disabled. You must be logged in to score posts.