Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Методички » Програмування мікропроцесорних систем

Реферат Програмування мікропроцесорних систем





лаштування портів введення-виведення. Раніше ми вже домовилися, що порт PD у нас буде працювати на введення, а порт РВ - на висновок. Для вибору потрібного напрямку передачі інформації запишемо керуючі коди у відповідні регістри DDRx. У всі розряди регістра DDRD запишемо нулі (налагодження порту PD на введення), а в усі розряди регістру DDRB запишемо одиниці (налагодження порту РВ на висновок). Крім того, нам потрібно включити внутрішні навантажувальні резистори порту PD. Для цього ми запишемо одиниці (тобто число 0xFF) в усі розряди регістру PORTD. І, нарешті, в момент старту програми бажано погасити світлодіод. Для цього ми запишемо одиниці в розряди порту РВ. p align="justify"> Всі описані вище дії з налаштування порту також виконуються з використанням проміжного регістра temp. Спочатку в нього поміщається нуль (рядок 8). Нуль записується тільки в регістр DDRD (рядок 9). Потім в регістр temp поміщається число OxFF (рядок 10). Це число по черзі записується в регістри DDRB, PORTB, PORTD (рядки 11,12,13). p align="justify"> Рядки 14 і 15 включені в програму для перестраховки. Справа в тому, що вбудований компаратор мікроконтролера після системного скидання залишається включений. І хоча переривання при цьому відключені і спрацьовування компаратора не може вплинути на роботу нашої програми, ми все ж відключимо компаратор. Саме це і робиться в рядках 14 і 15. p align="justify"> Тут вже знайомим нам способом з використанням регістра temp проводиться запис константи 0x80 в регістр ACSR. Регістр ACSR призначений для управління режимами роботи компаратора, а константа 0x80, записана в цей регістр, відключає компаратор. p align="justify"> Настройкою компаратора закінчується підготовча частина програми. Підготовча частина займає рядки 1-15 і виконується всього один раз після включення живлення або після системного скидання. Рядки 16-18 становить основний цикл програми. p align="justify"> Визначення. Основний цикл - це частина програми, яка повторюється багато разів і виконує всі основні дії. p align="justify"> У нашому випадку, згідно з алгоритмом, дії програми полягають у тому, щоб прочитати стан кнопки і перенести його на світлодіод. Є багато способів перенести вміст молодшого розряду порту PD в молодший розряд порту РВ. У нашому випадку реалізований найпростіший варіант. Ми просто переносимо одночасно всі розряди. Для цього достатньо двох операторів. p align="justify"> Перший з них читає вміст порту PD і запам'ятовує цей вміст у регістрі temp (рядок 16). Наступний оператор записує це число в порт РВ (рядок 17). Завершує основний цикл програми оператор безумовного переходу (рядок 18). Він передає управління за міткою main. p align="justify"> В результаті три оператора, складові тіло циклу, повторюються нескінченно. Завдяки цьому нескінченного циклу всі зміни порту PD тут же потрапляють і порт РB. З цієї причини, якщо кнопка SI не натискати, логічна одиниця зі входу PD0 за один прохід циклу передається на вихід PB0. І світлодіод не світиться. При натисканні кнопки S1 логічний нуль зі входу PD0 надходить на вихід PB0, і світлодіод загоряється. p align="justify"> Ця ж сама програма без будь-яких змін може обслуговувати до семи кнопок і така ж кількість світлодіодів. Додаткові кнопки підключаються до ліній PD1-PD6, а додаткові світлодіоди (кожен зі своїм струмообмежувальним резистором) - до виходів РВ 1 - РВ7. При цьому кожна кнопка буде управляти своїм власним світлодіодом. Таке стало можливим тому, що всі висновки кожного з двох портів ми налаштували однаково (дивись рядки 8-13). br/>

3. Лабораторна № 3


3.1 перемикав світлодіод


Постановка завдання

Як вже говорилося, попередня задача настільки проста, що рішення її засобами мікропроцесорної техніки позбавлене всякого сенсу. Ускладнимо трохи задачу. Змусимо перемикатися світлодіод при натисканні кнопки. p align="justify"> Нова задача може звучати так:

В«Розробити пристрій управління одним світлодіодним індикатором за допомогою однієї кнопки. При кожному натисканні кнопки світлодіод повинен по черзі включатися і відключатися. При першому натисканні кнопки світлодіод повинен включитися, при наступному відключитися і т. д. В». Ви можете сказати, що і ця нова задача легко вирішувана за допомогою найпростішого D-тригера. Проте все ж розглянемо, як її можна вирішити за допомогою мікроконтролера. br/>

3.2 Принципова схема


Так як для нового завдання, як і для попередньої, нам необхідна всього одна кнопка і всього один світлодіод, то вигадувати нову схему не має сенсу. Застосуємо для другого завдання вже знайому нам схему, показану на рис. 4.2. br/>

3.3 Алгоритм


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


Назад | сторінка 16 з 32 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Основні показники роботи порту та виробничого перевантажувального комплексу ...
  • Реферат на тему: Транспортування газу з порту Австралії в порт США
  • Реферат на тему: Створення базового класу &Рядок&, рядки ідентифікатора і десяткової рядка. ...
  • Реферат на тему: Удосконалення організації перевезення накатних вантажів (виробництва компан ...
  • Реферат на тему: Управління обслуговування суден у порту