Mundarija:

Oddiy CloudX M633 raqamli sekundomer: 4 qadam
Oddiy CloudX M633 raqamli sekundomer: 4 qadam

Video: Oddiy CloudX M633 raqamli sekundomer: 4 qadam

Video: Oddiy CloudX M633 raqamli sekundomer: 4 qadam
Video: Ремонт на балконе Ошибки монтажа теплого пола. #37 2024, Iyul
Anonim
Oddiy CloudX M633 raqamli soniya hisoblagichi
Oddiy CloudX M633 raqamli soniya hisoblagichi

Bu loyihada biz xuddi mobil telefoningizdagi soniya hisoblagichi kabi soat, daqiqa va soniyani qayd qilib turadigan raqamli soat versiyasini tayyorlamoqchimiz! Vaqtni ko'rsatish uchun biz LCD -dan foydalanamiz

1 -qadam: Komponent kerak

Kerakli komponent
Kerakli komponent
Kerakli komponent
Kerakli komponent
Kerakli komponent
Kerakli komponent
  • CloudX M633
  • CloudX SoftCard
  • LCD displey
  • Potentsiometr
  • Bosish tugmasi
  • Non taxtasi
  • Jumper simlari
  • V3 USB kabeli
  • 10k

Siz bu erda komponentni olishingiz mumkin

2 -qadam: QURILMA

QURILMA
QURILMA

1 -qadam: LCD displeyni non paneliga o'rnating va quyidagicha CloudX M633 kartasiga ulang

  • R/S 1 -pin
  • PIN 2 ga ENA
  • D4dan pin3gacha
  • D5 dan 4 gacha
  • D6 dan 5 gacha
  • D7 - pin 6

Bundan tashqari, 10k potni +5V va GND ga ulang, uni o'chirish moslamasi bilan (chiqish) LCD ekranli VO piniga ulang.

  • Vss va K ni GND ga ulang
  • Vdd va A ni +5v ga ulang
  • R/V ni GND ga ulang

NB: A - anod, K - katod

2 -qadam

  • Non panelidagi birinchi tugmani (Ishga tushirish va to'xtatish) mahkamlang va birinchi oyog'ini CloudX Board -ning 10k va Pin7 -ga, ikkinchi oyog'ini GND -ga ulang.
  • Non panelidagi ikkinchi tugmani (qayta o'rnatish) o'rnating va birinchi oyog'ini CloudX Board -ning 10k va pin8 -ga, ikkinchi oyog'ini GND -ga ulang.

3 -qadam: KODLASH

Ushbu kodni CloudX IDE -ga nusxalash

#qo'shish #qo'shish #qo'shish

#aniqlang START_PAUSE 7

#RESET 8 ni belgilang #START 1ni belgilang #PAUSE 0 ni aniqlang

char taymer = "00: 00: 00: 0";

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

TimerOmSD () {ni to'xtating

agar (INTCONbits. T0IF) {

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

sozlash(){

// sozlash bu erda

pinMod (START_PAUSE, INPUT);

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

pastadir () {

// Bu erda dastur

agar (! readPin (START_PAUSE))) {

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

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

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

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

kechiktirishlar (200); INTCON = 0b11100000; OPTION_REG = 0b00000111; TMR0 += 60; mscount = 0; OmSF = 0; } S_PFlag = ~ S_PFlag; RFlag = 1; }

if (! readPin (RESET)) {

kechiktirishlar (200); HH = 0; MM = 0; SS = 0; mSS = 0; INTCON = 0b00000000; OPTION_REG = 0b00000000; mscount = 0; OmSF = 0; RFlag = 0; S_PFlag = PAUSE;

}

agar (OmSF) {

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

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

}

}

Tavsiya: