Зміст p>
Введення p>
1. Постановка завдання p>
2. Апаратна частина p>
2.1 Структура пристрою p>
2.2 Опис принципової електричної схеми p>
2.3 Опис використовуваних мікросхем p>
2.4 Конструкція пристрою p> < p> 3. Програмне забезпечення мікроконтролера. P>
3.1 Логічне проектування p>
3.2 Програма на мові асемблера. P>
3.3 Технологія програмування ОМК і налагодження
Висновок
Література
Додатки: p>
Додаток А - лістинг програми p>
Введення p>
Сучасний етап розвитку людського суспільства характеризується всезростаючим проникненням електроніки в усі сфери життя і діяльностілюдей. Досягнення в галузі електроніки в значній мірі сприяютьуспішному вирішенню складних науково-технічних проблем, підвищеннюефективності наукових досліджень, створенню нових видів машин іобладнання, розробки ефективних технологій і систем управління,одержання матеріалів з унікальними властивостями, удосконалення процесівзбору та обробки інформації та ін p>
Охоплюючи широке коло наукових, технічних і виробничихпроблем, електроніка спирається на досягнення в різних галузях знань.
При цьому, з одного боку, електроніка ставить перед іншими науками івиробництвом нові завдання, стимулюючи їх подальший розвиток, а з іншого --озброює їх якісно новими технічними засобами і методамидослідження. Результати вивчення електронних процесів і явищ, а такождослідження та розробка методів створення електронних приладів і пристроївотримують своє втілення в різноманітних засобах електронної техніки,розвиток якої відбувається з двох тісно переплітаються напрямками.
Перша з них пов'язана зі створенням електронних приладів різногопризначення, технології їх виробництва і промисловим випуском, другий - зстворенням на основі електронних приладів різних видів апаратури, системі комплексів для вирішення найскладніших завдань в галузі обчислювальної техніки,інформатики, зв'язку, радіолокації, телебачення, телемеханіки, і багатьохінших областях науковій практичній діяльності людини. p>
Досягнення електронної науки і техніки використовуються майже безвиключення у всіх областях людської діяльності. Прискореними темпамиелектроніка впроваджується в наукові дослідження, промисловість, натранспорт, зв'язок, сільське господарство, охорону здоров'я, культуру, побут,військову справу та ін засоби електронної техніки стали невід'ємною частиноюскладних приладів і пристроїв самого широкого призначення. p>
Впровадження мікропроцесорів (МП) і мікро-ЕОМ в управліннятехнологічними процесами розглядається як новий етап промисловоїреволюції. На їх основі розвивається виробництво і застосування верстатів зчисловим програмним управлінням, промислових роботів, системавтоматичного контролю якості продукції, управління цехами та заводами,створюються гнучкі автоматизовані технологічні ділянки і цехи (гнучкіавтоматизовані виробництва - ГАП), орієнтовані на випуск широкоїноменклатури виробів. Широке застосування електронної техніки впромисловості веде до підвищення продуктивності праці та якостіпродукції, звільняє людину від виконання одноманітних утомливихоперації та робіт в умовах небезпечних для здоров'я. На базі електронноїтехніки реалізуються основні пристрої автоматичних систем управління наоб'єктах безперервної дії - електростанціях, прокатних станах, печахдля плавки металу та ін p>
Застосування МП в сучасних цифрових пристроях управління таобробки інформації стало повсякденною реальністю. Масовий випускмікропроцесорних наборів великих інтегральних схем (ВІС) з широкимифункціональними можливостями і низькою вартістю забезпечила винятковіпереваги цифровим методам інформації. p>
МП техніка не тільки істотно розширює можливості автоматизації,але й дозволяє використовувати принципово нові методи управління на основіматематичних моделей об'єктів управління. Широке використання самихрізних засобів електронної техніки стало природним і невід'ємнимумовою життя людей. p>
1. Постановка завдання p>
Розробити програмно-тимчасове пристрій, що буде ввстановлений час вмикати і вимикати харчування за встановленими каналами.
Кількість каналів - 8. Графік управління по каналах вводиться через COM --порт відразу після включення приладу. Інтервал роботи - 24 години. Кількістьцифр індикатора часу - 4. p>
2. Апаратна частина p>
1. Структура пристрою. P>
Узагальнена структурна схема програмно-тимчасового влаштуванняпредставлена на малюнку 1.
Структурна схема включає в себе наступні вузли: p>
СУ - згода пристрій COM-порту, призначене для узгодженнявводяться сигналів з СОМ-портом мікроконтролера (Тх), а так-же для захиступорту від підвищеної напруги і перегорання. Підключення до зовнішньогопристрою введення проводиться за допомогою роз'єму RS232. p>
МК - мікропроцесорний контролер, який реалізує алгоритм включення івимикання каналів. До його складу входять МП, оперативне і постійнезапам'ятовуючий пристрій (ОЗУ і ПЗУ), порти вводу-виводу (ПВВ), таймери -лічильники (ТЗ). Для синхронізації роботи цих пристроїв призначенийгенератор тактових імпульсів. Мікроконтролер містить і здійснює всюлогіку роботи пристрою. У пристрої використовується мікроконтроллерсімейства MCS51 марки АТ89С51. Детальний опис пристрою і роботимікроконтролера буде описано далі. p>
DС1 - дешифратор цифрової індикації. Застосовується для відображення цифрна цифрових індикатори. На вході чотирирозрядний двійковій-десятковий кодцифри, на виході семіразрядний код для семисегментний індикатора.
Підключається до порту Р1 мікроконтролера (біти 1 - 4) p>
DC2 - дешифратор, призначений для управління блоком індикаторів удинамічному режимі, дозволяючи запалювання однією встановленою цифри. На входідвійковий номер цифри, на виході включення одного висновку відповідногономером. Налагодження підключення до порту Р1 мікроконтролера. (Біти 4 і 5) p>
БЦІ - блок цифрової індикації. Складається з дев'яти семисегментний цифр.
У розробляється пристрої використовується тільки 4.
Крім того на схемі і зображені кнопка пуск, по натисканні якоїзапускається таймер і починається робота пристрою, і блок включаєхарчування на виході по кожному з восьми каналів окремо, підключений до порту
Р0 мікроконтролера. Косая риса і цифра над нею означає що йде неодин провід а декілька, кількість яких показано цифрою. p>
1. Опис принципової електричної схеми p>
Для живлення схеми використовується зовнішнє джерело живлення напругою
5В, що підключається до гнізда Х1. P>
Вісім ліній порту Р0 мікроконтролера DD1 використовуємо для включенняподачі сигналу на вихід. Після включення пристрою всі портимікроконтролера встановлені на високий потенціал. При спрацьовування таймерана відповідна лінія порту змінює потенціал на низький, при цьомувідкривається відповідний транзистор (VТ2-VТ9) і подається напруга навідповідну лінію вихідного каналу. При установки високого потенціалупо закінчення встановленого часу для даного каналу транзистор зновузакривається і подача живлення на вихід припиняється. Вихідні каналиоб'єднані роз'ємом Х2. p>
До порту Р1 підключений блок цифрової індикації НG1 через два дешифратора
DD2 і DD3. Блок індикаторів містить 9 цифр з яких використовується впристрої всього 4. Схема підключення з загальним катодом. Індикатори працюютьу динамічному режимі, тобто включаються по черзі з швидкою частотою,непомітною ока спостерігача. На малюнку показаний графік включенняіндикаторів (0 - включений, 1 - вимкнено). p>
Т = 20мс t = 5мс p>
Інші висновки просто не використовуються і ні до чого не підключаються.
Дешифратор DD2 підключений до 0 - 3 висновків порту Р1. Він перетворюєчотирирозрядний код цифр у семіразрядний код для індикатора і підключаєтьсядо висновків А-G блоку індикаторів. p>
Дешифратор DD3 підключений до висновків 5,6 порту і перетворює двійковийкод номера індикатора в сигнал на відповідній лінії виходу.
На невживані лінії на вході подаємо низький потенціал (нуль). P>
До лініях Х1 і Х2 підключений генератор тактових імпульсів ZQ1 частотою
12МГц. До лінії Т0 підключена кнопка пуску таймера. Введення командздійснюється через порт Rx який через згоду пристрій виходитьна роз'єм Х2 відповідний Стандартного роз'єму для СОМ-порту RS232. p>
2.3 Опис використовуваних мікросхем p>
Основною частиною мікропроцесорної системи збору та обробкиінформації є однокристальний мікроконтроллер, який, власне івиконує основні функції збору і обробки даних. p>
Для виконання цих функцій візьмемо МК АТ89С4051, тому що він маєдостатню швидкодію, невелику вартість і відповіднеенергоспоживання.
Основні характеристики МК АТ89С4051: o Високоякісна n-МОП технологія; o Обсяг внутрішньої пам'яті програм - 4К; o Тип пам'яті - ПЗУ; o Обсяг внутрішньої пам'яті даних - 128 байт; o Максимальна частота проходження тактових сигналів - 12 МГц; o Струм - 150 мА; o Чотири 8-ми розрядних програмованих каналу вводу-виводу; o Два 16-тібітових багаторежимних таймера-лічильника; o Система переривань з 6-ма векторами і 2-ма рівнями; o Послідовний інтерфейс; o Вбудована система переривань; o Вбудований програмований зв'язковий адаптер; o Можливість розширення загального обсягу оперативної пам'яті даних - до 64 p>
Кбайт за рахунок використання зовнішніх мікросхем ЗУПВ.
Умовне графічне позначення МК наведено на малюнку 2. P>
Рис. 2 p>
На малюнку 3 приведена структурна схема арифметичне-логічногопристрої мікроконтролера. 8-бітове арифметичне-логічний пристрій
(ALU) може виконувати арифметичні операції додавання, віднімання,множення, ділення; логічні операції І, АБО, що виключає АБО, а такожоперації циклічного зсуву, сброоса, інвертування і т. п. До входівпідключені програмно недоступні регістри Т1 і Т2, призначені длятимчасового зберігання операндів, схема десяткової корекції (DCU), і схемаформування ознак результату операції (PSW). p>
Рис 3. Арифметичне-логічний пристрій мікроконтролера MCS51 p>
Найпростіша операція додавання використовується в ALU для інкрементірованіявмісту регістрів, просування регістру зазначення даних (RAR) іавтоматичного обчислення наступного адреси резидентної пам'яті програм.
Найпростіша операція віднімання використовується в ALU для декрементірованіярегістрів і порівняння змінних. p>
Важливою особливістю ALU є здатність оперувати не тількибайтами але і битами. Окремі програмно доступні біти можутьпорівнюватися, встановлюватися, скидатися, передаватися, використовуватися влогічних операціях. Ця здатність досить важлива, оскільки дляуправління об'єктами часто застосовуються алгоритми, які містять операції надвхідними і вихідними булеві змінними, реалізація яких засобамизвичайних мікропроцесорів пов'язана з певними труднощами. p>
Таким чином АЛП може оперувати чотирма типами інформаційнихоб'єктів булеві (1 біт), цифровими (4 біта), байтним (8 біт) і адресними
(16 біт). В АЛП виконується 51 різна операція пересилання абоперетворення цих даних. Так як використовується 11 режимів адресації, тошляхом комбінування операцій та режиму адресації базове число команд 111до 255 з 256 можливих при однобайтових коді операції. p>
Як дешифратора DD2 була використана мікросхема КР514ІД1.
Дешіфратоор застосовується перетворення двійкового коду чисел від 0 до 9 у коднеобхідну які можна показати відповідної цифри на семисегментнийсвітловому діодному індикаторі із загальним катодом, тобто На виході в якостіактивного використовується високий потенціал. p>
Таблиця істинності p>
| Вхід | Вихід |
| 1 | 0 | 1 | 1 | |
| 1 | 1 | 0 | 0 | |
| 1 | 1 | 0 | 1 | |
| 1 | 1 | 1 | 0 | |
| 1 | 1 | 1 | 1 | | p>
1 - Високий потенціал, 0 - низький. P>
Як дешифратора DD3 була використана мікросхема К155ІД10.
Дешифратор піменяется для управління семисегментний цифровими індикаторамиіз загальним катодом. Він приймає чотирирозрядний двійковий код і видаєнапруга низького рівня на одному з 10 виходів. Коди еквівалентні числах
10-15 не обробляються. Виходи дешіфратоора можуть застосовуватися з навантаженнямне більше 80мА. Робоча температура 0 (- +70 (С. Струм навантаження харчування 13мА. P>
Таблиця істинності p>
| Вхід | № виходу з низьким рівнем |
| А1 | А2 | А3 | А4 | |
| L | L | L | L | 0 |
| L | L | L | H | 1 |
| L | L | H | L | 2 |
| L | L | H | H | 3 |
| L | H | L | L | 4 |
| L | H | L | H | 5 |
| L | H | H | L | 6 |
| L | H | H | H | 7 |
| H | L | L | L | 8 |
| H | L | L | H | 9 |
| H | L | H | L | |
| | | | | |
| | | | | Не обробляються |
| H | L | H | H | |
| H | H | L | L | |
| H | H | L | H | |
| H | H | H | L | |
| H | H | H | H | | p>
L - Сигнал низького рівня p>
H - Сигнал високого рівня p>
Як блоку цифрових індикаторів використовується блок АЛС318.
Цей блок складається з 9 індикаторів з загальним катодом. На входи А-G подаєтьсякод можна показати цифри. Відповідність сегментів цифри і входів показанона малюнку. p>
Індикатори працюють у динамічному режимі, p>
А тобто Включаючись послідовно з великою частотою p>
Номер поточного індикатора задається шляхом подачі p>
FG У низького рівня на входи К1-К9 (відповідно порядковий номер індикатора. p>
E З p>
D p>
2.4 Конструкція пристрою. p>
Розміщення елементів надрукованого платі показано на малюнку 4. Розташуваннявідповідають позначенням на принциповій електричній схемі. Роз'ємидля підключення зовнішніх пристроїв і харчування знаходяться на корпусі приладу із'єднуються з платою шлейфами. p>
p>
3. Програмне забезпечення мікроконтролера. P>
3.1. Логічна структура пристрою p>
Після включення пристрою починає працювати програма початковихустановок. Проводиться скид всіх регістрів та встановлення початковихпараметрів роботи програми. Після чого виконання програмизупиняється і відбувається очікування введення даних включення/вимиканняканалів через послідовний порт СОМ. Після закінчення введення програма зновузупиняється до натискання кнопки ПУСК. Після її натискання спочаткузапускається лічильник часу а потім основний цикл виведення часу наіндикатор. Програма постійно знаходиться в цьому циклі, а відлік часу іперевірка включення/вимикання каналів проводиться за переривання таймера
С/Т0. P>
Таким чином в роботу системи можна розділити на три основні частини: p>
1. Включення, установка початкових параметрів і очікування введення даних. P>
2. Введення даних, пуск і перехід до основного циклу програми. P>
3. Обробка переривання таймера. P>
Перші дві частини роботи системи можна описати наступним алгоритмом (насхемі зображена логіка роботи програми, далі наводиться докладнийопис алгоритму її роботи) p>
p>
Алгоритм роботи програми p>
[Ініціалізація порту і введення даних]
M1: While (RI = 0) do (); p>
A: = SBUF; p>
RI: = 0; p>
C: = A.3; p>
R0: = 20H + A * 4; p>
For (i = 0 to 4) do ( p>
While (RI = 0) do (); p>
A: = SBUF; p>
RI: = 0; p>
Write (@ R0, A); p>
R0: = R0 1;) p>
If (C = 0) then goto M1; p>
While (P3.4 = 1) do ();
[Ініціалізація і пуск таймера] p>
TMOD: = 1 p>
TF0: = 0 p>
TL0: = low (15000); p>
TH0: = High (15000); p>
ET0: = 1 p>
TR0: = 1
[Індикація часу]
M2: A: = R4; p>
Gosub INDRAS [блок перетворення числа в код по одній цифрі p>
[Для виведення на індикатор (буде описано далі)] p>
P1/4: = 0; P1.5: = 0 p>
P1: = A p>
Pause 5 (ms) p>
P1: = B p >
P1/5: = 1 p>
Pause 5 (ms) p>
A: = R3; p>
Gosub INDRAS p>
P1/4: = 1; P1.5: = 0 p>
P1: = A p>
Pause 5 (ms) p>
P1: = B p >
P1/5: = 1 p>
Pause 5 (ms) p>
Goto M2 p>
У програмі прийняті наступні угоди - регістри R1 - R4 зберігаютьінформацію про мілісекундах, секундах, хвилинах і годинах відповідно.
Біт З служить показником кінця введення даних з ком-порту (1 - останнійканал, нуль - не останній канал). Збереження часу включення івимкнення для нульового каналу починається з клітинки з адресою 20Н; спочаткузаписуються годинник, потім хвилини включення, потім години та хвилини виключення.
Таким чином для кожного каналу в пам'яті відводиться 4 байти, загальнакількість оперативної пам'яті використовується програмою 32 байти. Структуравикористання пам'яті описана в наступній таблиці: p>
| Адреса | Вміст | Адреса | Вміст |
| 20h | Таймер 1 години включення | 21h | Таймер 1 хвилини включення |
| 22h | Таймер 1 години вимкнути | 23h | Таймер 1 хвилини виключення |
| 24h | Таймер 2 години включення | 25h | Таймер 2 хвилини включення |
| 26h | Таймер 2 години вимкнути | 27h | Таймер 2 хвилини виключення |
| 28h | Таймер 3 години включення | 29h | Таймер 3 хвилини включення |
| 2Аh | Таймер 3 години вимкнути | 2Bh | Таймер 3 хвилини виключення |
| 2Ch | Таймер 4 години включення | 2Dh | Таймер 4 хвилини включення |
| 2Eh | Таймер 4 години вимкнути | 2Fh | Таймер 4 хвилини виключення |
| 30h | Таймер 5 години включення | 31h | Таймер 5 хвилини включення |
| 32h | Таймер 5 годинник?? иключенія | 33h | Таймер 5 хвилини виключення |
| 34h | Таймер 6 години включення | 35h | Таймер 6 хвилини включення |
| 36h | Таймер 6 години вимкнути | 37h | Таймер 6 хвилини виключення |
| 38h | Таймер 7 години включення | 39h | Таймер 7 хвилини включення |
| 3Ah | Таймер 7 години вимкнути | 3Bh | Таймер 7 хвилини виключення |
| 3Ch | Таймер 8 години включення | 3Dh | Таймер 8 хвилини включення |
| 3Eh | Таймер 8 години вимкнути | 3Fh | Таймер 8 хвилини виключення | p>
При читанні з Cом порту прийнято таку розшифровка прийнятихбайтів. Один блок становить 5 байтів: перший керуючий далі йдуть 4байти з даними, у наступній послідовності: Годинники включення каналу --хвилини включення каналу - годинник виключення каналу - хвилини вимиканняканалу. Передача даних ведеться в двійковій формі. Керуючий байтвикористовує 4 молодших біти, перші три несуть номер каналу в двійковому коді,четвертий показує останній канал йде чи ні (1 - останній, 0 - неостанній). Якщо канал останній, то після прийому 4 наступних байтів данихзв'язок з портом припиниться, якщо ні, то продовжиться з прийому наступногокеруючого байти. p>
Алгоритм обробки переривання буде виглядати наступним чином. p>
TF0: = 0;
R1: = R1 1;
If (R1 p>