Despertador digital com microcontrolador 8051(89c51)

Alarme digital com microcontrolador 8051(89c51,89c52) é um projeto abrangente. Abrangente na forma em que seu código é muito extenso. Programar não é algo fácil para todos, e quando se trata de programar um microcontrolador fica mais complexo escrever um código para a saída desejada se você não estiver familiarizado com os fundamentos da programação. Alarme digital com microcontrolador 8051(89c51,89c52) é uma extensão de relógio digital com projeto de microcontrolador 8051(89c51,89c52). O alarme funciona da mesma forma que os relógios digitais e os alarmes do celular. Bem, todos os alarmes funcionam da mesma forma 😀

Alarme digital do microcontrolador 8051 – Requisitos do projeto

  • Microcontrolador 8051 (89c51 ou 89c52)
  • alarme (usei campainha)
  • LCD 16×2
  • Potenciômetro/resistor variável (para definir o contraste do LCD)
  • Teclado 4×3 (Você também pode usar 4×4. 4×4 contém 4×3:D)
  • Cristal (11,0592 MHz)
  • Placa de pão (projetando circuito. Você também pode projetar circuito em PCB (placa de circuito impresso))

Tutoriais sobre o projeto de despertador digital 8051

Não é possível explicar cada instrução do código. Por exemplo, interface LCD 16×2 com microcontrolador 8051 ou interface de teclado numérico 4×4 com microcontrolador 8051 ou como gerar atraso de tempo adequado usando temporizadores internos do microcontrolador 89c51 não pode ser explicado em um único tutorial. Então fiz vários tutoriais sobre cada componente que faz parte deste projeto.

  • Como gerar um atraso de um segundo com o microcontrolador 8051.
  • Como gerar um atraso de um minuto com o microcontrolador 8051.
  • Como funciona o lcd 16×2.
  • Relógio digital com microcontrolador 8051.


Todos os tutoriais acima desempenham um papel vital no projeto do despertador digital 8051. Direi que o código de todos os tutoriais acima faz parte deste projeto. Acabei de organizar o código em sequência com algumas pequenas modificações e fiz um fluxo de código de linha de fluxo para obter a funcionalidade de despertador digital.

Despertador digital – Fluxo de código

ao executar o programa pela primeira vez, você deve definir a hora do relógio igual ao projeto do relógio digital (link fornecido acima). Depois de definir a hora do relógio, ele começará a funcionar indefinidamente, a menos que você reinicie o microcontrolador. Agora, sempre que quiser definir um alarme, pressione o botão localizado no primeiro coulomb e na quarta linha do teclado 4×3. Pressionar o botão levará a um evento que exibe mensagens em LCD 16×2 para definir horas e minutos. Agora defina a hora do alarme.

Observação: Nenhum RTC externo (relógio de tempo real) faz interface com o microcontrolador 8051 para cálculo de tempo. Em vez disso, os temporizadores internos do mirocontrolador 89c51 são utilizados para produzir a hora do relógio (visite acima do relógio digital com o tutorial 89c51).

Alarme digital do microcontrolador 89c51 – Diagrama do circuito

O circuito do projeto é muito simples. Conecte o lcd 16 × 2 com a porta 1 do microcontrolador 8051 (89c51 ou 89c52). Os sinais Rd (leitura) Wr (gravação) e En (ativação) são fornecidos para LCD 16 × 2 usando a porta 3 pinos 5, 6 e 7 do microcontrolador 8051 (89c51 ou 89c52). A porta 0, pino 0, é usada para operar a campainha sempre que a hora do alarme atingir a hora correspondente do relógio. A porta 2 é dedicada ao nosso teclado 4×3. As linhas são conectadas aos pinos 0, 1, 2 e 3 da porta 2. Coulombs são conectados aos pinos 5, 6 e 7 da porta 2. O restante das conexões são simples, aplique 5 V ao pino 40 e ao pino 31. Conecte o cristal 11,0592 MHz ao pinos 18 e 19. Pino de aterramento 20. Conecte o botão de reinicialização ao pino 9.
Despertador digital com microcontrolador 8051

Despertador digital com microcontrolador 8051

Despertador digital microcontrolador 89c51 – Código do projeto

Chegando ao código. Primeiro incluí o arquivo de cabeçalho necessário reg52.h. Este arquivo de cabeçalho deve ser incluído sempre que você estiver escrevendo e compilando seu programa de microcontrolador 8051 no keil ide. Inclui todos os linkers e depuradores necessários para a configuração do microcontrolador 8051.

Então teclado função é declarada. Esta função verifica as teclas pressionadas no teclado 4×3. Em seguida vem tochar função. É usado para lidar com números do tipo inteiro a serem exibidos no LCD 16×2. Os números inteiros devem ser convertidos para o formato de caracteres de 8 bits para exibição em LCD 16×2.

Em seguida, bits únicos de portas são declarados para conectar nossa campainha e teclado 4×3. As próximas matrizes de caracteres são declaradas e são usadas como mensagens a serem exibidas em LCD 16×2 em condições adequadas. atraso A função é usada para gerar algum atraso para fins adequados. lcdcmd função está enviando comandos para lcd. dados lcd função está enviando e imprimindo dados na tela lcd. condições de verificação A função está verificando condições como se os segundos atingiram 60 incrementos de minuto, se os minutos atingiram 60 incrementos de hora, verificar se o relógio atingiu a hora do alarme tocar a campainha.

atraso do relógio função está produzindo segundos, minutos e horas para nós. lcdinit inicializando o lcd. definir tempo A função é acertar a hora do relógio a cada reinicialização do programa. O usuário deve inserir a hora usando o teclado 4×3. começar A função está imprimindo a hora em LCD 16×2 no início da execução do programa.


Os tutoriais acima são muito importantes se você deseja entender as funções utilizadas no código. Se você não se importa com código, apenas grave o código hexadecimal, faça o circuito e aproveite sua criação 😀

O alarme é de 12 horas, o que significa que você pode ativar o alarme para o período máximo de 12 horas. Não insira horas maiores que 12 e não insira minutos maiores que 60. Se quiser deixar o alarme mais inteligente basta inserir mais funções nele como definir alarme para horário da manhã ou da tarde. Faça algum outro trabalho sempre que o relógio atingir a hora do alarme, como acender uma lâmpada, ligar o motor hidráulico para encher o tanque ou desligar o forno. Se você está realmente disposto a fazer alguma coisa extra, vá em frente e me dê seu feedback.
Baixe o código do projeto e o arquivo hexadecimal compilado em keil Uvision-2. Se você tiver alguma dúvida sobre código ou qualquer coisa é só deixar um comentário abaixo. Seus comentários são muito apreciados.
Código de alarme digital

Conteúdo Relacionado

Voltar para o blog

Deixe um comentário

Os comentários precisam ser aprovados antes da publicação.