ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΡΡΡΠΎΠΉΡΡΠ²Π°
Π R0 ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ Π°Π΄ΡΠ΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ° Π΄Π°Π½Π½ΡΡ LCD. ΠΠ°ΡΠ΅ΠΌ Π½Π° Π»ΠΈΠ½ΠΈΠΈ RS ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π²ΡΡΠΎΠΊΠΈΠΉ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π», Π° Π½Π° Π»ΠΈΠ½ΠΈΠΈ RW — Π½ΠΈΠ·ΠΊΠΈΠΉ, ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ΅ΠΆΠΈΠΌΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΠΈ LCD. Π, Π·Π°ΡΠ΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π·Π°ΠΏΠΈΡΠΈ Π²ΠΎ Π²Π½Π΅ΡΠ½Π΅Π΅ ΠΠΠ£, ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ° Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΠ΅Π³ΠΈΡΡΡ Π΄Π°Π½Π½ΡΡ LCD. ΠΡΠΈ ΡΡΠΎΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΈΠΌΠΏΡΠ»ΡΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ WR ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΡΡΠΎ ΠΏΠΎ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΡΡΡΠΎΠΉΡΡΠ²Π° (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
1. ΠΠΏΠΏΠ°ΡΠ°ΡΠ½Π°Ρ ΡΠ°ΡΡΡ
2. ΠΡΠ±ΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ²
3. ΠΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½Π°Ρ ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡ Π΅ΠΌΠ°
4. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
5. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
6. ΠΠΈΡΡΠΈΠ½Π³ ΠΠΈΡΠ΅ΡΠ°ΡΡΡΠ°
1. ΠΠΏΠΏΠ°ΡΠ°ΡΠ½Π°Ρ ΡΠ°ΡΡΡ ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅.
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π²Ρ ΠΎΠ΄ΠΈΡΡ Π² Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΡΠ°ΡΡΡ. Π‘Ρ Π΅ΠΌΠ°ΡΠΈΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 1.
Π ΠΈΡΡΠ½ΠΎΠΊ 1
ΠΡΠ±Π΅ΡΠ΅ΠΌ ΠΈ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄Π΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½Π°Ρ ΡΡ Π΅ΠΌΠ°.
2. ΠΡΠ±ΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π°) ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ AT89C51RC2 ΡΠΈΡΠΌΡ Atmel.
ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° ΠΠ’89 ΡΠΈΡΠΌΡ Atmel ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π²ΠΎΡΡΠΌΠΈΡΠ°Π·ΡΡΠ΄Π½ΡΡ ΠΎΠ΄Π½ΠΎΠΊΡΠΈΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠΈΠΊΡΠΎΠΠΠ Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ MCS-51 ΡΠΈΡΠΌΡ Intel. ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ ΠΈΠ·Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎ ΠΠΠΠ (CMOS) ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ.
Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ AT89C51RC2:
ΠΠ°ΠΌΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ (Flash)…32 ΠΠ± ΠΠ½ΡΡΡΠΈΡΡ Π΅ΠΌΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅… SPI
ΠΠΠ£…128 Π±Π°ΠΉΡ Π’Π°ΠΉΠΌΠ΅Ρ-ΡΡΠ΅ΡΡΠΈΠΊ…3
ΠΠ°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΡ…2,7−5,5 Π ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠ°ΠΊΡΠΎΠ²Π°Ρ ΡΠ°ΡΡΠΎΡΠ°…60 ΠΠΡ ΠΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»Π°…6
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ: Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΏΠ°ΡΠ°ΡΠΎΡ
ΠΡΠ΅Π΄Π΅Π»ΡΠ½ΡΠ΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
Π Π°Π±ΠΎΡΠ°Ρ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ° … -40Β°C +85Β°C
ΠΠ°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π»ΡΠ±ΠΎΠΌ Π²ΡΠ²ΠΎΠ΄Π΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π·Π΅ΠΌΠ»ΠΈ … -1.0 Π +7.0 Π ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΡ … 6.6 Π ΠΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΎΠΊ (Π»ΠΎΠ³ 0) …25.0 ΠΌΠ Π±) ΠΠ»Ρ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΠ-ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ LM020L.
ΠΡΠΎ 16-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΉ ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΡΠΉ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ HD44780.
ΠΡΠ΅Π΄Π΅Π»ΡΠ½ΡΠ΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ LM020L:
Π Π°Π±ΠΎΡΠ°Ρ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ° … 0 Β°C +50Β°C
Π’Π΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ° Ρ ΡΠ°Π½Π΅Π½ΠΈΡ … -20Β°C +60Β°C
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΡ …7.0 Π Π²) ΠΠ»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΡΠΎΠ±ΠΎΠ²ΡΠΌΠΈ ΠΈΠΌΠΏΡΠ»ΡΡΠ°ΠΌΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ 2Π-ΠΠ 74LS26
ΠΡΠ΅Π΄Π΅Π»ΡΠ½ΡΠ΅ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ 74LS26:
Π Π°Π±ΠΎΡΠ°Ρ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ° … -55Β°C +125Β°C
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΈΡΠ°Π½ΠΈΡ … 5.5 Π ΠΠ»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΎΡΡ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (1/f)*100, ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ 100 ΠΏΠ΅ΡΠΈΠΎΠ΄Π°ΠΌ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΎΡΡ Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ . Π’Π°ΠΊ ΠΆΠ΅ Π΄Π΅Π»Π°Π΅ΠΌ ΠΏΠΎΠΏΡΠ°Π²ΠΊΡ Π½Π° Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠ»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Ρ ΡΠ°ΡΡΠΎΡΠΎΠΉ 12 ΠΠΡ Π²ΡΠ΅ΠΌΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 2ΠΌΠΊΡ.
Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π³ΡΡΠΏΠΏ Π±ΡΠ΄ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ:
1-Ρ Π³ΡΡΠΏΠΏΠ° — 1007 ΠΌΠΊΡ;
2-Ρ Π³ΡΡΠΏΠΏΠ° — 916 ΠΌΠΊΡ;
3-Ρ Π³ΡΡΠΏΠΏΠ° — 840 ΠΌΠΊΡ;
4 — Π³ΡΡΠΏΠΏΠ° — 776 ΠΌΠΊΡ;
3. Π‘Ρ Π΅ΠΌΠ° ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½Π°Ρ
ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ 2 ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΏΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½Π°Ρ ΡΡ Π΅ΠΌΠ°, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ°Ρ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ°Ρ Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π ΠΈΡΡΠ½ΠΎΠΊ 2
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° ΡΡΡΡΠΎΠΉΡΡΠ²Π°
4. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π Π°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·Π±ΡΠ°ΠΊΠΎΠ²Π°ΡΡ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΡ ΠΏΠΎ ΡΠ°ΡΡΠΎΡΠ΅ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ 100…130 ΠΊΠΡ ΠΏΠΎ ΡΠ΅ΡΡΡΠ΅ΠΌ Π³ΡΡΠΏΠΏΠ°ΠΌ:
100.110 — Π³ΡΡΠΏΠΏΠ° 1;
110.120 — Π³ΡΡΠΏΠΏΠ° 2;
120…130 — Π³ΡΡΠΏΠΏΠ° 3;
ΠΡΡ ΠΎΠ΄ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ — Π±ΡΠ°ΠΊ (Π³ΡΡΠΏΠΏΠ° 4);
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 3.
Π ΠΈΡΡΠ½ΠΎΠΊ 3
ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 4.
Π ΠΈΡΡΠ½ΠΎΠΊ 4.
Π ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΡΠΈΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠΌ Π±ΡΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠΌ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
5. ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΠΎ Π°Π΄ΡΠ΅ΡΡ Π² ΠΠΠ£ 00h ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° ΠΌΠ΅ΡΠΊΡ init (Ρ.Π΅. ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄ΠΈΡΠΏΠ»Π΅Ρ ΠΈ Π½Π°ΡΠ°Π»ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ).
1BhΠ°Π΄ΡΠ΅Ρ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΠΎΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΏΡΠΈ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ, ΡΠΎ Π΅ΡΡΡ ΠΎΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ»Π°Π³Π° TF.
ΠΡΠΈΡΠ²ΠΎΠΈΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ ΠΏΠΎΡΡΠ°ΠΌ ΠΠ. Π£ΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ Π²Ρ ΠΎΠ΄Ρ LCD-Π΄ΠΈΡΠΏΠ»Π΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½Ρ Ρ ΠΏΠ΅ΡΠ²ΡΠΌΠΈ ΠΏΠΎΡΡΠ°ΠΌΠΈ:
RS bit P1.0
RW bit P1.1
Π’Π°ΠΊ ΠΆΠ΅ ΠΏΡΠΈΡΠ²ΠΎΠΈΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ°ΠΌ LCD-Π΄ΠΈΡΠΏΠ»Π΅Ρ, Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π±ΡΠ΄Π΅ΠΌ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π½ΠΈΠΌ ΠΊΠ°ΠΊ ΠΊ Π²Π½Π΅ΡΠ½Π΅ΠΉ ΠΠΠ£:
CMD equ 00b
DAT equ00000001b
BUS equ00000010b
ΠΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΅ΠΆΠΈΠΌΠΎΠ² ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ² ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄ΠΈΡΠΏΠ»Π΅Ρ. ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅Π³ΠΈΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ°ΠΌΠΈ TMOD
mov tmod, #101 0001b;16-Π±ΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠΌΠ΅ΡΡ Π’0 ΠΈ Π’1 ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΡΡΡΡΠΈΠΊΠ° ΠΎΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ².
setb EA; Π²ΡΠ΅ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Ρ
setb ET1; ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΎΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° 1.
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠ°. ΠΠ°ΠΏΠΈΡΠ΅ΠΌ Π² Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ ΠΈ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΡΠ΅Π³ΠΈΡΡΡ LCD ΠΊΠΎΠΌΠ°Π½Π΄Ρ x040h. ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ 8-Π±ΠΈΡΠ½ΡΡ ΡΠΈΠ½Ρ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½ΡΡ LCD Ρ ΠΠ, ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΡΡ 5×8 ΡΠΎΡΠ΅ΠΊ ΠΈ ΠΎΠ΄Π½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΡΡΠΎΠΊΡ Π΄ΠΈΡΠΏΠ»Π΅Ρ.
mov A,#040h
call LSDSetup.
ΠΠ°ΠΏΠΈΡΠ΅ΠΌ Π² Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ ΠΈ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΡΠ΅Π³ΠΈΡΡΡ LCD ΠΊΠΎΠΌΠ°Π½Π΄Ρ x0Fh. ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ, Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΡΠΈΠΏ ΠΊΡΡΡΠΎΡΠ°. ΠΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ Π² LCD:
mov A,#0Fh
call LSDSetup.
ΠΠ°ΠΏΠΈΡΠ΅ΠΌ Π² Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ ΠΈ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΡΠ΅Π³ΠΈΡΡΡ LCD ΠΊΠΎΠΌΠ°Π½Π΄Ρ x06h. ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π°Π²ΡΠΎΠΈΠ½ΠΊΡΠ΅ΠΌΠ΅Π½Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΈ ΡΠ΄Π²ΠΈΠ³ ΠΊΡΡΡΠΎΡΠ° Π²ΠΏΡΠ°Π²ΠΎ. ΠΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ Π² LCD:
mov A,#06h
call LSDSetup.
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π½Π° ΠΌΠ΅ΡΠΊΡ Start
setb P2.0; Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠΎΠ±ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°.
ΠΠΏΡΡΡΠΎΡΠ°Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠΎΠ² ΠΈ ΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΠΌ ΡΠ»Π°Π³ΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
mov TH0,#0
mov TL0,#0
mov TH1,#0
mov TL1,#0
mov DPTR,#0000h
clr tr0
clr tr1
clr tf0
clr tf1
ΠΠ΄ΡΠΌ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ: jb p1.2,$;
ΠΠ°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π² ΡΠ΅Π³ΠΈΡΡΡΡ ΡΡΡΡΡΠΈΠΊΠ° ΡΠΈΡΠ»ΠΎ «-100»
mov TH1, # 0FFh
mov TL1, #9bh
ΠΠ°Π»Π΅Π΅ Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΠ°ΠΉΠΌΠ΅Ρ ΠΈ ΡΡΡΡΡΠΈΠΊ
setb TR1
setb TR0
ΠΠ΅ΡΠΊΠ° gr ΠΈ ΡΡΠ»ΠΎΠ²Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΡΠΎΠΉΡΠΈ Π΄Π°Π»ΡΡΠ΅, ΠΏΠΎΠΊΠ° Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΡΠ»Π°Π³ F0. ΠΡΠΎΡ ΡΠ»Π°Π³ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΎΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ.
gr:
jb F0, gotovo1
jmp gr
ΠΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΡΡΡΠΈΠΊΠ° (Ρ.Π΅. ΠΏΠΎΡΠ»Π΅ ΠΎΡΡΡΠ΅ΡΠ° 100 ΠΈΠΌΠΏΡΠ»ΡΡΠΎΠ²) Π²ΡΡΡΠ°Π²ΠΈΡΡΡ ΡΠ»Π°Π³ TF1, ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΡΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ. ΠΠΎ Π΄Π°Π½Π½ΠΎΠΌΡ Π°Π΄ΡΠ΅ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° ΠΌΠ΅ΡΠΊΡ check.
ΠΡΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΠ°ΠΉΠΌΠ΅Ρ ΠΈ ΡΡΡΡΡΠΈΠΊ
clr TR0
clr TR1
Π ΡΠ΅Π³ΠΈΡΡΡΠ°Ρ ΡΠ°ΠΉΠΌΠ΅ΡΠ° TH0 ΠΈ TL0 Ρ ΡΠ°Π½ΠΈΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ 100 ΠΈΠΌΠΏΡΠ»ΡΡΠΎΠ².
ΠΠ΅ΡΠ΅ΡΡΠ»Π°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠ΅Π³ΠΈΡΡΡΠΎΠ² ΡΠ°ΠΉΠΌΠ΅ΡΠ° Π² DPTR
mov dpl, TL0
mov dph, TH0
Π₯ΡΠ°Π½ΡΡΠ΅Π΅ΡΡ Π² DPTR ΡΠΈΡΠ»ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΈ ΠΎΡΠ½Π΅ΡΡΠΈ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π³ΡΡΠΏΠΏΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ ΠΊΡΡΡΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ.
Π ΡΠ΅Π³ΠΈΡΡΡΡ R1 ΠΈ R2 Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (1/f)*100, ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ 100 ΠΏΠ΅ΡΠΈΠΎΠ΄Π°ΠΌ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΎΡΡ Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΠΊΡΠ½Π΄Π°Ρ . Π’Π°ΠΊ ΠΆΠ΅ Π΄Π΅Π»Π°Π΅ΠΌ ΠΏΠΎΠΏΡΠ°Π²ΠΊΡ Π½Π° Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄. ΠΠ»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Ρ ΡΠ°ΡΡΠΎΡΠΎΠΉ 12 ΠΠΡ Π²ΡΠ΅ΠΌΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 2ΠΌΠΊΡ.
ΠΠ΅ΡΠ΅Π½ΠΎΡΠΈΠΌ ΠΌΠ»Π°Π΄ΡΠΈΠΉ Π±ΠΈΡ DPTR Π² Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ, Π²ΡΡΠΈΡΠ°Π΅ΠΌ ΠΈΠ· ΡΠΈΡΠ»Π°, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π² R1, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ 100 ΠΈΠΌΠΏΡΠ»ΡΡΠΎΠ², ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ±ΡΠΎΡΠΈΠ² ΡΠ»Π°Π³ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ°:
mov R1, # low (776)
mov R0, # high (776)
clr C
mov A, DPL
subb A, R1
ΠΡΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²ΡΡΠΈΡΠ°Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ»Π°Π³ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ°. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΡΠ»ΠΎΠ²Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ «jc», ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΌΠ΅ΡΠΊΡ Perenos 7700. ΠΡΠ»ΠΈ ΠΆΠ΅ ΡΠ»Π°Π³ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ, ΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π΄Π°Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π±ΠΎΠ»ΡΡΠ΅, ΡΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΡΠ»ΠΎΠ²Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ «jnc», ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠΎ ΠΌΠ΅ΡΠΊΠ΅ neperenos 7700.
ΠΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ ΠΏΠΎ ΠΌΠ΅ΡΠΊΠ΅ Perenos 7700 Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π² Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ ΡΡΠ°ΡΡΠΈΠΉ Π±ΠΈΡ DPTR, ΠΈ ΡΠΌΠ΅Π½ΡΡΠ°Π΅ΠΌ Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ Π½Π° 1 ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π½Π° ΠΌΠ΅ΡΠΊΡ gruppa7700 Π³Π΄Π΅ ΠΈΠ· ΡΡΠ°ΡΡΠ΅Π³ΠΎ Π±Π°ΠΉΡΠ° Π·Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π² R0 Π²ΡΡΠΈΡΠ°Π΅ΠΌ ΡΠΈΡΠ»ΠΎ, Ρ ΡΠ°Π½ΡΡΠ΅Π΅ΡΡ Π² Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ΅. ΠΡΠ»ΠΈ ΡΠ»Π°Π³ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ, ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π½Π°ΡΠ΅ ΡΠΈΡΠ»ΠΎ Π±ΠΎΠ»ΡΡΠ΅ 776. ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π½Π° ΠΌΠ΅ΡΠΊΡ sravn8300, Π³Π΄Π΅ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ ΠΆΠ΅ ΡΠ»Π°Π³ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΡΡ, ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ Π½Π°ΡΠ΅ ΡΠΈΡΠ»ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ 776, ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π³ΡΡΠΏΠΏΠ΅ «Π±ΡΠ°ΠΊ». ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π½Π° ΠΌΠ΅ΡΠΊΡ Π±ΡΠ°ΠΊ.
jc perenos7700
jnc neperenos7700
perenos7700:
mov A, DPH
dec A
jmp gruppa7700
neperenos7700:
mov A, DPH
jmp gruppa7700
gruppa7700:
clr C
subb A, R0
jnc sravn8300
jc brak
ΠΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΡΡΠ»ΠΎΠ²Π½ΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠ² ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π½Π° ΠΌΠ΅ΡΠΊΡ brak, ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ° R7 Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ, Π° ΡΠ°ΠΊ ΠΆΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΊΠΎΠ΄ Π³ΡΡΠΏΠΏΡ Π² ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΌ ΠΈΠ½Π²Π΅ΡΡΠ½ΠΎΠΌ ΠΊΠΎΠ΄Π΅.
Brak:
Inc R7
ΠΠ»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠΎΠ΄Π° Π³ΡΡΠΏΠΏ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π²ΡΠ²ΠΎΠ΄Ρ P2.1 ΠΈ P2.2. ΠΡΡΠΏΠΏΠ΅ «ΠΡΠ°ΠΊ» Π±ΡΠ΄Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ «11»:
setb P2.1
setb P2.2
ΠΠ°ΠΏΠΈΡΠ΅ΠΌ Π² Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ ΠΈ Π²ΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΡΠ΅Π³ΠΈΡΡΡ LCD ΠΊΠΎΠΌΠ°Π½Π΄Ρ x01h. ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡΠΈΡΠ°Π΅Ρ Π΄ΠΈΡΠΏΠ»Π΅ΠΉ. ΠΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ Π² LCD:
mov A,#01h
call LSDSetup.
ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ Π½Π° ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΡ:
jmp indic
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ ΡΠΈΡΠ»ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ Π² DPTR, Ρ ΠΏΠΎΡΠΎΠ³ΠΎΠ²ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΎΠ² ΠΎΡΡΠ°Π»ΡΠ½ΡΡ Π³ΡΡΠΏΠΏ. Π’Π°ΠΊΠΈΠ΅ ΠΆΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΌΠ΅ΡΠΊΠΈ gruppa3, gruppa2 ΠΈ gruppa1. Π Π°Π·Π»ΠΈΡΠΈΡ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ Π»ΠΈΡΡ ΠΊΠΎΠ΄Ρ Π³ΡΡΠΏΠΏ ΠΈ ΡΠ΅Π³ΠΈΡΡΡΡ, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠ΅ Π·Π° ΠΊΠ°ΠΆΠ΄ΡΡ Π³ΡΡΠΏΠΏΡ:
gruppa3:
Inc R6
ΠΠ»Ρ ΡΡΠ΅ΡΡΠ΅ΠΉ Π³ΡΡΠΏΠΏΡ Π±ΡΠ΄Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΊΠΎΠ΄ «01»:
setb P2.1
setb P2.2
jmp indic
gruppa2:
Inc R5
ΠΠ»Ρ Π³ΡΡΠΏΠΏΡ 2 ΠΊΠΎΠ΄ «10»:
setb P2.1
clr P2.2
jmp indic
gruppa1:
Inc R4
ΠΡΡΠΏΠΏΠ΅ 1 Π±ΡΠ΄Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄ «00»:
clr P2.1
clr P2.2
jmp indic
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΡΡΡΠΏΠΈΠΌ ΠΊ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΠΈ.
indic:
mov A,#31h
call symbol
ΠΠ°ΠΏΠΈΡΠ΅ΠΌ Π² Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ ΠΊΠΎΠ΄ ΡΠΈΠΌΠ²ΠΎΠ»Π° «:"ΠΈ Π²ΡΠ·ΠΎΠ²Π΅ΠΌ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΠΈ:
mov A,#3Ah
call symbol
ΠΠ°ΠΏΠΈΡΠ΅ΠΌ Π² Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ ΡΠΈΡΠ»ΠΎ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌ, ΠΎΡΠ½ΠΎΡΡΡΠΈΡ ΡΡ ΠΊ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π³ΡΡΠΏΠΏΠ΅, Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΡΠ°ΡΡΡΡ ΡΠ΅ΡΡΠ°Π΄Ρ ΠΈ Π²ΡΠ·ΠΎΠ²Π΅ΠΌ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΠΈ:
mov A, R4
Add A,#30h
call symbol
ΠΡΠ²Π΅Π΄Π΅ΠΌ Π½Π° ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΠΎΠ±Π΅Π»:
mov A,# 00h
call symbol
ΠΠΎΠ²ΡΠΎΡΡΠ΅ΠΌ ΡΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π΄Π»Ρ Π³ΡΡΠΏΠΏΡ 2, 3 ΠΈ Π³ΡΡΠΏΠΏΡ «ΠΡΠ°ΠΊ»:
mov A,#32h
call symbol
mov A,#3Ah
call symbol
mov A, R5
add A,#30h
call symbol
mov A,#00h
call symbol
mov A,#33h
call symbol
mov A,#3Ah
call symbol
mov A, R6
add A,#30h
call symbol
mov A,#00h
call symbol
mov A,#34h
call symbol
mov A,#3Ah
call symbol
mov A, R7
add A,#30h
call symbol
ΠΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Π²ΡΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠ»Π°Π³ F0.
setb F0
reti
Π’Π΅ΠΏΠ΅ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ»Π°Π³ F0 ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ Π½Π° ΠΌΠ΅ΡΠΊΡ gotovo.
gotovo:
clr F0
Π‘Π±ΡΠ°ΡΡΠ²Π°Π΅ΠΌ ΡΠ»Π°Π³ΠΈ ΠΈ ΠΎΡΠΈΡΠ°Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΡ ΡΠ°ΠΉΠΌΠ΅ΡΠ° ΠΈ ΡΡΡΡΡΠΈΠΊΠ°
clr TF0
clr TF1
mov TH0,#0
mov TL0,#0
mov TH1,#0
mov TL1,#0
Π‘Π±ΡΠ°ΡΡΠ²Π°Π΅ΠΌ ΠΏΠΎΡΡ P2.0, Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΈ ΡΠ½ΠΎΠ²Π° ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΏΠΎΡΡ P2.0, ΡΠ΅ΠΌ ΡΠΎΡΠΌΠΈΡΡΠ΅ΠΌ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΡΡΠΎΠ±.
clr P2.0
call twosecdelay
setb P2.0
ΠΠΆΠΈΠ΄Π°Π΅ΠΌ, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΆΠ°ΡΠ° ΠΊΠ½ΠΎΠΏΠΊΠ°. Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Π½Π΅ Π½Π°ΡΠ½Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ½Π°ΡΠ°Π»Π°. ΠΠΎΠ³Π΄Π° ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΎΡΠΆΠ°ΡΠ°, ΠΏΡΠΎΡΠ΅ΡΡ Π·Π°ΡΠΈΠΊΠ»ΠΈΠ²Π°Π΅ΡΡΡ.
jnb P1.2,$
ljmp start
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
1. ΠΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² LCD-Π΄ΠΈΡΠΏΠ»Π΅ΠΉ.
Π R0 ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ Π°Π΄ΡΠ΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ° LCD. ΠΠ°ΡΠ΅ΠΌ Π½Π° Π»ΠΈΠ½ΠΈΡΡ RS ΠΈ RW ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π½ΠΈΠ·ΠΊΠΈΠ΅ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Ρ, ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΌΡ ΡΠ΅ΠΆΠΈΠΌΡ LCD. Π, Π·Π°ΡΠ΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π·Π°ΠΏΠΈΡΠΈ Π²ΠΎ Π²Π½Π΅ΡΠ½Π΅Π΅ ΠΠΠ£, ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ° Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠΉ ΡΠ΅Π³ΠΈΡΡΡ. ΠΡΠΈ ΡΡΠΎΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΈΠΌΠΏΡΠ»ΡΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ WR ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΡΡΠΎ ΠΏΠΎ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ΄Π°ΡΠ΅ ΡΡΡΠΎΠ±ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠΌΠΏΡΠ»ΡΡΠ° E Π½Π° LCD-ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ. Π’.ΠΊ. LCD-Π΄ΠΈΡΠΏΠ»Π΅ΠΈ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠ΅, ΠΏΠΎΡΠ»Π΅ ΠΏΠΎΠ΄Π°ΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ Π½Π° ΠΌΠ΅ΡΠΊΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π·Π°Π½ΡΡΠΎΡΡΠΈ LCD.
LSDSetup:
mov R0,#CMD
clr RS
clr RW
movx @R0,A
jmp Busy
2. ΠΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π° Π½Π° LCD-Π΄ΠΈΡΠΏΠ»Π΅Π΅.
Π R0 ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ Π°Π΄ΡΠ΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ° Π΄Π°Π½Π½ΡΡ LCD. ΠΠ°ΡΠ΅ΠΌ Π½Π° Π»ΠΈΠ½ΠΈΠΈ RS ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π²ΡΡΠΎΠΊΠΈΠΉ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π», Π° Π½Π° Π»ΠΈΠ½ΠΈΠΈ RW — Π½ΠΈΠ·ΠΊΠΈΠΉ, ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ΅ΠΆΠΈΠΌΡ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΈΠΈ LCD. Π, Π·Π°ΡΠ΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π·Π°ΠΏΠΈΡΠΈ Π²ΠΎ Π²Π½Π΅ΡΠ½Π΅Π΅ ΠΠΠ£, ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ° Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΠ΅Π³ΠΈΡΡΡ Π΄Π°Π½Π½ΡΡ LCD. ΠΡΠΈ ΡΡΠΎΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΈΠΌΠΏΡΠ»ΡΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ WR ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΡΡΠΎ ΠΏΠΎ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ΄Π°ΡΠ΅ ΡΡΡΠΎΠ±ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠΌΠΏΡΠ»ΡΡΠ° E Π½Π° LCD-ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ. Π’.ΠΊ. LCD-Π΄ΠΈΡΠΏΠ»Π΅ΠΈ ΡΡΠ°Π²Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠ΅, ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π΄Π°Π½Π½ΡΡ , ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ Π½Π° ΠΌΠ΅ΡΠΊΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π·Π°Π½ΡΡΠΎΡΡΠΈ LCD.
Symbol:
mov R0,#DAT
setb RS
clr RW
movx @R0,A
jmp Busy
3. ΠΠ΅ΡΠΊΠ° ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ «Π·Π°Π½ΡΡΠΎΡΡΠΈ» LCD Π΄ΠΈΡΠΏΠ»Π΅Ρ.
Π R1 ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ Π°Π΄ΡΠ΅Ρ busy-ΡΠ΅Π³ΠΈΡΡΡΠ° LCD. ΠΠ°ΡΠ΅ΠΌ Π½Π° Π»ΠΈΠ½ΠΈΠΈ RW ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π²ΡΡΠΎΠΊΠΈΠΉ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π», Π° Π½Π° Π»ΠΈΠ½ΠΈΠΈ RS — Π½ΠΈΠ·ΠΊΠΈΠΉ, ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ»Π°Π³ΠΎΠ²ΠΎΠΌΡ ΡΠ΅ΠΆΠΈΠΌΡ Π·Π°Π½ΡΡΠΎΡΡΠΈ LCD. Π, Π·Π°ΡΠ΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΡΠ΅Π½ΠΈΡ ΠΈΠ· Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΠΠ£, ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· busy-ΡΠ΅Π³ΠΈΡΡΡΠ° LCD Π² Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡ. ΠΡΠΈ ΡΡΠΎΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΈΠΌΠΏΡΠ»ΡΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ RD ΠΌΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ°, ΡΡΠΎ ΠΏΠΎ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ΄Π°ΡΠ΅ ΡΡΡΠΎΠ±ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠΌΠΏΡΠ»ΡΡΠ° E Π½Π° LCD-ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ. LCD ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠ²ΠΎΡ Π·Π°Π½ΡΡΠΎΡΡΡ, Π½Π°Π»ΠΈΡΠΈΠ΅ΠΌ ΡΡΠ°ΡΡΠ΅Π³ΠΎ Π±ΠΈΡΠ° Π² busy-ΡΠ΅Π³ΠΈΡΡΡΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°ΡΠΈΠΊΠ»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ «jb» ΡΠ°ΠΊ, ΡΡΠΎ Π²ΡΡ ΠΎΠ΄ ΠΈΠ· Π½Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΈΡΡΠ΅Π·Π½Π΅Ρ ΡΡΠ°ΡΡΠΈΠΉ Π±ΠΈΡ Π² busy-ΡΠ΅Π³ΠΈΡΡΡΠ΅ Π² Π°ΠΊΠΊΡΠΌΡΠ»ΡΡΠΎΡΠ΅, ΡΡΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ LCD-Π΄ΠΈΡΠΏΠ»Π΅Π΅ΠΌ.
Busy:
mov R0,#BUS
clr RS
setb RW
movx A,@R0
jb ACC.7,Busy
ret
6. ΠΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ°Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΡ.
ΠΠ°Π΄Π΅ΡΠΆΠΊΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ, ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡ Π½Π° ΡΠΎΠΌ ΡΠ²ΠΎΠΉΡΡΠ²Π΅ ΠΠ, ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ.
Π ΡΠ°ΠΉΠΌΠ΅Ρ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ ΡΠΈΡΠ»Π°, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π΅ΡΠΆΠΊΠ΅. Π ΠΆΠ΄Π΅ΠΌ, ΠΏΠΎΠΊΠ° ΡΠ°ΠΉΠΌΠ΅Ρ ΠΎΡΡΡΠΈΡΠ°Π΅Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ.
twosecdelay:
mov TH0,#high (-2000)
mov TL0,#low (-2000)
setb TR0
jnb TF0,$
clr TR0
clr TF0
ret
end
6. ΠΠΈΡΡΠΈΠ½Π³ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
A51 MACRO ASSEMBLER KURS 05/15/2014 19:45:29 PAGE 1
MACRO ASSEMBLER A51 V8.02b
OBJECT MODULE PLACED IN kurs. OBJ
ASSEMBLER INVOKED BY: C: KeilC51BINA51. EXE kurs.a51 SET (SMALL) DEBUG EP
LOC OBJ LINE SOURCE
0000 1 org 00h
0000 802E 2 jmp init
001B 3 org 1Bh
001B 805B 4 jmp check
0000 6 CMD equ 00b
0001 7 DAT equ 01b
0002 8 BUS equ 10b
001D 7C00 9 mov R4, #00h
0090 10 RS bit P1.0
0091 11 RW bit P1.1
0030 12 org 30h
0030 13 init:
0030 758 951 14 mov tmod, #101 0001b
0033 D2AF 15 setb EA
0035 D2AB 16 setb ET1
0037 7440 18 mov A, #040h
0039 3197 19 call LSDsetup
003B 740 °F 20 mov A, #0Fh
003D 3197 21 call LSDsetup
003 °F 7406 22 mov A, #06h
0041 3197 23 call LSDsetup
0043 25 start:
0043 D2A0 26 setb P2.0
0045 C28D 28 clr TF0
0047 C28 °F 29 clr TF1
0049 758C00 30 mov TH0, #0
004C 758A00 31 mov TL0, #0
004 °F 758D00 32 mov TH1, #0
0052 758B00 33 mov TL1, #0
0055 900 000 34 mov DPTR, #0000h
0058 2092FD 35 jb P1.2, $
005B C28C 37 clr tr0
005D C28E 38 clr tr1
005 °F C28D 39 clr tf0
0061 C28 °F 40 clr tf1
0063 C290 42 clr RS
0065 C291 43 clr RW
0067 758DFF 44 mov TH1, #0FFh
006A 758B9B 45 mov TL1, #9bh
006D D28E 52 setb TR1
006 °F D28C 53 setb TR0
0071 20D502 54 gr: jb F0, gotovo1
0074 80FB 55 jmp gr
0076 57 gotovo1:
0076 215D 58 jmp gotovo
A51 MACRO ASSEMBLER KURS 05/15/2014 19:45:29 PAGE 2
0078 60 check:
0078 C28C 61 clr TR0
007A C28E 62 clr TR1
007C 858A82 64 mov dpl, TL0
007 °F 858C83 65 mov dph, TH0
0082 67 sravn7700:
0082 790A 68 mov R1, # low (778)
0084 7803 69 mov R0, # high (778)
0086 C3 70 clr C
0087 E582 71 mov A, DPL
0089 99 72 subb A, R1
008A 4002 73 jc perenos7700
008C 5005 74 jnc neperenos7700
008E 75 perenos7700:
008E E583 76 mov A, DPH
0090 14 77 dec A
0091 8004 78 jmp gruppa7700
0093 79 neperenos7700:
0093 E583 80 mov A, DPH
0095 8000 81 jmp gruppa7700
0097 82 gruppa7700:
0097 C3 83 clr C
0098 98 84 subb A, R0
0099 500D 85 jnc sravn8300
009B 4000 86 jc brak
009D 89 brak:
009D 0 °F 91 inc R7
009E D2A1 92 setb P2.1
00A0 D2A2 93 setb P2.2
00A2 7401 95 mov A, #01h
00A4 3197 96 call LSDsetup
00A6 8072 97 jmp indic
00A8 99 sravn8300:
00A8 7948 100 mov R1, # low (840)
00AA 7803 101 mov R0, # high (840)
00AC C3 102 clr C
00AD E582 103 mov A, DPL
00AF 99 104 subb A, R1
00B0 4002 105 jc perenos8300
00B2 5005 106 jnc neperenos8300
00B4 107 perenos8300:
00B4 E583 108 mov A, DPH
00B6 14 109 dec A
00B7 8004 110 jmp gruppa8300
00B9 111 neperenos8300:
00B9 E583 112 mov A, DPH
00BB 8000 113 jmp gruppa8300
00BD 114 gruppa8300:
00BD C3 115 clr C
00BE 98 116 subb A, R0
00BF 4002 117 jc gruppa3
00C1 500B 119 jnc sravn9100
00C3 121 gruppa3:
00C3 0E 123 inc R6
00C4 C2A1 124 clr P2.1
51 MACRO ASSEMBLER KURS 05/15/2014 19:45:29 PAGE 3
00C6 D2A2 125 setb P2.2
00C8 7401 127 mov A, #1
00CA 3197 128 call LSDsetup
00CC 804C 129 jmp indic
00CE 131 sravn9100:
00CE 7994 132 mov R1, # low (916)
00D0 7803 133 mov R0, # high (916)
00D2 C3 134 clr C
00D3 E582 135 mov A, DPL
00D5 99 136 subb A, R1
00D6 4002 137 jc perenos9100
00D8 5005 138 jnc neperenos9100
00DA 139 perenos9100:
00DA E583 140 mov A, DPH
00DC 14 141 dec A
00DD 8004 142 jmp gruppa9100
00DF 143 neperenos9100:
00DF E583 144 mov A, DPH
00E1 8000 145 jmp gruppa9100
00E3 146 gruppa9100:
00E3 C3 147 clr C
00E4 98 148 subb A, R0
00E5 4002 149 jc gruppa2
00E7 500B 150 jnc sravn10000
00E9 151 gruppa2:
00E9 0D 154 inc R5
00EA D2A1 155 setb P2.1
00EC C2A2 156 clr P2.2
00EE 7401 158 mov A,#1
00F0 3197 159 call LSDsetup
00F2 8026 160 jmp indic
00F4 162 sravn10000:
00F4 79EF 163 mov R1, # low (1007)
00F6 7803 164 mov R0, # high (1007)
00F8 C3 165 clr C
00F9 E582 166 mov A, DPL
00FB 99 167 subb A, R1
00FC 4002 168 jc perenos10000
00FE 5005 169 jnc neperenos10000
0100 170 perenos10000:
0100 E583 171 mov A, DPH
0102 14 172 dec A
0103 8004 173 jmp gruppa10000
0105 174 neperenos10000:
0105 E583 175 mov A, DPH
0107 8000 176 jmp gruppa10000
0109 177 gruppa10000:
0109 C3 178 clr C
010A 98 179 subb A, R0
010B 4002 180 jc gruppa1
010D 508E 181 jnc brak
010 °F 182 gruppa1:
010 °F 0C 184 inc R4
0110 C2A1 185 clr P2.1
0112 C2A2 186 clr P2.2
0114 7401 187 mov A,#1
0116 3197 188 call LSDsetup
0118 8000 189 jmp indic
011A 190 indic:
011A 7431 191 mov A,#31h
011C 31A0 192 call symbol
011E 743A 195 mov A,#3Ah
0120 31A0 196 call symbol
0122 EC 199 mov A, R4
0123 2430 200 add A,#30h
0125 31A0 201 call symbol
0127 7400 204 mov A,#00h
0129 31A0 205 call symbol
012B 7432 208 mov A,#32h
012D 31A0 209 call symbol
012 °F 743A 212 mov A,#3Ah
0131 31A0 213 call symbol
0133 ED 216 mov A, R5
0134 2430 218 add A,#30h
0136 31A0 219 call symbol
0138 7400 221 mov A,#00h
013A 31A0 222 call symbol
013C 7433 224 mov A,#33h
013E 31A0 225 call symbol
0140 743A 228 mov A,#3Ah
0142 31A0 229 call symbol
0144 EE 231 mov A, R6
0145 2430 233 add A,#30h
0147 31A0 234 call symbol
0149 7400 236 mov A,#00h
014B 31A0 237 call symbol
014D 7434 239 mov A,#34h
014 °F 31A0 240 call symbol
0151 743A 242 mov A,#3Ah
0153 31A0 243 call symbol
0155 EF 246 mov A, R7
0156 2430 248 add A,#30h
0158 31A0 249 call symbol
015A D2D5 251 setb F0
015C 32 252 reti
015D 254 gotovo:
015D C2D5 255 clr F0
015 °F C28D 257 clr TF0
0161 C28 °F 258 clr TF1
0163 758C00 259 mov TH0,#0
0166 758A00 260 mov TL0,#0
0169 758D00 261 mov TH1,#0
016C 758B00 262 mov TL1,#0
016 °F 900 000 263 mov DPTR,#0000h
0172 C2A0 264 clr P2.0
0174 31B4 265 call twosecdelay
0176 D2A0 266 setb P2.0
0178 C28D 267 clr TF0
017A C28 °F 268 clr TF1
017C 758C00 269 mov TH0,#0
017 °F 758A00 270 mov TL0,#0
0182 758D00 271 mov TH1,#0
0185 758B00 272 mov TL1,#0
0188 900 000 273 mov DPTR,#0000h
018B C2A0 274 clr P2.0
018D 31B4 275 call twosecdelay
018 °F D2A0 276 setb P2.0
0191 3092FD 277 jnb P1.2,$
0194 20 043 278 ljmp start
0197 280 LSDsetup:
0197 7800 281 mov R0,#CMD
0199 C290 282 clr RS
019B C291 283 clr RW
019D F2 284 movx @R0,A
019E 8009 285 jmp Busy
01A0 287 symbol:
01A0 7801 288 mov R0, #DAT
01A2 D290 289 setb RS
01A4 C291 290 clr RW
01A6 F2 291 movx @R0, A
01A7 8000 292 jmp Busy
01A9 294 Busy:
01A9 7802 295 mov R0, #BUS
01AB C290 296 clr RS
01AD D291 297 setb RW
01AF E2 298 movx A,@R0
01B0 20E7F6 299 jb ACC.7,Busy
01B3 22 300 ret
01B4 302 twosecdelay:
01B4 758CF8 303 mov TH0,#high (-2000)
01B7 758A30 304 mov TL0,#low (-2000)
01BA D28C 305 setb TR0
01BC 308DFD 306 jnb TF0,$
01BF C28C 307 clr TR0
01C1 C28D 308 clr TF0
01C3 22 309 ret
311 end
A51 MACRO ASSEMBLER KURS 05/15/2014 19:45:29 PAGE 6
SYMBOL TABLE LISTING
——— ——- ———;
N A M E T Y P E V A L U E ATTRIBUTES
ACC.. .. .. .. D ADDR 00E0H A
BRAK. .. .. .. C ADDR 009DH A
BUS.. .. .. .. N NUMB 0002H A
BUSY. .. .. .. C ADDR 01A9H A
CHECK.. .. ... C ADDR 0078H A
CMD.. .. .. .. N NUMB 0000H A
DAT.. .. .. .. N NUMB 0001H A
DPH.. .. .. .. D ADDR 0083H A
DPL.. .. .. .. D ADDR 0082H A
EA. .. .. ... B ADDR 00A8H.7 A
ET1.. .. .. .. B ADDR 00A8H.3 A
F0. .. .. ... B ADDR 00D0H.5 A
GOTOVO. .. ... C ADDR 015DH A
GOTOVO1.. .. .. C ADDR 0076H A
GR. .. .. ... C ADDR 0071H A
GRUPPA1.. .. .. C ADDR 010FH A
GRUPPA10000.. .. C ADDR 0109H A
GRUPPA2.. .. .. C ADDR 00E9H A
GRUPPA3.. .. .. C ADDR 00C3H A
GRUPPA7700. ... C ADDR 0097H A
GRUPPA8300. ... C ADDR 00BDH A
GRUPPA9100. ... C ADDR 00E3H A
INDIC.. .. ... C ADDR 011AH A
INIT. .. .. .. C ADDR 0030H A
LSDSETUP. .. .. C ADDR 0197H A
NEPERENOS10000.. C ADDR 0105H A
NEPERENOS7700... C ADDR 0093H A
NEPERENOS8300... C ADDR 00B9H A
NEPERENOS9100... C ADDR 00DFH A
P1. .. .. ... D ADDR 0090H A
P2. .. .. ... D ADDR 00A0H A
PERENOS10000. .. C ADDR 0100H A
PERENOS7700.. .. C ADDR 008EH A
PERENOS8300.. .. C ADDR 00B4H A
PERENOS9100.. .. C ADDR 00DAH A
RS. .. .. ... B ADDR 0090H.0 A
RW. .. .. ... B ADDR 0090H.1 A
SRAVN10000. ... C ADDR 00F4H A
SRAVN7700.. ... C ADDR 0082H A
SRAVN8300.. ... C ADDR 00A8H A
SRAVN9100.. ... C ADDR 00CEH A
START.. .. ... C ADDR 0043H A
SYMBOL. .. ... C ADDR 01A0H A
TF0.. .. .. .. B ADDR 0088H.5 A
TF1.. .. .. .. B ADDR 0088H.7 A
TH0.. .. .. .. D ADDR 008CH A
TH1.. .. .. .. D ADDR 008DH A
TL0.. .. .. .. D ADDR 008AH A
TL1.. .. .. .. D ADDR 008BH A
TMOD. .. .. .. D ADDR 0089H A
TR0.. .. .. .. B ADDR 0088H.4 A
TR1.. .. .. .. B ADDR 0088H.6 A
TWOSECDELAY.. .. C ADDR 01B4H A
REGISTER BANK (S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING (S), 0 ERROR (S)
2.4 Hex ΡΠ°ΠΉΠ»
:200 000 0802E50
:04001B00805B7C008A
:1 000 300 075 8951D2AFD2AB7438317E740F317E7472
:100 040 000 6317ED2A0C28DC28F758C00758A007574
:10 005 0008D00758B009000002092FDC28CC28EC274
:10 006 0008DC28FC290C291758DFF758B9BD28ED23F
:10 007 0008C20D50280FB215DC28CC28E858A828550
:10 008 0008C8379087803C3E5829940025005E583A3
:1 000 900 014 8004E5838000C398500D40000FD2A166
:1000A000D2A27401317E807279487803C3E58299C7
:1000B00040025005E583148004E5838000C3984026
:1000C00002500B0EC2A1D2A27401317E804C7994F1
:1000D0007803C3E5829940025005E583148004E566
:1000E000838000C3984002500B0DD2A1C2A27401BC
:1000F000317E802679EF7803C3E58299400250056E
:1 001 0000E583148004E5838000C3984002508E0C80
:1 001 1000C2A1C2A27401317E800074313187743A69
:10 012 000 3187EC2430318774003187743231877421
:10 013 0003A3187ED24303187740031877433318749
:0B014000743A3187EE243031877400E0
:10014B00318774343187743A3187EF24303187D259
:10015B00D532C2D5C28DC28F758C00758A00758D54
:10016B0000758B00900000C2A0319BD2A03092FD95
:10017B000200437800C290C291F280097801D290BC
:10018B00C291F280007802C290D291E220E7F6226F
:10019B00758CF8758A30D28C308DFDC28CC28D2255
:01FF
ΠΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΠ»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π² ΡΡΠ΅Π΄Π΅ Proteus 8 Professional Π±ΡΠ»Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΌΠΎΠ΄Π΅Π»Ρ (Π ΠΈΡΡΠ½ΠΎΠΊ 5).
Π ΠΈΡΡΠ½ΠΎΠΊ 5
ΠΠΈΡΠ΅ΡΠ°ΡΡΡΠ°
Π€ΡΡΠ½Π·Π΅ Π. Π. ΠΠΈΠΊΡΠΎΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΡ? ΠΡΠΎ ΠΆΠ΅ ΠΏΡΠΎΡΡΠΎ! Π’.1. — Π.: ΠΠΠ «ΠΠ Π‘ΠΠΠΠΠ», 2002, — 336 Ρ., ΠΈΠ».
ΠΠ΅Π»ΠΎΠ² Π. Π. Π‘Π°ΠΌΠΎΡΡΠΈΡΠ΅Π»Ρ ΠΏΠΎ ΠΌΠΈΠΊΡΠΎΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠ΅. — Π‘ΠΠ±.: ΠΠ°ΡΠΊΠ° ΠΈ Π’Π΅Ρ Π½ΠΈΠΊΠ°, 2003. — 224 Ρ.: ΠΈΠ»