Cuprins:

Cronometru digital simplu CloudX M633: 4 pași
Cronometru digital simplu CloudX M633: 4 pași

Video: Cronometru digital simplu CloudX M633: 4 pași

Video: Cronometru digital simplu CloudX M633: 4 pași
Video: Project CloudX: Your Ultimate Cloud Solution for Windows, Ubuntu/Linux, and File Storage 2024, Iulie
Anonim
Cronometru digital simplu CloudX M633
Cronometru digital simplu CloudX M633

În acest proiect, vom face o versiune a unui ceas digital care poate păstra o evidență a orelor, minutelor și a secundelor, la fel ca un cronometru de pe telefonul dvs. mobil! Vom folosi un ecran LCD pentru a afișa ora

Pasul 1: Componenta necesară

Componenta necesară
Componenta necesară
Componenta necesară
Componenta necesară
Componenta necesară
Componenta necesară
  • CloudX M633
  • CloudX SoftCard
  • Ecran LCD
  • Potențiometru
  • Apasa butonul
  • Pâine
  • Jumper Wire
  • Cablu USB V3
  • 10k

Puteți obține componenta dvs. aici

Pasul 2: HARDWARE

HARDWARE
HARDWARE

Pasul 1: Remediați afișajul LCD pe placa de panificație și conectați-vă la placa CloudX M633 conform următoarelor

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

În plus, conectați o oală de 10k la + 5V și GND, cu ștergătorul (ieșire) la pinul VO al ecranelor LCD.

  • conectați Vss și K la GND
  • conectați Vdd și A la + 5v
  • conectați R / W la GND

N. B: A este anod, K este catod

Pasul 2

  • Fixați primul buton (Start și Stop) în placa de panificație și conectați primul picior la 10k și Pin7 al plăcii CloudX și celălalt picior la GND.
  • Fixați al doilea buton (resetare) în breadBoard și conectați primul picior la 10k și pin8 al plăcii CloudX și celălalt picior la GND.

Pasul 3: CODIFICARE

Copiați acest cod în IDE-ul dvs. CloudX

#include #include #include

#define START_PAUSE 7

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

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

caractere nesemnate HH, MM, SS, mSS, mscount, RFlag = 0; bit OmSF = 0, S_PFlag = 0;

întrerupe TimerOmSD () {

if (INTCONbits. T0IF) {

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

înființat(){

// configurați aici

pinMode (START_PAUSE, INPUT);

pinMode (RESET, INPUT); Setare lcd (1, 2, 3, 4, 5, 6); lcdCmd (clar); lcdCmd (cursorOff); lcdWriteText (1, 1, "CLOUDX STOPWATCH");

buclă(){

// Programează aici

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 ++; if (mSS == 10) SS ++; if (SS == 60) MM ++; if (MM == 60) HH ++; }

dacă (HH == 100) HH = 0; if (MM == 60) MM = 0; if (SS == 60) SS = 0; if (mSS == 10) mSS = 0; cronometru [1] = (HH% 10) +48; cronometru [0] = (HH / 10) +48; cronometru [4] = (MM% 10) +48; cronometru [3] = (MM / 10) +48; cronometru [7] = (SS% 10) +48; cronometru [6] = (SS / 10) +48; cronometru [9] = mSS +48; lcdWriteText (2, 2, temporizator);

}

}

Recomandat: