Spisu treści:

Prosty cyfrowy stoper CloudX M633: 4 kroki
Prosty cyfrowy stoper CloudX M633: 4 kroki

Wideo: Prosty cyfrowy stoper CloudX M633: 4 kroki

Wideo: Prosty cyfrowy stoper CloudX M633: 4 kroki
Wideo: ustawianie wyłącznika czasowego elektronicznego 2024, Lipiec
Anonim
Prosty cyfrowy stoper CloudX M633
Prosty cyfrowy stoper CloudX M633

W tym projekcie stworzymy wersję zegara cyfrowego, który będzie rejestrował godziny, minuty i sekundy, tak jak stoper w telefonie komórkowym! Do wyświetlenia czasu użyjemy wyświetlacza LCD

Krok 1: Potrzebny składnik

Potrzebny składnik
Potrzebny składnik
Potrzebny składnik
Potrzebny składnik
Potrzebny składnik
Potrzebny składnik
  • CloudX M633
  • Karta SoftCard CloudX
  • Wyświetlacz LCD
  • Potencjometr
  • Naciśnij przycisk
  • Deska do chleba
  • Przewód połączeniowy
  • Kabel USB V3
  • 10k

Tutaj możesz dostać swój komponent

Krok 2: SPRZĘT

SPRZĘT KOMPUTEROWY
SPRZĘT KOMPUTEROWY

Krok 1: Napraw wyświetlacz LCD w płytce do krojenia chleba i podłącz do płyty CloudX M633 zgodnie z poniższym

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

Dodatkowo podłącz potencjometr 10k do +5V i GND, z jego wycieraczką (wyjście) do pinu VO ekranów LCD.

  • podłącz Vss i K do GND
  • podłącz Vdd i A do +5v
  • podłącz R/W do GND

Uwaga: A to anoda, K to katoda

Krok 2

  • Napraw pierwszy przycisk (Start i Stop) na płytce do chleba i podłącz pierwszą nogę do 10k i Pin7 płyty CloudX, a drugą nogę do GND.
  • Zamocuj Drugi przycisk (reset) w breadBoard i podłącz pierwszą nogę do 10k i pin8 płyty CloudX, a drugą nogę do GND.

Krok 3: KODOWANIE

Skopiuj ten kod do swojego CloudX IDE

#include #include #include

#define START_PAUSE 7

#define RESET 8 #define START 1 #define PAUZA 0

zegar znaków = "00:00:00:00";

unsigned char HH, MM, SS, mSS, mscount, RFlag=0; bit OmSF=0, S_PFlag=0;

przerwać TimerOmSD(){

if (INTCONbits. T0IF) {

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

Ustawiać(){

//ustaw tutaj

pinMode(START_PAUSE, INPUT);

pinMode(RESET, WEJŚCIE); lcdSetting (1, 2, 3, 4, 5, 6); lcdCmd(wyczyść); lcdCmd(kursorWył); lcdWriteText(1, 1, "STOPER CLOUDX");

pętla(){

//Programuj tutaj

if(!odczytajPrzypnij(START_PAUSE)) {

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

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

opóźnienieMs(200); INTCON = 0b11100000; OPCJA_REG = 0b00000111; }

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

opóźnienieMs(200); INTCON = 0b11100000; OPCJA_REG = 0b00000111; TMR0 += 60; liczba ms=0; OmSF = 0; } S_PFlag = ~S_PFlag; RFlag = 1; }

if(!odczytajPrzypnij(RESET)){

opóźnienieMs(200); HH = 0; MM = 0; SS = 0; mSS = 0; INTCON = 0b00000000; OPCJA_REG = 0b00000000; liczba ms=0; OmSF = 0; RFlag = 0; S_PFlag = PAUZA;

}

jeśli (OmSF){

OmSF = ~ OmSF; mSS++; jeśli(mSS==10) SS++; jeśli(SS==60)MM++; jeśli(MM==60)HH++; }

jeśli(HH==100) HH=0; jeśli(MM==60) MM=0; jeśli (SS==60) SS=0; jeśli(mSS==10) mSS=0; timer [1] = (HH%10) +48; timer[0] = (HH/10) +48; timer [4] = (MM%10) +48; zegar [3] = (MM/10) +48; timer[7] = (SS%10) +48; timer[6] = (SS/10) +48; timer[9] = mSS +48; lcdWriteText(2, 2, zegar);

}

}

Zalecana: