о живлення +5 В. Через 2 порту введення/виведення інформації з рівнем ТТЛ мікроконтролер виводить код помилки на світлодіодні семисегментні індикатори HCPL4506 із загальним катодом. Мікросхема має два висновки для підключення кварцового резонатора, чотири виводу для сигналів, керуючих режимом роботи МК і по вісім ліній портів 2 і 3. Висновок Р3.0 є висновком RxD висновок P3.1 - TxD, інші висновки портів не використовуються. p align="justify"> Максимально допустимі параметри:
Максимально допустимий струм через висновок порту - 10 мА.
Максимальний загальний струм через всі висновки - 71 мА.
Приймаючи падіння напруги на відкритому переході індикатора 1.5 В, а струм через кожен з висновків 7 мА, виберемо резистори. і = (5-1.5)/7 * 10-3 = 500Ом. p align="justify"> Для забезпечення гальванічної розв'язки ПК від мікроконтролера використовується ізольований повний двонаправлений інтерфейс RC - 232 - E зі швидкістю до 1 Mbit/s, вхідним струмом 16 мА, напругою ізоляції 2, 5 до V, в корпусі SO 8 (HCPL 0560). На рис.2.2 наведена рекомендована схема застосування такого приладу. Висновки 6 і 8 цієї мікросхеми підключені відповідно до входів R1Out і T1In мікросхеми DS232A. Для забезпечення гальванічної розв'язки датчиків (протокол RS485) від мікроконтролера використовується точно така ж мікросхема. Висновки 6 і 8 у цьому випадку підключені до входів RO і DI відповідно мікросхеми ISO485P. br/>В
Рис. 2.2 - Схема електрична принципова
В якості гальванічно розв'язаного живлення мікросхем застосовується DC/DC перетворювач 5В - 5В DCP020505P (в корпусі DIP14).
Перетворювач сигналу ТТЛ-RS232 зібраний на мікросхемі DS232A фірми Dallas Semicondactors. Перетворювач сигналу ТТЛ-RS485 зібраний на мікросхемі ISO485P фірми Burr Brown. p align="justify"> 3. Текст програми
мікроконтролер датчик опитування інформація
Thu Nov 20 2011 15:24 Page 1
2500 A.D. 8051 Macro Assembler - Version 4.02a
------------------------------------------ ----- Filename: kurs.asmFilename: kurs.obj
1; Мкарос ініціалізації таймера 1
; Vrem_m - час передачі 1 біта
3; = --------------------------------------- -
SerTime: MACROVrem_M
movTH1, # Vrem_M
movTL1, # Vrem_M
clrTF1
setbTR1
ENDM
; = ----------------------------------------
Time: MACROVrem_M
movTH0, #> Vrem_M
movTL0, #
clrTF0 ​​p>
setbTR0
ENDM
; ...