Почнемо ми не з перекладу схеми на цифрову мову мікроконтролера, а з іншого «мяу», простіше Використовуємо тональний сигнал переміжної частоти З модулем PWM ми мали справу, використовуємо і це знання

Починає мікроконтроллер з формування імпульсів однієї частоти (скажімо, 400 Гц), потім міняє частоту (нехай буде 800 Гц) І так кілька разів Потім робить паузу І починає спочатку

Таке ось «мяу»

Перш, ніж відтворити програму, я хочу сам послухати, а що з цього виходить Зробити мені це просто: створення програми займає кілька хвилин, «прошивка» контролера і того менше У мене є (У всякому разі, були) високоомні навушники (варто пошукати) Їх можна підключити безпосередньо до висновку контролера І послухати ..

Так, схоже на дзвінок деяких телефонних апаратів Отже:

Рис 349 Початок роботи над програмою

Після додавання нескінченного циклу while включимо модуль PWM (не забудемо додати параметр) Слідом додамо цикл, який повинен повторитися 10 раз (аналог циклу for)

Рис 3410 Формування сигналу

Закінчивши з сигналом, вимкнемо модуль PWM і зробимо паузу

Рис 3411 Завершення програми

Ось так сигнал виглядає на екрані віртуального осцилографа:

Рис 3412 Вид сигналу на екрані осцилографа

А так він виглядає на екрані реального осцилографа:

Рис 3413 Вид сигналу на екрані реального осцилографа

Але, звичайно, це треба чути, щоб зрозуміти, чи влаштовує таке «мяу»

Є зручна форма трансформації рішень: задатися питанням, а що вийде, якщо ..

Якщо змінити тривалість сигналу однієї й іншої частоти, а кількість повторів збільшити

Рис 3414 Модифікація програми

Тепер сигнал більше схожий на дзвінок старого телефону, у якого чашечку дзвінка чимось притиснули А якщо ..

Рис 3415 Ще одна модифікація програми А так дзвонить мій телефон

Звичайно, переробити програму, витягти мікросхему з панельки макетної плати і вставити в панельку програматора, запрограмувати мікроконтроллер і повернути на макетну плату, щоб послухати результат – Все це операції, що віднімають хвилини Але після двох-трьох спроб ця процедура починає набридати А хотілося б спробувати ще багато «якщо» ..

Я неодноразово згадував програму ISIS (Proteus) Програма дозволяє спостерігати сигнали, що формуються мікроконтролером, і дозволяє проводити макетування без макетної плати І не тільки макетування

Запустимо програму ISIS Виберемо за допомогою менеджера компонентів мікроконтролер PIC16F628A Додамо його в робоче вікно програми, налаштуємо компонент, задавши тактову

частоту (і, про всяк випадок, слово конфігурації), і вкажемо, наприклад, hex-файл першого проекту для мікроконтролера У мене він записаний під іменем project_34_09

Рис 3416 Налаштування проекту в ISIS

Тепер підключимо до висновку RB3, саме на цьому висновку формується сигнал PWM-модуля, підключимо пробник напруги

Рис 3417 Підключаємо пробник

Залишилося вибрати з усіх можливих графіків, що використовуються для роботи з даними симулятора, графік AUDIO:

Рис 3418 Вибір відображення результатів моделювання

Але графік теж потрібно «настроїти» Клацнемо правою клавішею мишки по графіку і виберемо Add Traces ..

Рис 3419 Налаштування графіка для відображення даних пробника

Закриємо цей діалог, натиснувши на кнопку ОК І ще раз клацнемо за графіком правою клавішею мишки, вибравши на цей раз розділ Simulate Graph Якщо динаміки вашого компютера включені, то ви почуєте звук, який видає мікроконтролер Цей звук можна зберегти wav-файлі, щоб прослухати його пізніше Для цього достатньо подвійним клацанням по графіком відкрити його властивість (або вибрати властивості з випадаючого меню, слухняного правої клавіші мишки)

Рис 3420 Збереження звукового файлу в wav форматі

У цьому діалозі ви можете прослухати файл за допомогою клавіші Play Audio, Ви можете налаштувати всі режими – від кількості повторів до параметрів оцифровки – і можете вийти з діалогу, щоб замінити попередню програму мікроконтролера (hex-файл) наступної Ви можете прослухати всі свої напрацювання Але, найголовніше, ви можете працювати відразу в двох програмах: Flowcode і Proteus У першій можна внести зміни, у другій послухати, що з цього вийшло Так, послухавши попереднє «Мяу», я можу трохи скоротити часи затримки

Тепер сигнал нагадує той, що видає службовий автомобіль: чи то швидка допомога, чи то пожежна машина, – не памятаю

Мікроконтролер дозволяє формувати різні сигнали На його основі можна зробити, наприклад, функціональний генератор, а можна, вибравши відповідну модель, зробити «піаніно» або поліфонічний програвач мелодії Загляньте на сайт http://wwwflowcodeinfo, ввівши в пошук по сайту рядок: формування сигналів, – виявите багато цікавого

І, оскільки я згадав генератор, на базі мікроконтролера можна зробити зручний логічний пробник із звуковим індикатором Сенс такого рішення в тому, що при роботі з реальним цифровим пристроєм є певна незручність з візуальними індикаторами – потрібно відволіктися від плати, щоб подивитися на індикатор, але при цьому щуп легко зісковзує з контактної площадки або виведення мікросхеми Звуковий індикатор в цьому відношенні набагато зручніше Мікроконтролер дозволяє використовувати його вбудовані можливості для вимірювання напруги, щоб звуком різної тональності оповіщати про логічне нулі і одиниці, і про проміжному рівні напруги, і про наявність імпульсів на виведення

Думаю, вам буде цікаво самим придумати, як це зробити

Джерело: Гололобов ВН, – Самовчитель гри на паяльнику (Про електроніці для школярів і не тільки), – Москва 2012