Β
ΠΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° Π½Π° ΠΡΠΈΠΎΠ½-128 - atmega-168
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ Π½Π° atmega-168 ΠΈ ΠΠ’8816 - ΠΌΠ°ΡΡΠΈΡΠ° Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ Π½Π° ΠΡΠΈΠΎΠ½-128
ΠΠ°ΡΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ 12.06.2022
Π Π²ΠΎΡ ΡΠ΅Π³ΠΎΠ΄Π½Ρ 12/06/2022 Π½Π°ΠΊΠΎΠ½Π΅Ρ ΡΠΎ Π΄ΠΎΠ±ΡΠ°Π»ΡΡ Π΄ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΏΠ»Π°ΡΠΊΠΈ. ΠΠ»Π°ΡΠΊΡ ΠΏΠΎΠΊΡΠΏΠ°Π» Π΅ΡΠ΅ ΠΏΠΎΠ»Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄ Ρ Π ΡΡΡΠ°ΠΌΠ° ΠΈΠ· Π’ΠΎΠ»ΡΡΡΠΈ. ΠΡΠΌΠ΅Π³Ρ ΠΏΡΠΎΡΠΈΠ²Π°Π» Π ΡΡΡΠ°ΠΌ.
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° Π½Π° zx-pk Π²ΠΎΡ ΡΡΡΠ»ΠΊΠ°:
ΠΡΠΎΡΠΈΠ²ΠΊΠ° ΠΡΠΌΠ΅Π³ΠΈ 168
https://zx-pk.ru/threads/33211-universalnyj-kontroller-ps-2-klaviatury-dlya-kompyuterov-s-matrichnymi-klaviaturami.html
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠΈΡΡΡ Ρ ΡΠ°ΠΉΡΠ°:
Π£Π½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ PS/2 ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ² Ρ ΠΌΠ°ΡΡΠΈΡΠ½ΡΠΌΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°ΠΌΠΈ. ΠΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΠΏΡΠΎΡΡΠ°Ρ ΡΡ Π΅ΠΌΠ° ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π±Π΅Π·Π²Π΅ΠΉΡΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° PS/2 ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° "Π΄ΡΠ΅Π²Π½ΠΈΡ " Π±ΡΡΠΎΠ²ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ² ΡΠΈΠΏΠ° Π‘ΠΏΠ΅ΠΊΡΡΡΠΌ, ΠΡΠΈΠΎΠ½, ΠΠΎΡΠ²Π΅Ρ ΠΈ Π΄ΡΡΠ³ΠΈΡ , Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΊΠΎΡΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»Π°ΡΡ ΠΌΠ°ΡΡΠΈΡΠ½Π°Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Π΄ΠΎ 8*16. ΠΠΎΠ΄ Π½Π°ΠΏΠΈΡΠ°Π½ Π² ΡΡΠ΅Π΄Π΅ ΠΡΠ΄ΡΠΈΠ½ΠΎ Π΄Π»Ρ ΡΠ΄ΡΠ° MiniCore, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΡΠΌΠ΅Π³Π°8, 48, 168, 328 Π±Π΅Π· ΠΊΠ²Π°ΡΡΠ° , Π½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΌ ΠΡΠ΄ΡΠΈΠ½ΠΎ ΠΠ°Π½ΠΎ ΠΈΠ»ΠΈ Π£Π½ΠΎ. Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π» ΠΡΠΌΠ΅Π³Ρ168. ΠΡΠΎΡΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΡΠΈΡΡΠ΅ΠΌΡ - ΠΌΠ°ΡΡΠΈΡΠ° Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΠΊΠ»ΡΡΠ΅ΠΉ MT8816. ΠΠ° ΠΠ»ΠΈ ΠΈΡ ΠΏΡΠΎΠ΄Π°ΡΡ ΡΠΎΡΠ½ΡΠΌΠΈ ΠΏΠΎ Π±ΡΠΎΡΠΎΠ²ΡΠΌ ΡΠ΅Π½Π°ΠΌ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΡΠΎΡΡΠ° ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π² ΠΈΠ½Π΄ΠΈΠΉΡΠΊΠΎΠΌ ΡΡΠΈΠ»Π΅. ΠΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ°ΡΡΠΈΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΊΠ°Π½ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΊΠΎΠ΄ΠΎΠΌ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΊΠ»ΡΡΠ° ΠΌΠ°ΡΡΠΈΡΡ.
ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π±Π΅Π·Π²Π΅ΠΉΡΠΎΠ²ΡΠΉ. Π’ΡΠΏΠΎ Π·Π°ΠΌΡΠΊΠ°Π΅Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ. ΠΠ΅ΡΡ ΡΠ΅ΠΊΡΠ΅Ρ Π² ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΠ΅ MT8816. ΠΡΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠ°Ρ ΠΌΠ°ΡΡΠΈΡΠ° ΠΈΠ· 128 ΠΊΠ»ΡΡΠ΅ΠΉ. ΠΡΠ±ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠΊΠ½ΡΡΡ ΠΈ ΡΠ°Π·ΠΎΠΌΠΊΠ½ΡΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°. Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΠΈΡΠ°Π½ΠΈΠ΅ 5Π. Π ΠΎΠ½ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠΉ. ΠΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π»ΡΠ±ΡΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠΌ Ρ ΠΌΠ°ΡΡΠΈΡΠ½ΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ, ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Ρ ΡΠ΅ΠΆΠΈΠΌΡ "Π³ΠΎΡΡΡΠ΅ΠΉ" ΠΊΠ»Π°Π²ΠΈΡΠ΅ΠΉ.
ΠΠΎ ΠΌΠ½Π΅ ΠΏΠ»Π°ΡΠΊΠ° ΠΏΡΠΈΡΠ»Π° ΡΠΆΠ΅ Ρ Π²ΠΏΠ°ΡΠ½ΠΎΠΉ Π°ΡΠΌΠ΅Π³ΠΎΠΉ ΠΈ ΠΏΡΠΎΡΠΈΡΠΎΠΉ. ΠΠ½Π΅ ΠΎΡΡΠ°Π»ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΡΠΎΠ±ΠΈΡΠ°ΡΡ.
Π’Π°ΠΊΠ°Ρ ΠΏΠ»Π°ΡΠΊΠ° Ρ ΠΌΠ΅Π½Ρ
Β
Π‘ΠΊΠ°ΡΠ°ΡΡ
ΡΡ
Π΅ΠΌΡ Π² *.pdf
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΠ»Π°Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² PS/2 , C1,C2,C3 - Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠ½Π΄Π΅Π½ΡΠ°ΡΠΎΡΡ. ΠΠ΅ΡΠ°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π΅ΠΌΠΊΠΎΡΡΡΡ ΠΎΡ 0.01ΠΌΠΊΠ€ ΠΈ Π±ΠΎΠ»Π΅Π΅.
ΠΠ²Π°ΡΡ -16 ΠΌΠ³Ρ
R2- 1 ΠΠΎΠΌ
R1 - 10 ΠΊΠΎΠΌ
C3, C4 -0.1 ΠΌΠΊΡ
ΠΠ»Π΅ΠΊΡΡΠΎΠ»ΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΡ 100ΠΌΠΊΠ€ 10Π. ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½Π°Ρ Π΅ΠΌΠΊΠΎΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΏΠΈΡΠ°Π½ΠΈΡ. ΠΠΎΠ½ΡΠ°ΠΊΡΡ J2 ΠΈ J3 ΡΠ»ΡΠΆΠ°Ρ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ ΠΊ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ. Π Π°Π·ΡΠ΅ΠΌ H2 Π½Π° ΠΏΠ»Π°ΡΠ΅ DIP-40 - ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΡ. ΠΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π½ΠΎΠ²ΡΡ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΊ. ΠΠ²Π°ΡΡ ΠΈ Π΅Π³ΠΎ ΠΎΠ±Π²ΡΠ·ΠΊΡ Π½Π° ΠΎΠ±Π΅ΠΈΡ ΠΏΠ»Π°ΡΠ°Ρ Π·Π°ΠΏΠ°ΠΈΠ²Π°ΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ - ΠΠ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΎΡ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠ°ΠΊΡΠΎΠ²ΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° 8ΠΠΡ.
Π ΡΠ°ΠΊ Π½Π°ΡΠΈΠ½Π°Ρ ΡΠ±ΠΎΡΠΊΡ...
Π ΡΠ°ΠΊ ΠΏΠΎΠΊΠ° ΠΊΠ²Π°ΡΡ ΠΈ Π΅Π³ΠΎ ΠΎΠ±Π²ΡΠ·ΠΊΡ Π½Π΅ ΡΡΠ°Π²Π»Ρ. (ΠΡΠ»ΠΈ Π½Π΅ Ρ ΠΎΡΠΈΠΌ Π΄Π΅Π»Π°ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ). ΠΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ.
Β
Β
ΠΡΠΎΡΠΈΠ²ΠΊΠ° Π΄Π»Ρ ΠΡΠΈΠΎΠ½Π°-128
#include <PS2KeyRaw.h> #define AX0 4 #define AX1 5 #define AX2 6 #define AX3 7 #define AY0 8 #define AY1 9 #define AY2 10 #define RSTMT 14 #define CSMT 15 #define DATMT 16 #define STBMT 17 #define DATAPIN 2 #define IRQPIN 3 volatile boolean d = HIGH; uint8_t table[128] = {127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,0,127,127,32,48,127,127,127,1,17,16,33,49,127, 127,3,2,18,34,51,50,127,127,112,4,19,36,35,52,127,127,115,116,100,20,84,68,127,127,127,114,99,83,67,66,127, 127,127,98,82,81,64,65,127,127,127,127,97,127,80,127,127,127,127,127,127,127,127,127,127,127,113,96,127,127,127,127,127, 127,127,127,127,127,127,64,127,127,127,127,52,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127,127}; PS2KeyRaw keyboard; void setup() { //ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΡΡΠΎΠ² pinMode(AX0, OUTPUT); //AX0 pinMode(AX1, OUTPUT); //AX1 pinMode(AX2, OUTPUT); //AX2 pinMode(AX3, OUTPUT); //AX3 pinMode(AY0, OUTPUT); //AY0 pinMode(AY1, OUTPUT); //AY1 pinMode(AY2, OUTPUT); //AY2 pinMode(RSTMT, OUTPUT); //RES pinMode(CSMT, OUTPUT); //CS pinMode(DATMT, OUTPUT); //DAT pinMode(STBMT, OUTPUT); //STB //ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ keyboard.begin( DATAPIN, IRQPIN ); //ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ MT8816 SetAddr(0); digitalWrite(RSTMT, LOW); digitalWrite(CSMT, LOW); digitalWrite(DATMT, LOW); digitalWrite(STBMT, LOW); //ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ digitalWrite(CSMT, HIGH); //Π²ΡΠ±ΠΎΡ ΡΠΈΠΏΠ° digitalWrite(RSTMT, HIGH); digitalWrite(RSTMT, LOW); //ΡΠ±ΡΠΎΡ digitalWrite(CSMT, LOW); SetAddr(table[0x12]); SetKey(LOW); } void SetAddr(uint8_t addr) { digitalWrite(AX0,bitRead(addr,0)); digitalWrite(AX1,bitRead(addr,1)); digitalWrite(AX2,bitRead(addr,2)); digitalWrite(AX3,bitRead(addr,3)); digitalWrite(AY0,bitRead(addr,4)); digitalWrite(AY1,bitRead(addr,5)); digitalWrite(AY2,bitRead(addr,6)); } void SetKey(boolean data){ digitalWrite(CSMT, HIGH); //Π²ΡΠ±ΠΎΡ ΡΠΈΠΏΠ° digitalWrite(STBMT, HIGH); //ΡΡΡΠΎΠ± on digitalWrite(DATMT, data); //Π΄Π°Π½Π½ΡΠ΅ digitalWrite(STBMT, LOW); //ΡΡΡΠΎΠ± off digitalWrite(CSMT, LOW); } void loop() { if( keyboard.available() ){ int c = keyboard.read(); //ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° switch (c) { case 0xE0: //Π΅ΡΠ»ΠΈ ΡΡΠΈΡΠ°Π»ΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡ 0xE0 break; case 0xF0: //Π΅ΡΠ»ΠΈ ΡΡΠΈΡΠ°Π»ΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡ 0xF0 (ΠΎΡΠΏΡΡΠΊΠ°Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΡΠΈ) d = LOW; break; case 0x66: //Π΅ΡΠ»ΠΈ ΡΡΠΈΡΠ°Π»ΡΡ ΠΊΠΎΠ΄ 0x66 [BS] SetAddr(table[0x12]); SetKey(d); SetAddr(table[0x45]); SetKey(d); d = HIGH; break; case 0x6B: //Π΅ΡΠ»ΠΈ ΡΡΠΈΡΠ°Π»ΡΡ ΠΊΠΎΠ΄ 0x6B [Left] SetAddr(table[0x12]); SetKey(d); SetAddr(table[0x2E]); SetKey(d); d = HIGH; break; case 0x72: //Π΅ΡΠ»ΠΈ ΡΡΠΈΡΠ°Π»ΡΡ ΠΊΠΎΠ΄ 0x72 [Down] SetAddr(table[0x12]); SetKey(d); SetAddr(table[0x36]); SetKey(d); d = HIGH; break; case 0x75: //Π΅ΡΠ»ΠΈ ΡΡΠΈΡΠ°Π»ΡΡ ΠΊΠΎΠ΄ 0x75 [Up] SetAddr(table[0x12]); SetKey(d); SetAddr(table[0x3D]); SetKey(d); d = HIGH; break; case 0x74: //Π΅ΡΠ»ΠΈ ΡΡΠΈΡΠ°Π»ΡΡ ΠΊΠΎΠ΄ 0x74 [Right] SetAddr(table[0x12]); SetKey(d); SetAddr(table[0x3E]); SetKey(d); d = HIGH; break; case 0x76: //Π΅ΡΠ»ΠΈ ΡΡΠΈΡΠ°Π»ΡΡ ΠΊΠΎΠ΄ 0x76 [Edit] SetAddr(table[0x12]); SetKey(d); SetAddr(table[0x16]); SetKey(d); d = HIGH; break; case 0x58: //Π΅ΡΠ»ΠΈ ΡΡΠΈΡΠ°Π»ΡΡ ΠΊΠΎΠ΄ 0x58 [Caps lock] SetAddr(table[0x12]); SetKey(d); SetAddr(table[0x1E]); SetKey(d); d = HIGH; break; case 0x0D: //Π΅ΡΠ»ΠΈ ΡΡΠΈΡΠ°Π»ΡΡ ΠΊΠΎΠ΄ 0x0D [Ext mode] SetAddr(table[0x12]); SetKey(d); SetAddr(table[0x59]); SetKey(d); d = HIGH; break; case 0x41: //Π΅ΡΠ»ΠΈ ΡΡΠΈΡΠ°Π»ΡΡ ΠΊΠΎΠ΄ 0x41 [,] SetAddr(table[0x59]); SetKey(d); SetAddr(table[0x31]); SetKey(d); d = HIGH; break; case 0x49: //Π΅ΡΠ»ΠΈ ΡΡΠΈΡΠ°Π»ΡΡ ΠΊΠΎΠ΄ 0x49 [.] SetAddr(table[0x59]); SetKey(d); SetAddr(table[0x3A]); SetKey(d); d = HIGH; break; case 0x4C: //Π΅ΡΠ»ΠΈ ΡΡΠΈΡΠ°Π»ΡΡ ΠΊΠΎΠ΄ 0x4C [;] SetAddr(table[0x59]); SetKey(d); SetAddr(table[0x44]); SetKey(d); d = HIGH; break; case 0x52: //Π΅ΡΠ»ΠΈ ΡΡΠΈΡΠ°Π»ΡΡ ΠΊΠΎΠ΄ 0x52 ["] SetAddr(table[0x59]); SetKey(d); SetAddr(table[0x4D]); SetKey(d); d = HIGH; break; default: SetAddr(table[c]); SetKey(d); d = HIGH; } } }
ΠΠΈΠΊΡΠΎΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° Π½Π° ΠΌΠΈΠΊΡΠΎΠΊΠ½ΠΎΠΏΠΊΠ°Ρ Π Π86
ΠΠ»Π°Π²ΠΈΠ°ΡΡΡΡ Π½Π° Atmega48 PC/2 ΠΎΡ IBM Π² ΠΠΠΠ΅
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΠ‘7007
ΠΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° Π Π86 Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠ°Ρ
ΠΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° ΠΎΡ ΠΠΎΡΠ²Π΅ΡΠ°
ΠΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° Π½Π° ΠΡΠΌΠ΅Π³Π°168
ΠΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° Π Π86+PC Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠ°Ρ
Β
Β
ΠΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΡΡΠ°ΡΡΠΈ
ΠΠ° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡΒ ΠΠ° Π³Π»Π°Π²Π½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Β ΠΠ° ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ
Β