Π’Π°Π±Π»ΠΈΡΠ° 7.1. ΠΡΠ°Π²ΠΈΠ»Π° ΡΠ°Π·Π·ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Π² Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΎΠ±ΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠΈΠ½ΠΈΠΌΠ°ΠΊΡΠ°, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π½Π° ΡΠΈΡ. 7.34, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅Π½ΡΡΠ²Π° Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ . Π’ΠΎ Π΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ ΠΈΠ· Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ»Π΅Π½ΡΡΠ²Π° Π²Ρ ΠΎΠ΄Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ», ΠΈ Π²ΡΡ ΠΎΠ΄Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΎ Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ»Ρ Π΄Π΅ΡΠ°Π·Π·ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π²ΡΠ΅ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅Π½ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ, ΡΡΠΎΠ±Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΡ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΡ ΠΎΠ΄Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΉ (ΠΏΠΎΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π½Π° ΠΎΡΠΈ X ΡΠΈΡ. 7.33), ΡΠΌΠ½ΠΎΠΆΠ°ΡΡΡΡ Π½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅Π½ΡΡΠ²Π°, Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΠΏΠΎ Π΄Π΅Π²ΡΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ ΠΈ ΡΡΠΌΠΌΠ° Π΄Π΅Π»ΠΈΡΡΡ Π½Π° ΡΠΈΡΠ»ΠΎ ΡΠ»Π΅Π½ΠΎΠ². ΠΠΎΠ½Π΅ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°Π½ΠΎ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΠ Π΄ΠΈΡΠΏΠ»Π΅Π΅, ΡΡΠΎΠ±Ρ ΡΠΎΠΎΠ±ΡΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ΅Π°Π½ΡΠ°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅Π°Π½ΡΠ°, ΠΠ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ Π²ΡΡΠ²Π΅ΡΠΈΠ²Π°Π΅Ρ ΡΡΠΈ ΡΠΈΡΠ»Π°, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΡΡΠΈΡ ΡΡΠΈ ΡΠΈΠΏΠ° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π²ΡΠΎΡΠΆΠ΅Π½ΠΈΡ: Π°ΡΠ°ΠΊΠΈ Π½Π° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΡΠ΅Π°Π½ΡΡ ΡΡΠ½Π½Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π°ΡΠ°ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π°ΡΠ΄ΠΈΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ².
Π ΠΈΡ. 7.34. ΠΡΠΎΡΠ΅Π΄ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠ»Π΅Π½ΡΡΠ²Π° ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΠΈΠ½ΠΈΠΌΠ°ΠΊΡΠ°
7.6.6. ΠΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°
Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΡΠ΅Π΄ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ Π²ΡΠΎΡΠΆΠ΅Π½ΠΈΡ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ Π°ΡΠ°ΠΊ Π½Π° ΡΡΠ½Π½Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ HTTP. ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΡΠ°ΠΊΠΎΠ³ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠ»ΡΠΆΠΈΡ ΡΠΈΡΠΎΠΊΠΎΠ΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΠΊΠ° HTTP Π² Internet. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π±ΡΠ°Π½Π΄ΠΌΠ΅ΠΉΡΡΠ΅ΡΠΎΠ² Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠ±ΡΠΈΡΠ½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π²ΡΠ΅ Π°ΡΠ°ΠΊΠΈ Π½Π° ΡΡΠ½Π½Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ HTTP. Π’Π°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Π΅ΡΡΠΌΠ° ΡΡΡΠ΄ΠΎΠ΅ΠΌΠΊΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠ°ΡΠΈΠΊ HTTP ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΠΈ ΡΡ ΠΎΠ΄ΡΡΠ΅Π³ΠΎ ΡΡΠ°ΡΠΈΠΊΠ° Π΄Π»Ρ Π»ΡΠ±ΠΎΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ Π²Π·ΡΡΡ Π½Π° ΡΠ΅Π±Ρ ΡΠ°ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ Π²ΡΠΎΡΠΆΠ΅Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π°ΡΠ°ΠΊΠ°ΠΌΠΈ Π½Π° ΡΡΠ½Π½Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ HTTP. Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ΅ΡΡΠΈΠΈ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ°ΡΠΈΠΊΠ° Internet, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ΅ΡΡΠΈΡ Internet β ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°ΠΌΠΈ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ . Π₯ΠΎΡΠΎΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠ΅ΡΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°Π±ΠΎΡ Π°Π΄ΡΠ΅ΡΠ° ΡΠ΅ΡΠΈ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅. ΠΠ°Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΠ΅ΡΡΠΈΡ Ρ Π²Π΅Π΄ΡΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅ΡΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ°. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ Π·Π°ΠΊΡΡΠ²Π°Π΅ΡΠ΅ Π²Π΅Π±-ΡΠ°ΠΉΡ ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΠ΅ ΠΊ Π΄ΡΡΠ³ΠΎΠΌΡ ΡΠ°ΠΉΡΡ, Π²Ρ Π·Π°ΠΊΡΡΠ²Π°Π΅ΡΠ΅ ΠΎΠ΄Π½Ρ ΡΠ΅ΡΡΠΈΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ Π΄ΡΡΠ³ΡΡ.
7.6.7. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΊΠΎΠ΄
//********************************************************************
// Π€Π°ΠΉΠ»: micro.Ρ
// Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ: Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅ΡΡΡ IDS ΠΎΡΠ΅Π½ΠΎΠΊ ΡΠ»Π΅Π½ΡΡΠ²Π° ΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ
// ΠΎΡΠ΅Π½ΠΊΡ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π²ΡΠΎΡΠΆΠ΅Π½ΠΈΡ
// ΠΠ²ΡΠΎΡΡ: ΠΠ°Π½ΠΈΡΠ»Ρ ΠΠ°ΠΊ, ΠΠ°ΡΡΠΈ ΠΡΠ»Π»ΠΈΠ½Π·, Π‘ΡΠΈΠ² ΠΠ°ΡΡΠ΅ΡΡ
// ΠΠ°ΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ: 17 ΠΈΡΠ½Ρ 2004
// Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ: Program=0x1000, Data=0x3000, Stack=0x4000
//********************************************************************
#include <stdio.h>
#include "hcs12dp256.h"
//********************************************************************
//ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ
//====================================================================
// _HC12Setup: Π²ΡΠΊΠ»ΡΡΠΈΡΡ ΡΡΠΎΡΠΎΠΆΠ΅Π²ΠΎΠΉ ΡΠ°ΠΉΠΌΠ΅Ρ COP
//====================================================================
void _HC12Setup(void) {
COPCTL = 0x00; // Π²ΡΠΊΠ»ΡΡΠΈΡΡ ΡΡΠΎΡΠΎΠΆΠ΅Π²ΠΎΠΉ ΡΠ°ΠΉΠΌΠ΅Ρ COP
}
//********************************************************************
//delay: ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ
//********************************************************************
void delay(void) { //ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ
volatile unsigned n, m;
m = 10;
do {
n = 0;
do {
n--;
} while(n);
m--;
} while(m);
}
//********************************************************************
// status_wait: Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ²ΡΠ·ΠΈ Ρ ΠΠΠ
//********************************************************************
void status_wait(void) { //Π²ΡΠ΅ΠΌΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ²ΡΠ·ΠΈ Ρ ΠΠ Π΄ΠΈΡΠΏΠ»Π΅Π΅ΠΌ
char temp = 0x00;
DDRA = 0x00;
PORTB = 0xF9;
while ((temp & 0x03) != 0x03) {
PORTB = 0xFF;
temp = PORTA;
PORTB = 0xF9;
}
PORTB = 0xFF;
DDRA = 0xFF;
}
//********************************************************************
// command: ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° ΠΠ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ
//********************************************************************
void command(unsigned char n) { // ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° ΠΠ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ
status_wait();
PORTA = n;
PORTB = 0xFF;
PORTB = PORTB & 0xFA;
PORTB = 0xFF;
}
//********************************************************************
//********************************************************************
//data: ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ° Π΄Π°Π½Π½ΡΡ Π½Π° ΠΠ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ
//********************************************************************
void data(unsigned char n) { // ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ° Π΄Π°Π½Π½ΡΡ Π½Π° ΠΠ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ
status_wait();
PORTA = n;
PORTB = PORTB & 0xF2;
PORTB = 0xFF;
}
//********************************************************************
// LCD_char: ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π½Π° ΠΠ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ
//********************************************************************
void LCD_char(unsigned char n) {
// ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π½Π° ΠΠ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ
data(n - 0x20);
command(0xC0);
}
//********************************************************************
// newline: ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ° Π½ΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π½Π° ΠΠ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ
//********************************************************************
void newline(void) {
// ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ° Π½ΠΎΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π½Π° ΠΠ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ
int i;
for (i=0; i<16; i++) LCD_char(' ');
}
//********************************************************************
// LCD_output: ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π½Π° ΠΠ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ
//********************************************************************
void LCD_output(char s[]) {
// ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π½Π° ΠΠ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ
int n = 0;
while (s[n] != '\0') {
LCD_char(s[n]);
++n;
}
}
//********************************************************************
// Reset_cursor: Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΊΡΡΡΠΎΡΠ°
//********************************************************************
void Reset_cursor(void) { // Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΊΡΡΡΠΎΡΠ°
data(0x00);
data(0x10);
command(0x24);
}
//********************************************************************
//Clearscreen: ΠΎΡΠΈΡΡΠΊΠ° ΡΠΊΡΠ°Π½Π° ΠΠΠ
//********************************************************************
void Clearscreen(void) { // ΠΎΡΠΈΡΡΠΊΠ° ΡΠΊΡΠ°Π½Π° ΠΠΠ
int i,j;
Reset_cursor();
for (i=0; i<16; i++) for(j=0; j<16; j++) LCD_char(' ');
Reset_cursor();
}
//********************************************************************
// Initlcd: ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΠΠ
//********************************************************************
void Initlcd(void) { // ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΠΠ
PORTB = 0xEF; //ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ±ΡΠΎΡ
delay();
PORTB = 0xFF; //Π²ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° Π²ΡΡΠΎΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅
status_wait();
command(0x80); // ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ ΡΠ΅ΠΊΡΡΠ°
data(0x00); // ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΌΠ»Π°Π΄ΡΠΈΠΉ Π±Π°ΠΉΡ Π°Π΄ΡΠ΅ΡΠ° ΡΠ΅ΠΊΡΡΠ° (L)
data(0x10); // ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΌΠ»Π°Π΄ΡΠΈΠΉ Π±Π°ΠΉΡ Π°Π΄ΡΠ΅ΡΠ° ΡΠ΅ΠΊΡΡΠ° (H)
command(0x40); //ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π°Π΄ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ΅ΠΊΡΡΠ°
data(0x10); //ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΠ±Π»Π°ΡΡΡ ΡΠ΅ΠΊΡΡΠ°
data(0x00);
command(0x41);
command(0x94); //Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ
command(0xA7); //ΠΊΡΡΡΠΎΡ 8Γ8 ΠΏΠΎΠ·ΠΈΡΠΈΠΉ
Clearscreen();
Reset_cursor();
}
//********************************************************************
// InitMes: Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅
//********************************************************************
void InitMes(void) { // Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅
unsigned char k;
for(k=0; k<3; k++) newline();
LCD_output(" Portable HTTP");
newline();
LCD_output(" TAD System.");
newline();
LCD_output(" version 1.0");
}
//********************************************************************
// numdisplay: ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ΅Π» Π½Π° ΠΠ Π΄ΠΈΡΠΏΠ»Π΅Π΅
//********************************************************************
void numdisplay(char s) { //ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ΅Π» Π½Π° ΠΠ Π΄ΠΈΡΠΏΠ»Π΅Π΅
char k;
newline();
k = s;
s = s>>4;
if (s > 0x08) data(s + 0x17);
else data(s + 0x10);
command(0xC0);
k = k & 0x0F;
if (k > 0x08) data(k + 0x17);
else data(k + 0x10);
command(0xC0);
}
//********************************************************************
// Π‘Π΅ΠΊΡΠΈΡ Π΄Π°Π½Π½ΡΡ - ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°Π±Π»ΠΈΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ
//********************************************************************
#pragma abs_address 0x3000
char BeP[12] = {0x00, 0x70, 0x00, 0x10,