Главная  Микроконтроллеры 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [ 54 ] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93]

50 В. При этом входы этих микросхем можно подключать непосредственно к линиям портов ввода/вывода микроконтроллера. Внутри микросхем уже имеется встроенный защитный диод, который можно подключать или отключать, осуществляя внещние соединения. На рис. 5.3 показан пример схемы с использованием микросхемы ULN2003.

D1 AT90S2313-8PI

D2 ULN2003A

К1-К7

+SB4

С2 33

Vcc GND

РВО FBI РВ2

XTAL2 PES PB4

XTAL1 PBS PB6

Bxl Bx2 Bx3 Bx4 Bx5 Bx6 Bx7 J.

Вых1 Вых2 ВыхЗ Вых4 BuxS Выхб Вых7 Диод

+5...50В

Рис. 5.3. Применение микросхемы ULN2003

Для включения нагрузки следует сформировать на соответствующем выводе микроконтроллера уровень «1». При этом ток, потребляемый от вывода порта микроконтроллера, не превыщает допустимый, в то же время, как осуществляется управление достаточно мощной нагрузкой.

Управление светодиодными цифровыми индикаторами

Так как светодиодные щ1фровые индикаторы, по-существу, представляют собой набор светодиодов специальной формы, расположенные так, чтобы при зажигании различных их комбинаций, получались цифры, управление ими принципиально не отличается от управления отдельными светодиодами. На рис. 5.4 изображен пример схемы управления семисегментным светодиодным индикатором.

Легко увидеть, что если потребуется управлять большим числом индикаторов, количества выводов портов ввода/вывода будет недостаточно. Для преодоления этого препятствия применяется динами-



D1 AT90S2313-8P р,.рв47о


Рис. 5.4. Управление цифровым индикатором

D1 AT90S2313


J-rv

,1к

-►+SB

Рис. 5.5. Динамическая индикация

ческая индикация. На рис. 5.5 показан пример схемы динамической индикации. Идея, лежащая в основе работы этой схемы очень проста - человеческий глаз достаточно инерционен, поэтому можно зажигать не все индикаторы одновременно, а только один из них, потом через короткое время другой и так далее. Так как переключение индикаторов происходит достаточно быстро, человеку кажется, что все индикаторы горят.

5.2. Параллельные входы

Параллельные входы обычно применяются для контроля состояния различных коммутационных элементов: кнопок, переключателей, блока контактов и т. д. Также можно проверять состояние неко-



торых видов датчиков, но при этом может потребоваться дополнительная схема, преобразующая состояние датчика к логическим уровням (например, уровень воды в баке ниже или выше определенной высоты и т. д.). Очень часто входы параллельных портов применяются для контроля состояния кнопок управления устройством.

Кнопки и переключатели

Проверять состояние кнопок или выключателей достаточно просто. Достаточно подсоединить, например, кнопку одним выводом к общему проводу, а другим -- ко входной линии порта ввода/вывода, настроенной для работы в режиме чтения. Также эта линия должна быть соединена через резистор сопротивлением примерно 4,7... 100 кОм с проводом «+» питания. При большем сопротивлении меньше суммарный потребляемый ток.

а) Идеальный контакт


I

I

а) Реальный контакт

Рис. 5.6. Явление «дребезг контактов»

При разомкнутых контактах, на соответствующем выводе микроконтроллера будет «1», при замыкании контактов - «О».

Все механические выключатели имеют недостаток - при работе с ними наблюдается так называемый дребезг контактов, при котором при нажатии на кнопку происходит много замыканий и размыканий контактов из-за того, что они как правило, пружинят. Длительность Периода дребезга зависит от качества контактов и обычно составляет



[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [ 54 ] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93]

0.001