Tabla de contenido:

Cronómetro digital simple CloudX M633: 4 pasos
Cronómetro digital simple CloudX M633: 4 pasos

Video: Cronómetro digital simple CloudX M633: 4 pasos

Video: Cronómetro digital simple CloudX M633: 4 pasos
Video: 2 hour stopwatch digital workout clock 2024, Mes de julio
Anonim
Cronómetro digital simple CloudX M633
Cronómetro digital simple CloudX M633

En este proyecto, vamos a hacer una versión de un reloj digital que puede llevar un registro de horas, minutos y segundos, ¡como un cronómetro en su teléfono móvil! Vamos a utilizar una pantalla LCD para mostrar la hora.

Paso 1: componente necesario

Componente necesario
Componente necesario
Componente necesario
Componente necesario
Componente necesario
Componente necesario
  • CloudX M633
  • SoftCard de CloudX
  • Pantalla LCD
  • Potenciómetro
  • Presionar el botón
  • Tabla de pan
  • Cable pasa corriente
  • Cable USB V3
  • 10k

Puedes conseguir tu componente aquí

Paso 2: HARDWARE

HARDWARE
HARDWARE

Paso 1: Fije la pantalla LCD en la placa de pruebas y conéctela a la placa CloudX M633 como se indica a continuación

  • R / S al pin1
  • ENA al pin2
  • D4 al pin3
  • D5 al pin4
  • D6 al pin5
  • D7 al pin6

Además, conecte una olla de 10k a + 5V y GND, con su limpiador (salida) al pin VO de las pantallas LCD.

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

N. B: A es ánodo, K es cátodo

Paso 2

  • Fije el primer botón pulsador (Start y Stop) en la placa de pruebas y conecte la primera pata a 10k y Pin7 de la placa CloudX y la otra pata a GND.
  • Fije el segundo botón pulsador (reinicio) en la breadBoard y conecte la primera pata a 10k y pin8 de la placa CloudX y la otra pata a GND.

Paso 3: CODIFICACIÓN

Copie este código en su IDE de CloudX

#incluir #incluir #incluir

#define START_PAUSE 7

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

char timer = "00: 00: 00: 0";

carácter sin firmar HH, MM, SS, mSS, mscount, RFlag = 0; bit OmSF = 0, S_PFlag = 0;

interrumpir TimerOmSD () {

si (INTCONbits. T0IF) {

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

configuración(){

// configurar aquí

pinMode (START_PAUSE, INPUT);

pinMode (RESET, ENTRADA); lcdSetting (1, 2, 3, 4, 5, 6); lcdCmd (claro); lcdCmd (cursorOff); lcdWriteText (1, 1, "CRONÓMETRO CLOUDX");

círculo(){

// Programar aquí

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 = PAUSA;

}

si (OmSF) {

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

si (HH == 100) HH = 0; si (MM == 60) MM = 0; si (SS == 60) SS = 0; si (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, temporizador);

}

}

Recomendado: