ዝርዝር ሁኔታ:

ከ Bascom AVR ጋር መጀመር - 5 ደረጃዎች
ከ Bascom AVR ጋር መጀመር - 5 ደረጃዎች

ቪዲዮ: ከ Bascom AVR ጋር መጀመር - 5 ደረጃዎች

ቪዲዮ: ከ Bascom AVR ጋር መጀመር - 5 ደረጃዎች
ቪዲዮ: Installing surveillance cameras and connecting them to a DVR 2024, ሀምሌ
Anonim
ከ Bascom AVR ጋር ማስጀመር
ከ Bascom AVR ጋር ማስጀመር

የእርስዎን AVR ማይክሮ መቆጣጠሪያ ከ Bascom AVR ጋር እንዲያስተምሩዎት ይህ የተከታታይ መጀመሪያ ነው።

ለምን ይህን አደርጋለሁ።

በዚህ ተከታታይ ውስጥ አብዛኛዎቹ የፕሮግራም ናሙናዎች ከአርዱዲኖ ጋር ማድረግ ይችላሉ።

አንዳንዶቹ ቀላል እና አንዳንድ በጣም ከባድ ፣ ግን በመጨረሻ ሁለቱም በተመሳሳይ መቆጣጠሪያ ላይ ይሰራሉ።

ግን በእያንዳንዱ የእድገት አከባቢ ውስጥ የፕሮግራም መንገድ የተለየ ነው። አርዱዲኖ ከመሠረታዊ ተግባራት በስተቀር ለሁሉም ነገር ቤተ -መጽሐፍት ይፈልጋል። ባስኮም ከቤተመጽሐፍት ጋር ይሠራል ፣ ግን እኔ አንድ ማካተት የለብኝም። በአርዱዲኖ ፣ ሁሉም ሃርድዌር-ተኮር ቅንብሮች በቤተ-መጽሐፍት በኩል ይደረጋሉ። በማይክሮ መቆጣጠሪያው ትክክለኛ ኃይል ላይ በጣም ትንሽ ተጽዕኖ አለዎት። ተቆጣጣሪው ካለው የሰዓት ቆጣሪዎቹ ጀምሮ። ከአርዲኖ ጋር እንደገና ቤተ -መጽሐፍት ያስፈልግዎታል። እሱ እስኪሠራ ድረስ ሰዓት ቆጣሪ ካለዎት ከቅንብሮችዎ ጋር የሚጋጭ ሌላ ቤተ -መጽሐፍት ሊሆን ይችላል። በባስኮም በአርዱዲኖ የተያዘውን የማስነሻ ዘርፍ ጨምሮ ወደ ሙሉው ሃርድዌር ነፃ መዳረሻ አለዎት። ለምሳሌ ፣ በ bascom ላይ ያሉ አንዳንድ ቤተ -መጻሕፍት የትኛውን ሰዓት ቆጣሪ መጠቀም እንደሚፈልጉ ይጠይቁዎታል። በሌላ በኩል ፣ አርዱዲኖ ቤተ -መጽሐፍትን እራስዎ ለመፍጠር በጣም ቀላል ስለሚያደርግ ፣ አዲስ ሃርድዌር እና ዳሳሾች ብዙውን ጊዜ በቀጥታ ቤተ -መጽሐፍት ያላቸውበት መድረክ ያደርገዋል። ብዙውን ጊዜ በባስኮም ከብዙ ምርምር ጋር የሚዛመደው እና ቤተመጽሐፍት በመደበኛነት የሚወስዳቸው ተግባራት በፕሮግራሙ ኮድ ውስጥ በጥብቅ መካተት አለባቸው። ግን መልካም ዜና የባስኮም ማህበረሰብ እንዲሁ በጣም ትልቅ ነው ለዚህ ነው ለእያንዳንዱ ሀሳብ መፍትሄ ያለው።

ስለዚህ በፕሮጀክቱ ላይ በከፊል ለልማት አከባቢ ምን ጥቅም ላይ እንደሚውል እና በከፊል በፕሮግራሙ ሰው ዕውቀት ላይ የተመሠረተ ነው።

ግን ይህንን ተከታታይ ለምን አደርጋለሁ። በአንድ በኩል ብዙ ገንዘብ ይቆጥባል። ለእያንዳንዱ ፕሮጀክት አርዱዲኖ ቦርድ መግዛት አያስፈልገኝም። ለምሳሌ - ስሙ የማይጠራው አርዱinoኖ ዩኖ በእሱ ላይ ያለው ተቆጣጣሪ ለተረጋጋ ተግባር ከሚያስፈልገው አነስተኛ ወረዳ ጋር 2.5 costs ብቻ ያስከፍላል ፣ ዋጋው 4 around አካባቢ ነው። በሌላ በኩል የሚገኙ የሚደገፉ የ avr ቺፕስ ሙሉ ምርጫ አለዎት። atmegas ከ 8 እስከ 256 እና ከ 8 እስከ 2313 እና ብዙ ልምድ የሌለኝ ብዙ የ xmega አይነቶች። ለምሳሌ እጅን ሊያውቅ የሚችል servo እና የአልትራሳውንድ ዳሳሽ ለመጠቀም ከፈለጉ እና ከዚያ የቆሻሻ መጣያ ክዳን መክፈት ከፈለጉ ፣ አነስተኛውን ቺፕ መጠቀም ይችላሉ። ስለዚህ ሁለተኛ ቋንቋ ለመማር ብዙ ምክንያቶች አሉ።

ስለዚህ እንጀምር

አቅርቦቶች

ይህ ለቺፕ እና ለፕሮግራም የተረጋጋ አሠራር አነስተኛ አስፈላጊ ክፍሎች ዝርዝር ነው።

ለሙከራ የዳቦ ሰሌዳ

Atmega 8-16PU (በስህተት ከገደሏቸው 2 ወይም 3 ቢገዙ ይሻላል)

7805 5V የቮልቴጅ ተቆጣጣሪ

10Kohm resistor

100nF ፊልም capacitor

10µF ኤሌክትሮላይቲክ capacitor

100µF ኤሌክትሮላይቲክ capacitor

ለዳቦ ሰሌዳ አንዳንድ ሽቦዎች

ዊንዶውስ ፒሲ 7/8/8.1/10

የአይኤስፒ ፕሮግራም አውጪ (እኔ እዚህ በአነስተኛ ገንዘብ በአማዞን መግዛት የምትችለውን የዩኤስቢ ማስቀመጫ እዚህ እጠቀማለሁ)

ባስኮም AVR (እዚህ አንድ ዲሞ ማውረድ ይችላሉ። ሁሉም መዝናኛዎች ተከፍተዋል ፣ ግን ለኮድ ብዙ በቂ እስከ 4 ቢቢ መጠን ድረስ ኮድ ብቻ መጻፍ ይችላሉ)።

አማራጭ ክፍሎች:

LED ዎች ከተቃዋሚዎች ጋር

የግፊት መቀየሪያዎች

ፕሮጀክት-ተኮር ክፍሎች

ደረጃ 1 - የባስኮምን እና ማዋቀሩን ጭነት

የባስኮም እና ማዋቀር ጭነት
የባስኮም እና ማዋቀር ጭነት
የባስኮም እና ማዋቀር ጭነት
የባስኮም እና ማዋቀር ጭነት
የባስኮም እና ማዋቀር ጭነት
የባስኮም እና ማዋቀር ጭነት

ፋይሉን ያውርዱ እና Bascom AVR ን ይጫኑ። ከተጫነ በኋላ የመጨረሻውን አመልካች ሳጥን ጨምሮ ሁሉንም ክፍሎቹን ይጫኑ።

ከዚያ በኋላ ኮምፒተርዎን እንደገና ያስጀምሩ ፣ አለበለዚያ ቤዝኮም አይጀምርም።

ዳግም ማስነሳት ከጀመሩ በኋላ bascom ይጀምሩ።

ወደ አማራጮች -> ፕሮግራመር ይሂዱ እና ከዝርዝሩ ውስጥ USBasp ን ይምረጡ ፣ ቅንብሮቹን ያስቀምጡ እና ባስኮምን ይዝጉ።

Usbasp ን ለመጫን ይህንን ፕሮግራም ይጠቀሙ። ከዚያ በኋላ ፒሲዎን እንደገና ያስነሱ። አሁን የ USBasp ን ከፒሲዎ ጋር ያገናኙ እና የመሣሪያ አስተዳዳሪውን ያስጀምሩ። USBasp በ libusb መሣሪያዎች ላይ መታየት አለበት።

ባስኮምን እንደገና ይቅዱ እና አዲስ ፋይል ይፍጠሩ። በኮምፒተርዎ ላይ ያስቀምጡት እና በቁልፍ ሰሌዳዎ ላይ የ F7 ቁልፍን ይምቱ።

አጠናቃሪው ባዶውን ፕሮግራም ይጀምራል እና ያጠናቅራል። አሁን የፕሮግራም አድራጊውን ተግባር መሞከር ይችላሉ።

የፕሮግራም ሰሪውን መስኮት ለመጀመር በቁልፍ ሰሌዳዎ ላይ የ F4 ቁልፍን ይምቱ። አሁን ወደ ቺፕ ይሂዱ -> መስተጋብር ለመጀመር ይለዩ። ከዩኤስቢኤስፕ (LEDass) አሁን አጭር ብልጭ ድርግም ማለት አለበት። እንደ ቺፕ ኢድ ኤፍኤፍኤፍኤፍ መሣሪያን ማንበብ ያልቻለ መልእክት ማግኘት አለብዎት። ያ ጥሩ ምልክት ነው ፕሮግራሙ እየሰራ ነው ግን ምንም ቺፕ አላገኘም።

አሁን የመጀመሪያውን ወረዳ መገንባት መጀመር እንችላለን።

ደረጃ 2 - ቺፕውን በቅርበት እንይ

ቀረብ እንበል ቺፕውን
ቀረብ እንበል ቺፕውን

የቺ chipውን ፒኖት ከተመለከቱ ቺፕው ከአርዲኖ ቦርድ ጋር ምንም ተመሳሳይነት ያለው አይመስልም። በእርግጥ እኛ Atmega8 ን እንጠቀማለን እና በአርዱዲኖ ዩኒ ላይ Atmega328 ነው። ግን ፒኖው ተመሳሳይ ነው ፣ ግን እሱ የአርዱዲኖ ኡኖ ቦርድ ተጨማሪ ተግባራት አሉት። የፒን ስሞች እዚህ አሉ። ቪሲሲ እና ጂኤንዲ ለኃይል አቅርቦት ፒኖች ናቸው።

AREF እና AVCC ለአናሎግ ወደ ዲጂታል መቀየሪያ የማጣቀሻ voltage ልቴጅ እና የኃይል አቅርቦት ፒኖች ናቸው።

PB 0-7 ፒሲ 0-6 ፒዲ 0-7 በርካታ መኖሪያ ያላቸው አጠቃላይ ዓላማ ግብዓት ውፅዓት ፒኖች ናቸው።

ዳግም ማስጀመር ፒን ስሙ የሚናገረው ነው። ቺፕውን እንደገና ለማስጀመር። ከዳግም ማስጀመሪያው ስም በላይ ያለው መስመር ማለት አሉታዊነት ማለት ነው። ያ ማለት ቺፕውን እንደገና ለማቀናበር ወደ 0V ዝቅ ማድረግ አለብዎት።

ለሚቀጥሉት ፒንች የተለያዩ አስተማሪዎች በቅርቡ ይመጣሉ።

RXD TXD ለተከታታይ ግንኙነት UART የሃርድዌር ፒን ናቸው።

INT0 INT1 የሃርድዌር ማቋረጫ ፒኖች ናቸው

XCK /T0 UART የሰዓት ምንጭ /ሰዓት ቆጣሪ /ቆጣሪ0 የሰዓት ምንጭ

XTAL /TOSC ፒኖች ለውጫዊ ክሪስታል እስከ 16 ሜኸ (የተለያዩ ሞዴሎች እስከ 20 ሜኸ) /ክሪስታል ፒኖች ለውስጣዊ RTC ናቸው

T1 ከ T0 ጋር ይመሳሰላል

የ AIN ፒኖች ለአናሎግ ማነፃፀሪያ ናቸው

ICP1 ከ T0/T1 ጋር ተመሳሳይ ነው

OC1A ለ pwm timer1 ሰርጥ ሀ የሃርድዌር ውፅዓት ፒን ነው

ኤስ ኤስ / ኦሲ 2 ቺፕ ለ SPI / እንደ OC1B ግን ሰርጥ ቢ ይምረጡ

MOSI MISO SCK / OC2 የሃርድዌር SPI ፒኖች እና ለፕሮግራም / ፒኤምኤም የውጤት ሰዓት ቆጣሪ 2 ናቸው

ከ ADC0 እስከ ADC5 የአናሎግ ግብዓቶች ናቸው

SDA SCL ለሃርድዌር I2C ፒኖች ናቸው

የተለመደው ቺፕ ከ 4 ፣ 5V እስከ 5 ፣ 5V ሊሠራ ይችላል Atmega 8L በጣም ዝቅተኛ በሆነ ቮልቴጅ መስራት ይችላል።

ይህ ቺፕ እንኳን አንድ አርዱዲኖ ኡኖ ማድረግ የማይችል ከሚመስለው በላይ ሊያደርግ እንደሚችል ያያሉ። ግን አርዱዲኖ እንዲሁ ሊያደርገው ይችላል ፣ እሱን መርሃግብር ማድረግ ብቻ አለብዎት።

ደረጃ 3 የመጀመሪያው ወረዳ

የመጀመሪያው ወረዳ
የመጀመሪያው ወረዳ
የመጀመሪያው ወረዳ
የመጀመሪያው ወረዳ

የመጀመሪያውን ወረዳዎን ለመገንባት ጊዜው አሁን ነው።

በተለምዶ የመጀመሪያው ወረዳ ምንድነው? ቀኝ! LED ን እናብራለን።

LED ከ PB0 ጋር ተገናኝቷል። ከቺፕ አጠገብ ያለው ተከላካይ 10 ኪ ኦም አለው።

ከ LED ቀጥሎ ያለው ተከላካይ 470 Ohms አላቸው።

አሁን በሥዕሉ ላይ እንደሚታየው የዩኤስቢያንን ከአትሜጋ ጋር ማገናኘት ይችላሉ።

ግን ኃይልን ከማብራትዎ በፊት ፕሮግራሙን እንጽፍ።

ደረጃ 4 የመጀመሪያውን ፕሮግራም ይፃፉ

የመጀመሪያውን ፕሮግራም ይፃፉ
የመጀመሪያውን ፕሮግራም ይፃፉ

በባስኮም ውስጥ አዲስ ፋይል ይፍጠሩ እና በሚከተለው ጽሑፍ ውስጥ ይተይቡ።

$ regfile "m8def.dat"

$ crystal = 1000000 config portb.0 = ውፅዓት do portb.0 = 1 wait 1 portb.0 = 0 wait 1 loop

ከዚያ በኋላ በቁልፍ ሰሌዳዎ ላይ F7 ን በመምታት ያጠናቅሩት።

አሁን F4 ን በመጫን ቺፕውን ፕሮግራም ማድረግ እንችላለን። የፕሮግራም አድራጊው መስኮት ይታያል። ከዳቦ ሰሌዳው ላይ ኃይልን ለማብራት ጊዜው አሁን ነው። ከ 6 እስከ 12 ቮልት መካከል የሆነ ነገር ማመልከት አለብዎት።

አሁን ወደ ቺፕ -> ራስ -ፕሮግራም ይሂዱ። የፕሮግራም አድራጊው መስኮት በራስ -ሰር ከተዘጋ ፕሮግራሙ ስኬታማ ነበር።

ኤልኢዲ በአንድ ሰከንድ ድግግሞሽ ውስጥ ብልጭ ድርግም ማለት አለበት።

አሁን አገባቡን ለመረዳት ፕሮግራሙን በጥልቀት ይመልከቱ።

$ regfile "m8def.dat"

$ ክሪስታል = 1000000

በ $ regfile እኛ ለአርዲኖ ቺፕ ስም ‹m328pdef.dat› እንደሚሆን የአጠቃቀም ቺፕ ዓይነት ለኮምፒዩተሩ እንነግራለን።

በ $ ክሪስታል እኛ 1 ሜኸዝ ያህል የሲፒዩ ፍጥነት እንነግረዋለን።

config portb.0 = ውፅዓት

ያ ማለት PB0 እንደ ውጤት ሆኖ መሥራት አለበት።

በነገራችን ላይ አሕጽሮተ ቃል PB0 ማለት ወደብ ቢ ቢት 0. ቺፕ ወደ በርካታ ወደቦች ተከፍሏል። እያንዳንዱ ወደብ ግልፅ መታወቂያ ለማግኘት ደብዳቤ ይሰጠዋል። እና እያንዳንዱ ወደብ ትንሽ ከ 0 እስከ 7. ለምሳሌ ፣ በወደብ መውጫ መመዝገቢያ ውስጥ የተሟላ ባይት መጻፍ እችላለሁ ፣ ይህም በግለሰብ ወደብ ካስማዎች በኩል ይወጣል።

መ ስ ራ ት

loop

ይህ በአርዱዲኖ ውስጥ ባዶው ሉፕ መግለጫ ማለት ይህ ነው። በእነዚህ ሁለት ትዕዛዞች መካከል ያሉት ሁሉ ለዘላለም ይደጋገማሉ። (በአንዳንድ ልዩ ሁኔታዎች በኋላ ግን ስለዚያ የበለጠ)

Portb.0 = 1

1 portb.0 = 0 መጠበቅ 1 ይጠብቁ

እዚህ የመሪውን ብልጭ ድርግም እናልፋለን።

Portb.0 = 1 ውጽዓቱን PB0 ወደ 5V ለመቀየር ቺ chipን ይነግረዋል

መጠበቅ 1 ትዕዛዝ ቺፕው ለአንድ ሰከንድ እንዲቆይ ያድርጉ። መሪውን በፍጥነት ለመቀየር ከፈለጉ የጥበቃ ትዕዛዙን በተጠባባቂዎች መተካት አለብዎት ፣ አሁን የተወሰነ ጊዜ አሁን በሚሊሰከንዶች ውስጥ ለምሳሌ ለምሳሌ በሰከንዶች ውስጥ ማስገባት ይችላሉ። ተጠባባቂዎች 500. (waitus ማለት nanoseconds ውስጥ ይጠብቁ ማለት ነው)

Portb.0 = 0 ውጽዓቱን PB0 ወደ 0V ለመቀየር ቺ chipን ይነግረዋል።

ደረጃ 5 - ግብዓቶችን ለመጠቀም አንድ አዝራር ያክሉ

ግብዓቶችን ለመጠቀም አዝራርን ያክሉ
ግብዓቶችን ለመጠቀም አዝራርን ያክሉ

አሁን አዝራሩ ከተጫነ መሪውን ለማብራት አንድ አዝራር እንጨምራለን።

በስዕሉ ላይ እንደሚታየው አዝራሩን ያስገቡ።

አሁን የሚከተለውን ፕሮግራም ይተይቡ።

$ regfile "m8def.dat"

$ ክሪስታል = 1000000 ውቅረት portb.0 = የውጤት ውቅር portd.7 = ግብዓት Portd.7 = 1 pind.7 = 0 ከዚያም portb.0 = 1 ሌላ portb.0 = 0 loop

ያንን ፕሮግራም ወደ ቺፕ ከሰቀሉት ፣ ቁልፉ ሲጫን መሪው ብቻ ያበራል። ግን ለምን?

ፕሮግራሙ እንደ መጨረሻው በተመሳሳይ መልኩ ይጀምራል

config portd.7 = ግብዓት። ያ ማለት ፣ ከአዝራር ጋር የተገናኘው ፒን PD7 እንደ ግብዓት ሆኖ ይሠራል።

ፖርት 7.

አርዱዲኖን ከለመዱ የ statemend ትንሽ ጠማማ ይመስላል።

መግለጫውን ከተጠቀሙ “ከዚያ” የሚለውን መግለጫ መጠቀም አለብዎት። በዚህ ናሙና ውስጥ መግለጫው ለአንድ ትዕዛዝ ተግባራት ጥቅም ላይ የሚውል ከሆነ። ተጨማሪ ትዕዛዞችን ለመጠቀም ከፈለጉ እንደዚህ መጻፍ አለብዎት።

pind.7 = 0 ከሆነ

portb.0 = 1 አንዳንድ ኮድ አንዳንድ ኮድ ሌላ ኮድ ሌላ ኮድ portb.0 = 0 መጨረሻ ከሆነ

ለዚህ የአረፍተ ነገር መግለጫ አጠቃቀም መጨረሻ ላይ ‹መጨረሻ ከሆነ› የሚለውን መግለጫ መጠቀም አለብዎት።

አሁንም አስፈላጊ የሆነው። ምናልባት እርስዎ አስቀድመው አይተውት ይሆናል። ግብዓቶቹ በ portx.x አይጠየቁም ፣ ግን በ pinx.x. ያንን በቀላሉ ማስታወስ ይችላሉ። ውጤቶች በቃሉ ውስጥ “o” (ወደብ) አላቸው እና ግብዓቶች “i” (ፒን) አላቸው።

አሁን ትንሽ ለመጫወት የእርስዎ ተራ ነው።

የእኔ ቀጣዩ አስተማሪ በቅርቡ ይመጣል (እንደ መደበኛ መግለጫዎች ፣ እንደ መያዣ ፣ ለ እና ተለዋዋጮች።)

አስተማሪዬን ከወደዱ እና የበለጠ ከፈለጉ በአስተያየቶቹ ውስጥ ይንገሩኝ።

የሚመከር: