Съдържание:

Прост цифров хронометър CloudX M633: 4 стъпки
Прост цифров хронометър CloudX M633: 4 стъпки

Видео: Прост цифров хронометър CloudX M633: 4 стъпки

Видео: Прост цифров хронометър CloudX M633: 4 стъпки
Видео: Что такое ХРОНОГРАФ в часах. Как настроить и какие бывают. 2024, Ноември
Anonim
Прост цифров хронометър CloudX M633
Прост цифров хронометър CloudX M633

В този проект ще направим версия на цифров часовник, който може да записва часове, минути и секунди, точно като хронометър на вашия мобилен телефон! Ще използваме LCD за показване на часа

Стъпка 1: Необходим компонент

Необходим компонент
Необходим компонент
Необходим компонент
Необходим компонент
Необходим компонент
Необходим компонент
  • CloudX M633
  • CloudX SoftCard
  • ЛСД дисплей
  • Потенциометър
  • Натисни бутона
  • Дъска за хляб
  • Jumper Wire
  • V3 USB кабел
  • 10 000

Можете да получите вашия компонент тук

Стъпка 2: Хардуер

ХАРАКТЕРИСТИКИ
ХАРАКТЕРИСТИКИ

Стъпка 1: Поправете LCD дисплея в дъската за хляб и го свържете към CloudX M633 Board, както следва

  • R/S към пин1
  • ENA към pin2
  • D4 към pin3
  • D5 към pin4
  • D6 към pin5
  • D7 към pin6

Освен това, свържете 10k пот към +5V и GND, с чистачката (изход) към щифта VO на LCD екраните.

  • свържете Vss и K към GND
  • свържете Vdd и A към +5v
  • свържете R/W към GND

Забележка: A е анод, K е катод

Стъпка 2

  • Поправете първия бутон (Старт и Стоп) в дъската за хляб и свържете първия крак към 10k и Pin7 на CloudX Board, а другия крак към GND.
  • Поправете втория бутон (нулиране) в дъската за хляб и свържете първия крак към 10k и pin8 на CloudX Board, а другия крак към GND.

Стъпка 3: КОДИРАНЕ

Копирайте този код във вашата CloudX IDE

#включи #включи #включи

#define START_PAUSE 7

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

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

без знак char HH, MM, SS, mSS, mscount, RFlag = 0; бит OmSF = 0, S_PFlag = 0;

прекъсване TimerOmSD () {

if (INTCONbits. T0IF) {

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

настройвам(){

// настройка тук

pinMode (START_PAUSE, INPUT);

pinMode (RESET, INPUT); lcdSetting (1, 2, 3, 4, 5, 6); lcdCmd (ясно); lcdCmd (cursorOff); lcdWriteText (1, 1, "CLOUDX STOPWATCH");

loop () {

// Програма тук

if (! readPin (START_PAUSE)) {

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

if (S_PFlag == ПАУЗА && RFlag == 1) {

забавянеMs (200); INTCON = 0b11100000; OPTION_REG = 0b00000111; }

if (S_PFlag == ПАУЗА && RFlag == 0) {

забавянеMs (200); INTCON = 0b11100000; OPTION_REG = 0b00000111; TMR0 += 60; mscount = 0; OmSF = 0; } S_PFlag = ~ S_PFlag; RFlag = 1; }

if (! readPin (RESET)) {

забавянеMs (200); НН = 0; MM = 0; SS = 0; mSS = 0; INTCON = 0b00000000; OPTION_REG = 0b00000000; mscount = 0; OmSF = 0; RFlag = 0; S_PFlag = ПАУЗА;

}

if (OmSF) {

OmSF = ~ OmSF; mSS ++; ако (mSS == 10) SS ++; ако (SS == 60) MM ++; ако (MM == 60) HH ++; }

ако (HH == 100) HH = 0; ако (MM == 60) MM = 0; ако (SS == 60) SS = 0; ако (mSS == 10) mSS = 0; таймер [1] = (HH%10) +48; таймер [0] = (HH/10) +48; таймер [4] = (MM%10) +48; таймер [3] = (MM/10) +48; таймер [7] = (SS%10) +48; таймер [6] = (SS/10) +48; таймер [9] = mSS +48; lcdWriteText (2, 2, таймер);

}

}

Препоръчано: