Мазмуну:

Жөнөкөй CloudX M633 санариптик секундомер: 4 кадам
Жөнөкөй CloudX M633 санариптик секундомер: 4 кадам

Video: Жөнөкөй CloudX M633 санариптик секундомер: 4 кадам

Video: Жөнөкөй CloudX M633 санариптик секундомер: 4 кадам
Video: Ремонт на балконе Ошибки монтажа теплого пола. #37 2024, Ноябрь
Anonim
Жөнөкөй CloudX M633 санариптик секундомер
Жөнөкөй CloudX M633 санариптик секундомер

Бул долбоордо биз уюлдук телефонуңуздагы секундомер сыяктуу эле сааттарды, мүнөттөрдү жана секунддарды эсепке ала турган санарип сааттын версиясын жасамакчыбыз! Убакытты көрсөтүү үчүн биз ЖКны колдонобуз

1 -кадам: Компонент керек

Компонент керек
Компонент керек
Компонент керек
Компонент керек
Компонент керек
Компонент керек
  • CloudX M633
  • CloudX SoftCard
  • LCD дисплей
  • Потенциометр
  • Баскыч
  • Нан тактасы
  • Jumper Wire
  • V3 USB кабели
  • 10k

Сиз бул жерде сиздин компонентти ала аласыз

2 -кадам: ЖАБДУУ

ЖАБДУУ
ЖАБДУУ

1 -кадам: LCD дисплейин нан тактасына орнотуңуз жана CloudX M633 тактасына төмөндөгүдөй туташыңыз

  • R/S pin1ге
  • PIN 2ге ENA
  • D4төн pin3кө чейин
  • D5 - pin4
  • D6дан пин 5ке чейин
  • D7 - pin6

Кошумча катары, 10k идишти +5V менен GNDга, аны тазалагыч менен (чыгаруу) ЖК экрандарына VO пин.

  • Vss менен Kны GNDге туташтырыңыз
  • Vdd менен A +5v туташтырыңыз
  • R/Wди GNDге туташтыруу

НБ: А - анод, К - катод

2-кадам

  • Нан тактасындагы биринчи баскычты (Баштоо жана токтотуу) оңдоп, биринчи бутун CloudX Boardтун 10k жана Pin7 жана башка бутун GNDге туташтырыңыз.
  • Нан тактасындагы Экинчи баскычты (баштапкы абалга келтирүү) оңдоп, биринчи бутун CloudX Boardтун 10k жана pin8 жана башка бутун GNDге туташтырыңыз.

3 -кадам: КОДГОРЛОО

Бул кодду CloudX IDEге көчүрүңүз

#кошуу #кошуу #кошуу

#аныктоо START_PAUSE 7

#дефине 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 () {

эгер (INTCONbits. T0IF) {

INTCONbits. T0IF = 0; TMR0 += 60; if (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 STOPWATCH");

цикл () {

// Программа бул жерде

if (! readPin (START_PAUSE))) {

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

эгер (S_PFlag == PAUSE && RFlag == 1) {

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

эгер (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 (RESET)) {

delayMs (200); HH = 0; MM = 0; SS = 0; mSS = 0; INTCON = 0b00000000; OPTION_REG = 0b00000000; mscount = 0; OmSF = 0; RFlag = 0; S_PFlag = ТЫНЫТУУ;

}

эгер (OmSF) {

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

if (HH == 100) HH = 0; if (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, таймер);

}

}

Сунушталууда: