Електронний секундомір

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Зміст
Введення
1. Вибір технічних вимог до пристрою
1.1 Діапазон вимірювання часу
1.2 Дозвіл індикації
1.3 Похибка відліків часу
1.4 Вимоги до живлення пристрою
1.5 Вимоги до функціональних можливостей
2. Розробка структурної схеми пристрою
3. Розробка принципової електричної схеми
4. Розробка алгоритму роботи керуючої програми
5. Розробка керуючої програми
Висновок
Список використаної літератури
Додаток

Введення
В даний час випускається ряд серій однокристальних мікро-ЕОМ, призначених для використання у побутовій радіоелектронної апаратури. Застосування однокристальних мікро-ЕОМ, що реалізують на одній ВІС функції введення-виведення, зберігання та обробки даних, дозволяє досягати максимальної простоти і дешевизни систем управління.
PIC16F628 - це 8-pазpядная мікроконтролери з RISC архітектурою, вироблені фірмою Microchip Technology. Це сімейство мікроконтролерів відрізняється низькою ціною, низьким енергоспоживанням і високою швидкістю. Мікроконтролери мають вбудоване ЕППЗУ програми і ОЗУ даних.
Серія PIC16F628 підходить для широкого спектру додатків від схем високошвидкісного керування автомобільними й електричними двигунами до економічних приймачів, приладів, що показують і зв'язкових процесорів. Наявність ПЗУ дозволяє підлаштовувати параметри в прикладних програмах (коди передавача, швидкості двигуна, частоти приймача і т.д.). Малі розміри корпусів, як для звичайного, так і для поверхневого монтажу, робить цю серію мікроконтролерів придатної для портативних додатків. Низька ціна, економічність, швидкодія, простота використання і гнучкість введення / виводу робить серію PIC16F628 привабливою навіть в тих областях, де раніше не застосовувалися мікроконтролери. Наприклад, таймери, заміна жорсткої логіки у великих системах, співпроцесори.
У даній курсовій роботі на базі PIC-контролера реалізується цифровий секундомір.

1. Вибір технічних вимог до пристрою
У пункті вибір технічних вимог до пристрою потрібно розглянути призначення обладнання, умови його роботи, задані параметри технічного завдання, можливості пристрою. Виходячи з вимог розглянутих у цьому пункті, будемо надалі проектувати заданий пристрій.
1.1 Діапазон вимірювання часу
Відповідно до технічного завдання, в даній курсовій роботі, необхідно розробити цифровий секундомір з діапазоном вимірювання часу від 0 до 10 хв, на базі мікроконтролера PIC16F628.
1.2 Дозвіл індикації
Для відображення вимірюваного часу будемо використовувати цифробуквене індикатор, за умовою технічного завдання який повинен відображати хвилини, секунди, десяті частки секунди. Тоді не складно припустити, що для відображення десятих часток секунди потрібно один цифробуквене індикатор, шкала зміни цифр у якому від 0 до 9. Для відображення секунд - два індикатори, перший, що відображає секунди, буде мати шкалу від 0 до 9, другий, що показує десятки секунд, буде мати шкалу від 0 до 5. Для відображення хвилин можна використовувати як два індикатори, так і один, що пов'язано з межею вимірювання 10 хв. Так як більша кількість індикаторів ускладнить пристрій, зажадає великих витрат на харчування, а ми проектуємо переносний секундомір, виберемо для відображення хвилин один індикатор, шкала зміни цифр якого повинна бути від 0 до 9. Таким чином, мінімальне значення, яке відображає індикатор - 0.1 сек. І саме через такі проміжки часу, кратні 0.1, будуть мінятися цифри на всіх індикаторах. Всього у нашого пристрою буде чотири цифробуквене індикатора. Уявімо загальний вигляд всього цифробуквене індикатора на рис. 1.2

Рис. 1.2 Загальний вигляд цифробуквене індикатора
1.3 Похибка відліків часу
Мікроконтролер PIC16F628 може працювати в одному з восьми режимів тактового генератора. Виходячи з того, що проектований секундомір переносний, необхідно раціонально витрачати енергію харчування, виберемо режим з низькочастотним кварцовим резонатором (режим LP), оскільки із зменшенням частоти зменшується потреба тактового генератора в енергії харчування. При виборі конкретної частоти кварцового резонатора необхідно врахувати, що час машинного циклу повинна бути значно вище роздільної здатності індикації тобто нижче 0,1 с.
1.4 Вимоги до живлення пристрою
В якості харчування для проектованого секундоміра будемо використовувати джерело постійної напруги, а саме - гальванічне харчування. Відповідно з частотою роботи кварцового резонатора і за характеристиками мікроконтролера буде здійснюватися вибір, найбільш прийнятного, значення харчування.
1.5. Вимоги до функціональних можливостей
Проектований секундомір повинен бути функціональним, і в той же час простим у використанні. Мінімально необхідний набір кнопок повинен включати кнопки «пуск», «стоп», «скидання», функціональні можливості кнопок можуть бути використані в одній універсальної кнопки, з почерговим виконанням операцій, або за кожну операцію буде відповідати одна кнопка.

2. Розробка структурної схеми пристрою.
При розробці структурної схеми цифрового секундоміра будемо виходити з призначення пристрою, умов його роботи, заданих параметрів і технічних вимог до пристрою
Структурна схема сучасного секундоміра визначається основними вимогами: точність вимірювання, стабільністю харчування, економією енергії харчування, зручності користування. Складемо структурну (укрупнену) схему цифрового секундоміра.

Рис 2.1 Структурна схема цифрового секундоміра
Основним завданням розв'язуваної при складанні структурної схеми є визначення, і раціональне поєднання блоків пристрої, які підключаються до мікроконтролера.
Проектований секундомір містить наступні вузли:
1 Кварцовий резонатор з частотою fкв, працює як тактирующие пристрій мікроконтролера. Резонатор забезпечує найбільш зручну, відповідну частоту тактового генератора.
2 Кнопка, яка з почерговим, одноразовим натисканням буде виконувати три функції "Пуск / Стоп / Скидання".
3 МК - мікроконтролер PIC16F628 за вимогами ТЗ.
4 БП - блок живлення, що забезпечує: харчування мікроконтролера, харчування світлових індикаторів, харчування акустичної індикації, а також пов'язаний з кнопкою управління.
5 Індикатор - семисегментний індикатори (CIS) широко використовуються для відображення цифрової та символьної інформації. Сім відображають елементів дозволяють висвічувати десяткові та шістнадцяткові цифри, а також деякі спеціальні знаки. Структура ССІ показана на рис. 2.2. Для засвічення одного сегмента більшості типів ССІ необхідно забезпечити протікання через сегмент струму 10-25 мА. У нашому випадку потрібно чотири ССІ.

Рис. 2.2 семисегментний індикатор: а-топологія сегментів; б, в-принципові схеми
6 Акустична індикація являє собою наступне, подається імпульс запуску на кнопку, який відразу надходить на звукову індикацію, оповіщаючи цим початок рахунку.
Для того щоб реалізувати даний секундомір на мікроконтролері PIC16F628, необхідно організувати цикл із затримкою в 0,1 с., Потім підраховувати ці імпульси і подавати на індикатор.
Якщо розглядати принцип роботи цифрового секундоміра за структурною схемою, то з блоку управління, подається імпульс запуску, після якого відбувається звукова індикація, потім імпульс запуску потрапляє на пристрій затримки в мікроконтролері, у якому організована затримка на 0,1 с. Як затримки використовуються два цикли: внутрішній і зовнішній. Також в пристрої затримки організовано перевірку на переповнення лічильника і перевірка натискання кнопки "Стоп". Кількість підрахованих секунд надходить на індикаторний пристрій, в якості якого використовуються семисегментні індикатори.

3. Розробка принципової електричної схеми
Реалізуємо наш секундомір на базі мікроконтролера PIC16F628 згідно ТЗ малюнок 3.1
Розглянемо ті функціональне призначення висновків PIC16F628, які будуть використані для проектування.

Рис.3.1 Мікроконтролер PIC16 F628
Призначення висновків мікроконтролера PIC16f628 наведено в таблиці 3.1.

Таблиця 3.1
Позначення виведення
№ висновку
DIP
Тип
1/О/Р
Тип
буфера в режимі введення
Опис
1
2
3
4
5
RA0
17
I / O
ST
Двонаправлений порт вводу / виводу, аналоговий вхід компаратора
RA1
18
I / O
ST
Двонаправлений порт вводу / виводу, аналоговий вхід компаратора
RA2

1
I / O
ST
Двонаправлений порт вводу / виводу, аналоговий вхід компаратора
RA3
2
I / O
ST
Двонаправлений порт вводу / виводу, аналоговий вхід компаратора
RA4
3
I / O
ST
Двонаправлений порт вводу / виводу (вихід з відкритим стоком), вхід зовнішнього тактового сигналу для TMR0, вихід компаратора
MCLR
4
I
ST
Вхід скидання мікроконтролера, вхід напруги програмування. Коли висновок налаштований як-MCLR, то за низьким рівнем сигналу проводиться скидання мікроконтролера. При нормальній роботі напруга на виводі не повинно перевищувати VDD
OSC2
15
I / O
ST
Двонаправлений порт вводу / виводу, вихід генератора для підключення резонатора.
OSC1
16
I / O
ST
Двонаправлений порт вводу / виводу, вхід генератора для підключення резонатора, вхід зовнішнього тактового сигналу, висновок ER-зміщення
RB0
6
I / O
TTL / ST
Двонаправлений порт вводу / виводу з програмним включенням подтягивающего резистора, вхід зовнішнього переривання
RB1
7
I / O
TTL / ST
Двонаправлений порт вводу / виводу з програмним включенням подтягивающего резистора, вхід приймача USART, лінія даних в синхронному режимі USART
RB2
8
I / O
TTL / ST
Двонаправлений порт вводу / виводу з програмним включенням подтягивающего резистора, вихід передавача USART, лінія тактового сигналу в синхронному режимі USART
RB3
9
I / O
TTL / ST
Двонаправлений порт вводу / виводу з програмним включенням подтягивающего резистора, вивід модуля РСР
RB4
10
I / O
TTL / ST
Двонаправлений порт вводу / виводу з програмним включенням подтягивающего резистора. Зміна сигналу на вході може вивести мікроконтроллер з режиму SLEEP
RB5
11
I / O
TTL
Двонаправлений порт вводу / виводу з програмним включенням подтягивающего резистора. Зміна сигналу на вході може вивести мікроконтроллер з режиму SLEEP
RB6
12
I / O
TTL / ST
Двонаправлений порт вводу / виводу з програмним включенням подтягивающего резистора. Зміна сигналу на вході може вивести мікроконтроллер з режиму SLEEP. Вихід генератора таймера 1
RB7
13
I / O
TTL / ST
Двонаправлений порт вводу / виводу з програмним включенням подтягивающего резистора. Зміна сигналу на вході може вивести мікроконтроллер з режиму SLEEP. Вхід генератора таймера 1
VSS
5
P
-
Загальний висновок для внутрішньої логіки і портів введення / виводу
VDD
14
P
-
Позитивне напруга живлення для внутрішньої логіки і портів введення / виводу
В даний час випускається ряд серій однокристальних мікро-ЕОМ, призначених для використання у побутовій радіоелектронної апаратури. Застосування однокристальних мікро-ЕОМ, що реалізують на одній ВІС функції введення-виведення, зберігання та обробки даних, дозволяє досягати максимальної простоти і дешевизни систем управління.
З метою економії енергії джерела живлення, для відображення вимірюваного часу застосуємо чотирирозрядний цифробуквене індикатора з семи сегментів у кожному розряді типу 7SEG-MPX4-СС, що підключається за схемою з загальним катодом. Сегменти індикаторів приєднуємо безпосередньо до висновків 6-12 мікроконтролера, через обмежувальні резистори R4-R10, кожен номіналом 220 Ом.
Структура індикатора представлена ​​на рис.3.2, і призначення висновків описано таблицею 3.2.

Рис 3.2 Призначення виводів індикатора 7SEG-MPX4-СС.
Таблиця 3.2
Цифра, знак
Висновки
анод
катод
0
1
2
3
4
5
6
7
8
9
точка
1,6,7,8,13,14
8,13
2,6,7,13,14
2,6,7,8,13,14
1,2,8,13
1,2,7,8,14
1,2,6,7,8,14
8,13,14
1,2,6,7,8,9,13,14
1,2,7,8,9,13,14
9
4, 12
На контролер безпосередньо підводиться харчування (+5 В) на висновки: V DD - позитивне напруга, V SS - загальний висновок. Для використання схеми внутрішнього апаратного скидання на вхід скидання / напруги прогроммірованія (MCLR) через резистор опором 10 кому підводиться високий рівень (V DD).
Вхідну тактову частоту задамо за допомогою внутрішнього генератора в режимі ХТ малого енергоспоживання, налаштованого на частоту 4 МГц. Для цього використовуємо резонатор з паралельним резонансом. Резистор R S використовувати не будемо, вважаємо що резонатор не буде самопорушувані. Конденсатори С1 і С2 візьмемо по 20 пФ (межі 15 .. 33пФ), тому що більш висока ємність, збільшуючи стабільність частоти генератора, збільшує і час запуску, що не бажано. Схем підключення резонатора наведена на рис.3.3.

Рис.3.3 Схем підключення резонатора в режимі ХТ
Кнопку S1 «старт / стоп / скидання» підключаємо безпосередньо до входу PIC контролера. За допомогою кнопки S2 подаємо харчування на мікроконтроллер. Кнопка S1 підключена через резистор R1 = 10кОм, до порту RB7 (резистор задає рівень логічної одиниці на вході мікроконтролера).
Щоб забезпечити хороше харчування схеми, застосуємо згладжують фільтри С3 = 100мкФ, С4 = 1пФ, які згладжують пульсацію напруги на вході мікроконтролера.
Звукова індикація відбувається за допомогою динаміка, що підключається до порту RA4. Резистор R1 = 5кОм стабілізує струм через динамік.
При подачі напруги на мікроконтроллер, починає виконуватися програма, записана в мікроконтролері. Спочатку виробляється ініціалізація всіх портів мікроконтролера (порт RB7 налаштовується на введення, а інші порти налаштовуються на висновок), обнуління робочих регістрів, занесення необхідних констант у відповідні регістри, а потім програма очікує натискання кнопки. Оскільки підрахунок секунд не проводився, то на індикатори виводяться нулі.
При натисканні кнопки, відбувається звукова індикація, програма формує потрібні затримки, інкрементіруем при цьому значення регістрів у відповідності з необхідною відображається інформацією. Через обмежувальні резистори R4-R10 подаються сигнали для управління сегментами індикатора.
При черговому натисканні клавіші відбувається зупинка виконання програми, секундомір очікує обнулення, а на індикатор виводиться остання підрахована послідовність цифр.
Електрична принципова схема, специфікація елементів секундоміра, наведені у додатку.

4.Розробка алгоритму роботи керуючої програми
Для забезпечення роботи проектованого пристрою з заданими технічними вимогами необхідно запрограмувати наш мікроконтроллер на певну обробку даних і видачу певних сигналів. Керуюча програма повинна забезпечити роботу секундоміра. Забезпечивши цикл із затримкою в 0.1 с., А потім, підрахувавши кількість імпульсів, які прийшли в кінці кожного циклу, ми і проводимо підрахунок секунд. Рахунок починається при натисканні кнопки. Для складання програми необхідно спочатку скласти алгоритм роботи пристрою, тобто кінцевий набір правил для виконання деяких процедур.

Схема алгоритму - одна з найважливіших частин завдання, вона складається з окремих операторів. Розрізняють чотири види операторів, кожен з яких має вхід і вихід рис.4.1 Стрілками позначаються напрямок ходу обчислень.

1
1


(1) (2) (3) (4) (5)
(1) - оператор опис процесу обробки;
(2) - оператор перевірки умов;
(3) - оператор початку (кінця);
(4) - оператор розриву схеми;
(5) - оператор вводу / виводу даних.

Рис.4.1 Види операторів

Застосуємо в нашому випадку розгалужений алгоритм (див. додаток A).
Робота нашої програми починається з ініціалізації використовуваних регістрів. Потім відбувається налаштування портів, очищення комірок пам'яті, задаються тимчасові цикли, використовувані для формування необхідних величин затримок при роботі. Відбувається звукова індикація, час затримки, в перебігу якої подається сигнал на динамік, одно 829мкс., Тобто з частотою близько 1,2 кГц, чутної людиною. Підключаються підпрограми INDIKATOR і KOD, необхідні для виведення підрахованих секунд на семисегментні індикатори.

5.Розробка керуючої програми
Програма, яка забезпечує роботу нашого секундоміра, написана на мові Assembler і побудована у вигляді основної програми та підпрограм.
Основна програма виконує початкові встановлення режимів роботи і регістрів. Порти RA0-RA3 і RB0-RB6 налаштовані на виведення інформації, порти RB0-RB6 відповідають за відповідні сегменти індикатора. Порт RB7 зчитує значення з кнопки. Порт RA4 виробляє висновок логічної одиниці, для звукової індикації, яка здійснюється за допомогою підпрограми ZVUK, по першому натисненню кнопки. Підпрограми INDIKATOR і KOD, необхідні для вироблення сигналів, які управляють семисегментний індикаторами. Підпрограма DELAY формує основну затримку на 0,1 с., Затримка формується одним внутрішнім і одним зовнішнім циклами. Підпрограма INCTIM міняємо, відповідно з відображеними цифрами, значення регістрів temp0-temp3, для індикації.
Робота програми здійснюється по циклу. Спочатку виробляється ініціалізація портів, очищення робочих регістрів. Запуск програми здійснюється натисканням кнопки "Пуск / Стоп / Скидання". Всередині циклу здійснюється перевірка на переповнення секундоміра (якщо воно сталося, то відбувається обнуління всіх регістрів і програма очікує натискання кнопки "Пуск / Стоп / Скидання"). При натисканні кнопки "Пуск / Стоп / Скидання" відбувається зупинка підрахунку секунд, і програма чекає обнулення. Текст програми приведений нижче.
LIST P = 16F628
# Include <P16F628.INC>
temp0 EQU H'20 '
temp1 EQU H'21 '
temp2 EQU H'22 '
temp3 EQU H'23 '
temp4 EQU H'24 '
temp5 EQU H'25 '
temp6 EQU H'26 '
temp7 EQU H'27 '
temp8 EQU H'28 '
i EQU H'29 '
t EQU H'30 '
k EQU H'31 '
N0 EQU H'32 '
N1 EQU H'33 '

org 0
goto Start
Start
clrf PORTA
bsf STATUS, RP0
movlw B'10000000 '
movwf TRISB; Налаштувати RB7 на введення, RB0-RB6 на висновок
clrf TRISA
bcf STATUS, RP0
clrf PORTB

k1
clrf temp0
clrf temp1
clrf temp2
clrf temp3
clrf temp4
clrf temp5
clrf temp6
clrf temp7
clrf temp8
clrf i
clrf t

call INDIKATOR
btfss PORTB, 7
goto k1
MOVLW 1
MOVWF i

MOVLW 1
MOVWF temp0
call ZVUK
goto c1
k2
call DELAY
c1
call INDIKATOR
btfsc PORTB, 7
goto k3
c2
btfss i, 0
goto c1
k7
call INCTIM
goto k2
k3
btfsc PORTB, 7
goto k3
movf i, 0
movwf t
incf i
btfss t, 0
goto k1
goto c2

INCTIM
movlw 0xe6; 230 разів
movwf temp4
k8 decfsz temp4, 1
goto k8
; Збільшення до 0,9 сек
incf temp0
movf temp0, 0; інкрементіровать на 0,1 сек
sublw 9; перевірка: якщо> 9, то перейти
btfsc STATUS, 0; був позика - так, то clrf temp0 і на наступне збільшення
goto I0; інакше на IO
clrf temp0; очищення значення останнього розряду
; Збільшення до 9 сек

incf temp1
movf temp1, 0
sublw 9
btfsc STATUS, 0
goto I1
clrf temp1
; Збільшення до 59 сек

incf temp2
movf temp2, 0
sublw 5
btfsc STATUS, 0
goto I2
clrf temp2
; Збільшення 10 хв

incf temp3
movf temp3, 0
sublw 9
btfsc STATUS, 0
goto I3
clrf temp3
return
I0
nop
nop
nop
nop
nop
I1
nop
nop
nop
nop
nop
I2 nop
nop
nop
nop
nop
I3 nop
nop
nop
nop
nop
return
INDIKATOR
movf temp0, 0
call KOD
movwf PORTB
bsf PORTA, 0; загальний катод
nop
nop
nop
nop
bcf PORTA, 0
movf temp1, 0
call KOD
movwf PORTB
bsf PORTA, 1
nop
nop
nop
nop
bcf PORTA, 1
movf temp2, 0
call KOD
movwf PORTB
bsf PORTA, 2
nop
nop
nop
nop
bcf PORTA, 2
movf temp3, 0
call KOD
movwf PORTB
bsf PORTA, 3
nop
nop
nop
nop
bcf PORTA, 3

return
KOD
addwf PCL
retlw B'00111111 '; код 0
retlw B'00000110 '; код 1
retlw B'01011011 '; код 2
retlw B'01001111 '; код 3
retlw B'01100110 '; код 4
retlw B'01101101 '; код 5
retlw B'01111101 '; код 6
retlw B'00000111 '; код 7
retlw B'01111111 '; код 8
retlw B'01101111 '; код 9

ZVUK
movlw 100
movwf temp4
k6
btfsc PORTB, 7
goto k6
bsf PORTA, 4
k5
decfsz temp4, 1
goto k5

bcf PORTA, 4
call DELAY
call INDIKATOR
return
DELAY
movlw 0x81; 128
MOVWF k; k = ff = 255
Cycl_1
movlw 0xff
movwf N0
Cycl_0
decfsz N0, 1
goto Cycl_0
decfsz k, 1
goto Cycl_1
return

end

Висновок.
Результатом курсового проекту є розроблена принципова електрична схема цифрової секундомір на базі мікроконтролера PIC16F628 відповідно до технічних вимог. Розроблено алгоритм і написана програма на мові assembler, на підставі якої працює мікроконтроллер.
Цей пристрій дуже просто в реалізації. Воно містить мінімум елементом, що забезпечує його дешевизну, і мінімізацію витрат на харчування. Завдяки простому управлінню та індикації користувач може легко їм користуватися.
У ході проектування отриманий досвід роботи та вміння проектувати цифрові та мікропроцесорні пристрої.
У ході проектування передавача використовувалися програми: Microsoft Word, Microsoft Visio, Mplab IDE v7.20.

Список використаної літератури
1.PIC16F62X. Однокристальний 8-розрядні FLASH CMOS з мікроконтролери компанії Microchip technology incorporated: Пер. з англ. -М.: ТОВ «Мікрочип», 2001. - 148 c. www.microchip.ru
2. Бурак А.І., Левкович В.М. Інтегроване середовище MPLab IDE розробки програм для мікроконтролерів PICmicro фірми Microchip: Метод. посібник до лабораторних робіт з курсу «Цифрові та мікропроцесорні пристрої». - Мн: БДУІР, 2003. - 31 с.
3.Левковіч В.М. Цифрові та мікропроцесорні пристрої: Лабораторний практикум для студ. спец. I-39 січня 2002 «Радіоелектронні системи», I-39 січні 2003 «Радіоінформатіка», I-39 січень 2004 «Радіоелектронна захист інформації». У 2 ч. Ч. 1. -Мн: БДУІР, 2005. - 38 с.: Іл
4.Левковіч В.М., Кащеєв А.А. Цифрові та мікропроцесорні пристрої: Лабораторний практикум для студ. спец. I-39 січня 2002 «Радіоелектронні системи», I-39 січні 2003 «Радіоінформатіка», I-39 січень 2004 «Радіоелектронна захист інформації».
У 2 ч. Ч. 2. -Мн: БДУІР, 2006. - 36 с.: Іл.




Додати в блог або на сайт

Цей текст може містити помилки.

Комунікації, зв'язок, цифрові прилади і радіоелектроніка | Курсова
86.2кб. | скачати


Схожі роботи:
Електронний банкінг
Електронний ринок
Електронний підсилювач 2
Електронний документ 2
Електронний підсилювач
Електронний документообіг
Електронний підручник
Електронний документообіг
Електронний уряд
© Усі права захищені
написати до нас