Суматор частот
Розробка пристрою суматора частот. Опис принципу дії та обґрунтування прийнятого рішення. Вибір методу вимірювання частоти послідовності імпульсів. Розрахунок струмів, що споживаються від джерел живлення. Тестування програмного забезпечення та їх тексти.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 24.11.2011 |
Размер файла | 49,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МIНIСТЕРСТВО ОСВIТИ УКРАЇНИ
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ
«ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ»
Кафедра обчислювальної технiки та програмування
ПОЯСНЮВАЛЬНА ЗАПИСКА
ДО КУРСОВОЇ РОБОТИ НА ТЕМУ
“СУМАТОР ЧАСТОТ”
Зав. кафедрою Домнін Ф.А.
Керівник проекту Даниленко О.Ф.
Проектував Замахаєв А.Є.
Виконавець (Замахаєв А.Є.)
Харків - 2003
Антонація
В данному альбомi зiбранi документи курсового проекту, в якому розгладаються питання, пов'язанi з розробкою пристрою суматора частот.
Розробка має навчальний характер.
ABSTRACT
This set of the documents are gathered the documents of project, into which are concedered questions, bound with the elaborating of the item of the addition frequency.
The elaborating has study character.
Технічне завдання
до курсового проекту на розробку
суматора частот
1. Найменувння - суматор частот
2. Призначення - вимірювання двох частот: послідовності імпульсів f1 = (0,1-3200) Гц та f2 = (0-3) Гц у вигляді пропорціонального аналогового сигналу (0Гц = 0В, 3Гц = 8В), обробки цих частот згідно з формулою
f вих.= f1/6 + f2 та видачі результату обробки сигналів на вихід у вигляді імпульсної послідовності та візуального контролю. Вимірювання повинні проводитись з точністю не меншою ніж 0,05%.
3. Склад вироба та технічні характеристики.
3.1 Використання мікросхем серії - РІС
4. Етап разробки - ескізний проект
5. Комплектність конструкторської документації - основний комплект конструкторської документації
6. Умови експлуатації
6.1 Діапазон температур від +10 до +35 С.
6.2 Відносна вологість повітря від 40 до 80 %.
6.3 Барометричний тиск від 84 до 107 кПа.
7. Комплект документів
7.1 Відомість проекту
7.2 Пояснювальна записка.
7.2.1 Титульний лист
7.2.2 Реферат
7.2.3 Зміст
7.2.4 Введення
7.2.5 Опис принципа дії
7.2.6 Заключення
Реферат
Цей документ являє собою пояснювальну записку обсягом листів. В пояснювальной записці приведено 2 таблиці, 10 рисунков, використано 15 джерел літератури.
Ключові слова: мікроконтролер, мікросхема, перетворювач рівня, світлодіод.
В даном курсовому проекті розроблено ”Суматор частот”.
0АПЗ37.089164.004ПЗ
Зміст
Перелік умовних позначень, скорочень, символів та спеціальних термінів
Вступ
1. Методика рішення задачі
2. Опис принципа дії та обґрунтування прийнятого рішення
2.1 Деталізація ТЗ та постановка задачі
2.2 Можливі варіанти рішення задачі
2.3 Вибір методу вимірювання частоти послідовності імпульсів
2.4 Розрахунок частоти дискретизуючих імпульсів
2.5 Обгрунтування вибору структурної схеми
3. Розробка функціональної схеми пристрою
4. Розрахунок струмів, що споживаються від джерел живлення
5. Розробка програмного забезпечення пристрою
6. Отладка програмного забезпечення
Висновок
Перелік використованої літератури
Додаток 1. Схема алгоритму роботи пристрою
Додаток 2. Схема алгоритму розрахунку частоти F1
Додаток 3. Схема алгоритму розрахунку частоти F2
Додаток 4. Текст програми на асемблері
Додаток 5. Текст файла “Error.log”
Додаток 6. Текст файла “My_prog.xrf”
Перелік умовних позначень, скорочень, символів та спеціальних термінів
ІС - інформаційне сліво
ІТ - інтервальний таймер
КС - керуюче слово
МК - мікроконтролер
МКП - мікроконтролерний прилад
ОЗП - оперативний запам'ятовуючий пристрій
ОМК - однокристальний мікроконтролер
ПЗП - постійний запам'ятовуючий пристрій
ПЛ - програмована логіка
ПР - перетворювач рівня
РП - регістр прапорів
СК - сигнали керування
СС - сигнали стану
ТЛЛ - транзисторно-транзисторна логіка
Ф - формувач імпульсів
Вступ
Розвиток і удосконалювання електронно-обчислювальної техніки і всіляких електронних пристроїв у значній мірі визначаються впровадженням у них цифрової техніки. Це обумовлено визначеними перевагами цифрових пристроїв у порівнянні з аналоговими: більш високою надійністю; стабільністю параметрів при впливі дестабілізуючих факторів; високою точністю обробки інформації; значним скороченням трудомісткості і спрощенням операцій регулювання і настроювання.
Особливо доцільно впроваджувати цифрову техніку, коли потрібно робити аналіз дискретних сигналів, тому, що цифрові методи вимірювання частоти є точнішими та зручнішими за будь-які інші, так як вони базуються на використанні метода співпадання, при якому в процесі вимірювання порівнюються між собою величина, що вимірється, та така, що прийнята у якості міри.
У даній роботі буде зроблена спроба розробки приладу на базі однокристальних мікроконтролерів серії PIC для вимірювання двох частот: послідовності імпульсів та у вигляді пропорціонального аналогового сигналу, обробки цих частот згідно з формулою та видачі результату обробки цих сигналів.
1. Методика рішення задачі
Існує два принципово різних підходи до проектування цифрових пристроїв: використання принципу схемної логіки чи програмувальної логіки.
У першому випадку в процесі проектування підбирається деякий набір цифрових мікросхем (звичайно малого і середнього ступеня інтеграції і визначається така схема з'єднання їхніх виводів, що забезпечує необхідне функціонування (тобто функціонування пристроїв визначається тим, які обрані мікросхеми і по яких схем виконане з'єднання їхніх виводів). Пристрою, побудовані на такому принципі системної логіки, здатні забезпечувати найвищу швидкодію при заданому типі технології елементів. Недолік цього принципу побудови МКП складається в неможливості перебудови структури пристроїв і систем при необхідності зміни чи розширення їхніх функціональних можливостей.
Ці обставини змушують звернутися до іншого підходу проектуванні цифрових пристроїв, заснованому на використанні принципу програмувальної логіки. Цей підхід припускає побудову з використанням однієї чи декількох ВІС деякого універсального пристрою, у якому необхідне функціонування (тобто їхня спеціалізація) забезпечується занесенням у пам'ять пристрою певної програми (чи мікропрограми). У залежності від уведеної програми такий універсальний керуючий пристрій здатний забезпечувати необхідне керування операційним пристроєм при рішенні всіляких задач. У цьому випадку число типів БІС, необхідних для побудови керуючого пристрою, невелике, а потреба в ВІС кожного типу висока. Це забезпечує доцільність їхнього випуску промисловістю.
Треба мати на увазі, що найвища швидкодія досягається в процесорах, у яких керуючий пристрій будується з використанням системної логіки, а операційний пристрій виконується у вигляді пристрою, спеціалізованого для рішення конкретної задачі.
Якщо в пристрої, побудованому на принципі системної логіки, зміна чи розширення виконуваних функцій спричиняє демонтаж пристрою і монтаж пристрою за новою схемою, то у випадку МКП завдяки використанню принципу програмувальної логіки така зміна досягається заміною програми, що зберігається в пам'яті, новою програмою, що відповідає новим функціям, що виконуватиме пристрій. Така гнучкість застосувань разом з іншими зв'язаними з використанням ВІС перевагами (низкою вартістю, малими габаритами), а також висока точність, перешкодозахищеність, що характерні для цифрових методів, обумовили бурхливе впровадження МКП у різні сфери виробництва, наукові дослідження і побутову техніку.
2. Опис принципа дії та обгрунтування прийнятого рішення
2.1 Деталізація ТЗ та постановка задачі
Згідно техничному завданню курсового проекту необхідно розробити схему електричну та програмне забезпечення пристрою.
2.2 Можливі варіанти рішення задачі
Даний пристрій можна реалізувати декількома способами: за допомогою одного однокистального мікроконтролера з вбудованим АЦП; одного однокристального мікроконтролера та зовнишнього АЦП або інакше. Структурні схеми, що відповідають першим двом способам реалізації,
2.3 Вибір методу вимірювання частоти послідовності імпульсів
При вимірі частоти імпульсів можна заміряти період проходження імпульсів, чи кількість імпульсів, що прийшли на вхід пристрою за визначений період часу. При другому методі виміру час підрахунку імпульсів, що прийшли, повинен бути не менш періоду їхнього проходження, а для забезпечення необхідної точності виміру цей час повинен бути значно більше періоду проходження імпульсів. Згідно технічного завдання мінімальна частота послідовності вхідних імпульсів становить 0,1 Гц, тобто період їхнього проходження становить 10 сек. Для забезпечення необхідної похибки виміру необхідно було б вибрати період підрахунку імпульсів значно більшим 10 сек. У цьому випадку дискретність видачі вихідної інформації вимірником частоти (незалежно від частоти вхідної послідовності імпульсів) становила б не більш 0,1 сек -1.
Як метод виміру частоти імпульсів у послідовності, що приходить на вхід вимірника частоти вибираємо метод виміру часового інтервалу між двома імпульсами в послідовності (метод дискретного підрахунку). У сучасній вимірювальній техніці цей метод посідає домінуюче положення для виміру частот. Він дозволяє проводити виміри в широкому частотному діапазоні, забезпечує високу точність вимірів, дозволяє одержати відлік у цифровій формі, що спрощує використання мікропроцесорної техніки для обробки результатів виміру.
Сутність даного методу полягає в порівнянні вимірюваного періоду Тх імпульсної послідовності з дискретним інтервалом, що відтворює одиницю часу. Це досягається заповненням вимірюваного інтервалу часу Тх імпульсами з відомим зразковим періодом проходження Тобр. << Тх - перетворення інтервалу у відрізок періодичної послідовності імпульсів, число яких підраховується.
При вимірі періоду Тх методом дискретного підрахунку можливі дві складові похибки: похибка міри і похибка порівняння.
Похибка міри викликана нестабільністю частоти проходження рахункових імпульсів. При використанні для одержання послідовності рахункових імпульсів генератора, що стабілізується кварцевим резонатором, питома вага даної складовий похибки виміру мала і їй можна зневажити.
Похибка порівняння визначається тим, що числове значення періоду Тх заміняється цілим числом періодів Тобр..Похибка, що з'являється при цьому - методична, обумовлена дискретизацією безупинної величини. Вона виникає через несинхронність послідовностей рахункових імпульсів та імпульсів, що досліджуються.
Максимальне значення абсолютної похибки дискретності виміру періоду складає
?т = ± Тобр.,
тобто складає ± 1 молодшого розряду рахунка. Це значення не залежить від величини вимірюваного періоду Тх і визначається тільки одиницею дискретизації. Найбільша відносна похибка дискретності складає
?Т = ± (Тобр./ Тх) = ± (1/n)
і, звичайно, залежить від значення Тх.
Як видно з попередньої формули, відносна похибка зростає зі зменшенням вимірюваного періоду Тх, тобто зі збільшенням вимірюваної частоти Fх і досягає максимуму на верхній межі вимірюваних частот.
2.4. Розрахунок частоти дискретизуючих імпульсів
Відповідно до технічного завдання відносна похибка виміру частоти ?F ? 0,05, що відповідає абсолютній похибці ?F ? F*?F, де F - вимірювана частота.
При обраному методі виміру частоти послідовності імпульсів (метод дискретного рахунка) виміряється не саме значення частоти, а період проходження імпульсів Т, тобто використовується непрямий метод виміру. При цьому
?F = 1/ (Т-?Т) - 1/ (Т+?Т) = 2 ?Т / (Т2-?Т2).
З нерівності F*?F ? 2 ?Т / (Т2-?Т2), зневажаючи членом ?Т2 через його малість, одержуємо ?F ? 2 ?Т / Т, де ?Т - абсолютна похибка виміру періоду імпульсів, Т - величина періоду.
Для забезпечення необхідної точності вимірів абсолютна похибка виміру періоду проходження імпульсів ?Т ? ?F /2F.
При використанні для виміру частоти методу дискретного рахунка величина абсолютної похибка виміру періоду проходження імпульсів не перевищує одного періоду дискретизуючих імпульсів.
Визначимо частоту дискретизуючих імпульсів (f), що забезпечують задану точність виміру частоти (?F ? 0,05) при вимірі максимальної частоти послідовності вхідних імпульсів (F1=3200 Гц):
f = 2F / ?F = 2*3200 / 0,05 = 128 кгц.
Вибираємо частоту дискретизуючих імпульсів f = 150 кгц.
2.5 Обгрунтування вибору структурної схеми
Як було зазаначено, розробляємий пристрій можна реалізувати декількома способами: за допомогою одного однокистального мікроконтролера з вбудованим АЦП; одного однокистального мікроконтролера та зовнишнього АЦП або інакше. Кожний з цих способів має свої переваги і недоліки.
Вибір одного однокистального мікроконтролера з вбудованим АЦП забезпечує досить просту схему підключення та знижує складність програмного забезпечення. Однак, при цьому не завжди вдається досягти потрібної похибки вимірювань аналогового сигналу.
Вибір одного однокистального мікроконтролера та зовнишнього АЦП забазпечує складнішу схему підключення та складніше програмне забезпечення. Інші варіанти побудови пристрою не розглядаються.
Зважаючи на те, що технічним завданням передбачається похибка вимірювань не більше 0,05%, то вибираємо варіант з одним однокистальним мікроконтролером з вбудованим АЦП, структурна схема якого приведена у 0АПЗ37.089164.004Е1.
3. Розробка функціональної схеми пристрою
Згідно структурної схеми пристрою розробимо функціональну схему.
Схема блока введення дискретних даних, а також формування імпульсної послідовності виконана на елементах DD1 та DD2. Для зменьшення похибки підрахунку імпульсів генератор імпульсів сінхронізації виконан на кварцевому резонаторі ZQ1 та елементах С1 та С2, схема скидання - внутрішнє скидання. Це зроблено для удешевшення пристрою.
Схема блока введення аналогових сигналів, а також перетворення рівня виконана по схемі дільника напруги на елементах R1 та R2.
Порти введення/виведення використовуються наступним чином: порт RA0 - для введення аналогового сигналу, порт RA1 - введення дискретного сигналу, вхід Fref використовується для введення опорної напруги АЦП. Порт RB1 використовується для виведення вихідного сигналу, порти RB2-RB7 використовуються для індикації наступним чином: з портів RB2-RB5 подаються сигнали на дешифратор вибору сегменту семисегментних індикаторів, а з портів RB6-RB7 подаються сигнали на дешифратор вибору одного з чотирьох кристалів семисегментних індикаторів.
Дешифратор дешифратор вибору сегменту семисегментних індикаторів виконан на елементі DD4, а дешифратор вибору одного з чотирьох кристалів семисегментних індикаторів виконан на елементі DD5. Індикація здійснюється за допомогою семисегментних індикаторів HL1-HL4.
Схема електрична функціональна приведена у 0АПЗ37.089164.004Е2.
4. Розрахунок струмів, що споживаються від джерел живлення
Максимальні струми, що споживаються для кажного елемента, визначені на підставі паспортних даних використаних елементів, Максимальні струми, які споживаються елементами, що використовуються
Струм, що споживається пристоєм взагалі, являє собою суму струмів, спожитих окремими елементів:
Iспож. = ? Iспож.ел.+5В = Iспож.PIC16C71 + Iспож.ЛИ1 + Iспож.ЛН1 + Iспож.ИД3 +
+ Iспож.ИД9 + 4*Iспож.АЛ321Б = 25 + 20 + 20 + 30 + 35 + 4*40 = 290 [ma]
Таким чином, по напрузі +5В пристрій споживає струм не більше 300 ma.
Потужність, що споживається пристроєм, розраховується по формулі:
P+5В = 5 * Iспож.+5В = 5 * 300 = 1500 [мВт] = 1,5 [Вт]
Таким чином, потужність, що споживається пристроєм від джерела живлення, складає не більше 1,5 Вт.
5. Розробка програмного забезпечення пристрою
Програмне забезпечення пристрою повинно виконувати наступні функції: введення дискретного сигналу; введення аналогового сигналу; обробка цих сигналів згідно з формулою; видача результату обробки сигналів на вихід у вигляді імпульсної послідовності; індикація за допомогою семисегментних індикаторів. Схема алгоритму програми приведена у Додатку 1
Програма ініціалізації прочинається з адреси 0х00 та виконує:
- очистку ОЗП МК;
- ініціалізацію АЦП;
- ініціалізацію системи переривань МК.
Основна програма роботи починається з адреси 0х100.
В неперервному циклі виконуються наступні процедури:
введення послідовності імпульсів;
введення аналогового сигналу;
виконання розрахунків;
виведення послідовності імпульсів;
індикація.
Для підрахунку частоти дискретних імпульсів заміряється період слудування імпульсів в послідовності. При цьому використовуються 2 8-розрядних регістра RG1 та RG2, які в сумі складають 16-розрядний регістр. Схема алгоритму перетворення частоти F1 приведена у Додатку 2.
Після цього вводиться аналоговий сигнал: спочатку конфігурується АЦП, потім дається дозвіл на переривання от АЦП, далі виконується запуск АЦП та перетворення аналогового сигналу у цифровий. Схема алгоритму перетворення частоти F2 приведена у Додатку 3.
Далі обидві частоти складаються та перетворюються в двійково-десяткове число для виведення на семисегментні індикатори.
Після індикації здійснюється виведення послідовності імпульсів.
При цьому також використовуються 2 8-розрядних регістра NM та NM1, які в сумі складають 16-розрядний регістр.
Повністю текст програми приведено у Додатку 4.
6. Отладка програмного забезпечення
Розробка, отладка та тестування программы виконувалося за допомогою пакету MPASM. За допомогою цього пакету була отлагоджена керуюча програма.
Результати отладки програми приведені у Додатках 5-6.
Висновок
В даному курсовому проекті проведена розробка пристрою “Суматор частот” з наступними характеристиками:
- частота послідовності імпульсів f1на вході пристрою 0,1 - 3200Гц;
- амплітуда пропорціонального аналогового сигналу f2 на вході пристрою 0 - 8В;
- формула обробки цих сигналів: f вих.= f1/6 + f2;
- частота послідовності імпульсів на виході пристрою 0,1 - 3203Гц;
- похибка вимірювань - не меньш ніж 0,05%
- індикація результатів вимірювань - на семисегментних індикаторах;
- потужність, що споживається від джерел живлення - не більше 1,5 Вт.
В процесі розробки був дан опис принципа дії подібних пристроїв, приведені можливі варіанти рішення поставленої задачі, дано обгрунтування вибору структурної схеми пристрою, виконана розробка функціональної схеми, розраховані основні параметри та характеристики, розроблено програмне забезпечення пристрою.
Розробка має навчальний характер.
Перелік використаної літератури
1. Е.П.Угрюмов "Проектирование элементов и узлов ЭВМ". -М.: Высш. шк., 1987.-318с.
2. Г.Р.Аванесян, В.П.Левшин "Интегральные микросхемы ТТЛ, ТТЛШ". Справочник. - М.: Машиностроение., 1993.
3. С.А.Бирюков "Применение интегральных микросхем серии ТТЛ". - М. 1992.
4. Вычислительные устройства на микросхемах: Справочник / В.И.Корнейчук, В.П.Тарасенко, Ю.Н.Мишинский. - К.:Техніка, 1986. -264с. ил.
5. В.В.Скородєлов. Проектування пристроїв на однокристалевих мікроконтролерах з RISC-архітектурою. В 2 кн. Кн. 1. Особливості проектування МКП та архітектура мікроконтролерів PIC: Навчальний посібник.-Харків: ХДПУ, 1999.-120 с.-Рос.мовою.
6. В.В.Скородєлов. Проектування пристроїв на однокристалевих мікроконтролерах з RISC-архітектурою. В 2 кн. Кн. 2. Розробка та відлагодження програм для ОМК PIC: Навчальний посібник.-Харків: ХДПУ, 1999.-127 с.-Рос.мовою.
7. Современные микроконтроллеры: архитектура, средства проектирования, примеры применения, ресурсы сети Интернет. Под ред.Коршуна И.В.; Составление, перевод с английского и литературная обработка Горбунова Б.Б. - Издательство «Аким», 1998.-227 с. с ил.
8. Сташин В.В. и др. Проектирование цифровых устройств на однокристальных микроконтроллерах. -М.: Энергоатомиздат, 1990.-224 с., ил.
9. Корячко В.П. Микропроцессоры и микроЭВМ в радиоэлектронных средствах. -М.: Высш.шк., 1990.- 407 с., ил.
10. Однокристальные микроконтроллеры Microchip: PIC 16C5X. /Пер. с англ. //Под ред. А.Н.Владимирова. - Рига.: ORMIX, 1996.- 120 с., ил.
11. Однокристальные микроконтроллеры Microchip: PIC 16C84. /Пер. с англ. //Под ред. А.Н.Владимирова. - Рига.: ORMIX, 1997.- 120 с., ил.
12. PIC 16/17 Microcontroller Data Book. Microchip Technolology Inc., 1996 October. - 640 с. ил.
13. Микроконтроллеры. Выпуск 1. Однокристальные микроконтроллеры PIC17C4X, PIC17C5X, M3820. - М.: ДОДЭКА, 1998, 384 с.
14. MPASM USER'S GUIDE with MPLINK and MPLIB. Microchip Technology Inc., 1997. - 155 с.
15. http://www.Microchip.com
Додаток 1. Схема алгоритмуроботи пристрою
ТАК
НІ
Лист
АПЗ37.089164.004ПЗ
Изм Лист № документа Підпис Дата
Додаток 2. Схема алгоритму розрахунку частоти F1.
ні
так
ні
так
ні
так
Лист
АПЗ37.089164.004ПЗ
Изм Лист № документа Підпис Дата
Додаток 3. Схема алгоритму розрахунку частоти F2.
Лист
АПЗ37.089164.004ПЗ
Изм Лист № документа Підпис Дата
Додаток 4. Текст програми на асемблері
;Текст программы
LIST p=16F71
title 'A1'
; Программные регистры:
STATUS equ 03
TRISA equ 85
TRISB equ 86
PORTA equ 05
PORTB equ 06
ADCON0 equ 07 ; Регистр управления АЦП
ADRES equ 09 ; Регистр результата преобразования АЦП
INTCON equ 0B ; Регистр управления прерываниями
Dig_1 equ 20 ; Значение тысяч для индикации.
Dig_2 equ 21 ; Значение сотен для индикации.
Dig_3 equ 22 ; Значение десятков для индикации.
Dig_4 equ 23 ; Значение единиц для индикации.
rg1 equ 10 ; Старший байт значения счетчика.
rg2 equ 11 ; Младший байт значения счетчика.
ctr equ 12 ; Счетчик циклов.
dctr1 equ 13 ; счетчик для задержки
dctr2 equ 14 ; счетчик для задержки
U equ 15 ; Десятичное значение единиц.
D equ 16 ; Десятичное значение десятков.
H equ 17 ; Десятичное значение сотен.
M equ 18 ; Десятичное значение тысяч.
PCLATH equ 24 ; Служебные переменные
PCL equ 25
RP0 equ 26
ost equ 27
adr equ 27
mn equ 28
mn1 equ 29
nom equ 30
PR0 equ 31
C equ 32
Z equ 33
org 0x00 ; Вектор сброса.
goto Start
org 0x10
segment ; Таблица преобразования DEC -> семисегментный код.
CLRF PCLATH
ADDWF PCL, F
dt 03F, 006, 05B, 04F, 066, 06D, 07D, 007, 07F, 06F
Start ; Начальная инициализация.
clrf PORTA ; Обнулить порт А.
clrf PORTB ; Обнулить порт В.
bsf STATUS,RP0 ; Обращение к банку 1.
movlw b'01000000'
movwf TRISA ; RA1 - вход
movlw b'00000000'
movwf TRISB ; RB0 - RB7 выходы
bcf STATUS,RP0 ; Обращение к банку 0.
clrf ADCON0 ; Установка порта А0 как аналогового
bcf STATUS,PR0
loop00 clrf Dig_1 ; очистка индикатора
clrf Dig_2
clrf Dig_3
clrf Dig_4
Лист
0АПЗ37.89164.004ПЗ
Ізм Лист № документа Підпис Дата
; Основной цикл программы.
; Ввод дискретных сигналов
loop0 btfsc PORTA, 1 ; ожидание 1 импульса
goto loop0
clrf rg1 ; обнуление счетчика
clrf rg2
movwf ctr
loop1 call delay ; задержка
incf rg1,1 ; инкремент RG1
btfsc INTCON, rg1 ; проверка переполнения
incf rg2,1 ; инкремент RG2
btfsc PORTA, 1 ; ожидание 2 импульса
goto loop1
; ввод аналоговых сигналов
movlw B'11000000' ; Разрешить прерывания от АЦП
movwf INTCON
movlw 0C1H ; Синхронизация АЦП от собств.генератора
movwf ADCON0 ; Разрешить работу АЦП
bcf ADCON0,3 ; Установить входной канал AIN0
bsf ADCON0,2 ; Начать процесс преобразования
a1 btfss ADCON0,2 ; Ждать окончания преобразования
goto a1
bcf ADCON0,1 ; Сброс флага окончания преобразования
call div ; Деление на 6 и сложение частот
call calc ; Вычисление значения для индикации.
call refresh ; Индикация
call out ; Вывод частоты импульсов
goto loop0 ; переход на начало цикла
; Процедура задержки
delay
movlw .06
movwf dctr1
del2 decfsz dctr1, F
goto del2
return
; Процедура индикации.
refresh
movlw 0x0F
movwf PORTB ; погасить все индикаторы
movf Dig_1, W ; Значение тысяч для индикации.
call segment ; Преобразование DEC -> семисегментный код.
movwf PORTB ; Вывод цифры на индикатор.
bcf PORTB,6 ; Активизировать индикатор 1
call delay ; Задержка времени для отображения одного разряда
bsf PORTB,6 ; Отключить индикатор 1
movf Dig_2, W ; Значение сотен для индикации.
call segment ; Преобразование DEC -> семисегментный код.
movwf PORTB ; Вывод цифры на индикатор.
bcf PORTB,7 ; Активизировать индикатор 2
call delay ; Задержка времени для отображения одного разряда
bsf PORTB,7 ; Отключить индикатор 2
movf Dig_3, W ; Значение десятков для индикации.
call segment ; Преобразование DEC -> семисегментный код.
movwf PORTB ; Вывод цифры на индикатор.
Лист
0АПЗ37.89164.004ПЗ
Ізм Лист № документа Підпис Дата
bcf PORTB,6 ; Активизировать индикатор 3
bcf PORTB,7
call delay ; Задержка времени для отображения одного разряда
bsf PORTB,6 ; Отключить индикатор 3
bsf PORTB,7
movf Dig_4, W ; Значение единиц результата для индикации.
call segment ; Преобразование DEC -> семисегментный код.
movwf PORTB ; Вывод цифры на индикатор.
call delay ; Задержка времени для отображения одного разряда
return
; Процедура вычисления значений для индикации
calc ; Преобразование формата: HEX -> DEC.
calc3 movlw 0x03 ; определение тысяч
subwf rg1, W
btfss STATUS, C
goto calc1
btfss STATUS, Z
goto calc2
movlw 0xE8
subwf rg2, W
btfss STATUS, C
goto calc1
calc2
movlw 0xE8
subwf rg1, F
btfss STATUS, C
decf rg2, F
movlw 0x03
subwf rg2, F
incf M, F
goto calc3
calc1
movlw .100 ; определение сотен
subwf rg1, W
btfsc STATUS, C
goto calc22
movf rg2, W
btfsc STATUS, Z
goto calc12
calc22
movlw .100
subwf rg1, F
btfss STATUS, C
decf rg2, F
incf H, F
goto calc1
calc12
movlw .10 ; определение десятков
subwf rg1, W
btfss STATUS, C
goto calc13
movlw .10
subwf rg2, F
incf D, F
goto calc12
calc13
movf rg1, W ; определение единиц
movwf U
movf M, W ; формирование тысяч для инидикации
movwf Dig_1
Лист
0АПЗ37.89164.004ПЗ
Ізм Лист № документа Підпис Дата
movf H, W ; формирование сотен для инидикации
movwf Dig_2
movf D, W ; формирование десятков для инидикации
movwf Dig_3
movf U, W ; формирование единиц для инидикации
movwf Dig_4
return
Процедура деления на 6 и сложения частот
div: movlw 2
clrf ost
movwf rg1
pb1:
swapf rg1,0
andlw 0x0f
swapf ost,1
iorwf ost,1 ; ost - число (делимое) 2 - hex знака
; mn = результат ost = остаток
movlw 0x0f
andwf adr,1
swapf mn,0
andlw 0xf0
iorwf adr,1
pb2:
movf rg2,0
andlw 0x0f
swapf ost,1
iorwf ost,1 ; ost - число (делимое) 2 - hex знака
; mn1 = результат ost = остаток
movlw 0xf0
andwf adr,1
movf mn1,0
iorwf adr,1
decfsz nom,1
goto pb1
movf mn,w ; сложение частот
addwf ADRES,1
return
; Процедура вывода частоты импульсов
out:
bsf PORTB,1 ; Выдача импульса
call delay
bcf PORTB,1
m1 decfsz mn1 ; Декремент mn1
call delay
goto m1 ; Если <>0, то переход на m1
decfsz mn ; Декремент mn
goto m1
return
END
Лист
0АПЗ37.89164.004ПЗ
Ізм Лист № документа Підпис Дата
Висновок
В даному курсовому проекті проведена розробка пристрою “Суматор частот” з наступними характеристиками:
- частота послідовності імпульсів f1на вході пристрою 0,1 - 3200Гц;
- амплітуда пропорціонального аналогового сигналу f2 на вході пристрою 0 - 8В;
- формула обробки цих сигналів: f вих.= f1/6 + f2;
- частота послідовності імпульсів на виході пристрою 0,1 - 3203Гц;
- похибка вимірювань - не меньш ніж 0,05%
- індикація результатів вимірювань - на семисегментних індикаторах;
- потужність, що споживається від джерел живлення - не більше 1,5 Вт.
В процесі розробки був дан опис принципа дії подібних пристроїв, приведені можливі варіанти рішення поставленої задачі, дано обгрунтування вибору структурної схеми пристрою, виконана розробка функціональної схеми, розраховані основні параметри та характеристики, розроблено програмне забезпечення пристрою.
Розробка має навчальний характер.
Лист
0АПЗ37.89164.004ПЗ
Ізм Лист № документа Підпис Дата
Перелік використаної літератури
1. Е.П.Угрюмов "Проектирование элементов и узлов ЭВМ". -М.: Высш. шк., 1987.-318с.
2. Г.Р.Аванесян, В.П.Левшин "Интегральные микросхемы ТТЛ, ТТЛШ". Справочник. - М.: Машиностроение., 1993.
3. С.А.Бирюков "Применение интегральных микросхем серии ТТЛ". - М. 1992.
4. Вычислительные устройства на микросхемах: Справочник / В.И.Корнейчук, В.П.Тарасенко, Ю.Н.Мишинский. - К.:Техніка, 1986. -264с. ил.
5. В.В.Скородєлов. Проектування пристроїв на однокристалевих мікроконтролерах з RISC-архітектурою. В 2 кн. Кн. 1. Особливості проектування МКП та архітектура мікроконтролерів PIC: Навчальний посібник.-Харків: ХДПУ, 1999.-120 с.-Рос.мовою.
6. В.В.Скородєлов. Проектування пристроїв на однокристалевих мікроконтролерах з RISC-архітектурою. В 2 кн. Кн. 2. Розробка та відлагодження програм для ОМК PIC: Навчальний посібник.-Харків: ХДПУ, 1999.-127 с.-Рос.мовою.
7. Современные микроконтроллеры: архитектура, средства проектирования, примеры применения, ресурсы сети Интернет. Под ред.Коршуна И.В.; Составление, перевод с английского и литературная обработка Горбунова Б.Б. - Издательство «Аким», 1998.-227 с. с ил.
8. Сташин В.В. и др. Проектирование цифровых устройств на однокристальных микроконтроллерах. -М.: Энергоатомиздат, 1990.-224 с., ил.
9. Корячко В.П. Микропроцессоры и микроЭВМ в радиоэлектронных средствах. -М.: Высш.шк., 1990.- 407 с., ил.
10. Однокристальные микроконтроллеры Microchip: PIC 16C5X. /Пер. с англ. //Под ред. А.Н.Владимирова. - Рига.: ORMIX, 1996.- 120 с., ил.
11. Однокристальные микроконтроллеры Microchip: PIC 16C84. /Пер. с англ. //Под ред. А.Н.Владимирова. - Рига.: ORMIX, 1997.- 120 с., ил.
12. PIC 16/17 Microcontroller Data Book. Microchip Technolology Inc., 1996 October. - 640 с. ил.
13. Микроконтроллеры. Выпуск 1. Однокристальные микроконтроллеры PIC17C4X, PIC17C5X, M3820. - М.: ДОДЭКА, 1998, 384 с.
14. MPASM USER'S GUIDE with MPLINK and MPLIB. Microchip Technology Inc., 1997. - 155 с.
15. http://www.Microchip.com
Додаток 1. Схема алгоритмуроботи пристрою
ТАК
НІ
Лист
АПЗ37.089164.004ПЗ
Изм Лист № документа Підпис Дата
Додаток 2. Схема алгоритму розрахунку частоти F1.
ні
так
ні
так
ні
так
Лист
АПЗ37.089164.004ПЗ
Изм Лист № документа Підпис Дата
Додаток 3. Схема алгоритму розрахунку частоти F2.
Лист
АПЗ37.089164.004ПЗ
Изм Лист № документа Підпис Дата
Додаток 4. Текст програми на асемблері
;Текст программы
LIST p=16F71
title 'A1'
; Программные регистры:
STATUS equ 03
TRISA equ 85
TRISB equ 86
PORTA equ 05
PORTB equ 06
ADCON0 equ 07 ; Регистр управления АЦП
ADRES equ 09 ; Регистр результата преобразования АЦП
INTCON equ 0B ; Регистр управления прерываниями
Dig_1 equ 20 ; Значение тысяч для индикации.
Dig_2 equ 21 ; Значение сотен для индикации.
Dig_3 equ 22 ; Значение десятков для индикации.
Dig_4 equ 23 ; Значение единиц для индикации.
rg1 equ 10 ; Старший байт значения счетчика.
rg2 equ 11 ; Младший байт значения счетчика.
ctr equ 12 ; Счетчик циклов.
dctr1 equ 13 ; счетчик для задержки
dctr2 equ 14 ; счетчик для задержки
U equ 15 ; Десятичное значение единиц.
D equ 16 ; Десятичное значение десятков.
H equ 17 ; Десятичное значение сотен.
M equ 18 ; Десятичное значение тысяч.
PCLATH equ 24 ; Служебные переменные
PCL equ 25
RP0 equ 26
ost equ 27
adr equ 27
mn equ 28
mn1 equ 29
nom equ 30
PR0 equ 31
C equ 32
Z equ 33
org 0x00 ; Вектор сброса.
goto Start
org 0x10
segment ; Таблица преобразования DEC -> семисегментный код.
CLRF PCLATH
ADDWF PCL, F
dt 03F, 006, 05B, 04F, 066, 06D, 07D, 007, 07F, 06F
Start ; Начальная инициализация.
clrf PORTA ; Обнулить порт А.
clrf PORTB ; Обнулить порт В.
bsf STATUS,RP0 ; Обращение к банку 1.
movlw b'01000000'
movwf TRISA ; RA1 - вход
movlw b'00000000'
movwf TRISB ; RB0 - RB7 выходы
bcf STATUS,RP0 ; Обращение к банку 0.
clrf ADCON0 ; Установка порта А0 как аналогового
bcf STATUS,PR0
oop00 clrf Dig_1 ; очистка индикатора
clrf Dig_2
clrf Dig_3
clrf Dig_4
Лист
0АПЗ37.89164.004ПЗ
Ізм Лист № документа Підпис Дата
; Основной цикл программы.
; Ввод дискретных сигналов
loop0 btfsc PORTA, 1 ; ожидание 1 импульса
goto loop0
clrf rg1 ; обнуление счетчика
clrf rg2
movwf ctr
loop1 call delay ; задержка
incf rg1,1 ; инкремент RG1
btfsc INTCON, rg1 ; проверка переполнения
incf rg2,1 ; инкремент RG2
btfsc PORTA, 1 ; ожидание 2 импульса
goto loop1
; ввод аналоговых сигналов
movlw B'11000000' ; Разрешить прерывания от АЦП
movwf INTCON
movlw 0C1H ; Синхронизация АЦП от собств.генератора
movwf ADCON0 ; Разрешить работу АЦП
bcf ADCON0,3 ; Установить входной канал AIN0
bsf ADCON0,2 ; Начать процесс преобразования
a1 btfss ADCON0,2 ; Ждать окончания преобразования
goto a1
bcf ADCON0,1 ; Сброс флага окончания преобразования
call div ; Деление на 6 и сложение частот
call calc ; Вычисление значения для индикации.
call refresh ; Индикация
call out ; Вывод частоты импульсов
goto loop0 ; переход на начало цикла
; Процедура задержки
delay
movlw .06
movwf dctr1
del2 decfsz dctr1, F
goto del2
return
; Процедура индикации.
refresh
movlw 0x0F
movwf PORTB ; погасить все индикаторы
movf Dig_1, W ; Значение тысяч для индикации.
call segment ; Преобразование DEC -> семисегментный код.
movwf PORTB ; Вывод цифры на индикатор.
bcf PORTB,6 ; Активизировать индикатор 1
call delay ; Задержка времени для отображения одного разряда
bsf PORTB,6 ; Отключить индикатор 1
movf Dig_2, W ; Значение сотен для индикации.
call segment ; Преобразование DEC -> семисегментный код.
movwf PORTB ; Вывод цифры на индикатор.
bcf PORTB,7 ; Активизировать индикатор 2
call delay ; Задержка времени для отображения одного разряда
bsf PORTB,7 ; Отключить индикатор 2
movf Dig_3, W ; Значение десятков для индикации.
call segment ; Преобразование DEC -> семисегментный код.
movwf PORTB ; Вывод цифры на индикатор.
Лист
0АПЗ37.89164.004ПЗ
Ізм Лист № документа Підпис Дата
bcf PORTB,6 ; Активизировать индикатор 3
bcf PORTB,7
call delay ; Задержка времени для отображения одного разряда
bsf PORTB,6 ; Отключить индикатор 3
bsf PORTB,7
movf Dig_4, W ; Значение единиц результата для индикации.
call segment ; Преобразование DEC -> семисегментный код.
movwf PORTB ; Вывод цифры на индикатор.
call delay ; Задержка времени для отображения одного разряда
return
; Процедура вычисления значений для индикации
calc ; Преобразование формата: HEX -> DEC.
calc3 movlw 0x03 ; определение тысяч
subwf rg1, W
btfss STATUS, C
goto calc1
btfss STATUS, Z
goto calc2
movlw 0xE8
subwf rg2, W
btfss STATUS, C
goto calc1
calc2
movlw 0xE8
subwf rg1, F
btfss STATUS, C
decf rg2, F
movlw 0x03
subwf rg2, F
incf M, F
goto calc3
calc1
movlw .100 ; определение сотен
subwf rg1, W
btfsc STATUS, C
goto calc22
movf rg2, W
btfsc STATUS, Z
goto calc12
calc22
movlw .100
subwf rg1, F
btfss STATUS, C
decf rg2, F
incf H, F
goto calc1
calc12
movlw .10 ; определение десятков
subwf rg1, W
btfss STATUS, C
goto calc13
movlw .10
subwf rg2, F
incf D, F
goto calc12
calc13
movf rg1, W ; определение единиц
movwf U
movf M, W ; формирование тысяч для инидикации
movwf Dig_1
Лист
0АПЗ37.89164.004ПЗ
Ізм Лист № документа Підпис Дата
movf H, W ; формирование сотен для инидикации
movwf Dig_2
movf D, W ; формирование десятков для инидикации
movwf Dig_3
movf U, W ; формирование единиц для инидикации
movwf Dig_4
return
Процедура деления на 6 и сложения частот
div: movlw 2
clrf ost
movwf rg1
pb1:
swapf rg1,0
andlw 0x0f
swapf ost,1
iorwf ost,1 ; ost - число (делимое) 2 - hex знака
; mn = результат ost = остаток
movlw 0x0f
andwf adr,1
swapf mn,0
andlw 0xf0
iorwf adr,1
pb2:
movf rg2,0
andlw 0x0f
swapf ost,1
iorwf ost,1 ; ost - число (делимое) 2 - hex знака
; mn1 = результат ost = остаток
movlw 0xf0
andwf adr,1
movf mn1,0
iorwf adr,1
decfsz nom,1
goto pb1
movf mn,w ; сложение частот
addwf ADRES,1
return
; Процедура вывода частоты импульсов
out:
bsf PORTB,1 ; Выдача импульса
call delay
bcf PORTB,1
m1 decfsz mn1 ; Декремент mn1
call delay
goto m1 ; Если <>0, то переход на m1
decfsz mn ; Декремент mn
goto m1
return
END
Лист
0АПЗ37.89164.004ПЗ
Ізм Лист № документа Підпис Дата
Висновок
В даному курсовому проекті проведена розробка пристрою “Суматор частот” з наступними характеристиками:
- частота послідовності імпульсів f1на вході пристрою 0,1 - 3200Гц;
- амплітуда пропорціонального аналогового сигналу f2 на вході пристрою 0 - 8В;
- формула обробки цих сигналів: f вих.= f1/6 + f2;
- частота послідовності імпульсів на виході пристрою 0,1 - 3203Гц;
- похибка вимірювань - не меньш ніж 0,05%
- індикація результатів вимірювань - на семисегментних індикаторах;
- потужність, що споживається від джерел живлення - не більше 1,5 Вт.
В процесі розробки був дан опис принципа дії подібних пристроїв, приведені можливі варіанти рішення поставленої задачі, дано обгрунтування вибору структурної схеми пристрою, виконана розробка функціональної схеми, розраховані основні параметри та характеристики, розроблено програмне забезпечення пристрою.
Розробка має навчальний характер.
Лист
0АПЗ37.89164.004ПЗ
Ізм Лист № документа Підпис Дата
частота суматор метод струм
Перелік використаної літератури
1. Е.П.Угрюмов "Проектирование элементов и узлов ЭВМ". -М.: Высш. шк., 1987.-318с.
2. Г.Р.Аванесян, В.П.Левшин "Интегральные микросхемы ТТЛ, ТТЛШ". Справочник. - М.: Машиностроение., 1993.
3. С.А.Бирюков "Применение интегральных микросхем серии ТТЛ". - М. 1992.
4. Вычислительные устройства на микросхемах: Справочник / В.И.Корнейчук, В.П.Тарасенко, Ю.Н.Мишинский. - К.:Техніка, 1986. -264с. ил.
5. В.В.Скородєлов. Проектування пристроїв на однокристалевих мікроконтролерах з RISC-архітектурою. В 2 кн. Кн. 1. Особливості проектування МКП та архітектура мікроконтролерів PIC: Навчальний посібник.-Харків: ХДПУ, 1999.-120 с.-Рос.мовою.
6. В.В.Скородєлов. Проектування пристроїв на однокристалевих мікроконтролерах з RISC-архітектурою. В 2 кн. Кн. 2. Розробка та відлагодження програм для ОМК PIC: Навчальний посібник.-Харків: ХДПУ, 1999.-127 с.-Рос.мовою.
7. Современные микроконтроллеры: архитектура, средства проектирования, примеры применения, ресурсы сети Интернет. Под ред.Коршуна И.В.; Составление, перевод с английского и литературная обработка Горбунова Б.Б. - Издательство «Аким», 1998.-227 с. с ил.
8. Сташин В.В. и др. Проектирование цифровых устройств на однокристальных микроконтроллерах. -М.: Энергоатомиздат, 1990.-224 с., ил.
9. Корячко В.П. Микропроцессоры и микроЭВМ в радиоэлектронных средствах. -М.: Высш.шк., 1990.- 407 с., ил.
10. Однокристальные микроконтроллеры Microchip: PIC 16C5X. /Пер. с англ. //Под ред. А.Н.Владимирова. - Рига.: ORMIX, 1996.- 120 с., ил.
11. Однокристальные микроконтроллеры Microchip: PIC 16C84. /Пер. с англ. //Под ред. А.Н.Владимирова. - Рига.: ORMIX, 1997.- 120 с., ил.
12. PIC 16/17 Microcontroller Data Book. Microchip Technolology Inc., 1996 October. - 640 с. ил.
13. Микроконтроллеры. Выпуск 1. Однокристальные микроконтроллеры PIC17C4X, PIC17C5X, M3820. - М.: ДОДЭКА, 1998, 384 с.
14. MPASM USER'S GUIDE with MPLINK and MPLIB. Microchip Technology Inc., 1997. - 155 с.
15. http://www.Microchip.com
Додаток 1. Схема алгоритмуроботи пристрою
ТАК
НІ
Лист
АПЗ37.089164.004ПЗ
Изм Лист № документа Підпис Дата
Додаток 2. Схема алгоритму розрахунку частоти F1.
ні
так
ні
так
ні
так
Лист
АПЗ37.089164.004ПЗ
Изм Лист № документа Підпис Дата
Додаток 3. Схема алгоритму розрахунку частоти F2.
Лист
АПЗ37.089164.004ПЗ
Изм Лист № документа Підпис Дата
Додаток 4. Текст програми на асемблері
;Текст программы
LIST p=16F71
title 'A1'
; Программные регистры:
STATUS equ 03
TRISA equ 85
TRISB equ 86
PORTA equ 05
PORTB equ 06
ADCON0 equ 07 ; Регистр управления АЦП
ADRES equ 09 ; Регистр результата преобразования АЦП
INTCON equ 0B ; Регистр управления прерываниями
Dig_1 equ 20 ; Значение тысяч для индикации.
Dig_2 equ 21 ; Значение сотен для индикации.
Dig_3 equ 22 ; Значение десятков для индикации.
Dig_4 equ 23 ; Значение единиц для индикации.
rg1 equ 10 ; Старший байт значения счетчика.
rg2 equ 11 ; Младший байт значения счетчика.
ctr equ 12 ; Счетчик циклов.
dctr1 equ 13 ; счетчик для задержки
dctr2 equ 14 ; счетчик для задержки
U equ 15 ; Десятичное значение единиц.
D equ 16 ; Десятичное значение десятков.
H equ 17 ; Десятичное значение сотен.
M equ 18 ; Десятичное значение тысяч.
PCLATH equ 24 ; Служебные переменные
PCL equ 25
RP0 equ 26
ost equ 27
adr equ 27
mn equ 28
mn1 equ 29
nom equ 30
PR0 equ 31
C equ 32
Z equ 33
org 0x00 ; Вектор сброса.
goto Start
org 0x10
segment ; Таблица преобразования DEC -> семисегментный код.
CLRF PCLATH
ADDWF PCL, F
dt 03F, 006, 05B, 04F, 066, 06D, 07D, 007, 07F, 06F
Start ; Начальная инициализация.
clrf PORTA ; Обнулить порт А.
clrf PORTB ; Обнулить порт В.
bsf STATUS,RP0 ; Обращение к банку 1.
movlw b'01000000'
movwf TRISA ; RA1 - вход
movlw b'00000000'
movwf TRISB ; RB0 - RB7 выходы
bcf STATUS,RP0 ; Обращение к банку 0.
clrf ADCON0 ; Установка порта А0 как аналогового
bcf STATUS,PR0
loop00 clrf Dig_1 ; очистка индикатора
clrf Dig_2
clrf Dig_3
clrf Dig_4
; Основной цикл программы.
; Ввод дискретных сигналов
loop0 btfsc PORTA, 1 ; ожидание 1 импульса
goto loop0
clrf rg1 ; обнуление счетчика
clrf rg2
movwf ctr
loop1 call delay ; задержка
incf rg1,1 ; инкремент RG1
btfsc INTCON, rg1 ; проверка переполнения
incf rg2,1 ; инкремент RG2
btfsc PORTA, 1 ; ожидание 2 импульса
goto loop1
; ввод аналоговых сигналов
movlw B'11000000' ; Разрешить прерывания от АЦП
movwf INTCON
movlw 0C1H ; Синхронизация АЦП от собств.генератора
movwf ADCON0 ; Разрешить работу АЦП
bcf ADCON0,3 ; Установить входной канал AIN0
bsf ADCON0,2 ; Начать процесс преобразования
a1 btfss ADCON0,2 ; Ждать окончания преобразования
goto a1
bcf ADCON0,1 ; Сброс флага окончания преобразования
call div ; Деление на 6 и сложение частот
call calc ; Вычисление значения для индикации.
call refresh ; Индикация
call out ; Вывод частоты импульсов
goto loop0 ; переход на начало цикла
; Процедура задержки
delay
movlw .06
movwf dctr1
del2 decfsz dctr1, F
goto del2
return
; Процедура индикации.
refresh
movlw 0x0F
movwf PORTB ; погасить все индикаторы
movf Dig_1, W ; Значение тысяч для индикации.
call segment ; Преобразование DEC -> семисегментный код.
movwf PORTB ; Вывод цифры на индикатор.
bcf PORTB,6 ; Активизировать индикатор 1
call delay ; Задержка времени для отображения одного разряда
bsf PORTB,6 ; Отключить индикатор 1
movf Dig_2, W ; Значение сотен для индикации.
call segment ; Преобразование DEC -> семисегментный код.
movwf PORTB ; Вывод цифры на индикатор.
bcf PORTB,7 ; Активизировать индикатор 2
call delay ; Задержка времени для отображения одного разряда
bsf PORTB,7 ; Отключить индикатор 2
movf Dig_3, W ; Значение десятков для индикации.
call segment ; Преобразование DEC -> семисегментный код.
movwf PORTB ; Вывод цифры на индикатор.
bcf PORTB,6 ; Активизировать индикатор 3
bcf PORTB,7
call delay ; Задержка времени для отображения одного разряда
bsf PORTB,6 ; Отключить индикатор 3
bsf PORTB,7
movf Dig_4, W ; Значение единиц результата для индикации.
call segment ; Преобразование DEC -> семисегментный код.
movwf PORTB ; Вывод цифры на индикатор.
call delay ; Задержка времени для отображения одного разряда
return
; Процедура вычисления значений для индикации
calc ; Преобразование формата: HEX -> DEC.
calc3 movlw 0x03 ; определение тысяч
subwf rg1, W
btfss STATUS, C
goto calc1
btfss STATUS, Z
goto calc2
movlw 0xE8
subwf rg2, W
btfss STATUS, C
goto calc1
calc2
movlw 0xE8
subwf rg1, F
btfss STATUS, C
decf rg2, F
movlw 0x03
subwf rg2, F
incf M, F
goto calc3
calc1
movlw .100 ; определение сотен
subwf rg1, W
btfsc STATUS, C
goto calc22
movf rg2, W
btfsc STATUS, Z
goto calc12
calc22
movlw .100
subwf rg1, F
btfss STATUS, C
decf rg2, F
incf H, F
goto calc1
calc12
movlw .10 ; определение десятков
subwf rg1, W
btfss STATUS, C
goto calc13
movlw .10
subwf rg2, F
incf D, F
goto calc12
calc13
movf rg1, W ; определение единиц
movwf U
movf M, W ; формирование тысяч для инидикации
movwf Dig_1
movf H, W ; формирование сотен для инидикации
movwf Dig_2
movf D, W ; формирование десятков для инидикации
movwf Dig_3
movf U, W ; формирование единиц для инидикации
movwf Dig_4
return
Процедура деления на 6 и сложения частот
div: movlw 2
clrf ost
movwf rg1
pb1:
swapf rg1,0
andlw 0x0f
swapf ost,1
iorwf ost,1 ; ost - число (делимое) 2 - hex знака
; mn = результат ost = остаток
movlw 0x0f
andwf adr,1
swapf mn,0
andlw 0xf0
iorwf adr,1
pb2:
movf rg2,0
andlw 0x0f
swapf ost,1
iorwf ost,1 ; ost - число (делимое) 2 - hex знака
; mn1 = результат ost = остаток
movlw 0xf0
andwf adr,1
movf mn1,0
iorwf adr,1
decfsz nom,1
goto pb1
movf mn,w ; сложение частот
addwf ADRES,1
return
; Процедура вывода частоты импульсов
out:
bsf PORTB,1 ; Выдача импульса
call delay
bcf PORTB,1
m1 decfsz mn1 ; Декремент mn1
call delay
goto m1 ; Если <>0, то переход на m1
decfsz mn ; Декремент mn
goto m1
return
END
Висновок
В даному курсовому проекті проведена розробка пристрою “Суматор частот” з наступними характеристиками:
- частота послідовності імпульсів f1на вході пристрою 0,1 - 3200Гц;
- амплітуда пропорціонального аналогового сигналу f2 на вході пристрою 0 - 8В;
- формула обробки цих сигналів: f вих.= f1/6 + f2;
- частота послідовності імпульсів на виході пристрою 0,1 - 3203Гц;
- похибка вимірювань - не меньш ніж 0,05%
- індикація результатів вимірювань - на семисегментних індикаторах;
- потужність, що споживається від джерел живлення - не більше 1,5 Вт.
В процесі розробки був дан опис принципа дії подібних пристроїв, приведені можливі варіанти рішення поставленої задачі, дано обгрунтування вибору структурної схеми пристрою, виконана розробка функціональної схеми, розраховані основні параметри та характеристики, розроблено програмне забезпечення пристрою.
Розробка має навчальний характер.
Перелік використаної літератури
1. Е.П.Угрюмов "Проектирование элементов и узлов ЭВМ". -М.: Высш. шк., 1987.-318с.
2. Г.Р.Аванесян, В.П.Левшин "Интегральные микросхемы ТТЛ, ТТЛШ". Справочник. - М.: Машиностроение., 1993.
3. С.А.Бирюков "Применение интегральных микросхем серии ТТЛ". - М. 1992.
4. Вычислительные устройства на микросхемах: Справочник / В.И.Корнейчук, В.П.Тарасенко, Ю.Н.Мишинский. - К.:Техніка, 1986. -264с. ил.
5. В.В.Скородєлов. Проектування пристроїв на однокристалевих мікроконтролерах з RISC-архітектурою. В 2 кн. Кн. 1. Особливості проектування МКП та архітектура мікроконтролерів PIC: Навчальний посібник.-Харків: ХДПУ, 1999.-120 с.-Рос.мовою.
6. В.В.Скородєлов. Проектування пристроїв на однокристалевих мікроконтролерах з RISC-архітектурою. В 2 кн. Кн. 2. Розробка та відлагодження програм для ОМК PIC: Навчальний посібник.-Харків: ХДПУ, 1999.-127 с.-Рос.мовою.
7. Современные микроконтроллеры: архитектура, средства проектирования, примеры применения, ресурсы сети Интернет. Под ред.Коршуна И.В.; Составление, перевод с английского и литературная обработка Горбунова Б.Б. - Издательство «Аким», 1998.-227 с. с ил.
8. Сташин В.В. и др. Проектирование цифровых устройств на однокристальных микроконтроллерах. -М.: Энергоатомиздат, 1990.-224 с., ил.
9. Корячко В.П. Микропроцессоры и микроЭВМ в радиоэлектронных средствах. -М.: Высш.шк., 1990.- 407 с., ил.
10. Однокристальные микроконтроллеры Microchip: PIC 16C5X. /Пер. с англ. //Под ред. А.Н.Владимирова. - Рига.: ORMIX, 1996.- 120 с., ил.
11. Однокристальные микроконтроллеры Microchip: PIC 16C84. /Пер. с англ. //Под ред. А.Н.Владимирова. - Рига.: ORMIX, 1997.- 120 с., ил.
12. PIC 16/17 Microcontroller Data Book. Microchip Technolology Inc., 1996 October. - 640 с. ил.
13. Микроконтроллеры. Выпуск 1. Однокристальные микроконтроллеры PIC17C4X, PIC17C5X, M3820. - М.: ДОДЭКА, 1998, 384 с.
14. MPASM USER'S GUIDE with MPLINK and MPLIB. Microchip Technology Inc., 1997. - 155 с.
15. http://www.Microchip.com
Додаток 1. Схема алгоритмуроботи пристрою
ТАК
НІ
Додаток 2. Схема алгоритму розрахунку частоти F1.
ні
так
ні
так
ні
так
Додаток 3. Схема алгоритму розрахунку частоти F2.
Лист
АПЗ37.089164.004ПЗ
Изм Лист № документа Підпис Дата
Додаток 4. Текст програми на асемблері
;Текст программы
LIST p=16F71
title 'A1'
; Программные регистры:
STATUS equ 03
TRISA equ 85
TRISB equ 86
PORTA equ 05
PORTB equ 06
ADCON0 equ 07 ; Регистр управления АЦП
ADRES equ 09 ; Регистр результата преобразования АЦП
INTCON equ 0B ; Регистр управления прерываниями
Dig_1 equ 20 ; Значение тысяч для индикации.
Dig_2 equ 21 ; Значение сотен для индикации.
Dig_3 equ 22 ; Значение десятков для индикации.
Dig_4 equ 23 ; Значение единиц для индикации.
rg1 equ 10 ; Старший байт значения счетчика.
rg2 equ 11 ; Младший байт значения счетчика.
ctr equ 12 ; Счетчик циклов.
dctr1 equ 13 ; счетчик для задержки
dctr2 equ 14 ; счетчик для задержки
U equ 15 ; Десятичное значение единиц.
D equ 16 ; Десятичное значение десятков.
H equ 17 ; Десятичное значение сотен.
M equ 18 ; Десятичное значение тысяч.
PCLATH equ 24 ; Служебные переменные
PCL equ 25
RP0 equ 26
ost equ 27
adr equ 27
mn equ 28
mn1 equ 29
nom equ 30
PR0 equ 31
C equ 32
Z equ 33
org 0x00 ; Вектор сброса.
goto Start
org 0x10
segment ; Таблица преобразования DEC -> семисегментный код.
CLRF PCLATH
ADDWF PCL, F
dt 03F, 006, 05B, 04F, 066, 06D, 07D, 007, 07F, 06F
Start ; Начальная инициализация.
clrf PORTA ; Обнулить порт А.
clrf PORTB ; Обнулить порт В.
bsf STATUS,RP0 ; Обращение к банку 1.
movlw b'01000000'
movwf TRISA ; RA1 - вход
movlw b'00000000'
movwf TRISB ; RB0 - RB7 выходы
bcf STATUS,RP0 ; Обращение к банку 0.
clrf ADCON0 ; Установка порта А0 как аналогового
bcf STATUS,PR0
loop00 clrf Dig_1 ; очистка индикатора
clrf Dig_2
clrf Dig_3
clrf Dig_4
; Основной цикл программы.
; Ввод дискретных сигналов
loop0 btfsc PORTA, 1 ; ожидание 1 импульса
goto loop0
clrf rg1 ; обнуление счетчика
clrf rg2
movwf ctr
loop1 call delay ; задержка
incf rg1,1 ; инкремент RG1
btfsc INTCON, rg1 ; проверка переполнения
incf rg2,1 ; инкремент RG2
btfsc PORTA, 1 ; ожидание 2 импульса
goto loop1
; ввод аналоговых сигналов
movlw B'11000000' ; Разрешить прерывания от АЦП
movwf INTCON
movlw 0C1H ; Синхронизация АЦП от собств.генератора
movwf ADCON0 ; Разрешить работу АЦП
bcf ADCON0,3 ; Установить входной канал AIN0
bsf ADCON0,2 ; Начать процесс преобразования
a1 btfss ADCON0,2 ; Ждать окончания преобразования
goto a1
bcf ADCON0,1 ; Сброс флага окончания преобразования
call div ; Деление на 6 и сложение частот
call calc ; Вычисление значения для индикации.
call refresh ; Индикация
call out ; Вывод частоты импульсов
goto loop0 ; переход на начало цикла
; Процедура задержки
delay
movlw .06
movwf dctr1
del2 decfsz dctr1, F
goto del2
return
Процедура индикации.
refresh
movlw 0x0F
movwf PORTB ; погасить все индикаторы
movf Dig_1, W ; Значение тысяч для индикации.
call segment ; Преобразование DEC -> семисегментный код.
movwf PORTB ; Вывод цифры на индикатор.
bcf PORTB,6 ; Активизировать индикатор 1
call delay ; Задержка времени для отображения одного разряда
bsf PORTB,6 ; Отключить индикатор 1
movf Dig_2, W ; Значение сотен для индикации.
call segment ; Преобразование DEC -> семисегментный код.
movwf PORTB ; Вывод цифры на индикатор.
bcf PORTB,7 ; Активизировать индикатор 2
call delay ; Задержка времени для отображения одного разряда
bsf PORTB,7 ; Отключить индикатор 2
movf Dig_3, W ; Значение десятков для индикации.
call segment ; Преобразование DEC -> семисегментный код.
movwf PORTB ; Вывод цифры на индикатор.
bcf PORTB,6 ; Активизировать индикатор 3
bcf PORTB,7
call delay ; Задержка времени для отображения одного разряда
bsf PORTB,6 ; Отключить индикатор 3
Подобные документы
Розрахунок інвертуючого суматора. Розробка структурної схеми. Вибір операційного підсилювача. Розрахунок однофазного випрямляча малої потужності з інтегральним стабілізатором напруги. Моделювання пристрою в середовищі програми Electronics Workbench.
курсовая работа [570,8 K], добавлен 09.04.2013Дослідження поняття "синтезатор частоти" - електронного пристрою, здатного формувати з опорної частоти на виході необхідну частоту (набір частот), згідно управляючим сигналам. Структура DDS. Прямий цифровий синтезатор на основі накопичувального суматора.
контрольная работа [185,1 K], добавлен 12.11.2010Розподіл діапазону частот приймача на піддіапазони. Розрахунок смуги пропуску фільтра зосередженої селекції останньої проміжної частоти. Узгодження вхідного пристрою з антеною. Розрахунок кількості перетворень та номіналів проміжних частот тракту.
контрольная работа [169,6 K], добавлен 05.02.2015Розрахунок однотактного та двотактного трансформаторних підсилювачів потужності на біполярному транзисторі. Розрахунок схеми узгодження, потужності колекторного кола, блоку живлення підсилювача звукових частот з потужним виходом. Вибір радіатора.
курсовая работа [857,0 K], добавлен 10.01.2015Розрахунок розподілу діапазону частот на піддіапазони, смуги пропуску фільтра зосередженої селекції останньої проміжної частоти. Розрахунок кількості перетворень та номіналів проміжних частот тракту ПЧ. Забезпечення подавлення неосновних каналів прийому.
курсовая работа [308,4 K], добавлен 05.02.2015Структурна схема підсилювача звукових частот, технічні характеристики та параметри аналогової мікросхеми серії КР119. Розробка електричної принципової схеми двокаскадного підсилювача, розрахунок вихідного каскаду, вибір елементів блоку живлення.
реферат [1,0 M], добавлен 10.06.2011Висновок про доцільність розробки світлодіодного годинника. Годинникові механізми, класифікація годинників. Обґрунтування схеми пристрою. Вибір мікроконтролера та огляд його архітектури. Вибір додаткових пристроїв. Розробка програмного забезпечення.
дипломная работа [3,0 M], добавлен 23.09.2014Доцільність розробки світлодіодного годинника. Історія годинника, годинникові механізми. Сонячні, водяні, пісочні, вогняні, механічні та електронні годинники. Вибір та обґрунтування схеми пристрою. Вибір мікроконтролера. Розробка програмного забезпечення.
дипломная работа [3,1 M], добавлен 11.07.2014Вибір проміжної частоти і типу підсилювача проміжної частоти. Розрахунок смуги пропускання радіоприймального пристрою та розподілу її між окремими блоками. Розрахунок граничної чутливості радіоприймального пристрою та вибір типу схеми перших каскадів.
курсовая работа [222,6 K], добавлен 21.05.2014Обґрунтування достатності апаратних засобів та програмних ресурсів. Розподіл функцій пристрою між вузлами мікропроцесору. Проектування принципової схеми пристрою, формування тактових імпульсів. Програмне забезпечення мікропроцесора, лістинг програми.
курсовая работа [1,9 M], добавлен 16.09.2010