Mündəricat:

Sadə CloudX M633 Rəqəmsal Saniyəölçən: 4 Addım
Sadə CloudX M633 Rəqəmsal Saniyəölçən: 4 Addım

Video: Sadə CloudX M633 Rəqəmsal Saniyəölçən: 4 Addım

Video: Sadə CloudX M633 Rəqəmsal Saniyəölçən: 4 Addım
Video: Ремонт на балконе Ошибки монтажа теплого пола. #37 2024, Iyul
Anonim
Sadə CloudX M633 Rəqəmsal Saniyəölçən
Sadə CloudX M633 Rəqəmsal Saniyəölçən

Bu layihədə, cib telefonunuzdakı saniyəölçən kimi, saatların, dəqiqələrin və saniyələrin qeydini saxlaya biləcək bir rəqəmsal saatın bir versiyasını hazırlayacağıq! Zamanı göstərmək üçün bir LCD istifadə edəcəyik

Addım 1: Komponentə ehtiyac var

Lazım olan Komponent
Lazım olan Komponent
Lazım olan Komponent
Lazım olan Komponent
Lazım olan Komponent
Lazım olan Komponent
  • CloudX M633
  • CloudX SoftCard
  • LCD Ekran
  • Potensialiometr
  • Düyməni basın
  • Çörək lövhəsi
  • Jumper Tel
  • V3 USB kabeli
  • 10k

Burada komponentinizi əldə edə bilərsiniz

Addım 2: DONANIM

DONANIM
DONANIM

Addım 1: LCD ekranı çörək taxtasına düzəldin və aşağıdakılara uyğun olaraq CloudX M633 Kartına qoşulun

  • R/S pin 1
  • Pin 2 -ə ENA
  • D4 -dən pin3 -ə qədər
  • D5 -dən 4 -ə qədər
  • D6 -dan 5 -ə qədər
  • D7 -dən 6 -ya qədər

Əlavə olaraq, 10k potu +5V və GND -yə silin (çıxışı) ilə LCD ekranların VO pininə bağlayın.

  • Vss və K -ni GND -ə bağlayın
  • Vdd və A'yı +5v -ə qoşun
  • R/W -ni GND -ə bağlayın

NB: A anod, K katoddur

Addım 2

  • Çörək lövhəsindəki ilk basma düyməsini (Başlat və Durdur) düzəldin və ilk ayağı CloudX Board -un 10k və Pin7 -ə, digər ayağını isə GND -yə qoşun.
  • Çörək lövhəsindəki İkinci düyməni (sıfırlama) düzəldin və ilk ayağı CloudX Board -un 10k və pin8 -ə, digər ayağını isə GND -yə qoşun.

Addım 3: KODLAMA

Bu kodu CloudX IDE -ə kopyalayın

#daxil edin #daxil edin #daxil edin

#müəyyən edin START_PAUSE 7

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

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

imzasız char HH, MM, SS, mSS, mscount, RFlag = 0; bit OmSF = 0, S_PFlag = 0;

fasilə TimerOmSD () {

əgər (INTCONbits. T0IF) {

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

qurmaq(){

// burada quraşdırın

pinMode (START_PAUSE, INPUT);

pinMode (SIFIRLA, GİRİŞ); lcd Ayarı (1, 2, 3, 4, 5, 6); lcdCmd (aydın); lcdCmd (cursorOff); lcdWriteText (1, 1, "CLOUDX STOPWATCH");

döngə () {

// Proqram burada

əgər (! readPin (START_PAUSE))) {

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

əgər (S_PFlag == PAUSE && RFlag == 1) {

gecikmə Ms (200); INTCON = 0b11100000; OPTION_REG = 0b00000111; }

əgər (S_PFlag == PAUSE && RFlag == 0) {

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

if (! readPin (RESET)) {

gecikmə Ms (200); HH = 0; MM = 0; SS = 0; mSS = 0; INTCON = 0b00000000; OPTION_REG = 0b00000000; mscount = 0; OmSF = 0; RFlag = 0; S_PFlag = DURDUR;

}

əgər (OmSF) {

OmSF = ~ OmSF; mSS ++; əgər (mSS == 10) SS ++; əgər (SS == 60) MM ++; əgər (MM == 60) HH ++; }

əgər (HH == 100) HH = 0; əgər (MM == 60) MM = 0; əgər (SS == 60) SS = 0; əgər (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);

}

}

Tövsiyə: