Inhaltsverzeichnis:

Einfache digitale Stoppuhr CloudX M633 - Gunook
Einfache digitale Stoppuhr CloudX M633 - Gunook

Video: Einfache digitale Stoppuhr CloudX M633 - Gunook

Video: Einfache digitale Stoppuhr CloudX M633 - Gunook
Video: 10 Minutes Stopwatch Timer | 10 Minuten Stoppuhr 2024, November
Anonim
Einfache digitale Stoppuhr CloudX M633
Einfache digitale Stoppuhr CloudX M633

In diesem Projekt werden wir eine Version einer Digitaluhr erstellen, die Stunden, Minuten und Sekunden aufzeichnen kann, genau wie eine Stoppuhr auf Ihrem Mobiltelefon! Wir werden ein LCD verwenden, um die Zeit anzuzeigen

Schritt 1: Benötigte Komponente

Komponente benötigt
Komponente benötigt
Komponente benötigt
Komponente benötigt
Komponente benötigt
Komponente benötigt
  • CloudX M633
  • CloudX-SoftCard
  • LCD Bildschirm
  • Potentiometer
  • Druckknopf
  • Brotbrett
  • Überbrückungsdraht
  • V3 USB-Kabel
  • 10k

Hier erhalten Sie Ihr Bauteil

Schritt 2: HARDWARE

HARDWARE
HARDWARE

Schritt 1: Befestigen Sie das LCD-Display im Steckbrett und verbinden Sie es mit dem CloudX M633-Board wie folgt

  • R/S zu Pin1
  • ENA an pin2
  • D4 zu Pin3
  • D5 zu Pin4
  • D6 bis Pin5
  • D7 bis Pin6

Verdrahten Sie zusätzlich einen 10k-Poti mit +5V und GND, mit seinem Wischer (Ausgang) zum VO-Pin des LCD-Bildschirms.

  • Vss und K mit GND verbinden
  • Verbinden Sie Vdd und A mit +5V
  • R/W an GND anschließen

Hinweis: A ist Anode, K ist Kathode

Schritt 2

  • Befestigen Sie den ersten Druckknopf (Start und Stop) im Steckbrett und verbinden Sie das erste Bein mit 10k und Pin7 des CloudX-Boards und das andere Bein mit GND.
  • Befestigen Sie den zweiten Druckknopf (Reset) im BreadBoard und verbinden Sie das erste Bein mit 10k und Pin8 des CloudX Boards und das andere Bein mit GND.

Schritt 3: CODIERUNG

Kopieren Sie diesen Code in Ihre CloudX-IDE

#einschließen #einschließen #einschließen

#define START_PAUSE 7

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

Zeichentimer = "00:00:00:0";

unsigned char HH, MM, SS, mSS, mscount, RFlag=0; Bit OmSF=0, S_PFlag=0;

TimerOmSD () unterbrechen

if (INTCONbits. T0IF) {

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

erstellen(){

// hier einrichten

pinMode (START_PAUSE, INPUT);

pinMode (RESET, EINGANG); LCD-Einstellung (1, 2, 3, 4, 5, 6); lcdCmd (löschen); lcdCmd(cursorAus); lcdWriteText(1, 1, "CLOUDX-STOPPUHR");

Schleife(){

//Programm hier

if(!readPin(START_PAUSE)) {

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

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

VerzögerungMs(200); INTCON = 0b11100000; OPTION_REG = 0b00000111; }

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

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

if(!readPin(RESET)){

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

}

wenn (OmSF){

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

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

}

}

Empfohlen: