Автор: Пользователь скрыл имя, 02 Ноября 2012 в 01:32, реферат
Мікроконтролер типу ATMEGA8535 використовується для вимірювання температури процесу Т° у певному об’єкті та порівняння її з номінальною Т°ном. Сигнал про температуру надходить до пристрою контролю у вигляді певної напруги U. Характеристика датчика описується виразами:
U (В) = Т° / (60+3m1+m2) (1)
Т°ном= 80+2m2+m3 (2)
Мікроконтролер типу ATMEGA8535 використовується для вимірювання температури процесу Т° у певному об’єкті та порівняння її з номінальною Т°ном. Сигнал про температуру надходить до пристрою контролю у вигляді певної напруги U. Характеристика датчика описується виразами:
U (В) = Т° / (60+3m1+m2) (1)
Т°ном= 80+2m2+m3 (2)
Для вибору параметрів визначається номер варіанту:
W=31*3+3*1 = 96
Відповідно до варіанту вибираються параметри:
m1=B, m2=7, m3=F тоді
Т°ном = 80+2*7+15 = 109 °С
Порогові значення температури (10% від Т°ном):
Т1 = 99 °С, Т2 = 119 °С
Мікроконтролер працює з внутрішнім каліброваним тактовим генератором частотою 1 МГц. Задача полягає у створенні програми для мікроконтролера, яка забезпечує періодичне вимірювання напруги, перераховує її значення у температуру, підготовлює дані для виводу на індикатор та керує ним. Крім того, він порівнює отримане значення температури з номінальним Т°ном. Якщо температура менше норми на 10%, то світиться жовтий індикатор, вкладається у межі допуску – зелений, а як на 10% більша норми – червоний. Датчик напруги (U) та світлодіоди підключені до порту А (таблиця 1):
№ варіанту |
Лінії порту А |
Спільний | |||||||
8 |
7 |
6 |
5 |
4 |
3 |
2 |
1 | ||
96 |
U |
Ж |
З |
Ч |
катод |
Таблиця 1
U – 8, жовтий (Ж) – 7, червоний (Ч) – 1, зелений (З) – 6.
Також сегменти світлодіодів у цифрових індикаторах розміщуються згідно запропонованого варіанту (таблиця 2):
№ варіанту |
Сегменти |
Спільний | |||||||
a |
b |
c |
d |
e |
f |
g |
h | ||
96 |
5 |
4 |
7 |
3 |
1 |
8 |
2 |
6 |
катод |
Таблиця 2
В залежності від розташування цих сегментів буде відповідне розташування образів символів в ОЗП (таблиця 3).
Символ |
Сегменти | |||||||
f |
c |
h |
a |
b |
d |
g |
e | |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
2 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
1 |
3 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
4 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
0 |
5 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
6 |
1 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
7 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
0 |
8 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
9 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
Таблиця 3
Із виразу (1.1) знаходимо можливі значення температури:
Т°= U (В) * kʹ (3)
де kʹ = (60+3m1+m2) = 100, U (В) = ΔUкв*k, ΔUкв = 0,01 (В) – крок квантування, k – значення коду ADCH від 0 до 255.
Тоді
Т°= ΔUкв*k * kʹ (4)
Розрахуємо декілька значень температури:
Т°0= 0,01* 0 *100 = 0 (°С)
Т°1= 0,01* 1 *100 = 1 (°С)
Т°2= 0,01* 2 *100 = 2 (°С)
…
Т°255= 0,01* 255 *100 = 255 (°С)
Ці усі 256 значень температури розташуємо у ПЗП команд.
Додаткові вимоги: значення температури виводиться у динамічному режимі; інтервал між вимірюваннями Твим (мс) = 20 + m1 = 20 + 11 = 31(мс).
Структурну схему алгоритму роботи мікроконтролера показано в додатку 1 .
Програма роботи мікроконтролера складається з головної програми та підпрограм.
Головна програма (рис.1) починається зі скиду процесора (Reset), встановлення стеку (SP) та налаштування портів (згідно свого варіанту).
Рис.1 Головна программа
Далі розміщуються образи символів в ОЗП (також згідно свого варіанту) для організації виводу значення температури на цифрові індикатори. Після чого описуються вектори переривань: налаштовується АЦП, таймер та дозвіл переривання в таймері, що встановлюється в регістрі ТІМСК. Далі проводиться певна початкова ініціалізація – обнуління змінних, що використовуються для визначення температури, а також встановлюється біт глобального дозволу переривань “І”. Після цього йде підпрограма Вивід, яку потрібно зациклити, щоб забезпечити динамічну індикацію.
Програма обробки переривання від АЦП (рис.2) працює наступним чином: завантажуються дані після вимірювання з АЦП в робочий регістр, завантажуються дані (перший елемент) з ПЗП в регістр Z, після чого визначається значення температури.
Рис. 2 Програма обробки переривання від АЦП
Підпрограма Вивід (рис. 3) здійснює виведення виміряної температури на цифрові індикатори (в port С) та засвічування відповідних знакомісць.
Підпрограма Пауза (рис. 4) також є необхідною складовою для організації динамічної індикації.
Рис. 4 Підпрограма Пауза