Innehållsförteckning:

Enkelt CloudX M633 digitalt stoppur: 4 steg
Enkelt CloudX M633 digitalt stoppur: 4 steg

Video: Enkelt CloudX M633 digitalt stoppur: 4 steg

Video: Enkelt CloudX M633 digitalt stoppur: 4 steg
Video: Ремонт на балконе Ошибки монтажа теплого пола. #37 2024, November
Anonim
Enkelt CloudX M633 digitalt stoppur
Enkelt CloudX M633 digitalt stoppur

I det här projektet ska vi göra en version av en digital klocka som kan registrera timmar, minuter och sekunder, precis som ett stoppur på din mobiltelefon! Vi ska använda en LCD för att visa tiden

Steg 1: Komponent behövs

Komponent behövs
Komponent behövs
Komponent behövs
Komponent behövs
Komponent behövs
Komponent behövs
  • CloudX M633
  • CloudX SoftCard
  • LCD skärm
  • Potentiometer
  • Tryckknapp
  • Brödbräda
  • Jumper Wire
  • V3 USB -kabel
  • 10k

Du kan få din komponent här

Steg 2: HARDWARE

HÅRDVARA
HÅRDVARA

Steg 1: Fixa LCD -skärmen i brödbrädet och anslut till CloudX M633 Board enligt följande

  • R/S till pin1
  • ENA till pin2
  • D4 till pin3
  • D5 till pin4
  • D6 till pin5
  • D7 till stift6

Dessutom, koppla en 10k gryta till +5V och GND, med dess torkare (utgång) till LCD -skärmar VO -pin.

  • anslut Vss och K till GND
  • anslut Vdd och A till +5v
  • anslut R/W till GND

N. B: A är anod, K är katod

Steg 2

  • Fixera den första tryckknappen (Start och stopp) i brödbrädet och anslut det första benet till 10k och Pin7 på CloudX Board och det andra benet till GND.
  • Fixa den andra tryckknappen (reset) i brödbrädet och anslut det första benet till 10k och pin8 på CloudX Board och det andra benet till GND.

Steg 3: KODNING

Kopiera den här koden till ditt CloudX IDE

#include #include #include

#definiera START_PAUSE 7

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

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

osignerad röding HH, MM, SS, mSS, mscount, RFlag = 0; bit OmSF = 0, S_PFlag = 0;

avbryta TimerOmSD () {

if (INTCONbits. T0IF) {

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

uppstart(){

// setup här

pinMode (START_PAUSE, INPUT);

pinMode (ÅTERSTÄLL, INGÅNG); lcdSetting (1, 2, 3, 4, 5, 6); lcdCmd (klar); lcdCmd (cursorOff); lcdWriteText (1, 1, "CLOUDX STOPPUR");

slinga(){

// Program här

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;

}

om (OmSF) {

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

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

}

}

Rekommenderad: