INHOUDSOPGAWE:

Eenvoudige CloudX M633 digitale stophorlosie: 4 stappe
Eenvoudige CloudX M633 digitale stophorlosie: 4 stappe

Video: Eenvoudige CloudX M633 digitale stophorlosie: 4 stappe

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

In hierdie projek gaan ons 'n weergawe maak van 'n digitale klok wat 'n rekord van ure, minute en sekondes kan hou, net soos 'n stophorlosie op u selfoon! Ons gaan 'n LCD gebruik om die tyd te wys

Stap 1: Onderdeel benodig

Komponent benodig
Komponent benodig
Komponent benodig
Komponent benodig
Komponent benodig
Komponent benodig
  • CloudX M633
  • CloudX SoftCard
  • LCD -skerm
  • Potensiometer
  • Druk knoppie
  • Broodbord
  • Jumper Wire
  • V3 USB -kabel
  • 10k

U kan u komponent hier kry

Stap 2: HARDWARE

HARDWARE
HARDWARE

Stap 1: Bevestig die LCD -skerm in die broodbord en maak verbinding met die CloudX M633 Board volgens die volgende

  • R/S tot pen 1
  • ENA tot pin2
  • D4 tot pin3
  • D5 tot pin4
  • D6 tot pen 5
  • D7 tot pin6

Draai ook 'n 10k -pot tot +5V en GND, met die veër (uitset) na die LCD -skerm VO pin.

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

NB: A is anode, K is katode

Stap 2

  • Maak die eerste drukknop (Start en Stop) in die broodbord vas en koppel die eerste been aan 10k en Pin7 van die CloudX Board en die ander been aan GND.
  • Maak die tweede drukknop (herstel) in die broodbord vas en koppel die eerste been aan 10k en pin8 van die CloudX Board en die ander been aan GND.

Stap 3: KODERING

Kopieer hierdie kode na u CloudX IDE

#include #include #include

#definieer START_PAUSE 7

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

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

ongetekende char HH, MM, SS, mSS, mscount, RFlag = 0; bietjie OmSF = 0, S_PFlag = 0;

onderbreek TimerOmSD () {

as (INTCONbits. T0IF) {

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

stel op(){

// opstel hier

pinMode (START_PAUSE, INPUT);

pinMode (HERSTEL, INVOER); lcdSetting (1, 2, 3, 4, 5, 6); lcdCmd (duidelik); lcdCmd (wyseraf); lcdWriteText (1, 1, "CLOUDX STOPWATCH");

lus () {

// Program hier

as (! readPin (START_PAUSE)) {

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

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

vertraging Me (200); INTCON = 0b11100000; OPTION_REG = 0b00000111; }

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

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

as (! readPin (RESET)) {

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

}

as (OmSF) {

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

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

}

}

Aanbeveel: