ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Автомат ΠΏΠΎΠ΄Π°Ρ‡ΠΈ Π·Π²ΠΎΠ½ΠΊΠΎΠ² Π² ΡƒΡ‡Π΅Π±Π½ΠΎΠΌ Π·Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π° основС ПК

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π’ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ AVR Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Гарвардская Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, которая характСризуСтся Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ собствСнныС ΡˆΠΈΠ½Ρ‹ доступа ΠΊ Π½ΠΈΠΌ. Вакая организация позволяСт ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ‚Π°ΠΊ ΠΈ Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π΄Π°Π½Π½Ρ‹Ρ…. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ шин доступа позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° памяти ΡˆΠΈΠ½Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ разрядности, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ способы адрСсации… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Автомат ΠΏΠΎΠ΄Π°Ρ‡ΠΈ Π·Π²ΠΎΠ½ΠΊΠΎΠ² Π² ΡƒΡ‡Π΅Π±Π½ΠΎΠΌ Π·Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π° основС ПК (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  • 1. ВСорСтичСская Ρ‡Π°ΡΡ‚ΡŒ
  • 1.1 ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ
  • 1.2 ВСорСтичСскиС свСдСния
  • 2. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ
  • 2.1 ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Π°Ρ схСма устройства
  • 2.2 Алгоритмы Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • 2.3 ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • 2.4 Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ тСстирования (симулирования) устройства
  • 2.5 Анализ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²
  • Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
  • ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ

ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ — микросхСма, прСдназначСнная для управлСния элСктронными устройствами. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ сочСтаСт Π² ΡΠ΅Π±Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ процСссора ΠΈ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Ρ… устройств, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠžΠ—Π£. ΠšΡ€ΠΎΠΌΠ΅ ΠžΠ—Π£, ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ ΡΠ½Π΅Ρ€Π³ΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ для хранСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠΉ пСрСзаписи энСргонСзависимой памяти [2, стр.21].

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ°Ρ‚Π΅Π½Ρ‚ Π½Π° ΠΎΠ΄Π½ΠΎΠΊΡ€ΠΈΡΡ‚Π°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠΈΠΊΡ€ΠΎ-Π­Π’Πœ Π±Ρ‹Π» Π²Ρ‹Π΄Π°Π½ Π² 1971 Π³ΠΎΠ΄Ρƒ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π°ΠΌ ΠšΠΎΡ‡Ρ€Π΅Π½Ρƒ ΠΈ Π‘ΡƒΠ½Ρƒ, сотрудникам амСриканской Texas Instruments. ИмСнно ΠΎΠ½ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠ»ΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ кристаллС Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ процСссор, Π½ΠΎ ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ с ΡƒΡΡ‚ройствами Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π°.

Π’ 1976 Π³ΠΎΠ΄Ρƒ амСриканская Ρ„ΠΈΡ€ΠΌΠ° Intel выпускаСт ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ i8048. Π’ 1978 Π³ΠΎΠ΄Ρƒ Ρ„ΠΈΡ€ΠΌΠ° Motorola выпустила свой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ MC6801, ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ совмСстимый с ΡΠΈΡΡ‚Π΅ΠΌΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π½Π΅Π΅ микропроцСссора MC6800. Π§Π΅Ρ€Π΅Π· 4 Π³ΠΎΠ΄Π°, Π² 1980 Π³ΠΎΠ΄Ρƒ, Intel выпускаСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€: i8051. Π£Π΄Π°Ρ‡Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Ρ… устройств, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π° внСшнСй ΠΈΠ»ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ памяти ΠΈ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠ°Ρ Ρ†Π΅Π½Π° обСспСчили этому ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ успСх Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅. Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ i8051 являлся для своСго Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ‡Π΅Π½ΡŒ слоТным ΠΈΠ·Π΄Π΅Π»ΠΈΠ΅ΠΌ — Π² ΠΊΡ€ΠΈΡΡ‚Π°Π»Π»Π΅ Π±Ρ‹Π»ΠΎ использовано 128 тысяч транзисторов, Ρ‡Ρ‚ΠΎ Π² 4 Ρ€Π°Π·Π° ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π»ΠΎ количСство транзисторов Π² 16-разрядном микропроцСссорС i8086 [2, стр.12].

На ΡΠ΅Π³ΠΎΠ΄Π½ΡΡˆΠ½ΠΈΠΉ дСнь сущСствуСт Π±ΠΎΠ»Π΅Π΅ 200 ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΉ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ², совмСстимых с i8051, выпускаСмых двумя дСсятками ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ, ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΎΠ΅ количСство ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ². ΠŸΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒΡŽ Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ 8-Π±ΠΈΡ‚Π½Ρ‹Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ PIC Ρ„ΠΈΡ€ΠΌΡ‹ Microchip Technology ΠΈ AVR Ρ„ΠΈΡ€ΠΌΡ‹ Atmel, 16-Π±ΠΈΡ‚Π½Ρ‹Π΅ MSP430 Ρ„ΠΈΡ€ΠΌΡ‹ TI, Π° Ρ‚Π°ΠΊΠΆΠ΅ 32-Π±ΠΈΡ‚Π½Ρ‹Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ARM, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΠΈΡ€ΠΌΠ° ARM Limited ΠΈ ΠΏΡ€ΠΎΠ΄Π°Ρ‘Ρ‚ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ Ρ„ΠΈΡ€ΠΌΠ°ΠΌ для ΠΈΡ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ‚Π²Π° [3, стр.17].

Одно ΠΈ Ρ‚ΠΎ ΠΆΠ΅ устройство, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ€Π°Π½ΡŒΡˆΠ΅ ΡΠΎΠ±ΠΈΡ€Π°Π»ΠΎΡΡŒ Π½Π° Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… элСмСнтах, Π±ΡƒΠ΄ΡƒΡ‡ΠΈ собрано с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ², становится ΠΏΡ€ΠΎΡ‰Π΅, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈ ΠΌΠ΅Π½ΡŒΡˆΠ΅ ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, с ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ практичСски Π±Π΅Π·Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Π΅ возмоТности ΠΏΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡŽ Π½ΠΎΠ²Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Π΅ΠΉ ΠΊ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ устройствам.

ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² приходится ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ баланс ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΡŽ с ΠΎΠ΄Π½ΠΎΠΉ стороны ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒΡŽ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ с Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ этих ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΎΡ‡Π΅Π½ΡŒ сильно. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ сущСствуСт ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Ρ‚ΠΈΠΏΠΎΠ² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ², ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ процСссорного модуля, Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΠΈ Ρ‚ΠΈΠΏΠΎΠΌ встроСнной памяти, Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Ρ… устройств, Ρ‚ΠΈΠΏΠΎΠΌ корпуса ΠΈ Ρ‚. Π΄. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… микропроцСссоров, Π² ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ гарвардская Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° памяти, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ Π² ΠžΠ—Π£ ΠΈ ΠŸΠ—Π£ соотвСтствСнно.

ЦСлью Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ являСтся созданиС устройства Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π° ΠΏΠΎΠ΄Π°Ρ‡ΠΈ Π·Π²ΠΎΠ½ΠΊΠΎΠ² Π² ΡƒΡ‡Π΅Π±Π½ΠΎΠΌ Π·Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠŸΠš. Π—Π°Π΄Π°Ρ‡Π΅ΠΉ Π΄Π°Π½Π½ΠΎΠΉ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹ являСтся создания Ρ„Π°ΠΉΠ»Π° ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ устройства, сборки собствСнной схСмы ΠΈ ΡΠΈΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ устройства.

Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° листинг схСма

1. ВСорСтичСская Ρ‡Π°ΡΡ‚ΡŒ

1.1 ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π° ΠΏΠΎΠ΄Π°Ρ‡ΠΈ Π·Π²ΠΎΠ½ΠΊΠΎΠ² Π² ΡƒΡ‡Π΅Π±Π½ΠΎΠΌ Π·Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π° atmega8, провСсти ΡΠΈΠΌΡƒΠ»ΡΡ†ΠΈΡŽ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…. ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ срСдства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ:

1. CodeVisionAVR C compiler — для создания исходного ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°.

2. Proteus — для создания, симулирования ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ элСктронной схСмы устройства.

Π’Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π² ΡΠ²ΠΎΠ΅ΠΌ классС Ρ€Π΅ΡˆΠ°Π΅ΠΌΡ‹Ρ… Π·Π°Π΄Π°Ρ‡.

1.2 ВСорСтичСскиС свСдСния

Как ΠΈ Π²ΡΠ΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ AVR Ρ„ΠΈΡ€ΠΌΡ‹ «Atmel», ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ сСмСйства ATmega ΡΠ²Π»ΡΡŽΡ‚ΡΡ 8-разрядными ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ для встраиваСмых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Они ΠΈΠ·Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΠΎ ΠΌΠ°Π»ΠΎΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‰Π΅ΠΉ CMOP-Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, которая Π² ΡΠΎΡ‡Π΅Ρ‚Π°Π½ΠΈΠΈ с ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½Π½ΠΎΠΉ RISC-Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ позволяСт Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ Π½Π°ΠΈΠ»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ быстродСйствия/энСргопотрСблСния [3, стр.24].

ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ ΡΠ²Π»ΡΡŽΡ‚ΡΡ сСрдцСм ΠΌΠ½ΠΎΠ³ΠΈΡ… соврСмСнных устройств ΠΈ ΠΏΡ€ΠΈΠ±ΠΎΡ€ΠΎΠ². Π‘Π°ΠΌΠΎΠΉ Π³Π»Π°Π²Π½ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ с ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π»Π΅Π³Ρ‡Π΅ ΠΈ Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ Π³ΠΎΡ€Π°Π·Π΄ΠΎ дСшСвлС Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ схСмы.

Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Π²ΠΈΠ΄ соврСмСнного ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Ρ„ΠΈΡ€ΠΌΡ‹ ATmega ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 1.1.

Рисунок 1.1 — ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ Ρ„ΠΈΡ€ΠΌΡ‹ ATmega

К Ρ‡ΠΈΡΠ»Ρƒ особСнностСй ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° AVR сСмСйства ATmega относятся:

1. FLASH-ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ объСмом 8 — 128 ΠšΠ±Π°ΠΉΡ‚;

2. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π°Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒ (статичСскоС ΠžΠ—Π£) объСмом 1 — 4 ΠšΠ±Π°ΠΉΡ‚;

3. ΠŸΠ°ΠΌΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π­Π‘ΠŸΠŸΠ—Π£ (EEPROM) объСмом ΠΎΡ‚ 512 Π±Π°ΠΉΡ‚ Π΄ΠΎ 4 ΠšΠ±Π°ΠΉΡ‚;

4. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ Ρ‡Ρ‚Сния ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…;

5. НаличиС Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€Π° сниТСния напряТСния питания (brown-out-detector, BOD) [1, стр.37].

ВсС характСристики подсистСмы Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² сСмСйства ATmega Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Ρƒ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² Π΄Ρ€ΡƒΠ³ΠΈΡ… сСмСйств:

1. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²Ρ‹Π±ΠΎΡ€ ΠΏΠΎΡ€Ρ‚ΠΎΠ² Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°;

2. Π’Ρ‹Π²ΠΎΠ΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΊΠ°ΠΊ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ ΠΈ ΠΊΠ°ΠΊ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ нСзависимо Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°;

3. Π’Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π±ΡƒΡ„Π΅Ρ€Ρ‹ с Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠΌ ΡˆΠΌΠΈΡ‚Ρ‚Π° Π½Π° Π²ΡΠ΅Ρ… Π²Ρ‹Π²ΠΎΠ΄Π°Ρ…;

4. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠΎ Π²ΡΠ΅ΠΌ Π²Ρ…ΠΎΠ΄Π°ΠΌ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΏΠΎΠ΄Ρ‚ΡΠ³ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… рСзисторов (сопротивлСниС рСзисторов 35 — 120 кОм).

ΠŸΠΎΡ€Ρ‚Ρ‹ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° AVR ΠΈΠΌΠ΅ΡŽΡ‚ число нСзависимых Π»ΠΈΠ½ΠΈΠΉ «Π’Ρ…ΠΎΠ΄/Π’Ρ‹Ρ…ΠΎΠ΄» ΠΎΡ‚ 3 Π΄ΠΎ 53. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ разряд ΠΏΠΎΡ€Ρ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° Π²Π²ΠΎΠ΄ ΠΈΠ»ΠΈ Π½Π° Π²Ρ‹Π²ΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ΠœΠΎΡ‰Π½Ρ‹Π΅ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Ρ‚ΠΎΠΊΠΎΠ²ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΡƒΡŽ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ 20 мА Π½Π° Π»ΠΈΠ½ΠΈΡŽ ΠΏΠΎΡ€Ρ‚Π° (Π²Ρ‚Π΅ΠΊΠ°ΡŽΡ‰ΠΈΠΉ Ρ‚ΠΎΠΊ) ΠΏΡ€ΠΈ максимальном Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ 40 мА, Ρ‡Ρ‚ΠΎ позволяСт, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, нСпосрСдствСнно ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΊ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρƒ свСтодиоды ΠΈ Π±ΠΈΠΏΠΎΠ»ΡΡ€Π½Ρ‹Π΅ транзисторы. ΠžΠ±Ρ‰Π°Ρ токовая Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° Π²ΡΠ΅ Π»ΠΈΠ½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ€Ρ‚Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ 80 мА (всС значСния для напряТСния питания 5 Π’) [4, стр.55].

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Π°Ρ архитСктурная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ построСния ΠΏΠΎΡ€Ρ‚ΠΎΠ² Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° Ρƒ AVR Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ физичСского Π²Ρ‹Π²ΠΎΠ΄Π° сущСствуСт 3 Π±ΠΈΡ‚Π° контроля/управлСния, Π° Π½Π΅ 2, ΠΊΠ°ΠΊ Ρƒ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½Π΅Π½Π½Ρ‹Ρ… 8-разрядных ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² (Intel, Microchip, Motorola ΠΈ Ρ‚. Π΄.).

ΠœΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ сСмСйства ATmega ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹Ρ… устройств (ПУ). ΠŸΡ€ΠΈ этом Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ всС ПУ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² ΡΠΎΡΡ‚Π°Π²Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² AVR. Π­Ρ‚ΠΈΠΌΠΈ устройствами ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

1. 8-разрядныС Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹/счСтчики (Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹ Π’0 ΠΈ Π’2). Π’ Ρ€ΡΠ΄Π΅ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ эти Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹/счСтчики ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ часов Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (Π² Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅). Π£ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ ΠΎΠ΄Π½ΠΎ — ΠΈΠ»ΠΈ Π΄Π²ΡƒΡ…ΠΊΠ°Π½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ 8-Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° ШИМ-сигналов. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ рСгистров, ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹, зависит ΠΎΡ‚ ΠΈΡ… ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

2. 16-разрядныС Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹/счСтчики (Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹ Π’1 ΠΈ Π’3). Как ΠΈ 8-разрядныС Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρ‹/счСтчики, ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для подсчСта Π²Π½Π΅ΡˆΠ½ΠΈΡ… событий, Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ сигналов, гСнСрация ШИМ, Π½ΠΎ ΡƒΠΆΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ разрядности, ΠΈ Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ своС Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ рСгистрС ΠΏΠΎ Π²Π½Π΅ΡˆΠ½Π΅ΠΌΡƒ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ.

3. Π‘Ρ‚ΠΎΡ€ΠΎΠΆΠ΅Π²ΠΎΠΉ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ WDT. Он ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² ΠΎΡ‚ ΡΠ±ΠΎΠ΅Π² Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ся Π²ΠΎ Π²ΡΠ΅Ρ… модСлях сСмСйства. Π­Ρ‚ΠΎΡ‚ Ρ‚Π°ΠΉΠΌΠ΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π΄Π°ΠΆΠ΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… ΠΏΠΎΠ½ΠΈΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ энСргопотрСблСния, Ρ‚.ΠΊ. ΠΈΠΌΠ΅Π΅Ρ‚ нСзависимый Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹ΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π½Π° Ρ‡Π°ΡΡ‚ΠΎΡ‚Π΅ 1ΠœΠ“Ρ† ΠΏΡ€ΠΈ напряТСнии 5 Π’.

4. Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сигнала с Π¨Π˜Πœ Ρ€Π°Π·Ρ€ΡΠ΄Π½ΠΎΡΡ‚ΡŒΡŽ 8 Π±ΠΈΡ‚ (ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ 8-разрядных Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠ²/счСтчиков Π’0 ΠΈ Π’2).

5. ΠžΠ΄Π½ΠΎΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹Π΅, Π΄Π²ΡƒΡ…ΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ Ρ‚Ρ€Π΅Ρ…ΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹Π΅ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сигнала с Π¨Π˜Πœ Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ разрядности (ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ 16-разрядных Ρ‚Π°ΠΉΠΌΠ΅Ρ€ΠΎΠ² Π’1 ΠΈ Π’3). Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ШИМ-сигнала для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ составляСт 8 — 10 Π±ΠΈΡ‚ ΠΈΠ»ΠΈ 1 — 16 Π±ΠΈΡ‚.

6. Аналоговый ΠΊΠΎΠΌΠΏΠ°Ρ€Π°Ρ‚ΠΎΡ€. Он ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ значСния напряТСний, ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π½Π° Π΄Π²ΡƒΡ… Π²Ρ‹Π²ΠΎΠ΄Π°Ρ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ сравнСния являСтся логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. По Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сгСнСрировано ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ осущСствлСн Π·Π°Ρ…Π²Π°Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ счСтного рСгистра Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°/счСтчика Π’1, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… сигналов.

7. ΠœΠ½ΠΎΠ³ΠΎΠΊΠ°Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ 10-разрядный АЦП ΠΊΠ°ΠΊ с Π½Π΅ΡΠΈΠΌΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½Ρ‹ΠΌΠΈ, Ρ‚Π°ΠΊ ΠΈ Ρ Π΄ΠΈΡ„Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π²Ρ…ΠΎΠ΄Π°ΠΌΠΈ. Он ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ сигнал Π² Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠ΅ Π²Ρ…ΠΎΠ΄Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ соотвСтствуСт Π²Ρ…ΠΎΠ΄Π½ΠΎΠΌΡƒ сигналу ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ напряТСния. АЦП Π±Ρ‹Π²Π°ΡŽΡ‚: ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ, ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΈ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ.

8. ΠŸΠΎΠ»Π½ΠΎΠ΄ΡƒΠΏΠ»Π΅ΠΊΡΠ½Ρ‹ΠΉ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ асинхронный ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊ (UART).

9. ΠŸΠΎΠ»Π½ΠΎΠ΄ΡƒΠΏΠ»Π΅ΠΊΡΠ½Ρ‹ΠΉ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ синхронный/асинхронный ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚Ρ‡ΠΈΠΊ (USART).

10. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ синхронный интСрфСйс SPI.

11. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄Π²ΡƒΡ…ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½Ρ‹ΠΉ интСрфСйс TWI [3, стр.78].

Π―Π΄Ρ€ΠΎ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠ² AVR сСмСйства ATmega Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΏΠΎ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π½Π½ΠΎΠΉ RISC-Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ (enhanced RISC). АрифмСтико-логичСскоС устройство (АЛУ), Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅Π΅ всС вычислСния, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ нСпосрСдствСнно ΠΊ 32-ΠΌ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ рСгистрам, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Π½Ρ‹ΠΌ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ». Благодаря этому АЛУ выполняСт ΠΎΠ΄Π½Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ (Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ содСрТимого рСгистров, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π·Π°ΠΏΠΈΡΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ») Π·Π° ΠΎΠ΄ΠΈΠ½ ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ». ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ каТдая ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄ (Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ΠΎΠ² являСтся 16-разрядный адрСс) Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ ячСйку памяти ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ [1, стр.144].

Π’ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ AVR Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Гарвардская Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, которая характСризуСтся Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ собствСнныС ΡˆΠΈΠ½Ρ‹ доступа ΠΊ Π½ΠΈΠΌ. Вакая организация позволяСт ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Ρ‚Π°ΠΊ ΠΈ Ρ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π΄Π°Π½Π½Ρ‹Ρ…. Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ шин доступа позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° памяти ΡˆΠΈΠ½Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠΉ разрядности, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ способы адрСсации ΠΈ Π΄ΠΎΡΡ‚ΡƒΠΏΠ° ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ памяти Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ [2, стр.98].

2. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ

2.1 ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Π°Ρ схСма устройства

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Π°Ρ схСма устройства ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Π° Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2.1.

Рисунок 2.1 - Π‘Ρ…Π΅ΠΌΠ° устройства

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ созданного устройства:

1. ΠœΠΈΠΊΡ€ΠΎΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€ ATmega8;

2. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ MAX232;

3. ΠšΠΎΠ½Π΄Π΅Π½ΡΠ°Ρ‚ΠΎΡ€Ρ‹;

4. Com ΠΏΠΎΡ€Ρ‚;

5. Π”ΠΈΠ½Π°ΠΌΠΈΠΊ (buzzer).

2.2 Алгоритмы Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π‘Π»ΠΎΠΊ-схСма основной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ устройства Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π° ΠΏΠΎΠ΄Π°Ρ‡ΠΈ Π·Π²ΠΎΠ½ΠΊΠΎΠ² Π² ΡƒΡ‡Π΅Π±Π½ΠΎΠΌ Π·Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2.2.

Рисунок 2.2 - Π‘Π»ΠΎΠΊ-схСма Ρ€Π°Π±ΠΎΡ‚Ρ‹ устройства

2.3 ВСкст ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ написан Π² ΡΡ€Π΅Π΄Π΅ CodeVisionAVR C Compiler ΠΈ Π½Π°Ρ…одится Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Основная функция ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ прСдставлСна Π½ΠΈΠΆΠ΅.

void main (void)

{

DDRB.0=1;

init (); // Π²ΠΈΠ·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ int (инициализация всСго)

while (1) {

ADCSRA=0b11001011;

if (owf_flag)

{

PORTB.0=1;

while (buf_cnt) {

buf_cnt—;

printf («%d», buff [buf_cnt]);

putchar (0x0D); // Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку УАРВА

}

owf_flag = 0;

}

}

2.4 Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ тСстирования (симулирования) устройства

Для эмулирования Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° использовались срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Proteus, Π³Π΄Π΅ Π±Ρ‹Π»Π° собрана схСма устройства ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ написанноС Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ C#. ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ состояниС схСмы Π² ΡΠΌΡƒΠ»ΡΡ‚ΠΎΡ€Π΅ прСдставлСно Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2.3.

Рисунок 2.3 - ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ состояниС устройства

Для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ΠΊ ΠŸΠš Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ com ΠΏΠΎΡ€Ρ‚. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ VSPD ΠΈΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ (Рисунок 2.4).

Рисунок 2.4 - Π˜ΠΌΠΈΡ‚Π°Ρ†ΠΈΡ com ΠΏΠΎΡ€Ρ‚Π°

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для ΠŸΠš прСдставлСна Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 2.5 ΠŸΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ считываниС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° врСмя совпадаСт с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ расписаниСм происходит ΠΏΠΎΠ΄Π°Ρ‡Π° сигнала Π² com ΠΏΠΎΡ€Ρ‚, ΠΎΡ‚ΠΊΡƒΠ΄Π° Π·Π°Ρ‚Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Π½Π° ΡΠ°ΠΌ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ся Π΄ΠΈΠ½Π°ΠΌΠΈΠΊ (Рисунок 2.6).

Рисунок 2.5 - Π Π°Π±ΠΎΡ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Рисунок 2.6 - Π Π°Π±ΠΎΡ‚Π° устройства

2.5 Анализ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²

Π’ Ρ…ΠΎΠ΄Π΅ курсовой Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π±Ρ‹Π»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° схСма ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚Π° ΠΏΠΎΠ΄Π°Ρ‡ΠΈ Π·Π²ΠΎΠ½ΠΊΠΎΠ² Π² ΡƒΡ‡Π΅Π±Π½ΠΎΠΌ Π·Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠŸΠš. Использовались ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ CodeVisionAVR C compiler (Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° ATMega8), Proteus, MVS12.

Π’ Ρ…ΠΎΠ΄Π΅ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π΅ Π΄Π°Π²Π°Π»Π° сбоСв. Выполняла ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ дСйствия Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Π·Π°ΠΏΡ€ΠΎΡΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния курсового ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π±Ρ‹Π»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ всС поставлСнныС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ Ρ†Π΅Π»ΠΈ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡŽ устройства «ΠΠ²Ρ‚ΠΎΠΌΠ°Ρ‚ ΠΏΠΎΠ΄Π°Ρ‡ΠΈ Π·Π²ΠΎΠ½ΠΊΠΎΠ² Π² ΡƒΡ‡Π΅Π±Π½ΠΎΠΌ Π·Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠŸΠš», Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:

собрана ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½Π°Ρ схСма устройства;

написана ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°;

написана ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для ΠŸΠš;

ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π° симуляция устройства;

ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ практичСскоС тСстированиС устройства.

Π’ Π½Π°ΡΡ‚оящСС врСмя ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ Π²Π½Π΅Π΄Ρ€ΡΡŽΡ‚ΡΡ практичСски Π²ΠΎ Π²ΡΠ΅, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ устройства для создания Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹Ρ… ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… устройств

AVR — СдинствСнный 8-разрядный ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€, Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ ΠΏΠΎΠ΄ языки высокого уровня. Код Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ C Π΄Π΅Π»Π°Π΅Ρ‚ Π΄Π°Π½Π½ΡƒΡŽ ΠΎΠΏΠΎΡ€Π½ΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π»Π΅Π³ΠΊΠΎ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ.

БистСма Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (RTC) Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎ Π²ΡΠ΅Ρ… ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°Ρ… сСрии «mega» ΠΈ Π² Π΄Π²ΡƒΡ… кристаллах сСрии «classic». Π’Π°ΠΉΠΌΠ΅Ρ€/счСтчик RTC ΠΈΠΌΠ΅Π΅Ρ‚ свой собствСнный ΠΏΡ€Π΅Π΄Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ способом ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΈΠ»ΠΈ ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌΡƒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌΡƒ источнику Ρ‚Π°ΠΊΡ‚ΠΎΠ²ΠΎΠΉ частоты ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°, ΠΈΠ»ΠΈ ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ асинхронному источнику ΠΎΠΏΠΎΡ€Π½ΠΎΠΉ частоты (ΠΊΠ²Π°Ρ€Ρ†Π΅Π²Ρ‹ΠΉ Ρ€Π΅Π·ΠΎΠ½Π°Ρ‚ΠΎΡ€ ΠΈΠ»ΠΈ внСшний синхросигнал). Как Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ‹Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠΈΠΊΡ€ΠΎΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ, Π² ΡΠ±ΠΎΡ€ΠΊΠ΅ схСм ΠΈ ΠΈΡ… Π½Π°Π»Π°Π΄ΠΊΠ΅.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ А

#include

#include

#include

#define ADC_VREF_TYPE & 0xff;

#define BUF_SIZE 512 // Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ число Ρ‚ΠΎΡ‡Π΅ΠΊ

unsigned char buff [BUF_SIZE];

unsigned int buf_cnt=0;

unsigned char owf_flag =0;

unsigned char start;

interrupt [ADC_INT] void adc_isr (void) { start=ADCW;

if (! owf_flag) {

buff [buf_cnt] =ADCW;

buf_cnt++;

if (buf_cnt == BUF_SIZE) owf_flag=1; }

}

void init (void) {

// USART initialization

// Communication Parameters: 8 Data, 1 Stop, No Parity

// USART Receiver: On

// USART Transmitter: On

// USART Mode: Asynchronous

// USART Baud Rate: 57 600

UCSRA=0×00;

UCSRB=0×18;

UCSRC=0×86;

UBRRH=0×00;

UBRRL=0x0C;

ADMUX=0x0b00000000; // Π²ΠΈΠ±ΠΈΡ€Π°Π΅ΠΌ 0-ΠΉ ΠΊΠ°Π½Π°Π» АЦП

ADCSRA=0x0b10001011; // конфигурация АЦП

#asm («sei»); // Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ всС пСрСривания

}

void main (void)

{

DDRB.0=1;

init (); // Π²ΠΈΠ·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ int (инициализация всСго)

while (1) {

ADCSRA=0b11001011; // Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π½Π΅ΠΏΡ€Π΅Ρ€ΠΈΠ²Π½ΠΎΠ΅ АЦП ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅

if (owf_flag)

{

PORTB.0=1;

while (buf_cnt) {

buf_cnt—;

printf («%d», buff [buf_cnt]); // ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ Π² Π£ΠΠ Π’ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

putchar (0x0D); // Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку УАРВА

}

owf_flag = 0;

}

}

}

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π‘

using System;

using System. Collections. Generic;

using System. componentModel;

using System. Data;

using System. Drawing;

using System. Linq;

using System. Text;

using System. Threading. Tasks;

using System. Windows. Forms;

using System. IO. Ports;

namespace Kurs

{

public partial class Form1: Form

{

public Form1 ()

{

InitializeComponent ();

}

private void Form1_Load (object sender, EventArgs e)

{

}

private void button1_Click (object sender, EventArgs e)

{

label1. Text = DateTime. Now. Hour. ToString () +" ." + DateTime. Now. Minute. ToString () +" ." + DateTime. Now. Second. ToString ();

}

private void timer1_Tick1 (object sender, EventArgs e)

{

label1. Text = DateTime. Now. Hour. ToString () +" ." + DateTime. Now. Minute. ToString () +" ." + DateTime. Now. Second. ToString ();

if (label1. Text == «8.30.0») {

SerialPort port = new SerialPort («COM2», 9600, Parity. None, 8, StopBits. One);

port. Open ();

byte [] data = {1};

port. Write (data, 0, data. Length);

port. Close ();

};

if (label1. Text == «9.50.0») {

SerialPort port = new SerialPort («COM2», 9600, Parity. None, 8, StopBits. One);

port. Open ();

byte [] data = {1};

port. Write (data, 0, data. Length);

port. Close ();

};

if (label1. Text == «10.0.0») {

SerialPort port = new SerialPort («COM2», 9600, Parity. None, 8, StopBits. One);

port. Open ();

byte [] data = {1};

port. Write (data, 0, data. Length);

port. Close ();

};

if (label1. Text == «11.20.0») {

SerialPort port = new SerialPort («COM2», 9600, Parity. None, 8, StopBits. One);

port. Open ();

byte [] data = {1};

port. Write (data, 0, data. Length);

port. Close ();

};

if (label1. Text == «11.50.0») {

SerialPort port = new SerialPort («COM2», 9600, Parity. None, 8, StopBits. One);

port. Open ();

byte [] data = {1};

port. Write (data, 0, data. Length);

port. Close ();

};

if (label1. Text == «13.10.0») {

SerialPort port = new SerialPort («COM2», 9600, Parity. None, 8, StopBits. One);

port. Open ();

byte [] data = {1};

port. Write (data, 0, data. Length);

port. Close ();

};

if (label1. Text == «13.20.0») {

SerialPort port = new SerialPort («COM2», 9600, Parity. None, 8, StopBits. One);

port. Open ();

byte [] data = {1};

port. Write (data, 0, data. Length);

port. Close ();

};

if (label1. Text == «14.40.0») {

SerialPort port = new SerialPort («COM2», 9600, Parity. None, 8, StopBits. One);

port. Open ();

byte [] data = {1};

port. Write (data, 0, data. Length);

port. Close ();

};

if (label1. Text == «14.50.0») {

SerialPort port = new SerialPort («COM2», 9600, Parity. None, 8, StopBits. One);

port. Open ();

byte [] data = {1};

port. Write (data, 0, data. Length);

port. Close ();

};

if (label1. Text == «16.10.0»)

{

SerialPort port = new SerialPort («COM2», 9600, Parity. None, 8, StopBits. One);

port. Open ();

byte [] data = { 1 };

port. Write (data, 0, data. Length);

port. Close ();

};

}

}

}

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ