delay();
PORTB=0x00; // Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΡΠ°ΡΠ½ΡΠ΅ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Ρ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ°
break;
case 0xFB: //PA2 ΠΠΊΡΡΠΆΠ½ΠΎΡΡΡ
PORTB = 0x04; // ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ ΠΏΠΎΡΡΠ° PORTB
delay();
PORTB=0x00; //Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΡΠ°ΡΠ½ΡΠ΅ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Ρ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ°
break;
case 0xFD: //PA1 Π‘ΠΈΠ½ΡΡΠΎΠΈΠ΄Π°
PORTB = 0x02; // ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ ΠΏΠΎΡΡΠ° PORTB
delay();
PORTB=0x00; // Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΡΠ°ΡΠ½ΡΠ΅ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Ρ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ°
break;
case 0xFE: //PA0 ΠΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
PORTB = 0x01; // ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄ ΠΏΠΎΡΡΠ° PORTB
position_laser(0x00,0x00);
shutter(close);
delay();
PORTB=0x00; // Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΊΡΠ°ΡΠ½ΡΠ΅ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Ρ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ°
go = 0;
break;
case 0xFF:
break;
default:
; //Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ
}//ΠΊΠΎΠ½Π΅Ρ switch(new_PORTA)
old_PORTA = new_PORTA;
}//ΠΊΠΎΠ½Π΅Ρ if(new_PORTA ! = old_PORTA)
}//ΠΊΠΎΠ½Π΅Ρ while(go)
}//ΠΊΠΎΠ½Π΅Ρ main
//********************************************************************
// initialize_ports: ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΠΎΡΡΠΎΠ² Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅
//Π²Ρ ΠΎΠ΄Π½ΡΡ /Π²ΡΡ ΠΎΠ΄Π½ΡΡ
//********************************************************************
void initialize_ports(void)
{
DDRA=0x00; //ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ PORTA Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°
DDRB=0xFF; //ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ PORTB Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°
PORTB=0x00; //Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΊΡΠ°ΡΠ½ΡΠ΅ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Ρ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ°
DDRS=0xFF; //ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ PORTT Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°
DDRP=0xFF; //ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ PORTP Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°
}
//********************************************************************
/// /shutter(int action) : ΠΎΡΠΊΡΡΡΠΈΠ΅ ΠΈ Π·Π°ΠΊΡΡΡΠΈΠ΅ Π·Π°ΡΠ²ΠΎΡΠ°
//********************************************************************
void shutter(int action) {
if (action == open) PORTP = 0x01;
if (action == close) PORTP = 0x00;
}
//********************************************************************
//position_laser(unsigned char x_pos, unsigned char y_pos): ΠΏΠΎΡΡΠ»Π°Π΅Ρ
//ΡΠΈΠ³Π½Π°Π» ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΊΠ°Π½Π°Π»ΠΎΠ² X ΠΈ Y Π³Π°Π»ΡΠ²Π°Π½ΠΎΠΌΠ΅ΡΡΠ° ΠΈΠ· ΠΏΠΎΡΡΠΎΠ² PORTS
//ΠΈ PORTT ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
//********************************************************************
void position_laser(char x_pos,char y_pos) {
PORTS = x_pos;
PORTT = y_pos;
}
//********************************************************************
//delay(void): ΡΠΎΠ·Π΄Π°Π΅Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΡ
//********************************************************************
void delay(void) {
int j;
for(j=0x0000; j<0x1000; j=j+0x01) {
asm("nop");
}
}
//********************************************************************
7.2.7. ΠΡΠΏΡΡΠ°Π½ΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
ΠΠΎ ΠΏΠΎΠ΄ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΠΈΡΡΠ΅ΠΌΡ ΠΊ ΠΠ 68HC12, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡ Π΅ΠΌΡ. Π Π³Π»Π°Π²Π΅ 5 ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ Π²Ρ ΠΎΠ΄Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΡΠΌΠΈ, Π° Π²ΡΡ ΠΎΠ΄Ρ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Π°ΠΌΠΈ. ΠΠ°ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΡΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΠΈ ΠΈ ΡΠ²Π΅ΡΠΎΠ΄ΠΈΠΎΠ΄Ρ Π΄Π»Ρ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ ΡΠΈΠ³Π½Π°Π»Ρ? ΠΠΌΠ΅Π΅ΡΡΡ Π΄Π²Π° ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ Π»Π΅Π³ΠΊΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ²ΡΠ·Ρ Π΄ΡΡΠ³ Ρ Π΄ΡΡΠ³ΠΎΠΌ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² Π½Π° ΠΊΠ°Π½Π°Π»Π°Ρ X ΠΈ Y:
1) ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅ΡΡΠ΅Π²ΠΎΠ³ΠΎ X-Y Π³ΡΠ°ΡΠΎΠΏΠΎΡΡΡΠΎΠΈΡΠ΅Π»Ρ,
2) ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎ-ΠΈΠ·ΠΌΠ΅ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΡ ΡΠΈΠ³ΡΡ ΠΠΈΡΡΠ°ΠΆΡ.
ΠΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠ΅, Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠΉ ΡΠΈΠ³Π½Π°Π», ΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌΡΠΉ X-ΠΊΠ°Π½Π°Π»ΠΎΠΌ Π¦ΠΠ, ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Ρ X-ΠΊΠ°Π½Π°Π»Π° Π³Π°Π»ΡΠ²Π°Π½ΠΎΠΌΠ΅ΡΡΠ° Π½Π° X-ΠΊΠ°Π½Π°Π» ΠΏΠ΅ΡΡΠ΅Π²ΠΎΠ³ΠΎ X-Y Π³ΡΠ°ΡΠΎΠΏΠΎΡΡΡΠΎΠΈΡΠ΅Π»Ρ, Π° ΡΠΈΠ³Π½Π°Π» Ρ Y-ΠΊΠ°Π½Π°Π»Π° Π³Π°Π»ΡΠ²Π°Π½ΠΎΠΌΠ΅ΡΡΠ° Π½Π° Y-ΠΊΠ°Π½Π°Π» Π½Π° Π³ΡΠ°ΡΠΎΠΏΠΎΡΡΡΠΎΠΈΡΠ΅Π»Ρ. Π‘ΠΈΠ³Π½Π°Π» ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°ΡΠ²ΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ΄Π°Π½ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΏΠ΅ΡΠ° Π³ΡΠ°ΡΠΎΠΏΠΎΡΡΡΠΎΠΈΡΠ΅Π»Ρ, ΡΠΌΠ΅ΡΠ°ΡΡΠΈΠΉΡΡ Π²Π²Π΅ΡΡ ΠΈ Π²Π½ΠΈΠ·. ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΏΠ»ΠΎΡΡΠ΅Ρ ΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°ΠΌΠΈ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π»ΠΈ ΡΡ Π΅ΠΌΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π’Π’Π ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌ ΡΠΈΠ³Π½Π°Π»ΠΎΠΌ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π·Π°ΡΠ²ΠΎΡΠΎΠΌ ΠΎΡ 68HC12 ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅ΡΠ° Π²Π²Π΅ΡΡ ΠΈ Π²Π½ΠΈΠ·. ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° 68HC12 ΠΊ Π³ΡΠ°ΡΠΎΠΏΠΎΡΡΡΠΎΠΈΡΠ΅Π»Ρ, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ΠΎ.
ΠΡΠΎΡΠ°Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠ° ΠΈΡΠΏΡΡΠ°Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΈΠ³ΡΡ ΠΠΈΡΡΠ°ΠΆΡ. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΈΠ³ΡΡΡ ΠΠΈΡΡΠ°ΠΆΡ, Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΠΈΠ³Π½Π°Π»Ρ Ρ X-ΠΊΠ°Π½Π°Π»Π° ΠΈ Y-ΠΊΠ°Π½Π°Π»Π° Π¦ΠΠ ΠΏΠΎΠ΄Π°ΡΡΡΡ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠ°Π½Π°Π»Ρ ΠΎΡΡΠΈΠ»Π»ΠΎΠ³ΡΠ°ΡΠ°.
ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ 68HC12 ΠΊ ΠΎΡΡΠΈΠ»Π»ΠΎΠ³ΡΠ°ΡΡ, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ΠΎ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΈΠ³ΡΡΠ°Ρ ΠΠΈΡΡΠ°ΠΆΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² [2].
7.2.8. ΠΠ°ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΈΡΠΏΡΡΠ°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΠΎΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΡΡΠ°Π½ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π»Π°Π·Π΅ΡΠΎΠΌ. Π Π΅Π°Π»ΡΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ΅, Π²ΡΠΏΡΡΠΊΠ°Π΅ΠΌΠΎΠΉ ΠΈΠ·Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅Π»ΡΠΌΠΈ ΠΎΠΏΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ Π² ΡΡΠ΅Π±Π½ΠΈΠΊΠ°Ρ , ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΡΡ ΠΎΠΏΡΠΈΡΠ΅ΡΠΊΠΈΠΌ Π±Π»ΠΎΠΊΠ°ΠΌ [3, 8].
7.3. Π¦ΠΈΡΡΠΎΠ²ΠΎΠΉ Π²ΠΎΠ»ΡΡΠΌΠ΅ΡΡ
7.3.1. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ Π²ΠΎΠ»ΡΡΠΌΠ΅ΡΡ (Π¦Π), ΡΠΏΠΎΡΠΎΠ±Π½ΡΠΉ ΠΈΠ·ΠΌΠ΅ΡΡΡΡ Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠΉ ΡΠΈΠ³Π½Π°Π» Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ +10 Π΄ΠΎ β10 Π. ΠΠ·ΠΌΠ΅ΡΡΠ΅ΠΌΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° ΠΠ Π΄ΠΈΡΠΏΠ»Π΅Π΅, ΡΠΈΡΠ»ΠΎ Π·Π½Π°ΠΊΠΎΠΌΠ΅ΡΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΠΈΡΠ»Π° ΠΎΡ 0 Π΄ΠΎ 100.
ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²Ρ ΠΎΠ΄Π½ΡΡ ΠΈΠ·ΠΌΠ΅ΡΡΠ΅ΠΌΡΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Ρ Π°Π½Π°Π»ΠΎΠ³ΠΎ-ΡΠΈΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ATD ΠΠ 68HC12 ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 0β¦5 Π. Π§ΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΡ Π²Ρ ΠΎΠ΄Π½ΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Π² Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ. ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΈΠ³Π½Π°Π» Β±10 Π Π² ΡΠΈΠ³Π½Π°Π», Π»Π΅ΠΆΠ°ΡΠΈΠΉ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ 0 Π΄ΠΎ 5 Π.
7.3.2. Π‘ΠΈΡΡΠ΅ΠΌΡ 68HC12 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅
ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π² ΡΠΎΡΡΠ°Π²Π΅ ΠΠ 68HC12, Π²Π½Π΅ΡΠ½ΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ:
β’ ΠΠΎΠ΄ΡΠ»Ρ ATD Π² ΡΠΎΡΡΠ°Π²Π΅ ΠΠ 68HC12;
β’ Π‘ΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΉ ΠΠ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ;
β’ ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π°;
β’ ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅ΡΡΠ΅ΠΌΠΎΠ³ΠΎ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π² ASCII ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΠ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ΅.
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
7.3.3. Π Π°ΡΡΠ΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΌΠΎΠ΄ΡΠ»Ρ ATD
Π ΡΠ°Π·Π΄Π΅Π»Π΅ 5.9 ΠΌΡ ΠΎΠΏΠΈΡΠ°Π»ΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ ΠΊ ΠΠ 68HC12, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π² ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΡ ΡΠ°ΡΡΠ΅ΡΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠ΅Π³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΎΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Β±10 Π Π΄ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΎΡ 0 Π΄ΠΎ 5 Π, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠ³ΠΎ Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π°Π½Π°Π»ΠΎΠ³ΠΎ-ΡΠΈΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ 68HC12.
Π‘ΡΡΡΠΊΡΡΡΠ½Π°Ρ ΡΡ Π΅ΠΌΠ° ΡΠΎΠ³Π»Π°ΡΡΡΡΠ΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΠΈΡ. 7.13. ΠΡΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ 5 Π Π½Π° Π²Ρ ΠΎΠ΄Π΅ ΠΠ¦Π ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΠΊΠΎΠ³Π΄Π° Π½Π° Π²Ρ ΠΎΠ΄ Π²ΠΎΠ»ΡΡΠΌΠ΅ΡΡΠ° ΠΏΠΎΠ΄Π°Π΅ΡΡΡ 10 Π, ΠΈ 0 Π Π½Π° Π²Ρ ΠΎΠ΄Π΅ ΠΠ¦Π ΠΏΡΠΈ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠΈ Π² β10 Π Π½Π° Π²Ρ ΠΎΠ΄Π΅ Π²ΠΎΠ»ΡΡΠΌΠ΅ΡΡΠ°. Π§ΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, Π²Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΈΠ³Π½Π°Π» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ Π½Π° ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΡΡΠΈΠΉ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ, ΠΈ, ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΎ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ. Π Π½Π°ΡΠ΅ΠΉ ΡΡ Π΅ΠΌΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π±Π»ΠΎΠΊ K, ΠΈ Π΅Π³ΠΎ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΈΠ³Π½Π°Π» ΡΡΠΌΠΌΠΈΡΡΠ΅ΡΡΡ Ρ ΡΠΈΠ³Π½Π°Π»ΠΎΠΌ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ B.
Π ΠΈΡ. 7.13. Π ΡΠ°ΡΡΠ΅ΡΡ ΡΠΎΠ³Π»Π°ΡΡΡΡΠ΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°
ΠΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π½Π΅Π΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠ΅ ΡΠΎΡΡΠ°Π²ΠΈΠΌ Π΄Π²Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π΄Π²ΡΠΌΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌΠΈ, ΡΡΠΎΠ±Ρ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
V2max = V2min * K + B
V1max = V1min * K + B
ΠΠ΅ΡΡΡΠ΄Π½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ, ΡΡΠΎ V1min = β10 Π, Π° V2min = + 10 Π, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ V1max = 0 Π, ΠΈ V2max = 5 Π. ΠΠΎΠ΄ΡΡΠ°Π²ΠΈΠΌ ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π½Π°ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ:
5 = 10 * K + Π
0 = (β10) * K + Π
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΌΠ°ΡΡΡΠ°Π±Π½ΡΠΉ ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»Ρ K = 0.25, ΠΈ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ B = 2.5 Π. CΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΡ Π΅ΠΌΡ Π½Π° ΠΠ£ Ρ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠΎΠΌ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ 0.25, ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π² 2.5 Π.
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Π²ΠΎΠ»ΡΡΠΌΠ΅ΡΡΠ° ΠΏΠΎΡΠ»Π΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ Π² ΠΠ ΠΠ¦Π, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΡΡΠ΅Ρ ΠΊΠΎΠ΄Π° ΠΎΡΠΈΡΡΠΎΠ²ΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½Π½ΠΎΠ΅ Π²Ρ ΠΎΠ΄Π½ΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π΅Π³ΠΎ Π½Π° Π΄ΠΈΡΠΏΠ»Π΅ΠΉ. ΠΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ.
7.3.4. Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°
ΠΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΈ ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ². ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΌΡ ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ ΡΡΡΡΠΊΡΡΡΡ ΠΈ Π±Π»ΠΎΠΊ ΡΡ Π΅ΠΌΡ ΡΠΈΡΠ°ΡΠ΅Π»Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΡΠ°Π±ΠΎΡΡ (Π·Π°Π΄Π°Π½ΠΈΠ΅ 17).
7.3.5. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ
/********************************************************************/
/* ΠΠΌΡ ΡΠ°ΠΉΠ»Π°: voltmeter2.Ρ */
/* ΠΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ Π²ΠΎΠ»ΡΡΠΌΠ΅ΡΡΠ° Π½Π° Π±Π°Π·Π΅ ΠΠ¦Π, */
/* Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Π² ΠΠ HC12. ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ */
/*ΠΎΠ΄Π½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΠ½ΡΡ */
/* ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ */
/********************************************************************/
#include <912b32.h>