⠛ 㒓䆒䅵⊩ ⬹1ǃⳂ 䆒䅵 ⠛ ㋏㒳 ⱘϸ⾡ ḜП 㾕䩜 51 ⠛ ˈ Ӏ 䆒䅵㋏㒳 ˈҢ 㾖Ϟ䆆 䴲 ϸ⾡ Ḝ˖ 㒓 䆒䅵 Ḝ 䴲 㒓 䆒䅵 ḜDŽ 䇧 㒓 䆒䅵 Ḝ ⫼51 ⠛ ⱘ䇏 䚼RAM 㛑ˈ 㽕䆒䅵ⱘ 䚼䆒 ˄↨ 䇈䬂Ⲭǃ⎆ ㄝ˅㒳㒳 ⠛ 㒓ϞˈՓ 㒳ϔ ㉏Ԑ䇏 䚼RAM 㛑ⱘ Ҹ ⊩䖯㸠 ˗㗠 䇧䴲 㒓 䆒䅵 Ḝˈ ϡ ⫼ ⠛ ⱘ䇏 䚼RAM 㛑ˈ㗠Ⳉ ⫼I/O 䇏 䖯㸠 䚼䆒 ⱘ䇏 ˈ↨ 䇈LED♃ǃ⎆ ㄝˈ Ў⎆ ϸ⾡䇏 ˈ 㒓 I/O ˄䌉 г ゴҟ㒡䖛˅ˈ㗠䖭䞠䇏 ⎆ ⱘ I/O 䖭䞠 㽕䇈ⱘ䴲 㒓 䆒䅵 ḜDŽ䙷М䖭ϸ⾡ Ḝ ϔ⾡ ˛䇈䖭 䆱 㛑 ⚍ 㸠ˈ 㞾 г䖭ḋ䅸ЎˈԚ Ўњ ⱘ䅽 㗙њ㾷 Ёⱘ䘧⧚ˈ 䖬 ⧁䮼 ㅔ 䯤䗄ϔϟ˖佪 㽕䇈 ˈ ⱘ䖭⾡䯤䗄 ゟ 䇏 䚼RAM 㛑ⱘ ⠛ ⱘ ⸔ПϞⱘDŽ ϾҎ䅸Ўˈϸ⾡ Ḝ ˖Ѣ 㒓 䆒䅵 Ḝ 䇈ˈӬ⚍ 㛑 ⠛ ⱘ 㒓䇏 㛑ˈ㋏㒳ϔ 䆒䅵 ˈ Ѣ ⱘ 㑻 DŽ㔎⚍ ♉⌏ ˈ⹀ӊ䖲 ↨䕗 ˗ ⬅Ѣ ⠛ 䇏 㒓 㽕ѻ⫳ϔ ⱘ 㒓 䯈 䖳ˈ䖭ḋ ѢԢ䗳ⱘ ⠛ 䇈ˈ 䆒䅵ⱘ㋏㒳䴲 ⱘ䆱ˈ䙷 䳔㽕䆒䅵Ҏ 㗗㰥ϔϟ 㽕∖њˈԚ ḍ ϾҎ ⱘ 㒣偠 䇈ˈ 㽕䆒䅵 ˈϔ㠀䯂乬ϡ ˈԚ䖬 ℸ䯂乬 ˈ䅽 ᾋDŽѢ䴲 㒓 䆒䅵 Ḝ 䇈ˈ ⱘӬ⚍ ♉⌏ ˈ䖭⾡ Ḝ ҹḍ 䆒䅵㗙ⱘ⠅ 㞾⬅䗝 ⠛ ッ 䖯㸠 䆒 ⱘ䆒䅵˄ ✊ 㽕 ヺ 䆒䅵 ⱘ ϟ˅ˈ㔎⚍ 㑻䳔㽕䞡 䆒䅵⬉䏃 DŽ2ǃ 㒓⊩䆒䅵 ⠛ ㋏㒳ⱘ ⧚ ⊩2.1 㒓⊩䆒䅵 ⧚ㅔҟ㒓 䆒䅵 Ḝ Ѣ ⱘ 㗙 䇈 ↨䕗 䲒ⱘˈ Ў Ѣ䖭⾡ ⊩䇈ˈ⡉ ⠛ 䆒 䘏䕥ⱘ 䜡ǃ ぎ䯈ⱘ 䜡ǃ 㒓偅 㛑 ㄝㄝⱘ䯂乬ˈϔ 䆒䅵ϡ ˈ㋏㒳 ⊩ ˈ 㗙䇈䚼 ⊩ DŽ⹂ ˈ 㒓 䆒䅵 Ḝ ϔ ⱘ䲒 ˈ 䖭 ὖг 㗙⫮㟇 ⠛ 䆒䅵 Ӏг 䍟 Ѣ ⫼䴲 㒓 䆒䅵 Ḝ 䖯㸠 ⠛ ㋏㒳䆒䅵ⱘ ˄ҙЎϾҎ㾖⚍ˈ ϡ ˈ䖬 ⺟˅DŽ ҹ 䖭ϔ㡖 ϟ ⱘ Ё Ӯ 乚 䏣 ⠛ 㒓 䆒䅵 Ḝⱘ 䮼ˈ䅽Դ乚⬹ϔϟ 䖭 䆒䅵乚 ⱘ 䰤㊒ DŽ佪 Ӏ ⳟⳟ51 ⠛ 䇏 䚼RAMⱘ ˈ 1ǃ2 ⼎˖ 1Ў51 ⠛ 䇏 䚼RAMⱘ DŽ1 51 ⠛ 䇏 䚼RAMⱘ⊼ 䖭䞠 Ӏ 䳔㽕 ALEǃRDǃPORT0ǃPORT2 Ͼ ⱘ ˈ㗠ϡ PSEN ˈ Ў䖭Ͼ ⫼ 䇏 䚼 ⱘˈ䎳 Ӏⱘ䅼䆎ϡⳌ ˈ 䍷ⱘ ҹ㞾㸠ⷨおˈϟ DŽϟ䴶 䎳 ϔ䍋䅼䆎ϔϟ䖭 䏃 ԩ Փ⫼ⱘDŽ䖛䆒䅵㒣偠ⱘҎ䛑 ⏙ἮˈALE Ӏ 䇈ⱘ 䫕 ˈ䙷М ЎҔМ㽕䫕 ˛䫕䇕ⱘ ˛ ԩ䫕ⱘ ˛ϔǃѠϾ䯂乬 ㅔ ˈ Ў51 ⠛ ⱘP0 / ⫼ⱘ8ԡッ ˈ 䇏 䚼RAM ˈP0 ϞӮ乎 䖲 ⦄Դ㽕䇏 ⱘ 䇏 㽕 ⱘ ˈ ⦄ ϡ ℸ8ԡ 䫕ԣˈ䙷М Ӯ䖙䗳⍜ ˈ ⊩ ⫼ℸ 䖯㸠䚼 ⱘ 䗝 ˗㗠䩜 ϝϾ䯂乬ˈ ԩ䫕ⱘˈ ⚍咏⚺ˈ Ў♉⌏ DŽ 䇋Ҩ㒚ⳟ 1ⱘALE PORT0ϸϾ ˈLHLL t üüALE ⱘ 㛝AVLL t +üüЎP0 ⱘ 䯈䭓LLAX t Ӏ Ϩⷨおϔϟ䖭ϸϾ 㾷ㄨϞ䴶ⱘ䯂乬ˈ⊼ P0 ⱘ 䯈䭓 Ў+ϸϾ 䯈䭓 ⱘ ˈ䙷М Ӏ Ͼ 䯈↉ 䫕 ˛䗮䖛 Ӏ ҹ ⦄ˈ ✊ 乏 ALE ⱘ 㛝 䖭ϾP0 ⱘ ˈ䙷М ҎӮ䯂 䖭Ͼ 䯈↉ ҔМ⫼ˈ 䖭Ͼ 䯈↉ P0 г 㒻㓁 ⱘԢ8ԡ ˈ䇋㒻㓁 ϟⳟ ⧚㾷DŽ њˈ ✊䖭ḋˈ Ӏ㽕䫕 ℸ ⱘP0 ✊ 㽕 ALE ⱘ 㛝 㛮њˈ ϔⳟˈ ˈ䖭ㅔ ˈ䖭㽕 ALE Ў催⬉ ⱘ ˈⳈ ⫼373㢃⠛㦋 P0 ϡ њ ʽϡ䫭ˈ ⱘˈⳂ 䛑 䖭М ⱘDŽ䙷М ⦄ 䯂Դˈ ⊩ ϔ ˛ 䖭Мϔ 䝦ˈ 㛑 Ӯ ˈ ˈ њˈ ALE ⱘϸϾ䖍⊓г ҹ ʽ䙷МԴ 䫭њˈ 䇈䖬 ϔϾ ⊩ ALE ⱘϟ䰡⊓ ҹˈϞ ⊓ ϡ㸠ⱘ ʽЎҔМ ˛Դⳟⳟ 1ⱘ ˈP0 ⱘ 䍋 䯈ⱘ 䖍⊓ ALE ⱘ 㛝 Ϟ ⊓ 䴶 ˈ䖭 ✊ϡ㸠 ʽ ✊ Ӏ㒣 ⫼ⱘ ⊩䖬 ⫼74ls373䖭㉏催⬉ Ӵ䕧ⱘ㢃⠛DŽ䖭䞠 䆝њ ϸ⾡ ⊩ˈ 䝦 ⊩ 䴲 ♉⌏ⱘˈ 䴶 Ӯ 䖭ϸ⾡䫕 ⱘ ⊩ ҹ ՟ⱘ ԧ⦄ 䴶 DŽAVLL t LLAX t LLAX t AVLL t њˈ Ӏ䫕 њˈ ✊P0 ⫼ッ ˈ䙷 Ӏ ⷨおϔϟ 䴶ⱘ МӴ䕧ⱘDŽЎњ ⱘ䅽 њ㾷 䚼 ⱘ䇏 ⱘ ⧚ˈ䖭䚼 ㅫ㒧 2ҟ㒡ϔϟ ⱘ DŽ2Ў51 ⠛ 䚼RAM ⱘ DŽ2 51 ⠛ 䚼RAM ⱘḋ 䖭䞠 Ӏ 䳔㽕 ALE ǃWR ǃPORT0ǃPORT2 Ͼ ⱘ DŽ䇋ⳟϟ䴶 Ͼ 䯈䞣˖LLWL t üüALE 䏇ЎԢ WR Ԣⱘ 䯈↉WLWH t üüWRQVWX t üüP0 WRWHQX t üüWR 㒧 P0 㒧䗮䖛Ϟ䴶 Ӏ ҹⳟ ˈг 䇈 ALE 䏇ЎԢ⬉ ҹ ˈ 䖳䖭М䭓ⱘ 䯈 ˈLLWL t WR Ԣ⬉ Ӯ㋻䎳ⴔ ⦄ˈ⊼ 䖭Ͼ ⠛ 㞾 ѻ⫳ⱘˈ 䇏㗙 ҹЎ㽕䆒㕂ҔМ П㉏ⱘϰ㽓ˈ ⦄䗋 ˈ 㽕 Ӏ 䞠ϔ䇗⫼MOVX 㗙 C 䇁㿔䞠䇏 XDATA ˄ 䚼˅ⱘ ˈWR 㗙RD Ӯ㞾 ⦄њDŽѢ Т䖭 Ӏ ҹ Ӏ䳔㽕Ӵ䕧ⱘ њDŽ䯂乬⬅ њˈ Ӏ ҔМ 䚼RAM 㗙䇈 䚼䆒 ˛䖭䞠䇋 ⊼ ˈ Ӏ ⦄P0 ⱘ 䯈↉Ў++ˈ ✊㽕䭓ѢWLWH t QVWX t WHQX t WR ˈ Ϩ П ˈ ҹ 䖭䞠ˈḍ 䖭Ͼ ⧚ˈ Ӏ ҹ ⫼WLWH t WR ⱘϟ䰡⊓ ǃԢ⬉ 䰊↉ Ϟ ⊓ 䖯㸠 ⱘˈԚ Ӏ ⫼ⱘ WRⱘԢ⬉ WRϞ ⊓ ˈ㗠 ⫼WRⱘԢ⬉ Ў 䘡ˈ Ў ⫳ѻⱘ 䚼 㒓䇏 㛑ⱘ㢃⠛䛑 㽕∖ WRⱘԢ⬉ ˈ䎳Ϟ䴶ϔḋˈ Ӏ 䖭䞠䅼䆎䖭ϾˈЏ㽕 㒭 կϔ⾡ 䏃ˈ 㞾 䖯㸠 䜡 䘏䕥䆒䅵 г䆌⫼ ϞDŽ ϟ䴶ⱘ ՟Ёˈ䖭ϸ⾡ ⊩ 䛑Ӯ ҟ㒡ˈ䇋 Ҩ㒚ԧӮDŽ2.2ϸ⾡ 䫕 ⊩ҟ㒡Ϟ䴶 㒣 ˈ 䖯㸠 䫕 ϸ⾡䫕 Ḝ˖催⬉ 䫕 ⊩ ϟ䰡⊓ 䫕 ⊩ˈ⊼ 䖭䞠 䇈ⱘ䖭ϸ⾡ ⊩ ⿄ 䩜 ⠛ ⱘALEッ 㗠㿔DŽϟ䴶 㒧 ԧⱘ⬉䏃㒭 ϔϟ䆺㒚ҟ㒡˄Ў㡖ⳕ⬏ ぎ䯈ˈ㗗㰥 ⠛ ԡ⬉䏃 ⬉䏃ϡ 䅼䆎ⱘ䆱乬ˈ ⳕ⬹˅˖2.2.1催⬉ 䫕 ⊩㡖ҟ㒡ⱘ催⬉ 䫕 ⊩ ⠛ Փ⫼ Ў ⊯ⱘϔ⾡ ⊩DŽ 䖭⾡ ⊩Ё䗝⫼373 㗙573㢃⠛ˈҹ573Ў՟ˈ ⳳ 㸼 㸼1 ⼎˖㸼1 74HC573ⳳ 㸼OE LE D QL H H HL H L LL L X Q0H X X Z⬅Ϟ䗄ⳳ 㸼 Ӏϡ䲒ⳟ ˈ䖭Ͼ⠛ ⱘ⡍⚍ ˖ 䕧 ッOE ˄Ԣ⬉ ˅ⱘ ϟˈ 䫕 ッLEЎ催⬉ ˈ䕧 ッQ䱣ⴔ䕧 ッD ˈ㗠 LEЎԢ⬉ ˈ䕧 ッQ Ϟϔⱘ䕧 ッ ˈ䖭ḋⱘ䘏䕥ℷ ヺ Ӏ ϔ㡖 ⱘ ⠛ ALEッ ⱘ ˈ ALEッЎ催⬉ ˈ ⠛ P0 ⱘԢ8ԡ 䕧 573ⱘ䕧 ッˈ㗠䕧 ッ䎳䱣 ˈϔ ALE ЎԢ⬉ ˈ573 ϡ 䎳䱣 ⠛ ⱘP0 ˈ Ў䖭 ˄ 䆹 䖛ϔӮ˅P0 偀Ϟ 㽕䕧 8ԡĀ āњˈ䖭ḋ њ ⠛ Ԣ8ԡ ⱘ䫕 DŽ3催⬉ 䫕 ⊩2.2.2ϟ䰡⊓ 䫕 ⊩㡖㒭 ҟ㒡 ϔ⾡ ⊩üüϟ䰡⊓ 䫕 ⊩DŽ䖭⾡ ⊩ Ӏⱘ 䰙䆒䅵Ё ϡ 㾕ˈԚ ҡ✊㒭 ϔϾㅔ ⱘҟ㒡ˈⳂⱘ 䅽 䏃ˈњ㾷䯂乬ⱘ 䋼DŽ䖭⾡ ⊩Ё䗝⫼374 㗙574㢃⠛ˈҹ374Ў՟ˈ ⳳ 㸼 㸼1 ⼎˖㸼2 74HC374ⳳ 㸼OE CLK D QLĖH HLĖL LL L X Q0H X X Z⬅Ϟ䗄ⳳ 㸼 Ӏϡ䲒ⳟ ˈ䖭Ͼ⠛ ⱘ⡍⚍ ˖ 䕧 ッOE ˄Ԣ⬉ ˅ⱘ ϟˈ 䫕 ッLE䕧 Ϟ ⊓ ˈ䕧 ッDⱘ 㛑䗕 䕧ッQˈ㗠 LEЎ䴲Ϟ ⊓ ˈ䕧 ッQ Ϟϔⱘ䕧 ッ ˈ䖭ḋⱘ䘏䕥ℷ ヺ Ӏ ϔ㡖 ⱘ ⠛ ALEッ ⱘ ˈ ALEッЎ催⬉ ˈ ⠛ P0 ⱘԢ8ԡ 䕧 374ⱘ䕧 ッˈԚ 䕧 ッϡ䎳䱣䕧 ッ ˈϔ ALE ЎԢ⬉ ˈ䖭ḋ ⶀ䯈ѻ⫳њϔϾϟ䰡⊓ˈԚ 374䳔㽕ⱘ ϔϾϞ ⊓ 㛑 Ң䕧 ッ 䖯䕧 ッˈЎℸˈ 乏 ALEϢCLKッ䖯㸠ϔϟ ⳌDŽ䖭ḋ ⠛ 䖭 Ͼⱘ䇏 ⱘ䖛Ёˈ374ⱘ䕧 ッˈг 䫕 ⱘ ⠛ ⱘԢ8ԡ ϡ њˈ ЎˈALEッ ϔ䇏 䖛Ё 㒜 Ԣ⬉ ⱘˈϡӮ ѻ⫳ϟ䰡⊓ˈг ϡӮ 374ⱘ䕧 ッDŽ䖭ḋг ḋ њ ⠛ Ԣ8ԡ ⱘ䫕 DŽ4ϟ䰡⊓ 䫕 ⊩3ǃ 㒓⊩䆒䅵 ⠛ さ⸈䗮䖛Ϟ䴶Ѡ㡖 Ӏⶹ䘧 ⠛ 㒓Ԣ8ԡ ϸ⾡䫕 ⊩DŽ 䖭ϔ㡖䞠ˈ 㒓䆒䅵⊩Ё㒣 ⫼ ⱘϔѯ ⠛ ⱘ䆒䅵 䏃 㗙 ⊩䆺㒚ⱘҟ㒡㒭 ˈ ⳟ 㛑ҢЁ ԧӮDŽ佪 ϟ䴶 Ͼ Ё⫼ ⱘ138 䆥ⷕ⬉䏃 ˖5 䆥ⷕ⬉䏃 䜡˖CS_LED: 0X8000~0X8F F F˗ LED ⼎♃⠛䗝CS_SHUMA:0X9000~0X9FFF ˗ ⷕㅵ⠛䗝CS_A/D: 0XA000~0XA F F F˗A/D 䕀 ⠛䗝 CS_D/A: 0XB000~0XB F F F˗ D/A 䕀 ⠛䗝CS_LCD: 0XC000~0XC F F F˗⎆ ⠛䗝CS_KEY_RD:0XD000~0XDFFF ˗䇏䬂Ⲭ⠛䗝CS_KEY_WR:0XE000~0XEFFF ˗䬂Ⲭ⠛䗝 䜡㾷 ˖佪 Ӏ ⳟⳟLED ⼎♃ⱘ ッCS_LED ЎҔМ 0X8000~0X8FFF ˈ74HC138佪 㽕 ˈ 乏 ⱘ⠛䗝䕧 ˄E1ǃE2ǃE3˅ッ㕂Ў ˈḍ Ӏⱘ⹀ӊ䖲 ˈE1ǃE2 㒣 ˈ䖭 Ӏ 䳔㽕 E3㕂Ў催⬉ 䱣 䆹74HC138㢃⠛ˈ ⬅Ѣ Ӏ ⠛ ⱘ 催ԡ 㒓A15 њE3Ϟˈ ҹˈ Ӏ 䆒ⱘ⠛䗝 䛑 乏䅽A15ԡ㕂Ў催⬉ Ā1āˈ䖭ḋˈ74HC138⠛䗝䕧 ѢC ˄A14˅ǃB ˄A13˅ǃA ˄A12˅ϝϾ ッњˈ ✊㽕䅽LED ⼎♃ⱘ ッCS_LED ˈг 䅽74HC138ⱘY0䕧 ッ ˄ЎĀ0ā˅ˈ 䳔㽕C ˄A14˅=Ā0āǃB ˄A13˅=Ā0āǃA ˄A12˅=Ā0ā ˈг 䇈 㽕䅽 ⠛ 㒓ⱘ催 ԡЎĀ1000āˈ㗠 Ҫ12ḍԢ 㒓 ҹӏ Ā0ā Ā1āˈ ҹ ℸ Ӏ ㅫ њLED ⼎♃ⱘ⠛䗝 0X8000~0X8FFFDŽ ⧚ˈ ⷕㅵǃA/D䕀 ǃD/A䕀 ǃ⎆ ǃ䬂Ⲭ䘧⧚Ⳍ DŽԚ 䖭䞠ˈ ѯ䇏㗙ϡ䲒 ⦄ϔ⚍ˈ䬂Ⲭⱘ⠛䗝 М䖬 ϸϾ ˛ϔϾĀ䇏䬂Ⲭ āˈϔϾĀ 䬂Ⲭ āˈ Ѣ䖭ϔ⚍ˈ Ӯ 䬂Ⲭ䆒䅵䚼 㒭 䆺㒚䇈 DŽП䇋 䆄ԣϔ⚍˖ ⱘ 䜡 䱣 ԧ⹀ӊ䖲 ⱘϡ 㗠 ⱘDŽ 㽕⹀ӊ䖲 њˈ 䆒 г њDŽ3.1 LED ⼎♃ⱘ 㒓䆒䅵⊩˄ 䞣䕧 ㉏Ԑℸ⊩˅䖭ϔ㡖㒭 ҟ㒡ϔϟLED ⼎♃ⱘ 㒓䆒䅵⊩ˈ䖭⾡ Џ㽕 ⍝ ⠛ 䚼䆒 ⱘ DŽ ✊ ⠛ ˈ 佪 乏㗗㰥 ϔϾ 乏⫼ ˈ䖭 WRDŽ ˈ䇋ⳟ 6ˈ 䖭Ͼ䆒䅵Ёˈ Ӏҡ✊䞛⫼Ϟ䴶ҟ㒡䖛ⱘ䫕 㢃⠛374ˈ䖭ḋ ϔⴐ Ӯ ԩ䕧 њˈ䙷 Ӏ 乏 374ⱘCLKッ㒭ϔϾϞ ⊓ ˈ䙷 ԩѻ⫳ ˛䖭䞠 Ӏ⫼ њϔϾ䘏䕥 䮼ˈ↨ 䇈 Ӏ㽕㒭LED䗕ϔϾ ˈ䙷М佪 䗝ЁLED䖭Ͼ 䚼䆒 ⱘ⠛䗝 ˈг 䇈CS_LED 䕧 Ԣ⬉ ⱘˈ㗠ℸ ㋻ ⴔWR ˈ 䕧 Ā ā ˄Ԣ⬉ ˅DŽ䖭ḋ 䮼ⱘϸϾ䕧 䛑ЎԢˈḍ 䘏䕥ˈt WR 䯈 ˅ ˈWR Ў催ˈ 䕧 ЎԢˈ 㑺㒣䖛˄WLWH䖭 㱑✊CS_LEDҡ✊Ў催ˈԚ ḍ 䘏䕥ˈ 䮼ⱘ䕧 Ӯ Ў催ˈ䖭ḋ 374ⱘCLKッѻ⫳њϔϾϞ ⊓䏇 ˈг 㽕䗕㒭LED 䆒ⱘ Ӵ䕧њ䖛 DŽ䖭䞠 㽕 㒭 㗙㾷䞞ϸ⚍˖ϔˈ ԩ 㛑䗝ЁCS_LED? Ѣ䖭Ͼ䯂乬 㛑 㗙 ⱘ䯂乬ˈ ㅔ ˈ ҹC䇁㿔㒭 ҹ㾷䞞ˈ䇋ⳟϟ䴶䖭ϔ䇁 ˖XBYTE [0X8000]=0X0F˗䖭 䇁 ҔМ ˛XBYTE 51 ⠛ 䞠ҷ㸼ⱘ 䚼 㒱 Ёⱘ ˗0X8000 Ӏ 䴶 ӀЎLED 䜡ⱘ ˈ ϡ䖛 㣗 П Ӏӏ ϔϾ DŽ䖭ḋˈϞ䴶䖭 䇁 ⱘ ˈ 0X0F䖭Ͼ Ў0X8000ⱘ 䚼 ˈ Ҏ 㛑㽕䯂ˈ䖭䞠 ⱘϡ 䚼ˈ 䆒 DŽ≵䫭ˈ 䬂⚍ њ˖ ⠛ 㸠Ϟ䗄䇁 ˈ ⠛ 佪 㽕 ⱘ 16ԡ 0X8000䖙䗳䗕 㒓Ϟˈℸ ˈḍ Ӏ 䴶ⱘ䅼䆎ˈ䖭Ͼ16ԡ ˄ Џ㽕 A14ˈA13ˈA12䛑ЎĀ0ā˅䖙䗳Փ138䗝ЁCS_LEDˈ⊼ 䖭 㱑✊ 㒓ϞӴ䕧ˈԚ 䆹 䆒ⱘ䖭Ͼ374ⱘCLKッ≵ Ϟ ⊓ ˈ ϡӮӴ䕧㒭LED 㟈 DŽ㋻ ⴔ ⠛ P0 0X0F䗕 㒓Ϟˈḍ Ϟ䴶 䅼䆎䖛ⱘˈ䖭Ͼ ⴔWR ⱘϞ䏇⊓ Ӵ䕧 њ374ⱘ䕧 ッˈ䖭ḋ㒧 ˖ 6Ёⱘ 䖍 ϾLED㹿⚍҂ˈ 䖍 Ͼ❘♁DŽѯ䇏㗙㽕䯂ˈ㛑ϡ㛑ϡ㽕WR䖭Ͼ ˈⳈ LEDⱘ⠛䗝 CS_LED 374ⱘCLKッ ?䖭 㽕㒭 㾷䞞ⱘѠϾ䯂乬DŽ䇋 Ҩ㒚 ϔϟˈ Ӏⱘ 䬂䯂乬 㒭㢃⠛374ⱘCLKッϔϾϞ䏇⊓ ˈ䙷М њWR䖭ϾĀ ā 㗠Ⳉ LEDⱘ⠛䗝 CS_LED 374ⱘCLKッ 㛑ѻ⫳Ϟ䏇⊓ ?ㄨḜ ϡ㛑ˈ ЎCS_LEDⱘ䗝Ё 䴴 ⠛ P2 ˄ 催8ԡ ˅䖯㸠䆥ⷕⱘˈ ϡ Ҫ 䚼䆒 䚼 ϡҎЎ P2 ˈ䙷МCS_LED 㒜䗝Ёⱘˈг ϔⳈ Ԣ⬉ DŽ㞾✊г ϡӮѻ⫳374CLKッ 䳔㽕ⱘϞ䏇 DŽ6 LED ⼎♃ⱘ 㒓䆒䅵⊩3.2 ⷕㅵⱘ 㒓䆒䅵⊩㡖 Ѣ ⷕⱘ 㒓䆒䅵⊩ Ϟ㉏ԐѢϞ䗄LEDⱘ䆒䅵⊩ˈ ℸ⬉䏃 㒭 ˈ 7 ⼎ˈ⬭㒭䇏㗙㞾㸠 DŽ7 ⷕㅵⱘ 㒓䆒䅵⊩3.3 A/D䕀 ⱘ 㒓䆒䅵⊩䖭ϔ㡖 ҹ Ё ⫼ⱘ8ԡA/D䞛䲚㢃⠛ADC0809㒭 ҟ㒡ϔϟA/D 䕀 ⱘ 㒓䆒䅵⊩ˈ 8 ⼎DŽЎA/D њ 䕀 䇏䕀 ϸϾℹ偸ˈ ҹ ⬉䏃䆒䅵Ёˈ 䞛⫼њϸϾ 䴲䮼Ў 䘏䕥ˈ㟇ѢЎҔМ䗝⫼ 䴲䮼ˈ ҹ㞾㸠 DŽ㽕㦋 AD ˈϔℹ 乏佪 ADˈ⬅催ԡ 㒓A12~A15䗮䖛138㒘 䆥ⷕ⬉䏃ѻ⫳ADC0809ⱘ⠛䗝 CS_ADDŽ㽕 ADC0809 乏佪 ADC0809ⱘALEッ STARTッˈ䖭ϸϾ CS_AD CPU ⱘWR ˈ ℸ㽕 AD 乏佪 Փ㛑CS_AD ⱘ 䆥ⷕ ӏ ϔϾ ˈҹ㒭ALE STARTッѻ⫳ 㛝 DŽ䖭Ͼ ⱘ䆥ⷕ Ң74HC138ⱘ⬉䏃 ҹⳟ 0xA000Hˈ 㣗 ӏ ϔ DŽ ADC0809ⱘALE STARTッѻ⫳њ 㛝 ˈADC0809 䖯 䕀 ˈEOCッ䕧 Ԣ⬉ ˈ 䕀 ˈEOCッӮѻ⫳ϔϾϞ ⊓ ˈ 催⬉ DŽҹ㾺 ⠛ Ё ˈ 䆝 ⠛ ℸ 䕀 ↩ˈ ҹ䇏 䕀 ⱘ њDŽ䇏 㽕Փ㛑ADC0809ⱘENABLE (催⬉ )ˈ䖭Ͼ ⬅RDCS_0809 㒘 ˈ ҹ㽕䇏 ˈ 乏 ADC0809 ⱘ⠛䗝 ϔϾ䇏 Ҹ 㛑㦋 㒓Ϟⱘ њDŽA/D䕀 ⼎՟˖XBYTE [0XA000]=0X0F˄⊼ 䖭Ͼ ҹӏ ˅˗䇏 A/D䕀 ⼎՟˖Temp=XBYTE [0XA000]˗⊼˖Temp ϔϾЈ 䞣DŽ8 A/D䕀 ⱘ 㒓䆒䅵⊩3.4 D/A䕀 ⱘ 㒓䆒䅵⊩䖭ϔ㡖 ҹ Ё ⫼ⱘ8ԡD/A䞛䲚㢃⠛DAC0832㒭 ҟ㒡ϔϟD/A 䕀 ⱘ 㒓䆒䅵⊩ˈ 8 ⼎DŽ⊼ 䖭䞠 Ӏ DAC0832 䚼ϔ㑻㓧 ⱘ ッILE њ催⬉ Ϟˈ䖭ḋˈ ѢDAC0832ⱘ 䚼 Ӵ䕧 䇈 ϔ㑻㓧 њˈг 䇈ˈ 䖭⾡ ϟˈ ✻DAC0832ⱘ 䕀 ⧚ˈ佪 㽕䕀 ⱘ8ԡ 䗕 DAC0832ⱘ8ԡ䕧 ッ ˈ✊ WR1ǃWR2ǃCSǃXfer ԡ 㕂ЎԢ⬉ ˈ Ӯ偀Ϟ D/A䕀 ˈ䖭ḋˈ ⫼䴲 㒓 䇏 D/A 䕀 ⱘ䆱ˈ Ӏ ҹ WR1ǃWR2ǃCSǃXfer Ͼッ 䖲 ϔ ˈ 䆒䖲 ⠛ ⱘP1_1 ˈ䙷М ҹ ⫼ϟ䴶ⱘ⼎ ҷⷕ䖯㸠䕀 ˖P0=0XF0˗˄ 䆒0XF0Ў㽕䕀 ˅P1_1=0˗˄ 㕂ԢWR1ǃWR2ǃCS ǃXfer ˈҹ D/A 䕀 ˅䙷М ✻ Ӏ 8 ⼎ⱘ䆒䅵 ⧚ 䆹 ԩ䖯㸠 㒓䇏 ⱘ 㓪 ˛ ⧚ ЁDAC0832ⱘ⠛䗝 CS_D/A 74HC138䆥ⷕ ѻ⫳ˈ ҹ㽕 DAC0832ˈ 乏 CS_D/A ⱘ⠛䗝 DŽ䖭Ͼ 0XB000H ˈ ✊ 㽕 0XB000~0XBFFF ӏ䗝 ϔ DŽ䖭ḋ ✻ Ӏ Ѡ㡖ⱘ䅼䆎ˈ ҹ ⫼ϟ䗄䇁 䖯㸠 㒓 ⊩ D/A 䕀 ˖XBYTE [0XB000]=0X0F ˗˄ 䆒0XF0Ў㽕䕀 ⱘ ˅㾷䞞ϔϟ˖ ⠛ 㸠Ϟ䗄䇁 ˈ佪 䕧 16ԡ ˈP2 催8ԡ ⫼ 䗝䗮138ⱘCS_D/A 䕧 ッˈ⬅ѢDAC0832ⱘCS ǃXfer 䖲 њϔ䍋ˈ䖭ḋ 㟈䖭ϸϾ ッ Ў0ˈԚ 䖭 ⬅Ѣ ⠛ ⱘWR 䖬≵ ˈ ℸ DAC0832䕧 㒓ϞⱘԢ8ԡ ϡӮ䖯 䚼ˈ ⠛ ⱘWR ˈ DAC0832ⱘWR1ǃWR2г 㹿WR 㕂ЎԢ⬉ ˈ DAC0832䕧 㒓Ϟⱘ8ԡ 㹿Ӵ 䚼㞾 䖯㸠䕀 ˈџ Ϟˈ ⠛ ⱘWR ⱘ ˈ ⠛ P0 䕧 ⱘ 㒣ϡ ⱘԢ8ԡ њˈ㗠 њ8ԡ ˈ㢹䇏㗙䖬 ϡ ⱑˈ䇋 Ҩ㒚ⷨお 2 DŽQVWX t9 D/A䕀 ⱘ 㒓䆒䅵⊩3.5⎆ ⱘ 㒓䆒䅵⊩䖭ϔ㡖䞠 ҹKS0107BЎ偅 ⱘ ⫼12864⎆ Ў՟㒭 䆆㾷ϔϟ⎆ ⱘ 㒓 䆒䅵DŽ䆹⎆ ⱘ 䚼 ⧚Ḛ 10 ⼎ˈ⬅ 㾕ˈ 20Ͼㅵ㛮ˈ 䖭䞠 Ӏ 15Ͼㅵ㛮ˈ ⎆ ⱘ8ԡ 㒓DB0 ~ DB7ˈ䇏 RS, R/W ˈ䆺㾕㸼3ˈ⎆ ⠛䗝 Eˈ⎆ 䗝 CS1ǃCS2ˈ䆺㾕㸼4DŽ㸼3䇏 䗝RS R/W 㛑0 Ҹ1䇏⢊ ˄ Ẕ⌟˅11䇏㸼4 䗝CS1CS2䗝0⽕ℶ111⽕ℶCS2CS1VSSVO10 KS0108B偅 ⎆ 䚼Ḛ✻ Ӏ⎆ 䜡ⱘ⠛䗝 CS_LCDЎ0XC000~0XCFFFˈ䖭䞠 Ӏ 0XC000ˈḍ 11ⱘ⬉䏃⹀ӊ䖲㒓ˈ⎆ ⱘ8ԡ 㒓Ⳉ ⠛ ⱘ㒓ϞˈA0ǃA1 䖲 ⎆ ⱘ䗝 CS1ǃCS2ϞˈA2ǃA3䖲 ⎆ ⱘ䇏 RS, R/WϞˈ䖭ḋḍ Ϟ䴶ⱘ䅼䆎 Ӏϟ䴶 ⎆ ⱘ8Ͼ ˖#define LCD1_ORD XBYTE[0XC002]/*LCDCS1 Ҹ */#define LCD2_ORD XBYTE[0XC001]/*LCDCS2 Ҹ */#define LCD1_WD XBYTE[0XC006]/*CS1 */#define LCD2_WD XBYTE[0XC005]/*CS2 */#define LCD1_RD XBYTE[0XC00E]/*CS1䇏 */#define LCD2_RD XBYTE[0XC00D]/*CS2䇏 */#define LCD1_RS XBYTE[0XC00A]/*CS1䇏⢊ */#define LCD2_RS XBYTE[0XC009]/*CS2䇏⢊ */ В՟˖/*******⎆ *******/void busy(void){unsigned char m_lcdStatu;do{m_lcdStatu=LCD1_RS;}while(m_lcdStatu&0x80);}/******** ⎆ ⼎ ********/void Playon(){busy();LCD1_ORD=0x3F;// ⼎busy();LCD2_ORD=0x3F;// ⼎}11⎆ ⱘ 㒓䆒䅵⊩3.6ⶽ䰉䬂Ⲭⱘ 㒓䆒䅵⊩ϟ䴶㒭 ҟ㒡ϔϟ ⱘ 㒓 ⶽ䰉㸠 䬂Ⲭ䆒䅵 ⊩ˈ 㾕 12DŽ䆹⬉䏃 ҹ 64Ͼ䬂ˈ Ў8㸠ˈ8 DŽ ⧚ ˖574䖯㸠㸠 䕧 ˈ245䖯㸠 䕧 DŽϟ䴶ҹ 䇁 䖯㸠В՟ 䗄˖XBYTE[0XE000]=0XFE˗䖭 䇁 㸼⼎ 㸠䕧 0XFE䗮䖛 ⠛ 㒓䕧 574ⱘ䕧 ッDŽ㟇Ѣ ԧ䖛 ԩ ⦄ⱘˈ ⧚㉏ԐϞ䴶ⱘLED䆒䅵⊩ˈ䇋䇏㗙㞾㸠 DŽtemp =XBYTE[0XD000]˗//tempЎ㞾 НЈ 䞣䖭 䇁 㸼⼎ 䕧 XBYTE[0XD000]䗮䖛 ⠛ 㒓䕧 245ⱘ䕧 ッˈ ⧚ҡ✊䇋䇏㗙㞾㸠 DŽҹ ϔ㸠8Ͼ 䬂Ў՟ˈ㒭 ⼎՟ ϟ˖unsigned char keyscan_test(void){unsigned char temp,keyvalue;//ҹϟ ϔ㸠XBYTE[0XE000]=0XFE; //ϔ㸠䕧 Ā0ātemp= XBYTE[0XD00E]; //䇏 ℸ ⱘ 䕧switch(temp) // ϔ㸠䬂Ⲭ{Case 0X7F: keyvalue=1;Case 0XBF: keyvalue=2;Case 0XDF: keyvalue=3;Case 0XEF: keyvalue=4;Case 0XF7: keyvalue=5;Case 0XFB: keyvalue=6;Case 0XFD: keyvalue=7;Case 0XFE: keyvalue=8;}//ҹϟ Ѡ㸠…… …… ……return keyvalue;}12䬂Ⲭⱘ 㒓䆒䅵⊩4ǃ䇜䇜 ԩҢ㡖ⳕ䌘䞥 催 䗳 ϸϾ 䴶Ϟ䖯㸠 ⠛ ㋏㒳Ӏ 䖯㸠 ⠛ ㋏㒳ⱘѻ 䆒䅵ˈ 㽕㗗㰥ѻ ⱘ ˈ䖭 Ѣ 䩜 ϔ䆒䅵 ⱘѻ 䖯㸠 㾘⫳ѻ ˈ Ў䞡㽕ˈ↨ ѻ 㽕 䞣⫳ѻ ϛӊˈ㗠ℸ Ӏ㛑 ℸѻ ⱘ䆒䅵Ё㡖ⳕ ϔ 㢃⠛ˈ↨ 1 䪅ˈ䙷М Ӏ ҹ㡖ⳕ ϛ 䪅ˈ⬅ℸ ҹˈ 㛑 㛑ⱘ ⸔ПϞˈ ԩ ⱘ 㡖㑺䆒䅵 Мⱘ䞡㽕 !ϟ䴶 㒧 䅼䆎ⱘ ⠛ 㒓䆒䅵⊩ 䇜䇜 ѯ ϟ ԩ䰡Ԣѻ 䆒䅵 ⱘDŽ4.1 䆥ⷕ⬉䏃ⱘⱘㅔ 䆒䅵4.1.1 ㋏㒳Ё ҹ 138ˈⳈ 䞛⫼㒓䗝⊩䆥ⷕϞ䴶ⱘ䆒䅵Ёˈ Ӏ䞛⫼њ138䆥ⷕˈ 䆒䅵 ㋏㒳ˈ 㒓Ϟⱘ 䚼䆒 ϡ䍙䖛8Ͼⱘ䆱ˈ Ӏ ҹ 138䖭Ͼ㢃⠛ҹ㡖ⳕ⬉䏃 ぎ䯈 ˈ ԧ⹀ӊ䖲 13 ⼎ˈг Ⳉ ⫼ ⠛ ⱘ催8ԡ 㒓 Ў 䚼䆒 ⱘ⠛䗝 ˈ䖭 䇧ⱘ㒓䗝⊩ 䆥ⷕDŽ13㒓䗝⊩ 䆥ⷕ4.1.2 138䆥ⷕ 䇏 䘏䕥ҢϞ䴶 Ӏ䆒䅵ⱘ Ͼ 䚼䆒 Ёˈ Ӏϡ䲒 ⦄ˈ↣ϔϾ ⱘ374 㗙574ⱘCLKッ Ӏ䛑⫼ њϔϾ 䮼 㗙 䴲䮼Ў䗝䗮䘏䕥ˈ䖭ḋⱘ䆱 䚼䆒 ⱘ䆱ˈ 㽕⫼ ㉏Ԑⱘ䘏䕥䮼⬉䏃ˈ䙷М Ӏ ҹ㡖ⳕҹϟ ˛ Ҩ㒚ⷨおϔϟⱘ䆱ˈϡ䲒 ⦄ˈ Ӏⱘ䖭⾡↣ϔϾ䘏䕥䛑 138 䆥ⷕⱘ 䴶ˈ Ӏϡ Ͼ 㓈㗗㰥ϔϟˈ ϔϾ 䗖ⱘ䘏䕥䮼 138 䴶 ҹ ϾĀ ԧ䘏䕥ā DŽ䇋ⳟ 14ˈ138ⱘϸϾ ⬉ ッE1ǃE2Ⳉ ˈ㗠 催⬉ ッE3 ⬅ ⠛ ⱘWRǃRDϸϾ ĀϢ䴲ā ⱘˈ ϟˈ ⠛ ϡ䇏 ӏԩ 䚼䆒 ˈ WRǃRDϸϾ Ў催⬉ ˈϢ䴲䮼䕧 Ԣ⬉ ˈ138ϡ ˈ䕧 催䰏ˈ⬅Ѣ 䚼 њϞ ⬉䰏ˈ 7Ͼ 䚼䆒 ⠛䗝 Ў催⬉ ˈ ϔ 䇏 䚼䆒 ˈWRǃRDϸϾ Ё ϔϾ㽕 Ў ˄ Ԣ⬉ ˅ˈ 㟈Ϣ䴲䮼䕧 催⬉ ˈ138 ˈ 䕧 г 8Ͼ⠛䗝 ϔ㹿䗝Ё˄ ЎԢ⬉ ˅ˈ WRǃRD 催ⱘϔⶀ䯈˄ ϔ䇏 䖛Ё ϔ ˈ ҹ䖭䞠 䩜 ЁϔϾ㗠㿔˅ˈϢ䴲䮼䕧 ЎԢˈ 㟈138 ℶ ˈ 䕧 催䰏ˈ㗠 ⱘ䙷Ͼ⠛䗝 ⬅Ѣ 䚼Ϟ ⬉䏃ⱘ⫼ˈ䖙䗳Ң㹿䗝Ё⢊ ˄Ԣ⬉ ˅Ϟ䏇 催⬉ ˈ䖭ḋ њ 㓁 䚼䆒 374CLKッ 䳔㽕ⱘϞ ⊓ ˈг 䕧 䚼䆒 㗙䇏 䚼䆒 ⱘ DŽ14 138䆥ⷕ 䇏 䘏䕥4.1.3 Gal 138 ⦄ 㾘 㛑䆥ⷕӀ ϔ㠀ⱘ ⠛ ㋏㒳䆒䅵Ёˈ䆥ⷕ⬉䏃 Ϟ䛑 䞛⫼㉏Ԑ138ⱘ䆥ⷕ㢃⠛ˈԚ ϡ㽕 ⬹њ䖬 ϔ⾡ 㛑䴲 ⱘ ⫼䗮⫼䘏䕥㢃⠛ˈ䙷 㓪䘏䕥 ӊGalDŽ 㒣偠ⱘ 㛑䛑䴲 ⫼䖭⾡⠛ ˈ↨ Gal16V8ˈGal20V8ㄝㄝϸ⾡ ⫼ⱘ㢃⠛ˈ Ў䗮䖛 䖭⾡ ӊ㓪ˈ Ӏ ҹ ҷϔ㠀 ⠛ 䆒䅵Ё⫼ ⱘ 䆥ⷕ䘏䕥㢃⠛ˈ 㓪 ˈ ҹ ϡ ⹀ӊ䖲 ⱘ ϟ 䆒 䞡 䖯㸠 䜡ˈ 㡖ⳕњ 䯈ˈ г䰡Ԣњ⬉䏃 ⱘ ⫼䴶⿃ˈ 催њ㋏㒳ⱘ〇 DŽԚ ϔ 䴶ˈ䆹㢃⠛ӋḐ 䌉ˈ ὖ8-10 /⠛ˈ 催Ѣ138㢃⠛ˈ ҹ 䖭䞠 䖬 䇗䙷ϔ⚍ˈ ϔ 㽕 䖯㸠㞾 ⱘ䆒䅵 㗗㰥 䗳 ⱘ 㸵 ˈҹ Ӭ 䆒䅵DŽ 15 ⫼Gal20V8䆒䅵䖛䆥ⷕ⬉䏃ˈ Galⱘ ԧ䆺㒚䌘 ˈ㔥Ϟ 䌘 ˈ г 䖛ҟ㒡ˈ䖭䞠ϡ 䆺䗄DŽ15 Gal16V8 ⦄ 㾘 㛑䆥ⷕ4.2䬂Ⲭ ҹ㡖ⳕ ϔϾ㢃⠛Ӏ 3.6㡖㒭 ҟ㒡њⶽ䰉䬂Ⲭⱘ 㒓䆒䅵 ⊩ˈ 㗙ⳟ䍋 ԐТ 㾝䴲 ˈ Ў Ӏ ⱘ䬂Ⲭ䆒䅵Ёˈ Ӏ ϔ㠀д ѢⳈ I/O䇏 㓪 ⶽ䰉䬂Ⲭˈ 㗙 䞛⫼ ϞⳂ 䕗Ў ❳ⱘІ㸠䬂Ⲭ 㢃⠛ˈ↨ 䇈ZLG7279ㄝㄝˈ 䳔㽕ϝḍ㒓㗠 ˈԚ њˈ Ӏ 䖭⾡䆒䅵Ё ≵ ⫼ ⠛ ҪI/O ⱘ䌘⑤ˈҡ✊ ⫼ⱘP0 ⱘ ⫼ 㛑ˈ ҹ 㡖ⳕњ䌘⑤ˈ䙷М3.6㡖ⱘ䬂Ⲭ⬉䏃Ё⫼ ⱘϸϾ㢃⠛ 㛑 ㅔ ˛ㄨḜ 㚃 ⱘˈ 㽕䆒䅵ⱘϡ ⶽ䰉䬂Ⲭˈ㗠 Ⳉ䇏 䬂Ⲭˈ 㽕ϡ䍙䖛8Ͼ䬂ˈ Ӏ 12⾡ⱘ574 ˈ ⬭245 ˈ ✊ 䍙䖛8Ͼ䬂ˈ ҹ 䖯㸠 㒓 ˈϡ䖛䖭ḋ њ㡖㑺ⱘ Нˈ ҹ䖭ḋ 䖯 ゟ 䬂Ͼ ↨䕗 ⱘ ϟ䖯㸠ⱘDŽϟ䴶 㒭 ҟ㒡ϔ⾡ ⫼ϔϾ㢃⠛ 㛑䆒䅵 㒓 䇏 ⱘ16䬂ⶽ䰉䬂Ⲭˈ䇋ⳟ 16DŽ16 㒓 䬂Ⲭㅔ 䆒䅵⊩ҹϟ䴶䖭 䇁 䯤䗄Ϟ䗄䬂Ⲭ⬉䏃ⱘ ⧚˖XBYTE[0XD00E]&0X0F⊼ 0XD00E 䬂Ⲭⱘ䇏⠛䗝 0XD000~0XDFFFПϔˈ ⠛ 㸠Ϟ䗄䇁 ˈԢ8ԡ 0X0E㹿 䫕 䫕ԣˈ Ԣ ԡ A3ǃA2ǃA1ǃA0㹿 15Ё573ⱘԢ ԡ䕧 ッ ˈԚℸ ⬅Ѣ573 ⱘ䕧 ッOEЎ催⬉ ˈ 䆹 ԡ ⊩Ӵ䕧䖛 ˗㗠催8ԡ 㒣䖛 䆥ⷕ 138䆥ⷕ 䗝Ё䬂Ⲭ⠛䗝 CS_KEY_RDˈՓ 䕧 Ԣ⬉ ˈ ⠛ 䇏 RD ˈ Փ 䴲䮼䕧 Ԣ⬉ ˈ573 䆌 Ң Ӵ䕧ˈ䖭 573䕧 ッⱘԢ4ԡ 䖙䗳Ӵ䕧 573ⱘ䕧 ッˈ✊ ḍ 䬂Ⲭⱘ 䬂⢊ ˈ 䖭 ԡ䕧 䗮䖛䬂Ⲭ䖲㒓䖙䗳 作 573䕧 ッⱘ催 ԡϞ䴶ˈ ⊼ ˈ Ϟ䗄䖭ϔ䖛 ⶀ䯈 ⱘDŽ ⬅Ѣℸ 573 䆌 Ӵ䕧ⱘˈ ҹ573䕧 ッⱘ催 ԡ䬂Ⲭ 作 䗮䖛573䕧 䗕 ⠛ Ԣ ԡ㒓ϞDŽ 㒧 ϔ 䆱 ˖䆹䬂Ⲭ⬉䏃ⱘ 䗮䖛䗕 ⱘԢ ԡ 㒓 䖯㸠䬂Ⲭ ⱘˈЎњ䅽 ⱑˈ 䆹䬂Ⲭ⬉䏃ⱘ Ѣϟ˖unsigned char keyscan_test(void){unsigned char temp,keyvalue;//ҹϟ ϔ㸠//ϔ㸠䕧 Ā0ā ˈ 㬑 催 ԡ 䇏 ℸ ⱘ䬂Ⲭtemp= XBYTE[0XD00E]&0X0F;switch(temp) // ϔ㸠䬂Ⲭ{Case 0X0E: keyvalue=1;Case 0X0D: keyvalue=2;Case 0X0B: keyvalue=3;Case 0X07: keyvalue=4;}//ҹϟ Ѡ㸠//Ѡ㸠䕧 Ā0ā ˈ 㬑 催 ԡ 䇏 ℸ ⱘ䬂Ⲭtemp= XBYTE[0XD00D]&0X0F;switch(temp) // Ѡ㸠䬂Ⲭ{Case 0X0E: keyvalue=5;Case 0X0D: keyvalue=6;Case 0X0B: keyvalue=7;Case 0X07: keyvalue=8;}//ҹϟ ϝ㸠//ϝ㸠䕧 Ā0ā ˈ 㬑 催 ԡ 䇏 ℸ ⱘ䬂Ⲭtemp= XBYTE[0XD00B]&0X0F;switch(temp) // ϝ㸠䬂Ⲭ{Case 0X0E: keyvalue=9;Case 0X0D: keyvalue=10;Case 0X0B: keyvalue=11;Case 0X07: keyvalue=12;}//ҹϟ 㸠// 㸠䕧 Ā0ā ˈ 㬑 催 ԡ 䇏 ℸ ⱘ䬂Ⲭtemp= XBYTE[0XD007]&0X0F;switch(temp) // 㸠䬂Ⲭ{Case 0X0E: keyvalue=13;Case 0X0D: keyvalue=14;Case 0X0B: keyvalue=15;Case 0X07: keyvalue=16;}return keyvalue;//䖨 䬂}5ǃ 䆂 㒧㒧 51㋏ ⠛ ˈ 䴶㋏㒳ⱘ䅼䆎њ 䚼䆒 ⱘ 㒓 䆒䅵 ⊩DŽҢ䆒䅵 ⧚ⱘ䆆㾷 ⾡ ⱘ䆒䅵В՟ˈ䛑㒭 њ䆺㒚ⱘ䆎䆕ˈⳌ 䇏㗙ⳟ ҹϔべ ⠛ 㒓 䆒䅵 ⊩ⱘ 䉠DŽ㗙㱑✊㢅њ 䞣㆛ 䆆㾷 㒓 䆒䅵 ⊩ˈԚ 䰙䆒䅵Ёˈ 䆂䇏㗙䖬 㽕ҹ 䰙乍ⳂЎ ˈ 䞣䗝 䗖 Ѣ㞾 ⱘ ⊩ˈ↨ 䇈ϔѯ䴲 ㅔ ⱘ㋏㒳ˈ Ӏ ҹ ⫼䴲 㒓䆒䅵 ⊩ⱘӬ⚍ˈ 㡖ⳕ 䆒 ⬉䏃ⱘ DŽ ҹ 䖯㸠 ⠛ ㋏㒳䆒䅵 ϔ 㽕ḍ 㞾 ⱘ ˈ䆒䅵 䗖 Ѣ㞾 ⱘ⬉䏃DŽ。