Índice:

Cronômetro digital CloudX M633 simples: 4 etapas
Cronômetro digital CloudX M633 simples: 4 etapas

Vídeo: Cronômetro digital CloudX M633 simples: 4 etapas

Vídeo: Cronômetro digital CloudX M633 simples: 4 etapas
Vídeo: Таймер 1 час 2024, Novembro
Anonim
Cronômetro digital CloudX M633 simples
Cronômetro digital CloudX M633 simples

Neste projeto, vamos fazer uma versão de um relógio digital que pode registrar horas, minutos e segundos, assim como um cronômetro no seu celular! Vamos usar um LCD para mostrar a hora

Etapa 1: componente necessário

Componente Necessário
Componente Necessário
Componente Necessário
Componente Necessário
Componente Necessário
Componente Necessário
  • CloudX M633
  • CloudX SoftCard
  • Tela de LCD
  • Potenciômetro
  • Botão de apertar
  • Tábua de pão
  • Jumper Wire
  • Cabo USB V3
  • 10k

Você pode obter seu componente aqui

Etapa 2: HARDWARE

HARDWARE
HARDWARE

Etapa 1: Fixe o display LCD na placa de pão e conecte-a à Placa CloudX M633 de acordo com o seguinte

  • R / S para pino 1
  • ENA para pin2
  • D4 para pino 3
  • D5 para pino4
  • D6 para pino 5
  • D7 para pino 6

Além disso, conecte um potenciômetro de 10k a + 5V e GND, com seu limpador (saída) ao pino VO das telas LCD.

  • conecte Vss e K ao GND
  • conecte Vdd e A a + 5v
  • conectar R / W ao GND

N. B: A é ânodo, K é cátodo

Passo 2

  • Fixe o primeiro botão (Iniciar e Parar) na placa de pão e conecte a primeira perna a 10k e Pin7 da placa CloudX e a outra perna a GND.
  • Fixe o segundo botão (reset) no breadBoard e conecte a primeira perna a 10k e pin8 do CloudX Board e a outra perna ao GND.

Etapa 3: CODIFICAÇÃO

Copie este código para seu IDE CloudX

#include #include #include

#define START_PAUSE 7

#define RESET 8 #define START 1 #define PAUSE 0

temporizador char = "00: 00: 00: 0";

char não assinado HH, MM, SS, mSS, mscount, RFlag = 0; bit OmSF = 0, S_PFlag = 0;

interromper TimerOmSD () {

if (INTCONbits. T0IF) {

INTCONbits. T0IF = 0; TMR0 + = 60; if (mscount ++ == 10) {mscount = 0; OmSF = 1; }}}

configurar(){

// configure aqui

pinMode (START_PAUSE, INPUT);

pinMode (RESET, INPUT); lcdSetting (1, 2, 3, 4, 5, 6); lcdCmd (claro); lcdCmd (cursorOff); lcdWriteText (1, 1, "CLOUDX STOPWATCH");

ciclo(){

// Programe aqui

if (! readPin (START_PAUSE)) {

if (S_PFlag == START) {delayMs (200); INTCON = 0b00000000; OPTION_REG = 0b00000000; mSS--; }

if (S_PFlag == PAUSE && RFlag == 1) {

delayMs (200); INTCON = 0b11100000; OPTION_REG = 0b00000111; }

if (S_PFlag == PAUSE && RFlag == 0) {

delayMs (200); INTCON = 0b11100000; OPTION_REG = 0b00000111; TMR0 + = 60; mscount = 0; OmSF = 0; } S_PFlag = ~ S_PFlag; RFlag = 1; }

if (! readPin (RESET)) {

delayMs (200); HH = 0; MM = 0; SS = 0; mSS = 0; INTCON = 0b00000000; OPTION_REG = 0b00000000; mscount = 0; OmSF = 0; RFlag = 0; S_PFlag = PAUSE;

}

if (OmSF) {

OmSF = ~ OmSF; mSS ++; se (mSS == 10) SS ++; if (SS == 60) MM ++; se (MM == 60) HH ++; }

se (HH == 100) HH = 0; se (MM == 60) MM = 0; se (SS == 60) SS = 0; se (mSS == 10) mSS = 0; temporizador [1] = (HH% 10) +48; temporizador [0] = (HH / 10) +48; temporizador [4] = (MM% 10) +48; temporizador [3] = (MM / 10) +48; temporizador [7] = (SS% 10) +48; temporizador [6] = (SS / 10) +48; temporizador [9] = mSS +48; lcdWriteText (2, 2, cronômetro);

}

}

Recomendado: