Оглавление:

Цифровой секундомер Simple CloudX M633: 4 шага
Цифровой секундомер Simple CloudX M633: 4 шага

Видео: Цифровой секундомер Simple CloudX M633: 4 шага

Видео: Цифровой секундомер Simple CloudX M633: 4 шага
Видео: Секундомер ZSD-013 и другие / Как выключить звук 2024, Июль
Anonim
Цифровой секундомер Simple CloudX M633
Цифровой секундомер Simple CloudX M633

В этом проекте мы собираемся создать версию цифровых часов, которые будут вести учет часов, минут и секунд, как секундомер на вашем мобильном телефоне! Мы собираемся использовать ЖК-дисплей для отображения времени.

Шаг 1. Необходим компонент

Компонент необходим
Компонент необходим
Компонент необходим
Компонент необходим
Компонент необходим
Компонент необходим
  • CloudX M633
  • CloudX SoftCard
  • ЖК дисплей
  • Потенциометр
  • Нажать кнопку
  • Хлебная доска
  • Перемычка
  • USB-кабель V3
  • 10 тыс.

Вы можете получить свой компонент здесь

Шаг 2: АППАРАТНОЕ ОБЕСПЕЧЕНИЕ

АППАРАТНОЕ ОБЕСПЕЧЕНИЕ
АППАРАТНОЕ ОБЕСПЕЧЕНИЕ

Шаг 1. Закрепите ЖК-дисплей на макетной плате и подключите к плате CloudX M633, как указано ниже.

  • R / S к контакту 1
  • ENA к контакту 2
  • D4 к контакту 3
  • D5 к контакту 4
  • D6 к контакту 5
  • D7 к pin6

Кроме того, подключите потенциометр 10 кОм к + 5V и GND, а его стеклоочиститель (выход) к выводу VO ЖК-экрана.

  • подключите Vss и K к GND
  • подключить Vdd и A к + 5В
  • подключить R / W к GND

Примечание: A - анод, K - катод

Шаг 2

  • Закрепите первую кнопку (Пуск и Стоп) на макетной плате и подключите первую ногу к 10k и Pin7 платы CloudX, а другую ногу к GND.
  • Зафиксируйте вторую кнопку (сброс) на хлебной доске и подключите первую ногу к 10k и pin8 платы CloudX Board, а другую ногу к GND.

Шаг 3: КОДИРОВКА

Скопируйте этот код в свою IDE CloudX.

#include #include #include

#define START_PAUSE 7

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

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

беззнаковый символ HH, MM, SS, mSS, mscount, RFlag = 0; бит OmSF = 0, S_PFlag = 0;

прерывание TimerOmSD () {

if (INTCONbits. T0IF) {

INTCONbits. T0IF = 0; TMR0 + = 60; если (mscount ++ == 10) {mscount = 0; OmSF = 1; }}}

настраивать(){

// настраиваем здесь

pinMode (START_PAUSE, INPUT);

pinMode (СБРОС, ВВОД); lcdSetting (1, 2, 3, 4, 5, 6); lcdCmd (чистый); lcdCmd (cursorOff); lcdWriteText (1, 1, «СЕКУНДОМЕР CLOUDX»);

петля(){

// Программируем здесь

if (! readPin (START_PAUSE)) {

если (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 (СБРОС)) {

delayMs (200); HH = 0; ММ = 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 ++; если (ММ == 60) ЧЧ ++; }

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

}

}

Рекомендуемые: