void delay_5ms(void); //Π·Π°Π΄Π΅ΡΠΆΠΊΠ° 5 ΠΌΡ
void initialize_lcd(void); //ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΠΠ
//ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ°
void initialize_key(void); //ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΡΡΠΎΠ² Π΄Π»Ρ
//ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ
void putchars(unsigned char Ρ); //Π·Π°ΠΏΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π² ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ
void putcommands(unsigned char d); //Π·Π°ΠΏΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ
void lcd_print(char *string); //Π·Π°ΠΏΠΈΡΡ Π² ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ΡΡΡΠΎΠΊΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
char keypad(unsigned int keypress, int row);
void main(void) {
int first = 0Ρ 01; //ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ»ΡΠΆΠ΅Π±Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ Π΄Π»Ρ ΠΎΠΏΡΠΎΡΠ°
int second = 0Ρ 02; //ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ
int third = 0Ρ 04;
int fourth = 0Ρ 08;
int i,j,k, count = 0;
unsigned int keypress;
char key;
int length=4;
char pin[] = {'Π‘', '9', '6', '3'}; //Π·Π°Π΄Π°Π½ΠΈΠ΅ ΡΡΠ°Π»ΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
//ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
char code[4]; //ΠΌΠ°ΡΡΠΈΠ² Π΄Π»Ρ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ
//ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
initialize_lcd() ; //ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΠ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ°
initialize_key(); //ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΡΡΠΎΠ² Π΄Π»Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ
for (k=0; k<4; k++) //ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ 4 ΡΠ°Π·Π° Π²Π²Π΅ΡΡΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΈΠ·
{ //4 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
count = 0;
putcommands(0x01);
lcd_print("Enter Code:");
while (count < length) //ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° 4 Π½Π°ΠΆΠ°ΡΠΈΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ
{
for(i=0; i<=50; i++) //ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π° ΡΠΈΠΌΠ²ΠΎΠ»Π°
{
PORTB = 0Ρ 01; //ΠΎΠΏΡΠΎΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΡΠ΄Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ
keypress = PORTB;
key = keypad(keypress, first);
if (key != 'Z') //Π΅ΡΠ»ΠΈ ΠΊΠ»Π°Π²ΠΈΡΠ° Π½Π°ΠΆΠ°ΡΠ°
{
printf("%c", key);
code[count] = key; //Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π²
//ΠΌΠ°ΡΡΠΈΠ² Π²Π²ΠΎΠ΄Π°
count++; //ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ
//ΡΠΈΠΌΠ²ΠΎΠ»Π°
}
}
for(i=0; i<= 50; i++) // ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π° ΡΠΈΠΌΠ²ΠΎΠ»Π°
{
PORTB = 0Ρ 02; //ΠΎΠΏΡΠΎΡ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΡΠ΄Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ
keypress = PORTB;
key = keypad(keypress, second);
if (key != 'Z') {
printf("%Ρ", key);
code[count] = key; //Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π²
//ΠΌΠ°ΡΡΠΈΠ² Π²Π²ΠΎΠ΄Π°
count++; //ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ
//ΡΠΈΠΌΠ²ΠΎΠ»Π°
}
}
for(i=0; i<= 50; i++) //ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π° ΡΠΈΠΌΠ²ΠΎΠ»Π°
{
PORTB = 0Ρ 04; //ΠΎΠΏΡΠΎΡ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ ΡΡΠ΄Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ
keypress = PORTB;
key = keypad(keypress, third);
if (key != 'Z') {
printf("%c", key);
code[count] = key; //Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π²
//ΠΌΠ°ΡΡΠΈΠ² Π²Π²ΠΎΠ΄Π°
count++; //ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ
//ΡΠΈΠΌΠ²ΠΎΠ»Π°
}
}
for(i=0; i<= 50; i++) //ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π° ΡΠΈΠΌΠ²ΠΎΠ»Π°
{
PORTB = 0Ρ 08; //ΠΎΠΏΡΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΡΠΎΠ³ΠΎ ΡΡΠ΄Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ
keypress = PORTB;
key = keypad(keypress, fourth);
if (key != 'Z') {
printf("%c", key);
code[count] = key; //Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π²
//ΠΌΠ°ΡΡΠΈΠ² Π²Π²ΠΎΠ΄Π°
count++; //ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ
//ΡΠΈΠΌΠ²ΠΎΠ»Π°
}
}
} //ΠΎΡΠ΅ΡΠ΅Π΄Π½ΡΠ΅ 4 ΡΠΈΠΌΠ²ΠΎΠ»Π° Π²Π²Π΅Π΄Π΅Π½Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π΅ΡΡΡΡ Ρ ΡΡΠ°Π»ΠΎΠ½Π½ΡΠΌΠΈ
/*ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΠΊΠΎΠ΄Π° Π½Π° ΡΡΠ°Π»ΠΎΠ½Π½ΡΠΉ*/
j = 0;
for(i=0;i<3;++i) //ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΡΡΠ°Π»ΠΎΠ½Π½ΠΎΠΉ
//ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ
{
if(pin[i]==code[i]) //ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ
{
j++;
} else //ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ
{
j--;
}
}
if (j == (length - 1)) //Π΅ΡΠ»ΠΈ j=3, ΡΠΎ Π²ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π²Π²Π΅Π΄Π΅Π½Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ
{
putcommands(0x01);
lcd_print("Access Granted");
}
else //ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π²Π²Π΅Π΄Π΅Π½Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ
{
putcommands(0x01);
lcd_print("Access Denied");
}
}
putcommands(0x01);
lcd_print(" Goodbye ! "); //ΠΊΠΎΠ½Π΅Ρ ΠΏΠΎΠΏΡΡΠΎΠΊ Π²Π²ΠΎΠ΄Π°
}
/*--------------------------------------------------------------------*/
/*ΠΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π² ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ */
/*--------------------------------------------------------------------*/
/* Π€ΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ» ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΡΠ°Π½Π΅Π΅ ΠΏΠΎ ΡΠ΅ΠΊΡΡΡ Π³Π»Π°Π²Ρ*/
char which_key(unsigned int keypress);
void delay_5ms(void);
void delay_100us(void);
void initialize_lcd(void);
void putchars(unsigned char Ρ);
void putcommands(unsigned char d);
void lcdprint(char *string);
char keypad(unsigned int keypress, int row);
//Π€ΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° Π½ΠΈΠΆΠ΅
void initialize_key(void)
/*------------------------------------------------------------------------*/
/* Π€ΡΠ½ΠΊΡΠΈΡ initialize_key ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π»ΠΈΠ½ΠΈΠΉ ΠΏΠΎΡΡΠΎΠ² */
/* Π΄Π»Ρ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ */
/*------------------------------------------------------------------------*/
void initialize_key(void) {
DDRB = 0x0F; //Π»ΠΈΠ½ΠΈΠΈ PORTB[0]β¦PORTB[3] Π½Π° Π²ΡΠ²ΠΎΠ΄
//Π»ΠΈΠ½ΠΈΠΈ PORTB[4]β¦PORTB[7] Π½Π° Π²Π²ΠΎΠ΄
PORTB = 0Ρ 00; //ΡΠ΅ΡΡΡΠ΅ ΠΌΠ»Π°Π΄ΡΠΈΡ Π»ΠΈΠ½ΠΈΠΈ ΠΏΠΎΡΡΠ° PORTB Π² 0
}
/*-------------------------------------------------------------------------*/
5.9. ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΠ Ρ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠΌΠΈ Π΄Π°ΡΡΠΈΠΊΠ°ΠΌΠΈ
ΠΠ°ΡΡΠΈΠΊ β ΡΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ Π² ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΈΠ³Π½Π°Π». Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ Π΄Π°ΡΡΠΈΠΊΠΈ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ, Π΄Π°Π²Π»Π΅Π½ΠΈΡ, ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΡΠΆΠ΅Π½Π½ΠΎΡΡΠΈ ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ, ΠΌΠ΅Ρ Π°Π½ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΈ Ρ.Π΄. Π Π³Π»Π°Π²Π΅ 2 ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠ΅ΡΠ΅ΠΎΡΡΠ°Π½ΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π²ΡΡ ΠΎΠ΄Ρ Π΄Π°ΡΡΠΈΠΊΠΎΠ², ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΏΠΎΠ³ΠΎΠ΄Π΅, Π±ΡΠ»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½Ρ ΠΊ ΠΠ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° 68HC12. Π ΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠ»ΠΈ, ΡΡΠΎ Π΄Π°ΡΡΠΈΠΊΠΈ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎ Π²Ρ ΠΎΠ΄Π°ΠΌ ΠΠ. ΠΠ΄Π½Π°ΠΊΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ. ΠΠΎΡΡΠΎΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡ Π΅ΠΌΡ ΡΠΎΠΏΡΡΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ, Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΡΠΈΠ»ΠΈΡΠ΅Π»Ρ ΡΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠ²Π½Ρ ΠΈ ΡΠΈΠ»ΡΡΡΠ°. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΡΠ°ΠΌΠΊΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π°. Π§ΠΈΡΠ°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ Π½ΠΈΠΌΠΈ ΠΏΠΎ ΠΊΠ½ΠΈΠ³Π°ΠΌ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΌ Π² ΠΏΠ°ΡΠ°Π³ΡΠ°ΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Ρ. ΠΡ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠΌΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΠΎΠ±ΡΠ΅ΠΌ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠΈ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»Π° Ρ Π²ΡΡ ΠΎΠ΄Π° Π΄Π°ΡΡΠΈΠΊΠ°.
ΠΠ° ΡΠΈΡ. 5.24 ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ ΡΡ Π΅ΠΌΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π°ΡΡΠΈΠΊΠ° ΠΊΠΎ Π²Ρ ΠΎΠ΄Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΠ¦Π ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°. ΠΠ°ΡΡΠΈΠΊ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ X Π² Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π°ΡΡΠΈΠΊΠ°. Π ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°ΡΡΡΠΆΠ΄Π΅Π½ΠΈΡΡ ΠΌΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΉ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠΌΠ΅Π΅Ρ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΎΡΠ½ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΡ. ΠΡΠ»ΠΈ Π½Π° Π²Ρ ΠΎΠ΄Π΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ°Ρ Π²Π΅Π»ΠΈΡΠΈΠ½Π° X1, ΡΠΎ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ V1min. ΠΡΠΈ ΡΡΠΎΠΌ Π²Π΅Π»ΠΈΡΠΈΠ½Π° X1 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΠΉ Π΄Π°ΡΡΠΈΠΊ. ΠΡΠ»ΠΈ Π½Π° Π²Ρ ΠΎΠ΄Π΅ Π΄Π°ΡΡΠΈΠΊΠ° ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ Π²Π΅Π»ΠΈΡΠΈΠ½Π° X2, ΡΠΎ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ V2min. Π X2 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π°ΡΡΠΈΠΊΠ°. ΠΡΠ΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ X ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΠΏΠΎ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ V1min < V < V2min.
Π ΠΈΡ. 5.24. ΠΠ±ΠΎΠ±ΡΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½Π°Ρ ΡΡ Π΅ΠΌΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π°ΡΡΠΈΠΊΠ° ΠΊΠΎ Π²Ρ ΠΎΠ΄Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΠ¦Π ΠΠ
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ Π΄Π°ΡΡΠΈΠΊΠ° ΠΌΠΎΠ³Π»ΠΎ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ Π² ΡΠΏΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π² ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ΄ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΠ¦Π. ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ Ρ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ, Π΅ΡΠ»ΠΈ V1min Π±ΡΠ΄Π΅Ρ ΡΠ°Π²Π½ΠΎ 0 Π, Π° V2min β 5,0 Π. ΠΠΎΡΡΠΎΠΌΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΡΡ ΠΎΠ΄ΠΎΠΌ Π΄Π°ΡΡΠΈΠΊΠ° ΠΈ Π²Ρ ΠΎΠ΄ΠΎΠΌ ΠΠ¦Π ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠ΅ ΡΡΠΈΠ»ΠΈΡΠ΅Π»Ρ ΡΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠ²Π½Ρ (ΡΠΈΡ. 5.24). ΠΠ±ΠΎΠ·Π½Π°ΡΠΈΠΌ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ ΡΡΠΈΠ»Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΡΡΠΈΠ»ΠΈΡΠ΅Π»Ρ K, Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ β B. ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ K ΠΈ B ΡΠΎΡΡΠ°Π²ΠΈΠΌ Π΄Π²Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ:
V2max = V2min Γ K + B
V1max = V1min Γ K + B,
Π³Π΄Π΅ V2max ΠΈ V1max Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΠΈ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ ΡΠΊΠ°Π»Ρ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ ΡΡΠΈΠ»ΠΈΡΠ΅Π»Ρ ΡΠΎ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ. Π Π΅ΡΠΈΠ² ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠ° ΡΡΠΈΠ»Π΅Π½ΠΈΡ ΠΈ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΡΡ Π΅ΠΌΡ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΡΠΈΠ»ΠΈΡΠ΅Π»ΡΡ .
ΠΡΠΈΠΌΠ΅Ρ. ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅Π±Π΅, ΡΡΠΎ ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π±Π°ΡΠΎΠΌΠ΅ΡΡ ΠΌΠ΅ΡΠ΅ΠΎΡΡΠ°Π½ΡΠΈΠΈ ΠΊ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ 68HC12 Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠ΅ΡΠ° ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΠΉ ΠΏΡΠΈΠ±ΠΎΡΠ°. ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠΉ ΡΠΈΠ³Π½Π°Π»Π° ΠΠ¦Π ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 0β¦5,0 Π. ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΠΉ Π±Π°ΡΠΎΠΌΠ΅ΡΡΠ° ΡΠ°Π²Π½Π° 64 ΡΠΌ ΡΡΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ»Π±Π°, ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ β 81 ΡΠΌ. ΠΠ°ΡΠΎΠΌΠ΅ΡΡ ΡΠ½Π°Π±ΠΆΠ΅Π½ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΡΡ Π΅ΠΌΠΎΠΉ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»Π°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΡΠΌΠΈΡΡΠ΅Ρ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ Π΄Π»Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ 64 ΡΠΌ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ β100 ΠΌΠ, Π° Π΄Π»Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ 81 ΡΠΌ β Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ +300 ΠΌΠ. ΠΠ΅ΡΠ΅Π΄Π°ΡΠΎΡΠ½Π°Ρ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° ΡΡΠΎΠΉ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΡΡ Π΅ΠΌΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π»ΠΈΠ½Π΅ΠΉΠ½Π°Ρ. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π»Ρ ΡΠΎΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π±Π°ΡΠΎΠΌΠ΅ΡΡΠ° Ρ ΠΠ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° 68HC12.