Turinys:

Paprastas „CloudX M633“skaitmeninis chronometras: 4 žingsniai
Paprastas „CloudX M633“skaitmeninis chronometras: 4 žingsniai

Video: Paprastas „CloudX M633“skaitmeninis chronometras: 4 žingsniai

Video: Paprastas „CloudX M633“skaitmeninis chronometras: 4 žingsniai
Video: Paprastas 2024, Liepa
Anonim
Paprastas „CloudX M633“skaitmeninis chronometras
Paprastas „CloudX M633“skaitmeninis chronometras

Šiame projekte mes ketiname sukurti skaitmeninio laikrodžio versiją, kuri gali įrašyti valandas, minutes ir sekundes, kaip chronometras jūsų mobiliajame telefone! Mes naudosime LCD, kad parodytume laiką

1 žingsnis: reikalingas komponentas

Reikalingas komponentas
Reikalingas komponentas
Reikalingas komponentas
Reikalingas komponentas
Reikalingas komponentas
Reikalingas komponentas
  • „CloudX M633“
  • „CloudX SoftCard“
  • LCD ekranas
  • Potenciometras
  • Mygtukas
  • Bandomoji Lenta
  • Jumper Wire
  • V3 USB kabelis
  • 10 tūkst

Čia galite gauti savo komponentą

2 žingsnis: Aparatūra

Aparatūra
Aparatūra

1 veiksmas: pritvirtinkite LCD ekraną duonos lentoje ir prijunkite prie „CloudX M633 Board“, kaip nurodyta toliau

  • R/S į kaištį 1
  • ENA į pin2
  • D4 - pin3
  • D5 - pin4
  • D6 - pin5
  • D7 - pin6

Be to, prijunkite 10 tūkst. Puodą prie +5 V ir GND su valytuvu (išvestimi) prie LCD ekranų VO kaiščio.

  • prijunkite Vss ir K prie GND
  • prijunkite Vdd ir A prie +5v
  • prijunkite R/W prie GND

NB: A yra anodas, K - katodas

2 žingsnis

  • Užfiksuokite duonos lentelėje esantį pirmąjį mygtuką („Start“ir „Stop“) ir prijunkite pirmąją koją prie „CloudX Board“10 k ir „Pin7“, o kitą - prie GND.
  • Užfiksuokite „Duonos lentos“antrąjį mygtuką (iš naujo) ir prijunkite pirmąją koją prie „CloudX Board“10k ir 8 kaiščio, o kitą - prie GND.

3 žingsnis: KODAVIMAS

Nukopijuokite šį kodą į „CloudX IDE“

#įtraukti #įtraukti #įtraukti

#define START_PAUSE 7

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

laikmačio laikmatis = "00: 00: 00: 0";

nepasirašytas simbolis HH, MM, SS, mSS, mscount, RFlag = 0; bitas OmSF = 0, S_PFlag = 0;

pertraukti TimerOmSD () {

jei (INTCONbits. T0IF) {

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

sąranka () {

// sąranka čia

pinMode (START_PAUSE, INPUT);

pinMode (RESET, INPUT); lcdSetting (1, 2, 3, 4, 5, 6); lcdCmd (skaidrus); lcdCmd (kursorius išjungtas); lcdWriteText (1, 1, „CLOUDX STOPWATCH“);

kilpa () {

// Programa čia

if (! readPin (START_PAUSE)) {

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

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

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

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

delayMs (200); INTCON = 0b11100000; OPTION_REG = 0b00000111; TMR0 += 60; mscount = 0; OmSF = 0; } S_PFlag = ~ S_PFlag; RF vėliava = 1; }

if (! readPin (RESET)) {

delayMs (200); HH = 0; MM = 0; SS = 0; mSS = 0; INTCON = 0b00000000; OPTION_REG = 0b00000000; mscount = 0; OmSF = 0; RF vėliava = 0; S_PFlag = PAUSE;

}

if (OmSF) {

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

jei (HH == 100) HH = 0; jei (MM == 60) MM = 0; jei (SS == 60) SS = 0; jei (mSS == 10) mSS = 0; laikmatis [1] = (HH%10) +48; laikmatis [0] = (HH/10) +48; laikmatis [4] = (MM%10) +48; laikmatis [3] = (MM/10) +48; laikmatis [7] = (SS%10) +48; laikmatis [6] = (SS/10) +48; laikmatis [9] = mSS +48; lcdWriteText (2, 2, laikmatis);

}

}

Rekomenduojamas: