ዝርዝር ሁኔታ:

የ Z80 ኮምፒተርን እንደገና መጎብኘት -6 ደረጃዎች
የ Z80 ኮምፒተርን እንደገና መጎብኘት -6 ደረጃዎች

ቪዲዮ: የ Z80 ኮምፒተርን እንደገና መጎብኘት -6 ደረጃዎች

ቪዲዮ: የ Z80 ኮምፒተርን እንደገና መጎብኘት -6 ደረጃዎች
ቪዲዮ: #እንዴት በጣም በቀላሉ ኮምፒተራችንን ፎርማት(format) ማድርግ እንችላለን ። 2024, ህዳር
Anonim
የ Z80 ኮምፒተርን እንደገና በመጎብኘት ላይ
የ Z80 ኮምፒተርን እንደገና በመጎብኘት ላይ
የ Z80 ኮምፒተርን እንደገና በመጎብኘት ላይ
የ Z80 ኮምፒተርን እንደገና በመጎብኘት ላይ

ቀደም ሲል ፣ በ Z80 ላይ የተመሠረተ ኮምፒተርን እንዴት እንደሚገነቡ መመሪያ ጽፌያለሁ ፣ እና ወረዳው በተቻለ መጠን በቀላሉ እንዲገነባ በተቻለ መጠን ቀለል ያለ እንዲሆን አድርጌዋለሁ። እኔም ተመሳሳይ የሆነ ቀላልነትን ሀሳብ በመጠቀም ትንሽ ፕሮግራም ፃፍኩ። ይህ ንድፍ በጥሩ ሁኔታ ሠርቷል ፣ ግን በእሱ ሙሉ በሙሉ ደስተኛ አልነበርኩም። እኔ በአሂድ ጊዜ ውስጥ እንዲሠራ የሚያስችለውን ፕሮግራም እንደገና መጻፍ ጀመርኩ። ይህ ለ EEPROM መሰጠት ሳያስፈልገኝ የኮድ ቁርጥራጮችን ለመፈተሽ እንድፈቅድልኝ ነበር ፣ ይህ ደግሞ የ EEPROM ን እንደገና እንድደግም ይጠይቀኛል። ይህ ለእኔ አስደሳች ሀሳብ አይመስለኝም። ከዚያ ስለ ትውስታ ቦታዎች ማሰብ ጀመርኩ። አንድን የሃርድዌር (IO በዋናነት) ለመገጣጠም ከፈለግኩ አንድ የኮድ ቁራጭ ለስርዓቱ ካለው የማህደረ ትውስታ ቦታ መጠን ሊበልጥ ይችላል። ያስታውሱ ፣ ዲዛይኑ የአድራሻ አውቶቡሱን ዝቅተኛ ባይት ብቻ ይጠቀሙ እና ከዚያ የከፍተኛ ባይት የታችኛው ቢት በሮማ እና ራም ቦታዎች መካከል ለመምረጥ ጥቅም ላይ ውሏል። ይህ ማለት እኔ ለመጠቀም 253 ባይት ቦታ ብቻ ነበረኝ። ከ 256 ይልቅ ለምን 253 ን እየጠየቁ ሊሆን ይችላል። ያ አዲሱ ኮድዬ በጽሑፍ ፕሮግራም መጨረሻ ላይ ሦስት ባይት መረጃን ስለሚያስገባ (ይህ በአዲሱ ዲዛይን ላይ እንዲሠራ ስላስተካከልኩት በኋላ ይሸፈናል)።

n

ሌላ ምን እየሆነ እንዳለ ለማየት ወደ ቀድሞ የአሠራር ስልቴ ተመለስኩ። እኔ እዚያ ስደርስ የምሸፍነው የማስታወሻ ምርጫ ወረዳ ያለው ትንሽ ጉድለት አገኘሁ። ቀለል ያለው ስሪት - ምንም እንኳን ሁል ጊዜ በ RAM ውስጥ ቢቀመጥም ሁሉም የመፃፍ ጥያቄዎች በእውነቱ ያልፋሉ። ይህ ምናልባት የሚያስጨንቅ ነገር አልነበረም ፣ ግን በዚህ ጊዜ በትክክል ለማድረግ ፈለግሁ። እናም በዚህ ፣ አዲስ መርሃግብር መሳል ጀመርኩ። ከዚህ ገጽ ጋር የተያያዙት ሁለት ስዕሎች ከእውነተኛው ወረዳ በፊት እና በኋላ ናቸው። የስፓጌቲ ሽቦን በጣም አጸዳሁ ፣ አስቂኝ አይደለም።

n

እርስዎ የመጀመሪያውን የእኔን ግቤት ከተከተሉ እና ከዚህ ጋር ለመከተል ካቀዱ እኔን ሊጠሉኝ ነው። አዲስ ከጀመሩ ታዲያ ዕድለኛ ነዎት። በዝርዝሩ ውስጥ ያሉትን ክፍሎች (ወይም የእነሱ ተመጣጣኝ) ብቻ ይያዙ እና ይከተሉ።

አቅርቦቶች

LM7805 - 5 ቮልት ተቆጣጣሪ Z80 - ሲፒዩ; የስርዓቱ አንጎል ኤ 28C64B - EEPROM። ለኮምፒውተሩ firmwareIDT6116SA ጥቅም ላይ የዋለ “ቋሚ” የውሂብ ማከማቻ - SRAM; የተጠቃሚ ኮድ እና /ወይም አጠቃላይ የውሂብ ማከማቻ ለማከማቸት ያገለገለ NE555 - የስርዓት ሰዓት 74HC374 - ኦክታል ዲ -ላች ከ /OE ጋር; እንደ ግብዓት ቺፕ 74427273 ጥቅም ላይ ውሏል - ኦክታል ዲ -ሌች ከ /MR ጋር; የውጤት ቺፕ TLC59211 - የ LED ሾፌር ቺፕ (74LS273 LEDs ን መንዳት እንዲችል ጥቅም ላይ ውሏል ፣ እሱ የአሁኑን ውፅዓት አቅም ስለሌለው) MC14572 - ይህ “የመስመር ሾፌር” ቺፕ ነው ፣ ግን ለማህደረ ትውስታ መቆጣጠሪያ አመክንዮ ፍጹም ሆኖ አግኝቼዋለሁ። እሱ 4 ተለዋዋጮች አሉት ፣ እና በ 74LS32 - ባለአራት ወይም በር CD4001 - የ NAND እና NOR በር ተገንብቷል - Quad NOR gateCD4040 - 12 Stage Ripple Counter; ተስሏል ፣ ግን አልተተገበረም የሰዓት መከፋፈያ (ስርዓቱን በዝቅተኛ የሰዓት ፍጥነቶች ለማሄድ) 2 10K Ohm Resistors - አንዱ በ 555 ሰዓት ቆጣሪ ወረዳ ውስጥ ጥቅም ላይ ውሏል ፣ ስለዚህ የሚፈልጉትን ማንኛውንም እሴት ይጠቀሙ 4 1 ኪ Ohm Resistors - አንዱ ለ 555 የሰዓት ቆጣሪ ፣ ስለዚህ የሚፈልጉትን ሁሉ ይጠቀሙበት። ሌላ ኤልኢዲዎችን ለማሽከርከር ጥቅም ላይ ይውላል ፣ ስለሆነም ከፈለጉ 8x330 Ohm Resistor Bus8x10K Ohm Resistor Bus11 LEDs - ሦስቱ ለስርዓት ሁኔታ ያገለግላሉ ሌሎቹ ስምንት ውጤቶች ናቸው። ለ 8 ፣ እኔ የአሞሌ ግራፍ ማሳያ (ኤችዲኤፍኤስ -483636) 4 Capacitors - ሁለት LM7805 ጥቅም ላይ ውለዋል። 0.22uF እና 0.1uF። አንደኛው ለ 555 ሰዓት ቆጣሪ ነው ፣ ስለዚህ ትክክል እንደሆነ የሚሰማዎትን ይጠቀሙ። የመጨረሻው ለኃይል ማብራት ዳግም ማስጀመር ነው። 100uF2 N. O. የግፊት አዝራሮች - አንዱ ለግቤት ፣ ሁለተኛው ለዳግም ማስጀመሪያ 8 SPST DIP Switches - የውሂብ ግብዓት ፤ እኔ የፒያኖ ቁልፍ ዘይቤን ተጠቅሜ ነበር። ብዙ እና ብዙ ሽቦ

n

ማሳሰቢያ: በ MC14572 በኩል ያለው ቀዳዳ ጊዜ ያለፈበት ነው ፣ ግን የ SMD ሥሪት አሁንም ንቁ ነው (“ለአዲስ ዲዛይን አይደለም”) እንኳን ፣ ስለዚህ እርስዎ እንዲጠቀሙበት የወረዳ ሰሌዳ መግዛት ሊያስፈልግዎት ይችላል። ሁለተኛ 74LS32 በ MC14572 ምትክ ጥቅም ላይ ሊውል ይችላል (የቀደመውን የኢብሌን “የማህደረ ትውስታ ምርጫ ወረዳ” መርሃግብር ይመልከቱ)

ደረጃ 1: ለውጦች + መርሃግብሮች ፈጣን አጠቃላይ እይታ

የለውጦች + አጠቃላይ መግለጫዎች አጠቃላይ እይታ
የለውጦች + አጠቃላይ መግለጫዎች አጠቃላይ እይታ

መርሃግብሮችን እንዴት ማንበብ እንደሚቻል-ወደ ቺፕ የተጠቆመ ቀስት ግብዓት ነው-ግብዓት>-ከቺፕ ርቆ የተቀመጠ ቀስት ውፅዓት ነው።

n

አብዛኛዎቹ ቺፖች በትክክለኛው ፒኖኖቻቸው ተቀርፀዋል። በእነዚህ ቺፖች ላይ ትንሹ መጥለቅ ተቀር hasል። አብዛኛዎቹ ቺፖች በላያቸው ላይ የፒን ቁጥሮች እና መለያዎች አሏቸው። ለማንበብ በጣም ከባድ ሊሆን ይችላል። እርሳሴ እየደበዘዘ ነበር።

n

በወረዳ ግንኙነቶች ፣ የአዲሱ ንድፍ አቀማመጥ በአብዛኛው ከመጀመሪያው አልተለወጠም። የአድራሻውን ዝቅተኛ ንባብ ከፍ ያለ ትዝታዎችን ከትዝታዎቹ ጋር አገናኘሁት እና ከዚያ ራም/ሮም ለመምረጥ የላይኛውን ንብ (A12) ዝቅተኛውን ተጠቀምኩ። ይህ ማለት የሮም ቦታ ከ 0000-00FF እስከ 0000-0FFF ድረስ ሄዷል ማለት ነው። የራም ቦታ ከ 0100-01FF ወደ 1000-1FFF ሄደ። እንዲሁም ለተሻለ ንድፍ የማስታወሻ መቆጣጠሪያ አመክንዮን ቀየርኩ እና ሁለት አዲስ የሁኔታ ኤልኢዲዎችን (እና አንዳንድ ሙጫ አመክንዮ) ጨመርኩ። እኔ ደግሞ የሰዓት መከፋፈያ ወረዳ (እኔ ሽቦ አልሠራሁም)። ሁለት ተግባራትን ለማከናወን ነበር። ግልፅ ተግባሩ የሰዓት ድግግሞሹን ወደ ታች መከፋፈል ነው። 555 በ 50% የሥራ ዑደቶች ማዕበሎችን ስለማይፈጥር ሌላኛው ተግባር ለ PWM (Pulse Width Modulation) ዓላማዎች ነው። በዚህ ወረዳ ውስጥ ይህ በእውነት አስፈላጊ አይደለም ፣ ግን አንዳንድ ኤልኢዲዎችን ለማሽከርከር ሰዓቱን ለመጠቀም ከፈለጉ ፣ ተፅእኖዎቹን (አንድ (የ LED) ስብስብ ከሌሎቹ ይልቅ ደብዛዛ እንደሚሆን) ያስተውላሉ። የቀረው የወረዳ ክፍል በመሠረቱ አልተለወጠም።

ደረጃ 2 ሲፒዩ ፣ ማህደረ ትውስታ እና ማህደረ ትውስታ ቁጥጥር

ሲፒዩ ፣ ማህደረ ትውስታ እና ማህደረ ትውስታ ቁጥጥር
ሲፒዩ ፣ ማህደረ ትውስታ እና ማህደረ ትውስታ ቁጥጥር
ሲፒዩ ፣ ማህደረ ትውስታ እና ማህደረ ትውስታ ቁጥጥር
ሲፒዩ ፣ ማህደረ ትውስታ እና ማህደረ ትውስታ ቁጥጥር
ሲፒዩ ፣ ማህደረ ትውስታ እና ማህደረ ትውስታ ቁጥጥር
ሲፒዩ ፣ ማህደረ ትውስታ እና ማህደረ ትውስታ ቁጥጥር
ሲፒዩ ፣ ማህደረ ትውስታ እና ማህደረ ትውስታ ቁጥጥር
ሲፒዩ ፣ ማህደረ ትውስታ እና ማህደረ ትውስታ ቁጥጥር

የቀድሞው ስሪት አንባቢዎች እኔን የሚጠሉኝ ይህ ክፍል ነው። በመነሻው ግንባታ ውስጥ እኔ በገመድ ላይ ትንሽ ችግር የሚጭኑ በሚመስሉበት ቦታ ላይ የተወሰኑ ክፍሎችን በቦርዱ ላይ ጣልኳቸው። ውጤቱም አንድ ሰው የስፓጌቲ ሰሃን በላዩ ላይ የጣለ እና “ሽቦዎች” ይመስላል። ትንሽ ለማፅዳት ስለፈለግኩ ከሲፒዩ ፣ ራም እና ሮም በስተቀር ሁሉንም ነገር በመበጣጠስ ጀመርኩ። መላውን የግብዓት ወረዳ ፣ የውጤት ወረዳ እና የሙጫ አመክንዮውን ወደ ላይ አነሳሁ። እኔ ማድረግ እኔን ሊጎዳኝ ነው ፣ ግን አስፈላጊ ነበር። ሁሉንም የውሂብ ግንኙነቶች ሙሉ በሙሉ እና የአድራሻ አውቶቡሱን የታችኛው ባይት ትቼዋለሁ። በመቀጠል ቀጣዩን አራት የአድራሻ አውቶቡስ (A8-A11) ወደ ሮም ቺፕ አገናኘሁት። ለፕሮግራም ለማውጣት ቀላል ለማድረግ በዚህ ጊዜ ቺፕውን ለመዞር ጥንቃቄ አደረግሁ። እንዲሁም የአድራሻ ግንኙነቶችን ወደ ራም ቺፕ ዘለልኩ።

n

ያንን ከመንገዱ ጋር ፣ አሁን የማስታወሻ መቆጣጠሪያ አመክንዮ ሽቦን ማግኘት ነበረብኝ። በመነሻ መርሃግብሩ ውስጥ የአቀነባባሪው /MREQ መስመርን በቀጥታ ወደ /CE ከሁለቱም የማስታወሻ ቺፖች ጋር አገናኝቼ ነበር ፣ ከዚያ ወደ ራም /እኛ ራም /WR አገናኘሁ። ከዚያ እኔ የሲፒዩ /አርዲ እና /MREQ አመክንዮ OR'd አብረው እንዲሁም A9 ነበረኝ። በዋናነት ፣ ሁሉም የማህደረ ትውስታ ጥያቄዎች ራም እና ሮም እንዲነቃቁ ተዋቅሯል ፣ ነገር ግን A9 ከቺፕስ /ኦኢ ውስጥ የትኛው እንደተመረጠ ለመምረጥ ጥቅም ላይ ውሏል። ይህ ጥሩ ነበር እና ሁሉም የማስታወሻ ጥያቄ እስከሚደረግ ድረስ ቺፖቹ እንቅስቃሴ -አልባ ሆነው ስለሚቆዩ በንባብ ጥያቄ ወቅት አንድ /ኦኢ ብቻ ንቁ ይሆናል። ይህ ማጭበርበርን ይከላከላል ፣ ግን የማይመች ንዝረትን አስተዋውቋል። A9 ጥቅም ላይ የዋለው የትኛው ቺፕ ውሂብን እንደሚያወጣ ለመወሰን ብቻ ነው እና ሲፒዩ በቀጥታ ወደ ራም /WE ፒን መዳረሻ ስለነበረ ማንኛውም እና ሁሉም የጽሑፍ ጥያቄዎች ያልፋሉ። ይህ ለሮማ ደህና ነበር ምክንያቱም የመፃፍ ሁኔታው /እኛ በቀጥታ ከ 5 ቮ አቅርቦት ጋር በማያያዝ /በመከልከሉ ተከልክሏል። ይሁን እንጂ ራም A9 ምንም ይሁን ምን ይፃፋል። ይህ ማለት ወደ ሮም የቦታ ቦታ ለመጻፍ ሙከራ በራም ቦታ ውስጥ ወደ ተመሳሳይ ቦታ ይጽፋል ማለት ነው።

n

ለዚህ አንዱ መፍትሔ ሲፒዩ በቀጥታ ወደ ቺፕስ /ኦኢ እና /WE ፒኖች መዳረሻ እንዲኖረው እና ከዚያ የትኛውን ቺፕስ /CE እንደተነዳ ለመምረጥ MREQ እና A12 ን በመጠቀም የቁጥጥር አመክንዮ እንደገና ማሰራጨት ነው። እኔ በዚህ ሀሳብ ሄድኩ ፣ ግን አራት የ NOR በሮችን እና እንደ መጀመሪያው ዲዛይን ኢንቨርተርን ከመጠቀም ይልቅ ለሥራው ፍጹም የሆነ የማይመች ትንሽ ቺፕ አገኘሁ። በች chip ውስጥ የሚገኙትን የሎጂክ በሮች ብቻ የሚጠቀም ወረዳ መፍጠር ነበረብኝ ፣ ግን ያ ቀላል ነበር። A12 በቀጥታ ወደ NAND በር እና ወደ NOR በር ይመገባል። /MREQ ወደ NOR በር ይመገባል እና ምስጋናው ወደ NAND በር ይመገባል። የ NAND በር ለ RAM ለመንዳት /CE ጥቅም ላይ ይውላል እና የ NOR ውፅዓት ይገለበጣል እና ሮም /CE ን ለማሽከርከር ያገለግላል። ይህ /ቺፕ ከመምረጡ በፊት /MREQ ዝቅተኛ እንዲሆን እና A12 የትኛው እንደሚመረጥ እንዲመርጥ ያደርገዋል። በዚህ ማዋቀር ፣ አሁን ለሮማ ማንኛውም የጽሑፍ ጥያቄዎች ምንም አያደርግም። ከሁለቱም ይልቅ አንድ ቺፕ ብቻ ንቁ ስለሆነ ኃይልን ይቆጥባል። ስለ ሎጂክ ቺፕ ራሱ ፣ እኛ አሁንም በውስጣችን ሁለት ጥቅም ላይ ያልዋሉ ተለዋዋጮች አሉን። አንድ ሰው በኋላ ላይ ጥቅም ላይ ይውላል ፣ ግን እኛ እዚያ ስንደርስ እዚያ እናገኛለን።

ደረጃ 3 - የስርዓት ሁኔታ LEDs

የስርዓት ሁኔታ LEDs
የስርዓት ሁኔታ LEDs
የስርዓት ሁኔታ LEDs
የስርዓት ሁኔታ LEDs

ይህንን ፕሮጀክት ከመጀመሬ በፊት ከአንድ አይሲ ጋር ለመገናኘት እየሞከርኩ ነበር ፣ ግን በእሱ ላይ ችግር ነበረብኝ። ምን እየሆነ እንዳለ እርግጠኛ ባልሆንኩ ዙሪያውን ለመመርመር የፓነል ተራራ LED ን ተጠቅሜ ነበር (በውስጣቸው አንድ ተከላካይ ካለው አብያተ ክርስቲያናት አንዱ)። ይህንን ማድረጉ እስከ ዛሬ ድረስ ጥቅም ላይ የሚውል የናፍቆት ሀሳብ ሰጠኝ - የማስታወሻ መነበብ ወይም የተፃፈ መሆኑን ለማመልከት ያገለገሉበት ሁኔታ ኤልዲዎች። ቀደም ሲል ከነበረኝ የግቤት LED ጋር ተያይዞ ጥቅም ላይ መዋል ነበረበት። የግብአት ኤልዲ (ሲዲ) ከ /WAIT የምልክት ጄኔሬተር ጋር ተገናኝቷል ፣ ስርዓቱ ግብዓት እየጠበቀ ነው (እዚያ እደርሳለሁ ፣ አይጨነቁ)። እኔ የአይኦ ጽሁፍን ለማመልከት LED ን ለመጨመር አስቤ ነበር ፣ ግን የውጤት ኤልኢዲዎች መለወጥ ቀድሞውኑ ለዚያ ትልቅ አመላካች ይሆናል ብዬ አሰብኩ። እሱን እያሰብኩ ፣ አሁንም ልጨምር እችላለሁ። የሆነ ሆኖ ፣ ማህደረ ትውስታ እየተነበበ ወይም እየተፃፈ መሆኑን ማወቅ ጠቃሚ ሆኖ አግኝቼዋለሁ። ደህና ፣ ለማንኛውም ለፕሮግራም ማረም ጠቃሚ ነው። ፕሮግራሜ እንዲሠራ ስሞክር በእውነቱ እሱን በጣም ተጠቀምኩበት - “ለምን ወደ ማህደረ ትውስታ ይፃፋል? እስካሁን ያንን ማድረግ አይጠበቅበትም!”

n

እነዚህን ኤልኢዲዎች ለመቆጣጠር ፣ ባለአራት NOR በርን እጠቀም ነበር። ሁሉንም በሮች እጠቀም ነበር። የሁኔታ ምልክቶችን ለማመንጨት ያገለገሉት ሁለት ብቻ ነበሩ ፣ ግን ቺፕው ኤልኢዲዎቹን በትክክል ለማሽከርከር የኃይል ችሎታዎች የሉትም። ያን ያህል ኃይል ለመስመጥ ችሎታ አላቸው ፣ ስለዚህ ሌሎቹን ሁለት የ NOR በሮች እንደ ተገላቢጦሽ ተጠቀምኩ እና ኤልዲዎቹን እንደዚያ አገናኘሁት። አንድ ኤልኢዲ ንባቦችን ለማመልከት እና ሌላውን ለመፃፍ ስለሚጠቀም ፣ እና የንባብ እና የመፃፍ ጥያቄ በተመሳሳይ ጊዜ ስለማይከሰት ለሁለቱም ኤልዲዎች አንድ ተከላካይ ብቻ በመጠቀም ማምለጥ ችያለሁ። እኔ ዲኮድ ማድረግ ያለብኝን ምልክቶች በተመለከተ ፣ ያ እንዲሁ በቂ ነበር። ሁሉም የማስታወሻ ንባብ ጥያቄዎች እንዲጠቆሙ ፈልጌ ነበር ፣ ስለዚህ የመጀመሪያው የ NOR በር /ግብዓቶቹ /MREQ እና /RD ነበረው። የመፃፍ ሁኔታ ትንሽ ተንኮለኛ ነበር ፣ ግን እንደዚያ ቀላል ነው። እኔ አሁንም /MREQ ን እንደ አንድ ግብዓት እጠቀም ነበር ፣ ግን /WR ን እንደ ሌላኛው መጠቀሙ ለማስወገድ የፈለግኩትን ትንሽ ንዝረትን ያስከትላል። እሱ ሁሉንም የመፃፍ ጥያቄዎችን ይጠቁማል። እኔ በእውነቱ ያለፉትን ብቻ ነበር የምፈልገው። ስለዚህ እኔ ያንን እንዴት አደርጋለሁ? ደህና ፣ ራም ብቻ መፃፍ እንዲችል ስርዓቱን እንዴት እንዳዋቀርኩ ያስታውሱ? እኔ ራሞች /CE ን ለ NOR በር እንደ ሌላው ግብዓት እጠቀም ነበር። ይህ ማለት ራም ሲመረጥ እና የጽሑፍ ጥያቄ ሲቀርብ ብቻ ኤልኢዲ ያበራል ማለት ነው። ከ LED ቀለም አንፃር ፣ ብርቱካን እንደ ንባብ አመላካች (ግን እኔ ቢጫዎቹን ብቻ አገኘሁ) እና እንደ መጻፊያ አመላካች ቀይ አድርጌ መርጫለሁ።

ደረጃ 4 - ግብዓት እና ውፅዓት

ግቤት እና ውፅዓት
ግቤት እና ውፅዓት
ግቤት እና ውፅዓት
ግቤት እና ውፅዓት
ግቤት እና ውፅዓት
ግቤት እና ውፅዓት

በቀደመው ደረጃ ፣ ቀሪዎቹን ክፍሎች ቀደም ሲል በቦርዱ ላይ እንደጨመርኩ አስተውለው ይሆናል። አንድ ክፍል በፈለግኩበት ሽቦዎችን በድንገት እንዳላደርግ ቦታውን እጠብቅ ነበር (ስለዚህ ለተጠቀሰው አካል አዲስ ቦታ ማግኘት አለብኝ)። እርስዎም የግብዓት መቀየሪያዎችን በቦታው ትቼ ከኃይል ባቡሩ ጋር እንደገጠመኝ አስተውለው ይሆናል። እኔ የመጀመሪያው ቦታ ፍጹም ቦታ መሆኑን ወሰንኩ እና የውጤት LED ን በአቅራቢያ (ከላይ) ለማስቀመጥ ወሰንኩ። ከባሩ ማሳያ በስተቀኝ በኩል የግቤት መቆለፊያ አለ። ከዚያ በላይ የውጤት መቆለፊያ ነው ፣ እና ከግራ በኩል የ LED ነጂው ነው። ማድረግ በጣም ቀላሉ ስለሆነ ማሳያውን ከአሽከርካሪው ጋር በማገናኘት ጀመርኩ። ከዚያ መቀያየሪያዎቹን ከግቤት መቆለፊያ ግቤት ጎን አገናኘሁት። በመቀጠል የውጤት መቆለፊያውን የውጤት ጎን ከ LED ነጂው ጋር አገናኘሁት። እነዚህን ሽቦዎች ለማግኘት ይህ አስቸጋሪ ትእዛዝ ይመስላል ፣ ግን በሆነ ምክንያት ነበር። የውጤት መቆለፊያው ግብዓት ከመረጃ አውቶቡስ እንዲሁም ከግብዓት መቆለፊያው ውጤት ጋር መገናኘት ነበረበት። ሀሳቡ የግብዓት መቀርቀሪያውን ውጤቶች ከውጤት መቆለፊያ ግብዓቶች ጋር ማገናኘት ነበር ፣ እኔ ያደረግሁት። ከዚያ እኔ ማድረግ ያለብኝ ያንን ውጥንቅጥ ከመረጃ አውቶቡስ ጋር ማገናኘት ነበር። ሁሉም ግንኙነቶች በኤሌክትሪክ ስለሚገናኙ እነዚህ ግንኙነቶች በአካል የሄዱበት ቦታ አልነበረም። ኮምፒዩተሩ አሁን ሊጠናቀቅ ተቃርቧል።

ደረጃ 5 ግብዓት እና ውፅዓት ዳግም ማስጀመር እና ማጠናቀቅ

ይቅርታ ፣ ለዚህ ደረጃ ምንም ስዕሎች የሉም። ለሥዕሎቹ ቀዳሚውን ደረጃ ይመልከቱ።

n

በቀድሞው ደረጃ በመጨረሻው ስዕል ላይ አስተውለው ይሆናል ፣ እኔ አረንጓዴ አዝራር እና ሌላ አመክንዮ ቺፕ ተጭኖ ነበር። ቺፕው የ OR በር ነው። የ /WAIT ምልክትን ለማመንጨት ሁለት በሮች ጥቅም ላይ ይውላሉ። ደህና ፣ አንድ ሰው ምልክቱን በ OR-ing /IORQ እና /RD ከአቀነባባሪው ያመነጫል። ውጤቱ ወደ ሁለተኛው በር ይመገባል ፣ እዚያም እንደገና ወደ የግፋ አዝራር OR'd ያገኛል። አዝራሩ የበሩን ግቤት ከፍ ያደርገዋል ፣ ስለሆነም ውጤቱን ከፍ ያደርገዋል። ይህ ውፅዓት ለአቀነባባሪዎች /WAIT ፒን ይመገባል። አልተጫነም ፣ ተከላካይ ግቤቱን ዝቅተኛ ይይዛል። እኔ መጀመሪያ የ 10 ኪ ተቃዋሚ እጠቀም ነበር ፣ ግን LS32 በእውነቱ በመግቢያው ላይ voltage ልቴጅ አውጥቶ ነበር። ተከላካዩ በበቂ ሁኔታ አልጣለው እና በ 1 ኪ መተካት ነበረብኝ። ለማንኛውም ሀሳቡ የአይኦ ንባብ ጥያቄ ሲቀርብ የመጀመሪያው እና ሁለተኛው ወይም በሮች አንጎለ ኮምፒውተሩ እንዲጠብቅ ይነግረዋል። አንዴ የፈለጉትን ሁሉ የግብዓት መቀየሪያዎችን ካዘጋጁ በኋላ ቁልፉን ተጭነው ሲፒዩውን ከመጠባበቂያ ሁኔታ ያወጣል። ቀደም ባለው ደረጃ ላይ እንደጠራሁት አረንጓዴው “ግብዓት” ኤልኢዲ /ዋይት ፒን ዝቅ ሲል ፣ ያበራል።

n

ግን ገና አልጨረስንም። የግቤት መገልበጡ የመረጃ ግቤቱ ትክክለኛ ሲሆን ለሲፒዩው መቅረብ እንዳለበት ለማሳወቅ ምልክት ይፈልጋል። ይህ የሰዓት ፒን ንቁ ከፍተኛ ነው። ከዚህ በፊት እኛ ከአዝራሩ ጋር አገናኘነው። ይህ አሁንም ትክክለኛ አማራጭ ነው ፣ ግን በዚህ ጊዜ እንደ ሁለተኛው ወይም በር በተመሳሳይ ውፅዓት ላይ ለማስቀመጥ መርጫለሁ። ይህ አይሲ እንዲሁ መንዳት ያለበት /OE ፒን አለው። ከፍ ብሎ ከተያዘ በጭራሽ ወደ አውቶቡስ መረጃ አያስገባም። ዝቅተኛ ሆኖ ከተገኘ ሁል ጊዜ አውቶቡሱን መንዳት ነበር። ይህንን ለማስተካከል ፣ እኔ ሦስተኛውን ወይም በርን ብቻ ተጠቀምኩ። ግብዓቶቹ /IORQ እና /RD ናቸው እና ውጤቱ በቀጥታ ወደ መቀርቀሪያው /ኦኢ ይሄዳል።

n

የውጤት መቆለፊያ እንዲሁ ለመንዳት የሰዓት ፒን ይፈልጋል። እንደገና ፣ እሱ ከፍተኛ ንቁ ነው። በእኔ ዕቅድ ውስጥ /IORQ እና /WR ን በመጠቀም ፒኑን በቀጥታ እየነዳ አራተኛውን ወይም በርን ቀረብኩ። ይህ ማለት የጽሑፍ ጥያቄ እስከሚቀርብ ድረስ የሰዓት ፒን ከፍ እንደሚል ፣ ከዚያ እንደገና ወደ ታች ዝቅ ይላል። ይህ ምናልባት ጥሩ ሊሆን ይችል ነበር ምክንያቱም የውሂብ አውቶቡሱ ለመፃፍ ከተሞከረ በኋላ ወዲያውኑ በእሱ ላይ ትክክለኛ መረጃ ይኖረው ነበር ፣ ግን ከኤንጂነሪንግ አንፃር የቆሻሻ ንድፍ ነበር። የመጨረሻውን ሥዕሎች እስክወስድ ድረስ ይህንን ስህተት አላስተዋልኩም ፣ ግን ያንን ግንኙነት ቀደድኩ እና ከዚያ የማስታወሻ መቆጣጠሪያ አመክንዮውን ወደ ጥቅም ላይ ያልዋሉ ኢንቨስተሮች ውስጥ አንዱን የኦር ወይም የበርን መውጫ ገቡ ፣ ከዚያም ውጤቱን ከሰዓት ፒን ጋር አገናኘው።. እኔ ደግሞ መርሃግብሩን አስተካክዬ የሠራሁትን ሌላ ስህተት አገኘሁ። እኔም አስተካከልኩት።

n

ያ ሁሉ በመጨረሻ ሲጠናቀቅ ፣ በጣም ትንሽ ሥራ ነበረኝ - ዳግም ማስጀመሪያ ወረዳ። በቦርዱ ላይ አንድ አዝራር ጨመርኩ እና አንድ ጎን ከፍ ለማድረግ 10 ኪ resistor ን ተጠቀምኩ። ሌላኛው ወገን በቀጥታ ወደ መሬት ይሄዳል። ከፍ ብሎ የተያዘው ጎን / /ዳግም ማስጀመሪያ ፒን (ሲፒዩ እና የውጤት መቆለፊያ) ወደ እያንዳንዱ ቺፕ የሄደው /ዳግም ማስጀመሪያ ውጤት ነው። የኃይል ማብሪያ ዳግም ማስጀመርን ለማከናወን ፣ ወደ /ዳግም ማስጀመሪያ ውጤት አንድ capacitor አክዬአለሁ። ሀሳቡ ትልቁ እሴት ተቃዋሚው በአንፃራዊ ሁኔታ ትልቅ capacitor ቀስ በቀስ እንዲከፍል እና ለአንዳንድ የሰዓት ዑደቶች /RESET ፒኖችን ዝቅተኛ እንዲይዝ ያደርገዋል (ሲፒዩ አራት የሰዓት ዑደቶች ይፈልጋል)። ምናልባት የዚህ ወረዳ አሉታዊ ጎን ምን እንደሆነ አስቀድመው መገመት ይችላሉ። እሱ ተመሳሳይ ዑደት ስለሆነ ከቀዳሚው ስሪት ጋር ተመሳሳይ አሉታዊ ነው። አዝራሩ ሲጫን capacitor በመሠረቱ በአዝራሩ በኩል አጭር ነው። ይህ ለሁለቱም ለካፕ እና ለአዝራሩ መጥፎ ነው ፣ ስለዚህ ግንባታዎን ትንሽ ዘላቂ ለማድረግ ከፈለጉ ፣ እንደገና ለማቀናበር ይፈልጉ ይሆናል። ሊቆጣጠር በሚችል ሁኔታ ውስጥ ስለተዘጋጀ ሌላ 555 ሰዓት ቆጣሪ አስብ ነበር። ግን በዚህ ፣ የኮምፒተር ወረዳው አሁን ተጠናቀቀ። አይይ። አሁን ፕሮግራሚንግ ይፈልጋል።

ደረጃ 6 - ፕሮግራሚንግ

ይህንን ነገር ፕሮግራም ማድረጉ ቅmareት ነበር። እኔ የአርዱዲኖ EEPROM ፕሮግራመር ሠራሁ። አልሰራም። በሌላ ሰው ንድፍ እና ኮድ መሠረት ሌላ እገነባለሁ። አሁንም አልሰራም። አድራሻዎችን እና የውሂብ ባይቶችን በእጅ በእጅ ለማቀናበር ወደ ተሞከረው እና ወደ ትክክለኛው ዘዴ ተመለስኩ። በሆነ መንገድ ፣ ያንን አበሳጨሁት። እንደገና ሞከርኩ እና አሁንም ተሳስቻለሁ። እንደገና ተመለስኩ እና በአንድ ባይት እንደጠፋ አገኘሁ ፣ ስለሆነም አስተካክዬ በመጨረሻ ሰርቷል ፣ እግዚአብሔር ይመስገን።

n

ስለ ትክክለኛው ፕሮግራም ፣ እጅግ በጣም የተወሳሰበ እና ለመከተል የሚከብድ ይመስላል ፣ ግን አይደለም። እሱ በጣም ቀላል ነው ፣ በእውነቱ። ግማሹ ቁጥሮችን በዙሪያ እየገለበጠ ነው። ሌላኛው አጋማሽ በ 16 ቢት ሂሳብ ፣ በሁኔታዊ መዝለሎች እና ገና ቁጥሮችን በመገልበጥ መካከል ይጋራል። ስለዚህ በእሱ በኩል ልለፍ እና እንዴት እንደሚሰራ እነግርዎታለሁ።

n

ተነሳሽነት በፕሮግራሙ ለመጠቀም የተወሰኑ የመመዝገቢያ እሴቶችን ብቻ ያዘጋጃል። የፕሮግራሙ ዑደት ትንሽ ውስብስብ ነው ፣ ግን ብዙ አይደለም። በመጀመሪያ ፣ በወደብ 00 ላይ ለ A ምዝገባ ግብዓት ይቀበላል። ከዚያ የ E መዝገቡ ወደ ማህደረ ትውስታ ይፃፋል። በመጀመሪያዎቹ ሁለት ቀለበቶች ላይ ፣ የ “ኢ” መዝገብ አላስፈላጊ መረጃዎችን ይ containsል ፣ ስለዚህ እሱ በትክክል ስለማይፃፍ ወደ ሮም ቦታ የመጨረሻዎቹ ሁለት ባይት ለመጻፍ እንሞክራለን። የአድራሻው ጠቋሚ (አይአይ) ከዚያ ይጨመራል። በ D ውስጥ የተከማቸ እሴት ቀጥሎ ወደ ኢ እንዲዛወር ይደረጋል። ሀ ከዚያ ወደ ዲ እና ኤል ይጫናል እና ኢ ወደ ኤች ኤች ኤል ይገለበጣል ፣ የእሴቱ ንፅፅር በመቀነስ እና ዜኤፍ (ዜሮ ባንዲራ) በመፈተሽ ይከናወናል። ከተቃራኒው ጋር ሲነጻጸር የመጀመሪያው እሴት በመመዝገቢያዎች ውስጥ ተከማችቷል እና ቢ እና ሲ እና ሲ እንደ አንድ ባለ 16 ቢት መመዝገቢያ ፣ BC. እሴቶቹ ተመሳሳይ ከሆኑ ፕሮግራሙ የተጠቃሚ ኮድ ይኖራል ተብሎ ወደሚታሰብበት ወደ ራም ቦታ በቀጥታ ይዘልላል። ከክርስቶስ ልደት በፊት ያለው ኮድ ተዛማጅ ካልሆነ ፣ ከዚያ ኤች.ኤል ከዲ እና ኢ የመጀመሪያ እሴቶች ጋር እንደገና ይጫናል እና ከክርስቶስ ልደት በፊት ከነበረው በተመሳሳይ ሁኔታ በ SP ውስጥ ካለው እሴት ጋር እንደገና ይነፃፀራል። ተዛማጅ ከሆነ እሱ ተመሳሳይ ውጤት አለው ፣ ግን ሶስት ተጨማሪ ባይት ወደ ማህደረ ትውስታ ተፃፈ። ባይት ሲፒዩ ወደ ፕሮግራሙ መጀመሪያ (የሶፍትዌር ዳግም ማስጀመሪያ) እንዲመለስ የሚያደርግ ኮድ ነው። ሁለተኛው ንፅፅር ተዛማጅ ካልሆነ ግን ፕሮግራሙ ከተጠቃሚው እሴት እስከሚይዝበት ድረስ ይሽከረከራል።

n

LD SP ፣ EDBFH; exe ኮድ (መዝለልን ይጨምራል)

n

ኤልዲ አይይ ፣ ኤፍኤፍ; ለኮድ ማከማቻ የመጀመሪያ ማህደረ ትውስታ ጠቋሚ

n

LD BC, EDC3H; exe ኮድ (ምንም ዙር የለም)

n

loop; ይህ ክፍል የት እንደሚታወስ እንዳናውቅ የአሰባሳቢ መመሪያ

n

በ A ፣ (00H); የፕሮግራም ውሂብ ያግኙ

n

ኤልዲ (አይአይ+00 ኤች) ፣ ኢ; ኢ የሚቀመጥበት ኮድ ይ containsል

n

INC IY; ወደ ቀጣዩ ማህደረ ትውስታ ቦታ ይሂዱ

n

ኤልዲ ኢ ፣ ዲ; ld D ወደ ኢ

n

ኤልዲ ዲ ፣ ሀ; ld ሀ ወደ ዲ

n

ኤልዲ ኤች ፣ ኢ; ld ኢ ወደ ኤች

n

ኤልዲ ኤል ፣ ዲ; ld D ወደ ኤል

n

ወይም ሀ; ሰንደቅ ዓላማን ዳግም ያስጀምሩ

n

SBC HL, BC; exe ኮድ 2 ከገባ 0 ይመልሳል

n

JP Z, 1000H; እንደዚያ ከሆነ ወደ ፕሮግራሙ ይዝለሉ እና ያስፈጽሙ

n

ኤልዲ ኤች ፣ ኢ; አለበለዚያ እነዚህን ወደ ተገቢ እሴቶች ያድሱ

n

ኤልዲ ኤል ፣ ዲ

n

ወይም ሀ; የመጀመሪያው ተቀናሽ የመሸከም ባንዲራ አዘጋጅቶ ሊሆን ይችላል። አጽዳ

n

SBC HL, SP; exe ኮድ 1 ከገባ 0 ይመልሳል

n

JP NZ ፣ loop; ካልሆነ ፣ ሂደቱን ይድገሙት (ዋጋ ከማግኘት ጀምሮ)

n

ኤልዲ (IY+00H) ፣ C3H; ያለበለዚያ በተጠቃሚ ፕሮግራም መጨረሻ ላይ የመዝለል ኮድ ያስገቡ

n

ኤልዲ (IY+01H) ፣ 00H; ዝላይ በመሠረቱ እንደ የሶፍትዌር ዳግም ማስጀመር ይሠራል

n

ኤልዲ (IY+02H) ፣ 00H; መመዝገቢያዎች ከተሻሻሉ ሙሉ ዳግም ማስጀመር ነው

n

JP 1000H; ዝለል እና የተጠቃሚ ፕሮግራምን ያስፈጽሙ

የሚመከር: