ዝርዝር ሁኔታ:
- ደረጃ 1: መስፈርቶች
- ደረጃ 2 የፕሮግራም ሰሪውን መገንባት
- ደረጃ 3 የፕሮግራም ሰሪ ሶፍትዌርን መጫን
- ደረጃ 4 - ቺፕውን መርሐግብር ማስያዝ
- ደረጃ 5 - ስብሰባ
- ደረጃ 6 የኮድ ማብራሪያ
- ደረጃ 7 - ተጨማሪ ሀብቶች
ቪዲዮ: የ 8051 መግቢያ በ AT89C2051 (እንግዳ ተዋናይ አርዱinoኖ) 7 ደረጃዎች (ከስዕሎች ጋር)
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:33
8051 (MCS-51 በመባልም ይታወቃል) ከ 80 ዎቹ ጀምሮ የ MCU ዲዛይን ነው። ዘመናዊ የ 8051 ተኳሃኝ የማይክሮ መቆጣጠሪያዎች ከብዙ ሻጮች ፣ በሁሉም ቅርጾች እና መጠኖች ፣ እና ከተለያዩ ሰፋፊ አካላት ጋር ይገኛሉ። በዚህ አስተማሪ ውስጥ ከአትሜል AT89C2051 MCU ን እንመለከታለን።
AT89C2051 ትንሽ (2Kbyte ፍላሽ ፣ 128 ባይት ራም) ፣ ርካሽ (~ በአንድ ቺፕ $ 1.40) ማይክሮ መቆጣጠሪያ ነው።
- 2.7-6V ክወና
- 15 እኔ/ኦ መስመሮች
- 2 ሰዓት ቆጣሪዎች (16 ቢት)
- የውስጥ እና የውጭ መቋረጦች
- UART
- በቺፕ ላይ የአናሎግ ማነፃፀሪያ
- በ 24 ሜኸ ሰዓት እስከ 2MIPS ድረስ
ደረጃ 1: መስፈርቶች
መስፈርቶች
- ሊኑክስ ፒሲ (አስፈላጊ ሶፍትዌር - አርዱዲኖ አይዲኢ ፣ ጂት ፣ ማድረግ ፣ ኤስዲሲሲ)
- አርዱዲኖ UNO
- AT89C2051 ቺፕ (DIP20 ጥቅል)
- ባለ 20-ሚስማር የ ZIF ሶኬት
- ኦፕቶኮፕለር (የተሻለ MOSFET- ውፅዓት)
- አርዱዲኖ ፕሮቶታይፕ ጋሻ
- 12V የኃይል አቅርቦት
- 5V የኃይል አቅርቦት
- 16 ሜኸ ክሪስታል ማወዛወዝ
- 2x 30pF capacitor
- 100nF capacitor
- ዲዲዮ (ለምሳሌ ፦ 1N400X)
- ተከላካዮች (1 ኪ ፣ 3 ኪ 3)
- ፕሮቶቦርድ
- መዝለሎች
- የመዳብ ሽቦ
አስፈላጊውን ሶፍትዌር ይፈትሹ;
የትኛው ፓይዘን 3
የትኛው sdcc የትኛው git ያደርገዋል
ደረጃ 2 የፕሮግራም ሰሪውን መገንባት
ከተወሰነ ጊዜ በፊት የፕሮግራም ጋሻዬን ስለሠራሁ ይህ ክፍል አጭር ይሆናል። እኔ የተሰበሰበውን ሰሌዳ ንድፍ እና ሥዕሎች አያይዘዋለሁ። የታሪካዊው ፒዲኤፍ በማከማቻ ውስጥ ይገኛል።
የፕሮግራም ሰሪውን ሰሌዳ ማዘጋጀት ያስፈልግዎታል
1. የውሂብ ማከማቻውን ያጥፉ።
git clone
2. AT89C2051_programmer/AT89_prog/AT89_prog.ino ፋይልን በአርዱዲኖ አይዲኢ ውስጥ ይክፈቱ።
3. ንድፉን ከ Arduino IDE ይገንቡ እና ይስቀሉ።
ደረጃ 3 የፕሮግራም ሰሪ ሶፍትዌርን መጫን
1. የፓይዘን ምናባዊ አከባቢን ይፍጠሩ።
python3 -m venv venv
. venv/bin/አግብር
2. at89overlord ን ይጫኑ። at89overlord በእኔ የተፃፈው የ AT89C2051 ቺፕ ክፍት ምንጭ ፕሮግራም አውጪ ነው።የምንጩ ኮድ እዚህ ይገኛል።
pip ጫን at89overlord
3. መጫኑን ያረጋግጡ።
at89 overlord -h
ደረጃ 4 - ቺፕውን መርሐግብር ማስያዝ
1. ቀለል ያለ ብልጭ ድርግም የሚል ፕሮጀክት ይቅረጹ።
ሲዲ ~
git clone https://github.com/piotrb5e3/hello-8051.git cd hello-8051/
2. ማመልከቻውን ይገንቡ።
ማድረግ
3. አርዱዲኖን ከፒሲው ጋር ያገናኙ ፣ የ 12 ቮ አቅርቦቱን ያገናኙ ፣ AT89C2051 ቺፕን በ ZIF ሶኬት ውስጥ ያስቀምጡ።
4. የአርዲኖን ተከታታይ ወደብ ያግኙ።
ls /dev /tty*
5. የተገነባውን የ IntelHex ፋይል ወደ ቺፕ ይስቀሉ። የእርስዎ የአርዱዲኖ ወደብ ከ /dev /ttyACM0 የተለየ ከሆነ በ -p የትእዛዝ መስመር ግቤት ትክክለኛውን እሴት ማለፍ አለብዎት።
at89overlord -f./hello.ihx
ደረጃ 5 - ስብሰባ
በእቅዱ መሠረት ወረዳውን ይሰብስቡ። የፒዲኤፍ ስሪት በማከማቻ ውስጥ ሊገኝ ይችላል።
0.5Hz አካባቢ ባለው ድግግሞሽ አረንጓዴውን የ LED ብልጭታ ማየት አለብዎት።
ደረጃ 6 የኮድ ማብራሪያ
#ያካትቱ
#ያካትቱ
የ AT89X051 ራስጌን ከ sdcc በማካተት እንጀምራለን። እንደ ተለዋዋጮች ከመመዝገቢያዎች ጋር ለመገናኘት ማክሮዎችን ይ containsል። እንዲሁም የ uint8_t እና uint16_t ኢንቲጀር ዓይነቶች ትርጓሜዎችን የያዘውን stdint.h ን እናካትታለን።
// ማወዛወዝ (oscillator) 16 ሜኸ ነው
#INTERRUPTS_PER_SECOND 5208 ን ይግለጹ
የጊዜ መቁጠሪያ 0 በሚሞላበት ጊዜ መቋረጥ ይከሰታል። እንደ አንድ ባለ 8 -ቢት ሰዓት ቆጣሪ የተዋቀረ ነው ፣ ስለዚህ ይህ በየ 2^8 ፕሮሰሰር ዑደቶች ይከሰታል። አንድ አንጎለ ኮምፒውተር ዑደት 12 ሰዓት ዑደቶችን ይወስዳል ፣ እና በዚህም 16000000/12/2^8 = 5208.33333 ላይ ደርሰናል።
ተለዋዋጭ uint8_t led_state = 0;
ተለዋዋጭ uint16_t timer_counter = INTERRUPTS_PER_SECOND;
የሚመራውን የመንግስት ቁጥጥር እናውጃለን እና የቆጣሪ ተለዋዋጮችን እናቋርጣለን።
ባዶ ሰዓት ቆጣሪ 0_ISR (ባዶ) _ መቋረጥ (1) {
ሰዓት ቆጣሪ--; ከሆነ (timer_counter == 0) {led_state =! led_state; timer_counter = INTERRUPTS_PER_SECOND; }}
Timer0 በተሞላ ቁጥር ቆጣሪው እየቀነሰ ይሄዳል። ከዜሮ ጋር እኩል ከሆነ ዳግም ይጀመራል ፣ እና የመሪው ሁኔታ ይለወጣል። ይህ በሰከንድ አንድ ጊዜ አካባቢ ይከሰታል ፣ ይህም ~ 0.5Hz የ LED ብልጭ ድርግም የሚል ድግግሞሽ ያስከትላል።
int main () {
TMOD = 0x3; // የሰዓት ቆጣሪ ሁኔታ - 8 ቢት ፣ ቅድመ -ተቆጣጣሪ የለም። freq = OSCFREQ/12/2^8 TL0 = 0; // አጸፋዊ ቆጣሪ TH0 = 0; // ግልጽ መዝገብ TR0 = 1; // ሰዓት ቆጣሪ እንዲሠራ ያዘጋጁ። ET0 = 1; // አዘጋጅ ማቋረጥ። EA = 1; // ዓለም አቀፍ ማቋረጫ ያዘጋጁ። (1) {ከሆነ (የመሪ_ስቴት) {P1 = 0xFF; } ሌላ {P1 = 0x00; }}}
የሰዓት ቆጣሪውን ሞጁል እናዋቅራለን እና በመሪው ግዛት ቁጥጥር ተለዋዋጭ ውስጥ ለውጦችን እንጠብቃለን። TMOD የሰዓት ቆጣሪ መቆጣጠሪያ መቆጣጠሪያ ነው። TL0 እና TH0 የ Timer0 ቁጥጥር መመዝገቢያዎች ናቸው። ET0 በሰዓት ቆጣሪ መቆጣጠሪያ መዝገብ (TCON) ውስጥ ማንቃት- timer0 ቢት ነው። TR0 እና EA በማቋረጫ ማንቃት መዝገብ (አይኢኢ) ውስጥ ቢት ናቸው።
ደረጃ 7 - ተጨማሪ ሀብቶች
- AT89C2051 የውሂብ ሉህ
- አነስተኛ መሣሪያ ሐ አጠናቃሪ (sdcc):
- 8051 ሀብቶች
- AT89C2051 የፕሮግራም ሰሪ ማከማቻ
- hello-8051 ማከማቻ:
የሚመከር:
እንግዳ ነገሮች በፕሮግራም ሊሠሩ የሚችሉ ሁዲ 9 ደረጃዎች (ከስዕሎች ጋር)
እንግዳ የሆኑ ነገሮች በፕሮግራም ሊሠሩ የሚችሉ ሁዲ - በጭካኔ በተሞላው ጭራቆች ዓለም ውስጥ ጊዜ ማሳለፍ ላይኖርብዎት ይችላል ፣ ግን አንዳንድ ጊዜ ከፈለጉ ከፈለጉ እዚያ ሙሉ በሙሉ መኖር ይችላሉ የሚል ሸሚዝ መልበስ ይፈልጋሉ። እንደዚህ ያለ ሸሚዝ በክፍት ገበያ ላይ ስለሌለ እኛ የእኛን ለማድረግ ወሰንን
የድምፅ ምላሽ ሰጪ አምፖል ያሳያል + እንግዳ ነገሮች : 8 ደረጃዎች (ከስዕሎች ጋር)
የድምፅ ምላሽ ሰጪ አምፖል ያሳያል + እንግዳ ነገሮች …: ለተጨማሪ ፎቶዎች እና የፕሮጀክት ዝመናዎች @capricorn_one
በፍሬም ውስጥ እንግዳ ነገሮች ግድግዳ (የራስዎን መልእክቶች ይፃፉ!): 8 ደረጃዎች (ከስዕሎች ጋር)
በማዕቀፉ ውስጥ የእንግዳ ነገሮች ግድግዳ (የእራስዎን መልእክቶች ይፃፉ!) - የገና መብራቶችን በመጠቀም አጋዥ ስልጠና ካየሁ በኋላ ይህንን ለማድረግ ለወራት ማለቴ ነበር (በጣም ጥሩ ይመስላል ግን ምንም መልዕክቶችን አለማሳየት ምን ዋጋ አለው ፣ ትክክል?) ስለዚህ ከጥቂት ጊዜ በፊት ይህንን እንግዳ ነገር ግድግዳ ሠርቻለሁ እና ብዙ ጊዜ ወስዶብኛል
እንግዳ ነገሮች LED T-shirt: 8 ደረጃዎች (ከስዕሎች ጋር)
እንግዳ ነገሮች የ LED ቲ-ሸሚዝ-የሚያስፈልጉዎት ቁሳቁሶች 1x ሜዳ ነጭ ቲ-ሸርት ማቲ ጥቁር የጨርቅ ቀለም (አማዞን) 26x ሊደረስበት የሚችል የ RGB LEDs (ፖሉሉ) ሻጭ ፣ እና የኤሌክትሪክ ሽቦ ሙቀት መጨመሪያ ቱቦ (ማፕሊን) 1x አርዱinoኖ ኡኖ 1x የዩኤስቢ ባትሪ ጥቅል 1x ዩኤስቢ-ሀ ኬብል 1x መርፌ &; ነጭ ትሬ
መስመራዊ ተዋናይ Stepper ሞተር 3 ደረጃዎች (ከስዕሎች ጋር)
መስመራዊ አንቀሳቃሹ ስቴፐር ሞተር - የእንፋሎት ሞተሩን የማሽከርከር እንቅስቃሴ ወደ መስመራዊ እንቅስቃሴ ለመለወጥ ፣ የእግረኛው ሞተር ከአንድ ክር ጋር ተገናኝቷል። በክር ላይ እኛ ለማሽከርከር የማይችል የናስ ፍሬን እንጠቀማለን። እያንዳንዱ የክርክር ዙር የናስ ነት በአክሲዮን ዲር ውስጥ ይተረጎማል