Përmbajtje:

Kronometër dixhital i thjeshtë CloudX M633: 4 hapa
Kronometër dixhital i thjeshtë CloudX M633: 4 hapa

Video: Kronometër dixhital i thjeshtë CloudX M633: 4 hapa

Video: Kronometër dixhital i thjeshtë CloudX M633: 4 hapa
Video: Ремонт на балконе Ошибки монтажа теплого пола. #37 2024, Nëntor
Anonim
Kronometër dixhital i thjeshtë CloudX M633
Kronometër dixhital i thjeshtë CloudX M633

Në këtë projekt, ne do të bëjmë një version të një ore dixhitale që mund të mbajë një rekord orësh, minutash dhe sekondash, ashtu si një kronometër në telefonin tuaj celular! Ne do të përdorim një LCD për të shfaqur kohën

Hapi 1: Komponenti i nevojshëm

Komponenti i nevojshëm
Komponenti i nevojshëm
Komponenti i nevojshëm
Komponenti i nevojshëm
Komponenti i nevojshëm
Komponenti i nevojshëm
  • CloudX M633
  • Kartë Softuer CloudX
  • Ekran LCD
  • Potenciometër
  • Butoni i Shtypjes
  • Bordi i Bukës
  • Jumper Wire
  • V3 kabllo USB
  • 10k

Këtu mund të merrni përbërësin tuaj

Hapi 2: HARDWARE

HARDWARE
HARDWARE

Hapi 1: Fiksoni ekranin LCD në tabelën e bukës dhe lidheni me Tabelën CloudX M633 sipas sa vijon

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

Për më tepër, lidhni një tenxhere 10k në +5V dhe GND, me fshirësin (daljen) në ekranet LCD VO pin.

  • lidhni Vss dhe K me GND
  • lidhni Vdd dhe A me +5v
  • lidhni R/W me GND

N. B: A është Anode, K është Katodë

Hapi 2

  • Fiksoni butonin e parë të shtypjes (Fillimi dhe Ndalimi) në tabelën e bukës dhe lidhni këmbën e parë me 10k dhe Pin7 të Bordit CloudX dhe këmbën tjetër me GND.
  • Fiksoni butonin e dytë të shtytjes (rivendosje) në breadBoard dhe lidhni këmbën e parë me 10k dhe pin8 të Bordit CloudX dhe këmbën tjetër me GND.

Hapi 3: KODIMI

Kopjoni këtë kod në IDE tuaj CloudX

#përfshi #përfshi #përfshi

#përcaktoni START_PAUSE 7

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

kohëmatësi i karbonit = "00: 00: 00: 0";

char pa shenjë HH, MM, SS, mSS, mscount, RFlag = 0; bit OmSF = 0, S_PFlag = 0;

ndërpres TimerOmSD () {

nëse (INTCONbits. T0IF) {

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

setup () {

// konfiguroni këtu

pinMode (START_PAUSE, INPUT);

pinMode (RESET, HYRJE); lcdVendosja (1, 2, 3, 4, 5, 6); lcdCmd (e qartë); lcdCmd (kursoriOff); lcdWriteText (1, 1, "CLOUDX STOPWATCH");

lak () {

// Programi këtu

nëse (! lexoPin (START_PAUSE)) {

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

nëse (S_PFlag == PAUSE && RFlag == 1) {

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

nëse (S_PFlag == PAUSE && RFlag == 0) {

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

nëse (! readPin (RESET)) {

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

}

nëse (OmSF) {

OmSF = OmSF; mSS ++; nëse (mSS == 10) SS ++; nëse (SS == 60) MM ++; nëse (MM == 60) HH ++; }

nëse (HH == 100) HH = 0; nëse (MM == 60) MM = 0; nëse (SS == 60) SS = 0; nëse (mSS == 10) mSS = 0; kohëmatës [1] = (HH%10) +48; kohëmatës [0] = (HH/10) +48; kohëmatës [4] = (MM%10) +48; kohëmatës [3] = (MM/10) +48; kohëmatës [7] = (SS%10) +48; kohëmatës [6] = (SS/10) +48; kohëmatës [9] = mSS +48; lcdWriteText (2, 2, kohëmatës);

}

}

Recommended: