Innholdsfortegnelse:

Enkel CloudX M633 digital stoppeklokke: 4 trinn
Enkel CloudX M633 digital stoppeklokke: 4 trinn

Video: Enkel CloudX M633 digital stoppeklokke: 4 trinn

Video: Enkel CloudX M633 digital stoppeklokke: 4 trinn
Video: HyperX CloudX Flight Wireless Headset Unboxing and Review 2024, Juli
Anonim
Enkel CloudX M633 digital stoppeklokke
Enkel CloudX M633 digital stoppeklokke

I dette prosjektet skal vi lage en versjon av en digital klokke som kan holde oversikt over timer, minutter og sekunder, akkurat som et stoppeklokke på mobiltelefonen! Vi skal bruke en LCD for å vise tiden

Trinn 1: Komponent nødvendig

Komponent nødvendig
Komponent nødvendig
Komponent nødvendig
Komponent nødvendig
Komponent nødvendig
Komponent nødvendig
  • CloudX M633
  • CloudX SoftCard
  • LCD-skjerm
  • Potensiometer
  • Trykknapp
  • Brødbrett
  • Jumper Wire
  • V3 USB -kabel
  • 10k

Du kan få komponenten din her

Trinn 2: MASKIN

MASKINVARE
MASKINVARE

Trinn 1: Fest LCD -skjermen i brødbrettet og koble til CloudX M633 Board som følger

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

I tillegg koble en 10k pot til +5V og GND, med viskeren (utgang) til LCD -skjermene VO pin.

  • koble Vss og K til GND
  • koble Vdd og A til +5v
  • koble R/W til GND

NB: A er anode, K er katode

Steg 2

  • Fest den første trykknappen (Start og stopp) i brødbrettet og koble det første benet til 10k og Pin7 på CloudX Board og det andre benet til GND.
  • Fest den andre trykknappen (tilbakestill) i brødbrettet og koble det første benet til 10k og pin8 på CloudX Board og det andre benet til GND.

Trinn 3: KODING

Kopier denne koden til CloudX IDE

#include #include #include

#define START_PAUSE 7

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

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

usignert røyke HH, MM, SS, mSS, mscount, RFlag = 0; bit OmSF = 0, S_PFlag = 0;

avbryt TimerOmSD () {

if (INTCONbits. T0IF) {

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

setup () {

// oppsett her

pinMode (START_PAUSE, INPUT);

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

Løkke(){

// Program her

if (! readPin (START_PAUSE)) {

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

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

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

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

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

if (! readPin (RESET)) {

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

}

hvis (OmSF) {

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

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

}

}

Anbefalt: