ዝርዝር ሁኔታ:
- ደረጃ 1: መግለጫ
- ደረጃ 2: የችግር መግለጫ 1: በየ 50 ወይዘሮ የመጀመሪያ LED ን (አረንጓዴ) እናበራ
- ደረጃ 3 - የችግር መግለጫ 2 - በየ 1 ዎቹ ሁለተኛ LED (ሰማያዊ) እናብራት
- ደረጃ 4 - የችግር መግለጫ 3 - በየ 16 ሚ.ሜ ሦስተኛውን ኤልኢዲ (ቀይ) እናበራ
- ደረጃ 5 - በሲ.ሲ ውስጥ ለፕሮግራም ኮድ መጻፍ የ HEX ፋይልን ወደ ማይክሮ መቆጣጠሪያ ፍላሽ ማህደረ ትውስታ በመጫን ላይ
- ደረጃ 6 የኤሌክትሪክ ዑደትን መሥራት
ቪዲዮ: AVR ማይክሮ መቆጣጠሪያ። LEDs Flasher ሰዓት ቆጣሪን በመጠቀም። ሰዓት ቆጣሪዎች ያቋርጣሉ። የሰዓት ቆጣሪ CTC ሞድ 6 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:32
ሰላም ለሁላችሁ!
ሰዓት ቆጣሪዎች በኤሌክትሮኒክስ መስክ ውስጥ አስፈላጊ ጽንሰ -ሀሳብ ነው። እያንዳንዱ የኤሌክትሮኒክ ክፍል በጊዜ መሠረት ላይ ይሠራል። ይህ የጊዜ መሠረት ሥራው ሁሉ ተመሳስሎ እንዲቆይ ይረዳል። ሁሉም የማይክሮ መቆጣጠሪያዎች በተወሰነ የቅድመ -ሰዓት ድግግሞሽ ላይ ይሰራሉ ፣ ሁሉም ሰዓት ቆጣሪዎችን ለማቋቋም ዝግጅት አላቸው። AVR በጣም ትክክለኛ ፣ ትክክለኛ እና አስተማማኝ ሰዓት ቆጣሪ በመኖሩ ይኮራል። በውስጡ ብዙ ባህሪያትን ያቀርባል ፣ ስለሆነም ሰፊ ርዕስ ያደርገዋል። በጣም ጥሩው ክፍል ቆጣሪው ከሲፒዩ ሙሉ በሙሉ ነፃ መሆኑ ነው። ስለዚህ ፣ እሱ ከሲፒዩ ጋር ትይዩ ሆኖ ሲፒዩ ጣልቃ ገብነት የለም ፣ ይህም ሰዓት ቆጣሪውን በጣም ትክክለኛ ያደርገዋል። በዚህ ክፍል ውስጥ የ AVR ሰዓት ቆጣሪዎች መሰረታዊ ፅንሰ ሀሳቦችን እገልፃለሁ። ጊዜ ቆጣሪዎችን በመጠቀም የ LED ፍላሽ መቆጣጠሪያን ለመቆጣጠር በ C ኮድ ውስጥ ቀለል ያለ ፕሮግራም እጽፋለሁ።
ደረጃ 1: መግለጫ
በ ATMega328 ውስጥ ሶስት ዓይነት የሰዓት ቆጣሪዎች አሉ-
ሰዓት ቆጣሪ/Counter0 (TC0) - አጠቃላይ ዓላማ 8 -ቢት የሰዓት ቆጣሪ/ቆጣሪ ሞዱል ፣ በሁለት ገለልተኛ የውጤት ማወዳደር አሃዶች ፣ እና የ PWM ድጋፍ;
ሰዓት ቆጣሪ/ቆጣሪ 1 (TC1) - ባለ 16 ቢት የሰዓት ቆጣሪ/ቆጣሪ አሃዱ ትክክለኛ የፕሮግራም አፈፃፀም ጊዜን (የክስተት አስተዳደር) ፣ የሞገድ ማመንጫ እና የምልክት ጊዜ መለካት ይፈቅዳል ፤
ሰዓት ቆጣሪ/Counter2 (TC2) -አጠቃላይ ዓላማ ፣ ሰርጥ ፣ 8 -ቢት የሰዓት ቆጣሪ/ቆጣሪ ሞዱል ከ PWM እና ያልተመሳሰለ አሠራር ጋር ፤
ደረጃ 2: የችግር መግለጫ 1: በየ 50 ወይዘሮ የመጀመሪያ LED ን (አረንጓዴ) እናበራ
ዘዴ -
- ከፍተኛ ድግግሞሽ የኤሌክትሪክ ምልክት ወደ ዝቅተኛ ድግግሞሽ በኢንቲጀር ክፍፍል ለመቀነስ የ Timer0 ተጠባባቂን መጠቀም ፤
- ሰዓት ቆጣሪው በተጥለቀለ ቁጥር መቋረጥን በመጠቀም ፣
ሰዓት ቆጣሪ 0 (8 ቢት) ከዚያ በኋላ ከ 0 ወደ 255 ይቆጥራል ፣ ይትረፈረፋሉ ፣ ይህ እሴት በእያንዳንዱ የሰዓት ምት ይለወጣል።
F_CPU = 16MHz: የሰዓት ጊዜ = 1000ms / 16000000Hz = 0.0000625ms
የሰዓት ቆጣሪ ብዛት = (አስፈላጊ መዘግየት / የሰዓት ጊዜ) -1 = (50ms / 0.0000625ms) = 799999
50 ms ብቻ መዘግየትን ለመስጠት ሰዓቱ ቀድሞውኑ 799999 ጊዜ ምልክት አድርጓል!
የሰዓት ቆጣሪን ቁጥር ለመቀነስ የድግግሞሽ ክፍፍል ቴክኒክን መጠቀም እንችላለን prescaling ይባላል። AVR ከ 8 ፣ 64 ፣ 256 እና 1024 ለመምረጥ የሚከተሉትን የመጠባበቂያ እሴቶችን ይሰጠናል። ሰንጠረ Seeን ይመልከቱ የተለያዩ ቅድመ -ተቆጣጣሪዎች የመጠቀም ውጤቶችን ያጠቃልላል።
የቆጣሪው እሴት ሁል ጊዜ ኢንቲጀር መሆን አለበት። ቅድመ -ተቆጣጣሪ 256 እንምረጥ!
በአብዛኛዎቹ ማይክሮ መቆጣጠሪያዎች ውስጥ “መቋረጥ” የሚባል ነገር አለ። የተወሰኑ ሁኔታዎች በተሟሉ ቁጥር ይህ መቋረጥ ሊባረር ይችላል። አሁን ማቋረጫ በተሰደደ ቁጥር AVR ይቆማል እና ዋናውን የዕለት ተዕለት ሥራ አፈፃፀም ይቆጥባል ፣ በተቋረጠው ጥሪ ላይ ይሳተፋል (ልዩ ሥራን በማከናወን ፣ “የአቋራጭ አገልግሎት የዕለት ተዕለት እንቅስቃሴ ፣ ISR” ተብሎ ይጠራል) እና አንዴ ከጨረሰ በኋላ ወደ ዋናው የዕለት ተዕለት ተግባር እና እሱን መፈጸሙን ይቀጥላል።
የሚፈለገው መዘግየት (50ms) ከሚቻለው ከፍተኛ መዘግየት ስለሚበልጥ 4 ፣ 096ms = 1000ms / 62500Hz * 256 ፣ ሰዓት ቆጣሪው እንደሚፈስ ግልጽ ነው። እና ሰዓት ቆጣሪው በሚፈስበት ጊዜ ሁሉ ማቋረጫ ይነዳል።
መቋረጡ ስንት ጊዜ መባረር አለበት?
50ms / 4.096ms = 3125 /256 = 12.207 ሰዓት ቆጣሪው 12 ጊዜ ሞልቶ ከሆነ 12 * 4.096ms = 49.152ms ያልፋል። በ 13 ኛው ድግግሞሽ ፣ 50ms - 49.152ms = 0.848ms መዘግየት ያስፈልገናል።
በ 62500Hz (prescaler = 256) ድግግሞሽ ፣ እያንዳንዱ ምልክት 0.016ms ይወስዳል። ስለዚህ የ 0.848ms መዘግየትን ለማሳካት 0.848ms / 0.016ms = 53 መዥገሮችን ይፈልጋል። ስለዚህ ፣ በ 13 ኛው ድግግሞሽ ጊዜ ቆጣሪውን እስከ 53 ድረስ እንዲቆጥር ብቻ እንፈቅዳለን ፣ ከዚያ እንደገና ያስጀምረዋል።
ሰዓት ቆጣሪ 0/ቆጣሪ ያስጀምሩ (ፎቶውን ይመልከቱ)
TCCR0B | = (1 << CS02) // ሰዓት ቆጣሪን በ prescaler = 256 TCNT0 = 0 // ማስጀመሪያ ቆጣሪ TIMSK0 | = (1 << TOIE0) // የትርፍ ፍሰት ማቋረጥን ያንቁ () // ዓለም አቀፍ ማቋረጫዎችን ያንቁ tot_overflow = 0 // የትርፍ ፍሰት ቆጣሪ ተለዋዋጭን ያስጀምሩ
ደረጃ 3 - የችግር መግለጫ 2 - በየ 1 ዎቹ ሁለተኛ LED (ሰማያዊ) እናብራት
ዘዴ -
- በኢንቴጀር ክፍፍል ከፍተኛ ድግግሞሽ የኤሌክትሪክ ምልክትን ወደ ዝቅተኛ ድግግሞሽ ለመቀነስ የ Timer1 ቅድመ -ተቆጣጣሪ በመጠቀም ፣
- በንፅፅር (ሲቲሲ) ሁናቴ ላይ ግልፅ ሰዓት ቆጣሪን መጠቀም ፤
- ከ CTC ሞድ ጋር ማቋረጫዎችን መጠቀም ፤
ሰዓት ቆጣሪ 1 (16 ቢት) ከዚያ በኋላ ከ 0 እስከ 65534 ይቆጥራል ፣ እነሱ ሞልተዋል። ይህ እሴት በእያንዳንዱ የሰዓት ምት ይለወጣል።
F_CPU = 16MHz: የሰዓት ሰዓት = 1000ms / 16000000Hz = 0.0000625ms የቲመር ቆጠራ = (አስፈላጊ መዘግየት / የሰዓት ሰዓት ጊዜ) -1 = (1000ms / 0.0000625ms) = 15999999
የ 1 ዎች መዘግየት ለመስጠት ሰዓቱ ቀድሞውኑ 15999999 ጊዜ ምልክት አድርጓል!
የሰዓት ቆጣሪን ቁጥር ለመቀነስ የድግግሞሽ ክፍፍል ቴክኒክን መጠቀም እንችላለን prescaling ይባላል። AVR ከ 8 ፣ 64 ፣ 256 እና 1024 ለመምረጥ የሚከተሉትን የመጠባበቂያ እሴቶችን ይሰጠናል። ሰንጠረ Seeን ይመልከቱ የተለያዩ ቅድመ -ተቆጣጣሪዎች የመጠቀም ውጤቶችን ያጠቃልላል። የቆጣሪው እሴት ሁል ጊዜ ኢንቲጀር መሆን አለበት። ቅድመ -ተቆጣጣሪ 256 እንምረጥ!
በንፅፅር (ሲቲሲ) ሁናቴ ላይ በንፅፅር ሰዓት ቆጣሪ ውስጥ ፣ የ OCR1A ወይም ICR1 መመዝገቢያው የቆጣሪውን ጥራት ለመቆጣጠር ያገለግላሉ። በ CTC ሞድ ውስጥ አጸፋዊ እሴት (TCNT1) ከ OCR1A ወይም ከ ICR1 ጋር ሲዛመድ ቆጣሪው ወደ ዜሮ ይጸዳል። OCR1A ወይም ICR1 ለቆጣሪው ከፍተኛውን እሴት ይወስናል ፣ ስለሆነም የእሱ ጥራትም እንዲሁ። ይህ ሁናቴ የንፅፅር ተዛማጅ ውፅዓት ድግግሞሽ የበለጠ ቁጥጥርን ይፈቅዳል እንዲሁም የውጭ ክስተቶችን የመቁጠር ሥራን ያቃልላል። እሴቱ ዋጋ 62500 እንደደረሰ ሰዓት ቆጣሪውን 1/ቆጣሪውን እንደገና እንዲያስጀምር AVR ን መንገር አለብን ፣ ስለሆነም የ 1 ዎችን መዘግየት ለማሳካት።
ሰዓት ቆጣሪ 1/ቆጣሪ ያስጀምሩ (ፎቶውን ይመልከቱ)
TCCR1B | = (1 << WGM12) | (1 << CS12) // ሰዓት ቆጣሪ በ prescaler = 256 እና CTC ሞድ TCNT1 = 0 // ማስጀመሪያ ቆጣሪ TIMSK1 | = (1 << OCIE1A) // ን ማወዳደር ማቋረጥን OCR1A = 62500 // ንፅፅር እሴትን ያስጀምሩ
ደረጃ 4 - የችግር መግለጫ 3 - በየ 16 ሚ.ሜ ሦስተኛውን ኤልኢዲ (ቀይ) እናበራ
ዘዴ -
- በኢንቴጀር ክፍፍል ከፍተኛ ድግግሞሽ የኤሌክትሪክ ምልክትን ወደ ዝቅተኛ ድግግሞሽ ለመቀነስ የ Timer2 ቅድመ -ተቆጣጣሪ በመጠቀም ፣
- በንፅፅር (ሲቲሲ) ሁናቴ ላይ ግልፅ ሰዓት ቆጣሪን መጠቀም ፤
- ያለማቋረጥ የሃርድዌር CTC ሁነታን መጠቀም ፤
ሰዓት ቆጣሪ 2 (8 ቢት) ከዚያ በኋላ ከ 0 ወደ 255 ይቆጥራል ፣ ይትረፈረፋሉ። ይህ እሴት በእያንዳንዱ የሰዓት ምት ይለወጣል።
F_CPU = 16MHz: የሰዓት ጊዜ = 1000ms / 16000000Hz = 0.0000625ms
የሰዓት ቆጣሪ ብዛት = (አስፈላጊ መዘግየት / የሰዓት ጊዜ) -1 = (16ms / 0.0000625ms) = 255999
16ms መዘግየትን ለመስጠት ሰዓቱ ቀድሞውኑ 255999 ጊዜ ምልክት አድርጓል!
ሰንጠረ Seeን ይመልከቱ የተለያዩ ቅድመ -ተቆጣጣሪዎችን የመጠቀም ውጤቶችን ያጠቃልላል። የቆጣሪው እሴት ሁል ጊዜ ኢንቲጀር መሆን አለበት። ቅድመ -ጠባቂ 1024 ን እንምረጥ!
በ CTC ሞድ ውስጥ አጸፋዊ እሴት (TCNT2) ከ OCR2A ወይም ከ ICR2 ጋር ሲዛመድ ቆጣሪው ወደ ዜሮ ይጸዳል። ፒን PB3 እንዲሁ የ TIMER2 - OC2A የውጤት ማወዳደር ፒን ነው (ስዕሉን ይመልከቱ)።
የሰዓት ቆጣሪ/ቆጣሪ 2 መቆጣጠሪያ ምዝገባ ሀ - TCCR2A ቢት 7: 6 - COM2A1: 0 - የውጤት ሁነታን ለንፅፅር ክፍል ሀ ያወዳድሩ ሀ. ኤልዲውን መቀያየር ስለምንፈልግ አማራጩን እንመርጣለን። የ OC2A ፒን በራስ -ሰር ይቀየራል። ማንኛውንም ባንዲራ ቢት መፈተሽ አያስፈልግም ፣ በማንኛውም ማቋረጦች ላይ መገኘት አያስፈልግም።
Timer2/Counter ን ያስጀምሩ
TCCR2A | = (1 << COM2A0) | (1 << WGM21) // የጊዜ መቀየሪያ OC2A ፒን በማቀያየር ሁኔታ እና በ CTC ሁነታ TCCR2B | = (1 << CS22) | (1 << CS21) | (1 << CS20) // ሰዓት ቆጣሪን በ prescaler = 1024 TCNT2 = 0 // ማስጀመሪያ ቆጣሪ OCR2A = 250 // ንፅፅር እሴት ያዋቅሩ
ደረጃ 5 - በሲ.ሲ ውስጥ ለፕሮግራም ኮድ መጻፍ የ HEX ፋይልን ወደ ማይክሮ መቆጣጠሪያ ፍላሽ ማህደረ ትውስታ በመጫን ላይ
የተቀናጀ የእድገት መድረክ - Atmel Studio ን በመጠቀም በ C ኮድ ውስጥ የ AVR ማይክሮ መቆጣጠሪያ መተግበሪያን መፃፍ እና መገንባት።
F_CPU በሄርዝ ውስጥ የሰዓት ድግግሞሽን ይገልፃል እና በ avr-libc ቤተ-መጽሐፍት በመጠቀም በፕሮግራሞች ውስጥ የተለመደ ነው። በዚህ ሁኔታ የጊዜ መዘግየቶችን እንዴት ማስላት እንደሚቻል ለመወሰን በመዘግየቱ አሰራሮች ይጠቀማል።
#ifndef F_CPU
#ጥራት F_CPU 16000000UL // ለተቆጣጣሪ ክሪስታል ድግግሞሽ (16 ሜኸ AVR ATMega328P) መንገር #endif
በፒን ላይ የውሂብ ፍሰት ቁጥጥርን ለማንቃት #አርዕስት / አርዕስት። ፒኖችን ፣ ወደቦችን ፣ ወዘተ ይገልጻል።
የመጀመሪያው ፋይል ፋይል የ avr-libc አካል ነው እና በሚሠሩበት በማንኛውም የ AVR ፕሮጀክት ውስጥ ጥቅም ላይ ይውላል። io.h እርስዎ የሚጠቀሙበትን ሲፒዩ ይወስናል (ለዚህም ነው በሚሰበሰብበት ጊዜ ክፍሉን የሚገልጹት) እና በተራው እኛ የምንጠቀምበትን ቺፕ ተገቢውን የ IO ፍቺ ራስጌን ያካትታል። እሱ በቀላሉ ለሁሉም ፒኖችዎ ፣ ወደቦችዎ ፣ ልዩ መመዝገቢያዎችዎ ፣ ወዘተ ቋሚዎቹን ይገልጻል።
መቋረጥን ለማንቃት #አርዕስት ያካትቱ
ተለዋዋጭ uint8_t tot_overflow; የተትረፈረፈ ብዛት ለመቁጠር/ ዓለም አቀፍ ተለዋዋጭ
የችግር መግለጫ ዘዴ -ብልጭታ መጀመሪያ (አረንጓዴ) LED በየ 50 ሚሴ
- ከፍተኛ ድግግሞሽ የኤሌክትሪክ ምልክት ወደ ዝቅተኛ ድግግሞሽ በኢንቲጀር ክፍፍል ለመቀነስ የ Timer0 ተጠባባቂን መጠቀም ፤
- ሰዓት ቆጣሪው በተጥለቀለ ቁጥር መቋረጥን በመጠቀም ፣
ባዶ ሰዓት ቆጣሪ 0_init () // timer0 ን ያስጀምሩ ፣ ያቋርጡ እና ተለዋዋጭ
{TCCR0B | = (1 << CS02); // ከቅድመ -ተቆጣጣሪ = 256 TCNT0 = 0 ጋር ሰዓት ቆጣሪ ያዘጋጁ። // ማስጀመሪያ ቆጣሪ TIMSK0 | = (1 << TOIE0); // የተትረፈረፈ የማያቋርጥ sei () ን ያንቁ ፤ // ዓለም አቀፍ ማቋረጫዎችን ያንቁ tot_overflow = 0; // የትርፍ ፍሰት ቆጣሪ ተለዋዋጭ ያስጀምሩ}
የችግር መግለጫ ዘዴ -ብልጭታ ሁለተኛ LED (ሰማያዊ) በየ 1 ሴ
- በኢንቴጀር ክፍፍል ከፍተኛ ድግግሞሽ የኤሌክትሪክ ምልክት ወደ ዝቅተኛ ድግግሞሽ ለመቀነስ የ Timer1 ቅድመ -ተቆጣጣሪ መጠቀም ፣
- በንፅፅር (ሲቲሲ) ሁናቴ ላይ ግልፅ ሰዓት ቆጣሪን መጠቀም ፤
- ከ CTC ሞድ ጋር ማቋረጫዎችን መጠቀም ፤
ባዶ ሰዓት ቆጣሪ1_init () // የጊዜ ቆጣሪ 1 ን ያቋርጡ ፣ ያቋርጡ እና ተለዋዋጭ {TCCR1B | = (1 << WGM12) | (1 << CS12); // ሰዓት ቆጣሪን በ prescaler = 256 እና CTC ሞድ TCNT1 = 0 ያዘጋጁ። // ማስጀመሪያ ቆጣሪ OCR1A = 62500; // የመጀመሪያ እሴት ማወዳደር TIMSK1 | = (1 << OCIE1A); // የንፅፅር ማቋረጥን ያንቁ}
የችግር መግለጫ ዘዴ - ብልጭታ ሶስተኛ ኤልኢዲ (ቀይ) በየ 16 ሚ
- በኢንቴጀር ክፍፍል ከፍተኛ ድግግሞሽ የኤሌክትሪክ ምልክትን ወደ ዝቅተኛ ድግግሞሽ ለመቀነስ የ Timer2 ቅድመ -ተቆጣጣሪ በመጠቀም ፣
- በንፅፅር (ሲቲሲ) ሁናቴ ላይ ግልፅ ሰዓት ቆጣሪን መጠቀም ፤
- ያለማቋረጥ የሃርድዌር CTC ሁነታን መጠቀም ፤
ባዶ የጊዜ ቆጣሪ 2_init () // የጊዜ ማስጀመሪያ 2 ን ያስጀምሩ {TCCR2A | = (1 << COM2A0) | (1 << WGM21); // ሰዓት ቆጣሪን OC2A ፒን በማቀያየር ሁኔታ እና በ CTC ሁኔታ TCCR2B | = (1 << CS22) | (1 << CS21) | (1 << CS20); // ከቅድመ -ተቆጣጣሪ = 1024 TCNT2 = 0 ጋር ሰዓት ቆጣሪን ያዘጋጁ። // ማስጀመሪያ ቆጣሪ OCR2A = 250; // የንፅፅር እሴትን ያስጀምሩ}
TCNT0 በተጥለቀለ ቁጥር የሚጠራው የ TIMER0 የትርፍ ፍሰት አገልግሎት መቋረጥ
ISR (TIMER0_OVF_vect)
{tot_overflow ++; // የተትረፈረፈውን ብዛት ይከታተሉ}
አንድ ግጥሚያ በተከሰተ ቁጥር ይህ አይኤስአር ይባረራል ፣ መቀያየር ራሱ እዚህ ይመራል -
ISR (TIMER1_COMPA_vect) {PORTC ^= (1 << 1); // መቀያየር እዚህ ይመራል}
int main (ባዶ)
{DDRB | = (1 << 0); // ይገናኙ 1 (አረንጓዴ) ወደ ፒን PB0 DDRC | = (1 << 1); // ይገናኙ 2 (ሰማያዊ) ወደ ፒን PC1 DDRB ተመርቷል = = (1 << 3); // ይገናኙ 3 (ቀይ) ወደ ፒን PB3 (OC2A) ሰዓት ቆጣሪ0_init () አመራ። // ሰዓት ቆጣሪ 0 ሰዓት ቆጣሪ 1_init () ያስጀምሩ ፤ // ሰዓት ቆጣሪ 1 ሰዓት ቆጣሪ 2_init () ያስጀምሩ ፤ // ሰዓት ቆጣሪን ያስጀምሩ (1) // loop ለዘላለም {
Timer0 12 ጊዜ ከፈሰሰ 12 * 4.096ms = 49.152ms ያልፋል። በ 13 ኛው ድግግሞሽ ፣ 50ms - 49.152ms = 0.848ms መዘግየት ያስፈልገናል። ስለዚህ ፣ በ 13 ኛው ድግግሞሽ ጊዜ ቆጣሪውን እስከ 53 ድረስ እንዲቆጥር ብቻ እንፈቅዳለን ፣ ከዚያ እንደገና ያስጀምረዋል።
ከሆነ (tot_overflow> = 12) // የለም ከሆነ ያረጋግጡ። የተትረፈረፈ = 12 ማሳሰቢያ: '> =' ጥቅም ላይ ውሏል
{ከሆነ (TCNT0> = 53) // የሰዓት ቆጣሪ ቆጠራው 53 መድረሱን ይፈትሹ {PORTB ^= (1 << 0); // መሪውን TCNT0 = 0 ይቀይራል። // ቆጣሪ ዳግም አስጀምር tot_overflow = 0; // የትርፍ ፍሰት ቆጣሪን ዳግም ያስጀምሩ}}}}
የ HEX ፋይልን ወደ ማይክሮ መቆጣጠሪያ ፍላሽ ማህደረ ትውስታ በመስቀል ላይ
በ DOS መጠየቂያ መስኮት ውስጥ ትዕዛዙን ይተይቡ
avrdude –c [የፕሮግራም አድራጊ ስም] –p m328p –u –U ፍላሽ: w: [የሄክስ ፋይልዎ ስም] በእኔ ሁኔታ - avrdude –c ISPProgv1 –p m328p –u –U ብልጭታ ፦ w: Timers.hex
ይህ ትእዛዝ የሄክስ ፋይልን ወደ ማይክሮ መቆጣጠሪያው ማህደረ ትውስታ ይጽፋል። ስለ ማይክሮ መቆጣጠሪያ ፍላሽ ማህደረ ትውስታ ማቃጠል ዝርዝር መግለጫ ቪዲዮውን ይመልከቱ-
የማይክሮ መቆጣጠሪያ ፍላሽ ማህደረ ትውስታ እየነደደ ነው…
እሺ! አሁን ማይክሮ መቆጣጠሪያው በፕሮግራማችን መመሪያ መሠረት ይሠራል። እስቲ እንፈትሽ!
ደረጃ 6 የኤሌክትሪክ ዑደትን መሥራት
በስዕላዊ ሥዕላዊ መግለጫ መሠረት አካላትን ያገናኙ።
የሚመከር:
555 የሰዓት ቆጣሪ IC ን በመጠቀም Servo ን ይቆጣጠሩ - 3 ደረጃዎች
555 ሰዓት ቆጣሪ IC ን በመጠቀም Servo ን ይቆጣጠሩ - የእኔ የመጀመሪያ አስተማሪ የአናሎግ ጆይስቲክን በመጠቀም ሰርቪስን መቆጣጠር ነበር። ከዚያን ጊዜ ጀምሮ እኔ ሰርቪስ የሚያስፈልጉ ጥቂት ፕሮጄክቶችን አጋርቻለሁ - የሮቦት ክንድ እና የፊት መከታተያ። ሰርቦቹን ለመቆጣጠር እኛ ሁልጊዜ ማይክሮ መቆጣጠሪያ እንጠቀም ነበር። ግን ወደ
የ 30 ደቂቃ የሰዓት ቆጣሪ ማንቂያ ሰዓት-3 ደረጃዎች (ከስዕሎች ጋር)
የ 30 ደቂቃ የሰዓት ቆጣሪ ማንቂያ ሰዓት-አንድ ጓደኛ ለ 30 ደቂቃዎች የጊዜ መርጃዎችን የሚከራይ አነስተኛ ንግድ ይጀምራል። እሷ በየ 30 ደቂቃዎች (በሰዓቱ እና በግማሽ ሰዓት) በሚያስደስት የጎንግ ድምጽ ማስጠንቀቅ የሚችል ሰዓት ቆጣሪን ፈልጋ ነበር ፣ ግን ምንም ማግኘት አልቻልኩም። ሲን ለመፍጠር አቀረብኩ
NE555 ሰዓት ቆጣሪ - የ NE555 ሰዓት ቆጣሪን በአስደናቂ ውቅር ውስጥ ማዋቀር 7 ደረጃዎች
NE555 ሰዓት ቆጣሪ | በአስደናቂ ውቅር ውስጥ የ NE555 ሰዓት ቆጣሪን በማዋቀር ላይ - NE555 ሰዓት ቆጣሪ በኤሌክትሮኒክስ ዓለም ውስጥ በብዛት ከሚጠቀሙባቸው አይሲዎች አንዱ ነው። እሱ በ DIP 8 መልክ ነው ፣ ማለትም 8 ፒኖችን ያሳያል ማለት ነው
AVR ማይክሮ መቆጣጠሪያ Fuse ቢት ውቅር። በማይክሮ መቆጣጠሪያ መቆጣጠሪያ ፍላሽ ማህደረ ትውስታ ውስጥ የ LED ብልጭ ድርግምተኛ መርሃ ግብር መፍጠር እና መስቀል። 5 ደረጃዎች
AVR ማይክሮ መቆጣጠሪያ Fuse ቢት ውቅር። በማይክሮ መቆጣጠሪያ ተቆጣጣሪው ፍላሽ ማህደረ ትውስታ ውስጥ የ LED ብልጭ ድርግምተኛ መርሃ ግብር መፍጠር እና መስቀል የ Atmel ስቱዲዮን እንደ የተቀናጀ የልማት መድረክ በመጠቀም የራሳችንን ፕሮግራም እንጽፋለን እና የሄክሱን ፋይል እናጠናቅቃለን። እኛ ፊውዝ bi ን እናዋቅራለን
አውቶማቲክ የውሃ ደረጃ መቆጣጠሪያ ትራንዚስተሮችን ወይም 555 ሰዓት ቆጣሪ IC ን በመጠቀም - 5 ደረጃዎች
አውቶማቲክ የውሃ ደረጃ መቆጣጠሪያ ትራንዚስተሮችን ወይም 555 ሰዓት ቆጣሪን በመጠቀም - መግቢያ - ሂይ እዚህ ያለን ሁሉ ውሃውን በብቃት ስለማዳን እንማራለን። ስለዚህ ደረጃዎቹን እና ዓረፍተ ነገሮቹን በጥንቃቄ ይሂዱ። የውሃ ማጠራቀሚያ መትረፍ ወደ ውሃ ብክነት የሚያመራ የተለመደ ችግር ነው። እናቶች ቢኖሩም