ዝርዝር ሁኔታ:

የ 8051 መግቢያ በ AT89C2051 (እንግዳ ተዋናይ አርዱinoኖ) 7 ደረጃዎች (ከስዕሎች ጋር)
የ 8051 መግቢያ በ AT89C2051 (እንግዳ ተዋናይ አርዱinoኖ) 7 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: የ 8051 መግቢያ በ AT89C2051 (እንግዳ ተዋናይ አርዱinoኖ) 7 ደረጃዎች (ከስዕሎች ጋር)

ቪዲዮ: የ 8051 መግቢያ በ AT89C2051 (እንግዳ ተዋናይ አርዱinoኖ) 7 ደረጃዎች (ከስዕሎች ጋር)
ቪዲዮ: ሶስት ደረጃ UVW ፣ Arduino ኮድ - ክፍል 1 2024, ታህሳስ
Anonim
የ 8051 ፕሮግራም ከ AT89C2051 ጋር (እንግዳ ተዋናይ አርዱinoኖ)
የ 8051 ፕሮግራም ከ AT89C2051 ጋር (እንግዳ ተዋናይ አርዱinoኖ)

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 ማከማቻ:

የሚመከር: