תוכן עניינים:

שעון עצר דיגיטלי פשוט CloudX M633: 4 שלבים
שעון עצר דיגיטלי פשוט CloudX M633: 4 שלבים

וִידֵאוֹ: שעון עצר דיגיטלי פשוט CloudX M633: 4 שלבים

וִידֵאוֹ: שעון עצר דיגיטלי פשוט CloudX M633: 4 שלבים
וִידֵאוֹ: השעון של הסמארטפון - שעון מעורר, שעון עצר, טיימר ועוד 2024, נוֹבֶמבֶּר
Anonim
שעון עצר דיגיטלי פשוט CloudX M633
שעון עצר דיגיטלי פשוט CloudX M633

בפרויקט זה, אנו הולכים ליצור גרסה של שעון דיגיטלי שיכול לשמור רישום של שעות, דקות ושניות, בדיוק כמו שעון עצר בטלפון הנייד שלך! אנו הולכים להשתמש ב- LCD כדי להציג את השעה

שלב 1: יש צורך ברכיב

דרוש רכיב
דרוש רכיב
דרוש רכיב
דרוש רכיב
דרוש רכיב
דרוש רכיב
  • CloudX M633
  • CloudX SoftCard
  • תצוגת אל סי די
  • פוטנציומטר
  • לחץ על הכפתור
  • לוח לחם
  • כבל מגשר
  • כבל USB V3
  • 10k

אתה יכול להשיג את הרכיב שלך כאן

שלב 2: חומרה

חוּמרָה
חוּמרָה

שלב 1: תקן את צג ה- LCD בלוח הלחם והתחבר ללוח CloudX M633 בהתאם להלן

  • R/S לסיכה 1
  • ENA ל- pin2
  • D4 עד pin3
  • D5 עד pin4
  • D6 עד סיכה 5
  • D7 עד pin6

בנוסף, העבר סיר 10k ל -5 V +GND, עם המגב (פלט) למסך ה- VO של מסכי LCD.

  • חבר את Vss ו- K ל- GND
  • חבר Vdd ו- A ל- +5v
  • חבר R/W ל- GND

N. B: A היא אנודה, K היא קתודה

שלב 2

  • תקן את כפתור הלחיצה הראשון (התחל ועצור) בלוח הלחם וחבר את הרגל הראשונה ל- 10k ו- Pin7 של לוח CloudX והרגל השנייה ל- GND.
  • תקן את כפתור הלחיצה השני (אפס) בלוח הלחם וחבר את הרגל הראשונה ל- 10k ו- pin8 של לוח CloudX והרגל השנייה ל- GND.

שלב 3: קידוד

העתק קוד זה ל- CloudX IDE שלך

#include #include #include

#הגדר START_PAUSE 7

#הגדר איפוס 8 #הגדר התחלה 1 #הגדר השהה 0

טיימר char = "00: 00: 00: 0";

char HH, MM, SS, mSS, mscount, RFlag = 0; bit 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 (סמן כבוי); lcdWriteText (1, 1, "CLOUDX STOPWATCH");

לוּלָאָה(){

// תכנית כאן

if (! readPin (START_PAUSE)) {

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

אם (S_PFlag == PAUSE && RFlag == 1) {

עיכוב Ms (200); INTCON = 0b11100000; OPTION_REG = 0b00000111; }

אם (S_PFlag == PAUSE && 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); HH = 0; MM = 0; SS = 0; mSS = 0; INTCON = 0b00000000; OPTION_REG = 0b00000000; mscount = 0; OmSF = 0; RFlag = 0; S_PFlag = PAUSE;

}

אם (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, טיימר);

}

}

מוּמלָץ: