Inhoudsopgave:

Eenvoudige CloudX M633 digitale stopwatch - Ajarnpa
Eenvoudige CloudX M633 digitale stopwatch - Ajarnpa

Video: Eenvoudige CloudX M633 digitale stopwatch - Ajarnpa

Video: Eenvoudige CloudX M633 digitale stopwatch - Ajarnpa
Video: Ремонт на балконе Ошибки монтажа теплого пола. #37 2024, November
Anonim
Eenvoudige CloudX M633 digitale stopwatch
Eenvoudige CloudX M633 digitale stopwatch

In dit project gaan we een versie maken van een digitale klok die uren, minuten en seconden kan bijhouden, net als een stopwatch op je mobiele telefoon! We gaan een LCD gebruiken om de tijd weer te geven

Stap 1: Component nodig

Onderdeel nodig
Onderdeel nodig
Onderdeel nodig
Onderdeel nodig
Onderdeel nodig
Onderdeel nodig
  • CloudX M633
  • CloudX SoftCard
  • LCD scherm
  • Potentiometer
  • Druk op de knop
  • Broodplank
  • Doorverbindingsdraad
  • V3 USB-kabel
  • 10k

U kunt uw onderdeel hier krijgen

Stap 2: HARDWARE

HARDWARE
HARDWARE

Stap 1: Bevestig het LCD-scherm in het breadboard en maak verbinding met het CloudX M633-bord als volgt:

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

Sluit bovendien een 10k-pot aan op +5V en GND, met zijn wisser (uitgang) op de VO-pin van het LCD-scherm.

  • verbind Vss en K met GND
  • sluit Vdd en A aan op +5v
  • sluit R/W aan op GND

NB: A is anode, K is kathode

Stap 2

  • Bevestig de eerste drukknop (Start en Stop) in het breadboard en sluit het eerste been aan op 10k en Pin7 van het CloudX-bord en het andere been op GND.
  • Bevestig de tweede drukknop (reset) in het breadBoard en sluit het eerste been aan op 10k en pin8 van het CloudX-bord en het andere been op GND.

Stap 3: CODEREN

Kopieer deze code naar uw CloudX IDE

#include #include #include

#define START_PAUSE 7

#define RESET 8 #define START 1 #define PAUZE 0

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

niet-ondertekend teken HH, MM, SS, mSS, mscount, RFlag=0; bit OmSF=0, S_PFlag=0;

onderbreken TimerOmSD(){

if (INTCONbits. T0IF) {

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

opstelling(){

// hier instellen

pinMode(START_PAUSE, INPUT);

pinMode (RESET, INGANG); lcd-instelling (1, 2, 3, 4, 5, 6); lcdCmd (wissen); lcdCmd(cursorUit); lcdWriteText(1, 1, "CLOUDX STOPWATCH");

lus(){

//Programma hier

if(!readPin(START_PAUSE)) {

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

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

vertragingMs(200); INTCON = 0b1110000; OPTION_REG = 0b00000111; }

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

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

if(!readPin(RESET)){

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

}

als (OmSF){

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

als(HH==100) HH=0; als(MM==60) MM=0; als(SS==60) SS=0; if(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);

}

}

Aanbevolen: