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

[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]

от 10 до 100 мс. Бороться с этим эффектом проще программным способом. На рис. 5.6 показаны графики, иллюстрирующие дребезг контактов, а на рис. 5.7 приведена простейшая схема с кнопкой.

D1 AT90S2313-4P1

С1 Q1 -П"

II

XTAL2 РВО

С2 1=1 ,

II Т 5

XTALI

4.7...10К

Рис. 5.7. Подключение кнопки к микроконтроллеру

D1 AT90S2313-ePI


XTAL2

yXAl i

PD3 PD4

Л iMLl

VD1-VD4 10 Д9Б

R1-R4 470

-CZb-

► +5B

Рис. 5.8. Использование матричной клавиатуры

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



Глава 6.

Практические примеры применения микроконтроллеров AVR

6.1. 10-разрядный светодиодный индикатор на AT90S1200

Данное устройство предназначено для замены ЖК-индикатора со встроенным контроллером, аналога НТ1611, применяемого в телефонных аппаратах, на светодиодный индикатор с общим катодом. При применении десяти знаков ЖК-индикатора реализуется полная совместимость с НТ1611 (за исключением режима часов и таймера). Частота мерцания индикатора близка к 100 Гц, что практически незаметно даже боковым зрением. Ток через сегмент ограничен 20 мА самим микроконтроллером, что позволяет выровнять свечение при разном количестве зажженных сегментов. При программировании контроллера есть возможность постоянно зажечь запятые в нужных разрядах и исключить неиспользуемый знак при применении 9-зна-кового ЖКИ (который показан на схеме).

Сигналы С1к и Data должны соответствовать питанию 5 В, т. е. логическая единица должна бьпгь 3...5 В. После проверки правильности монтажа подаем и проверяем питание +5 В на 20-м выводе панельки под DDI. Вставляем микроконтроллер - на экране после включения питания появятся 1234567890, что записано в программе. Если нет - проверить колебания с частотой 4,000...4,005 МГц на выводе 4. При подаче внешних сигналов С1к и Data индицироваться будет входящая информация. Общее потребление - 65...250 мА. Микросхему AT90S1200-12PC можно заменить на AT90S1200-12PI, а также AT90S1200-4PC и AT90S1200-4PI. Светодиодный индикатор - АЛС318А, ТОТ - 3361 AG-1 (три штуки), от АОНа или любой другой с общим катодом, можно набрать из одиночных, сдвоенных, строенных и т. п.



DD3 78L05

AT90S1200-12PC

Data о-

Clk о-

Cj 22«оадкГч

С2 22

1£gnd

Xout

VCC 20

PB7 PB6 PBS PB4 PB3 PB2 PBI PBO PD6

DD2 55SHfl10

D С В A

+5B 0 1 2 3 4 S 6 7 8 9

C3 0,1

-loUT IN -•-

I47MK 16B

-О +7..15B у GND

6 6

10 9

11 10

HG1 АЛС318А

f 2 С

/-.....-

6 D 7 G 6

E 6 D 7 G

Ю CO N,

В 9

F 10

Рис. 6.1. Электрическая принципиальная схема

Программа для AT90S1200: lcd.zip, находится на компакт-диске, прилагаемом к книге.

Автор: Дергаев Э. Ю., UA4NX (E-mail: ua4nx@ezmail.ru).

6.2. Управление синтезатором частоты радиостанции «Маяк»

Данное устройство позволяет управлять частотой радиостанции «Маяк» в диапазоне 144,5-146,0 МГц. В режиме репитера и антирепитера индицируется частота передачи. Программа хранит в энергонезависимой памяти 63 частоты каналов и одну VFO, включая репи-терный разнос +600 кГц, антирепитерный разнос - 600 кГц, с шагом перестройки 25 кГц. Запись частот в каждую ячейку памяти гарантируется 100 ООО раз. В режиме SCAN происходит сканирование с



[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.0009