Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «ВстраиваСмыС систСмы. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… сСмСйства 68HC12/HCS12 с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ языка Π‘Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 93

Автор Π‘Ρ‚ΠΈΠ²Π΅Π½ Π‘Π°Ρ€Ρ€Π΅Ρ‚Ρ‚

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.