Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Кафедра ЕОМ

Інформація про роботу

Рік:
2005
Тип роботи:
Курсова робота
Предмет:
Проектування мікркомп'ютера
Група:
КСМ

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти та науки України НУ (Львівська політехніка( ІКТА Кафедра ЕОМ  КУРСОВА РОБОТА ( Проектування мікрокомп’ютера на базі мікропроцесора PIC16C771( Львів 2005 ЗМІСТ Вступ 3  1. Початковi данi на проектування. 4  2. Опис схеми електричної функціональної та основних режимiв функцiонування. 5  2.1 Основні технічні характеристики мікроконтроллера PIC 16C771 5  2.2 Організація пам’яті 6  2.3 Особливості периферії 6  2.4 Внутрішня структура PIC16C771 7  2.5 Модуль MSSP 8  2.5.1 SPI Режим 8  2.5.1.1 Привілейований режим 9  2.5.1.2 Непривілейований режим 10  2.5.1.3 Операція бездіяльності 12  2.5.1.4 Ефекти скидання 12  2.5.2 Режим I2C 12  2.5.2.1 Підлеглий та головний режими I2C 13  2.5.2.2 Непривілейований режим 14  2.5.2.3 Адресація 15  2.5.2.4 Підпорядкований прийом 15  2.5.2.5 Підпорядкована передача 15  2.5.2.6 Операція бездіяльності 19  2.5.2.7 Ефекти скидання 19  2.5.2.8 Привілейований режим 19  2.5.2.9 Операції режиму multi-master 19  2.6 Опис основних режимів функціонування 19  3. Опис схеми електричної принципової по вузлах з часовими дiаграмами в основних режимах функціонування. 20  3.1 Центральний процесор 20  3.1.1 Функціональне призначення виводів PIC16C771 20  3.1.2 Опис системи команд 21  3.1.3 Аналого-цифровий перетворювач 23  3.1.4 Спеціальні функції CPU 25  3.2 Постiйна пам’ять програм 26  3.3 Оперативна пам’ять даних 27  3.4 Вузол синхронізації 29  3.5 Вузол скиду 30  3.6 Пiдсистема вводу-виводу 30  3.6.1 Інвертор напруги MAX660 30  3.6.2 Температурний сенсор DS600 31  3.6.3 Алфавітно-цифровий РК модуль HD44780 32  4. Блок-схема початкової ініціалізації та лістинг програми початкової ініціалізації. 35  4.1 Блок-схема початкової iнiцiалiзацiї 35  4.2 Лістинг програми початкової iнiцiалiзацiї 35  Висновки 38  5. Використана лiтература та інші джерела. 39  Додатки    Додаток А «Схема функціональна»    Додаток В «Схема електрична принципова»    Додаток С «Перелік елементів мікрокомп’ютера»    Вступ В наш час використання комп’ютерних засобів присутнє майже на кожному кроці людського існування. Комп’ютери є всюди: вдома, в офісі, в магазині, на підприємствах. Та іноді помилково вважається, що під комп’ютером слід розуміти тільки персональний комп’ютер. Хоча велику роль в нашому житті відіграють саме спеціалізовані комп’ютерні системи. Різні датчики, частотоміри, термостати та багато іншого належать до мікрокомп’ютерів, роль яких важко не помітити у повсякденному житті людей. Всі ці прилади суттєво полегшують нам життя, та заощаджують наш час. В основі мікрокомп’ютерів лежить використання мікроконтроллерів чи мікропроцесорів, число та різновидність яких налічує тисячі. Мікроконтролери – це однокристальні мікроеом , що мають вбудовані такі компоненти, як пам’ять, операційний пристрій та ін. Відомі такі фірми виробники, як INTEL, AMTEL, Analog Devices, Texas Instrument. Мікропроцесори – процесори, що мають Гарвардську архітектуру та не сильно використовують розпаралелення та конвеєризацію. У даній курсовій роботі приведено проект розробки електронного цифрового термометра на основі мікроконтролера PIC16C771, виробництва фірми Microchip. Оскільки спиртові та ртутні термометри відходять у минуле, то такі прилади як електронні термометри набувають популярності та широкого застосування. Основними перевагами таких приладів є безпечність порівняно з ртутними термометрами, наявність засобів візуалізації, відносно низька ціна при серійному виробництві. Мікроконтролер PIC16C771 взятий за основу мікрокомп’ютера тому, що по-перше він має відносно просту програмну модель, по-друге має вбудований аналого-цифровий перетворювач, що забезпечує вимірювання аналогового сигналу, що в свою чергу можна подати, як залежність напруги від температури, по-третє має невисоку ціну. Також його можна використати, як засіб керування пристроями виводу: LCD дисплеєм, чи семисегментним індикатором. 1.Початкові дані на проектування Таблиця 1.1 Початкові дані на проектування Тип мiкропроцесора PIC16C771  Постiйна пам’ять вбудована на кристалі  Оперативна пам’ять вбудована на кристалі  Пiдсистема вводу-виводу ввід–температурний сенсор DS600 вивід–алфавітно-цифровий РК модуль HD44780   2.Опис схеми електричної функціональної та основних режимiв функціонування. 2.1 Основні технічні характеристики мікроконтроллера PIC 16C771 Високопродуктивний RISC цетральний процесор 35 інструкцій Всі інструкції одноциклові окрім інструкцій галуження що займають 2 цикла DC 20 MHz частота на вході DC 200 ns час циклу Таблиця 2.1.1 Характеристики PIC16C771 Пам’ять  АЦП АЦП  Мікроконтролер Програм Даних Пінів Розрядність Канали   x14 x8     PIC16C771 4K 256 20 12 bits 6   Можливість переривання (до 10 внутрішніх/зовнішніх джерел переривання) Восьмирівневий апаратний стек Прямі, непрямі і відносні способи адресації Скидання Ввімкнення живлення (POR) Таймер ввімкнення живлення (PWRT) Таймер Запуску Генератора (OST) Контрольний Таймер (WDT) з його власним генератором Опції роботи генератора: INTRC - Внутрішня ємнісно-резистивна, подвійна швидкість (4MHz і 37KHz), що переключається динамічно для збереження енергії ER - Зовнішній резистор, подвійна швидкість (частота вибирається користувачем і 37KHz) ), що переключається динамічно для збереження енергії EC - Зовнішні годинник HS - Високошвидкісний кристал/резонатор XT - Кристал/резонатор LP – малопотужний кристал високошвидкісний програмований ПЗП CMOS з низьким енергоспоживанням (технологія EPROM) Широкий діапазон робочої напруги: 2.5V до 5.5V 15 точок вводу/виводу з індивідуальним керуванням для Напрямку (15) Цифрово/Аналоговий вхід (6) PORTB переривання при зміні (8) Висока напруга відкритий витік (1) Комерційні й Індустріальні температурні діапазони -40°C TA +85°C індустріальні 0°C TA +70°C комерційні Економія енергоспоживання: - <2mА @ 5V, 4 МГЦ - 22.5 (А типовий 3V, 32 кгц <1 (А типовий резервний потік 2.2 Організація пам’яті Є два блоки пам'яті. Кожен блок (пам'ять програм і пам'ять даних) мають власну шину доступу, так, щоб одночасний доступ міг відбутися. 2.3 Особливості периферії: Timer0: таймер/лічильник на 8 бітів із передлічильником на 8 бітів Timer1: 16-розрядний таймер/лічильник з передлічильником, може бути збільшений протягом бездіяльності через зовнішній кристал/годинник Timer2: таймер/лічильник на 8 бітів з 8 бітовим регістром періоду, передлічильник та післялічильник Модуль удосконаленого збору даних, порівняння, PWM (ECCP) Збір даних є 16 бітним, максимальна дозволяюча здатність - 12.5 ns Порівняння, є 16 бітним, максимальна дозволяюча здатність - 200 ns PWM максимальна дозволяюча здатність - 10 бітів Удосконалений PWM: режими виводу (простий, напівміст і повний міст) цифрова програмована нечутлива затримка аналого-цифровий конвертер з дозволяючою здатністю 12 біт Встроєний генератор напруги Програмована схема скидання короткочасного провалу напруги живлення (PBOR) Програмована схема виявлення низької напруги (PLVD) Синхронний послідовний порт (MSSP) з двома режимами роботи: SPI™ (підтримує всі 4 режими SPI) I2C ™ Читання Пам'яті Програми (PMR) можливість перегляду таблиці, символів, контрольної суми результату обчислення. [www1] 2.4 Внутрішня структура PIC16C771 Внутрішня структура мікропроцесора подана на рис 2.4.1  Рис 2.4.1 Внутрішня структура PIC16C771 Примітка: EPROM Program memory – ППЗП Program Counter – програмний лічильник Data Bus – шина даних PORTA – порт А 8 Level Stack – восьми рівневий стек RAM File Registers – ОЗП Регістровий файл Program Bus – програмна шина Program Memory Read (PMR) – блок читання програмної пам’ті RAM Addr – Адреса ОЗП Instruction reg – Регістр команд Addr MUX – мультиплексор адрес Direct Addr – пряма адреса PORTB – порт В Indirect Addr – непряма адреса FSB reg – регістри спеціального призначення STATUS reg – регістр статусу Internal 4MHz, 37KHz and ER mode – внутрішня частота 4 МГц, 37КГц та режим зовнішнього резистора MUX - мультиплексор Instruction Decode & Control – Декодування інструкції та контроль Timing Generation – генератор тактової частоти Power-up Timer – таймер ввімкнення Oscillator Start-up Timer – таймер запуску генератор Power-on Reset – скид при ввімкненні Watchdog Timer – сторожевий таймер Brown-out Reset – скид при перегріві ALU – арифметико-логічний пристрій W reg – регістр-акумулятор 2.5 Модуль MSSP (MASTER SYNCHRONOUS SERIAL PORT ) MASTER SYNCHRONOUS SERIAL PORT (MSSP) модуль - послідовний інтерфейс, корисний для того, щоб з іншим зовнішнім пристроєм або мікроконтролером. Ці периферійні пристрої можуть бути послідовними EEPROM , зсувними регістрами, драйверами дисплеїв, і т.д. MSSP модуль може працювати в одному з двох режимів: Послідовний Периферійний Інтерфейс (SPI ™) Міжінтегральна схема (I2C™) 2.5.1 SPI Режим Режим SPI дозволяє 8 бітам даних бути синхронно переданим і отриманими одночасно. Усі чотири режими SPI підтримуються. Щоб досягати зв’язку здебільшого використовуються три точки: - Послідовні Вхідні Дані (SDO) - Послідовні ВихідніДані (SDI) - Послідовна частота(SCK) Додатково, четверта точка може використовуватися коли в непривілейованому режимі операції: -Підлеглий Вибір (SS) При ініціалізації SPI, кілька опцій повинні бути визначені. Це робиться, програмуючи відповідні службові біти (SSPCON <5:0> і SSPSTAT <7:6>). Ці службові біти дозволяють визначити наступне: Привілейований режим (SCK – є виходом частоти) Непривілейований режим (SCK – є входом частоти) Полярність частоти (Неактивний стан на SCK) Стадія проби вхідних даних (середина або кінець часу виводу даних) Фронт синхроімпульсу (вихідні дані зростаючому/падаючому фронті SCK) Тактова частота (Привілейований режим тільки) Вибір непривілейованого режиму (Непривілейований режим тільки) Рис 2.5.1.1 З’єднання SPI MASTER/SLAVE Рис 2.5.1.1 З’єднання SPI MASTER/SLAVE 2.5.1.1 Привілейований режим Master може ініціалізувати передачу даних у будь-який час, тому що він керує SCK. Master визначає, коли Slave (Процесор 2) має передавати дані відповідно до програмного протоколу. У привілейованому режимі, дані передані/отримані, як тільки регістр SSPBUF записаний . Якщо SPI модуль тільки збирається одержувати, вихідне SDO може бути заблоковане (запрограмованим як ввід). Регістр SSPSR продовжить зсуватись при присутності сигналу в точці SDI на запрограмованій тактовій частоті. Оскільки кожен байт отриманий, він буде завантажений в регістр SSPBUF, як нормально одержаний байт (переривання і біти стану відповідно встановляться). Це може бути корисно в програмах приймача як "монітор активності лінії". Полярність частоти вибирається відповідно до відповідно програмуванням біту CKP (SSPCON <4>). У привілейованому режимі, SPI тактова частота (швидкість передачі інформації в бітах) програмована користувачем , і може бути одною з наступних: Fosc/4 (або Tcy) Fosc/16 (або 4* Tcy) Fosc/64 (або 16 • Tcy) Timer2 вихід/2 Це дозволяє максимальну бітову частоту (у 20 МГЦ) з 8.25 МГЦ. Рис 2.5.1.1.1 показує формат хвилі для Привілейованого режиму. Коли CKE = 1, SDO дані правильні коли є фронт синхроімпульсу на SCK. Зміну вхідної вибірки показано базуючись на стані SMP біта. Час, коли SSPBUF завантажений отриманими даними, показано. Рис 2.5.1.1.1 Часові діаграми привілейованого режиму SPI 2.5.1.2 Непривілейований режим У непривілейованому режимі, дані передаються й отримуються, оскільки зовнішні тактові імпульси, що з'являються на SCK. Коли останній біт замикають, прапорець біту переривання SSPIF (PIR1 <3>), установлюється. У непривілейованому режимі, зовнішня частота постачається зовнішнім джерелом частоти у точці SCK. У режимі бездіяльності, slave може передати/одержати дані. Коли байт отриманий, пристрій буде піднято з бездіяльності. Точка SS дозволяє синхронний непривілейований режим. SPI повинний бути в непривілейованому режимі з ввімкненим контролем SS (SSPCON <3:0> = 0100). Точка SS не повинна опускатись, щоб SS функціонував як вхід TRISB <1> повинний бути встановлений. Коли точка SS на низькому рівні, передача і прийом допускаються, і точка SDO керується. Коли точка зростає, _ SDO точка більше не керується, навіть і в середині переданого байта, і стає плаваючим виходом. Коли SPI модуль зкинутий, розрядний лічильник скинутий до 0. Це може бути зроблено або встановленням високого рівня на SS або очищенням SSPEN біта. Щоб наслідувати двопроводний зв'язок, точка SDO має бути зв'язана з точкою SDI. Коли SPI повинний працювати як одержувач, точка SDO може бути сконфігурований як вхід. Це відключає передачу від SDO. SDI можна завжди залишати як вхід (функція SDI), тому що це не може створити конфлікт при звертанні до шини. Синхронізація у slave режимі приведена на рисунках Рис 2.5.1.2.1 Часові діаграми синхронізації підпорядкованого режиму SPI Рис 2.5.1.2.2 Часові діаграми підпорядкованого режиму SPI (СКЕ=0) Рис 2.5.1.2.3 Часові діаграми підпорядкованого режиму SPI (СКЕ=1) 2.5.1.3 Операція бездіяльності У привілейованому режимі, усі тактові частоти модуля припинені, і передача/прийом залишиться в такому стані доки не вийде з бездіяльності. Після повернення пристрою до нормального режиму, модуль продовжить передавати/одержувати дані. У непривілейованому режимі, SPI передають/одержують зсувний регістр, працює асинхронно на пристрій. Це дозволяє пристроєві бути поміщеним у режим бездіяльності, і отримані дані будуть зсуватись в зсувному регістрі. Коли всі 8 бітів були отримані, біт переривання MSSP буде встановлений і якщо допускається розбудить пристрій від бездіяльності. 2.5.1.4 Ефекти скидання Скидання відключає MSSP модуль і закінчує поточну передачу. Регістри, що використовуються при SPI операціях приведені в таблиці 2.5.1.4.1 Таблиця 2.5.1.4.1 Регістри SPI 2.5.2 Режим I2C MSSP модуль у режимі I2C цілком здійснює всі головні і підлеглі функції і забезпечує переривання на стартових і стоповых бітах в апаратних засобах, щоб визначити вільну шину. MSSP модуль виконує всі стандартні специфікації режиму, а також 7 бітову та 10 бітову адресацію. Фільтр "збою" знаходиться в SCL і SDA точках, коли точка - вхід. Цей фільтр працює в режимах на 400 кгц та на 100 кгц. У режимі на 100 кгц, коли ці точки - вихід, є керування швидкості наростання вихідної напруги в точці, що є незалежним від частоти пристрою. 2.5.2.1 Підлеглий та головний режими I2C Нижче приведені рисунки (2.5.2.1.1, 2.5.2.1.2) підлеглого та головного режимів I2C. Рис 2.5.2.1.1 Підлеглий режим І2С Рис 2.5.2.1.2 Привілейований режим І2С Дві точки використовуються для передачі даних. Це точка SCL - частота, і точка SDA - дані. MSSP функції модуля допускаються встановленям біта SSP SSPEN (SSPCON <5>). MSSP модуль має шість регістрів для операції I2C. Це: SSP Регістр Керування (SSPCON) SSP Регістр Керування 2 (SSPCON2) SSP Регістр Стану (SSPSTAT) Послідовний Передавально/Приймальний Буфер (SSPBUF) SSP Зсувний регістр (SSPSR) – Безпосередньо недоступний SSP Регістр адреси (SSPADD) Регістр SSPCON дозволяє керування I2C операціями. Чотири біти вибору режиму (SSPCON <3:0>) дозволяють бути обраними одному з наступних режимів I2C: I2C Непривілейований режим (7 бітова адресація) I2C Непривілейований режим (10 бітова адресація) I2C Привілейований режим, частота = OSC/4 (SSPADD +1) Перед вибором будь-якого режиму I2C, точки SCL і SDA повинні бути запрограмовані як входи, установлюючи відповідні біти TRISA. Вибір режиму I2C, установлюючи SSPEN біт, дає можливість точкам SCL і SDA використовуватися як частота і дані у режимі I2C. Регістр SSPSTAT дає стан передачі даних. Ця інформація включає виявлення ПОЧАТКОВОГО (S) або КІНЦЕВОГО (P) біта, визначає, чи був отриманий байт даними або адресою, якщо наступний байт – завершення 10 бітної адреси. SSPBUF - регістр, до якого передані дані записуються або читаються з нього. Регістр SSPSR зсуває дані в пристрій або з пристрою. В операціях одержання, SSPBUF і SSPSR створюють подвоєний буферизированный приймач. Це дозволяє прийомові наступного байта починатися перед читанням останнього байта отриманих даних. Коли весь байт отриманий, він передається регістрові SSPBUF, і біт прапорця SSPIF установлюється. Якщо інший повний байт отриманий перш, ніж регістр SSPBUF читається, відбувається переповнення одержувача, і біт SSPOV (SSPCON <6>) встановлюється, і байт у SSPSR губиться. Регістр SSPADD зберігає підпорядковані адреси. У 10 бітному режимі, користувач повинен записати старший байт адреси (1111 0 A9 A8 0). Після адреси старшого байта відповідно , молодший байт адреси повинний бути завантажений (A7:A0). 2.5.2.2 Непривілейований режим У непривілейованому режимі, точки SCL і SDA повинні бути сконфігуровані як входи. MSSP модуль скасує вхідна стан вихідними даними коли необхідно (підлеглий передавач). Коли адреса погоджена, апаратні засоби автоматично генерують імпульс підтвердження (ACK), і потім завантажать регістр SSPBUF отриманим значенням у даний час у регістрі SSPSR. Є деякі умови, що змусять MSSP модуль не давати цей імпульс ACK. Це: 1) біт переповнення буфера (SSPSTAT <0>) був встановлений перш, ніж передача була отримана. 2) біт переповнення SSPOV (SSPCON <6>) був установлений перш, ніж передача була отримана. Якщо біт повного буфера BF встановлений, значення регістра SSPSR не завантажується в SSPBUF, але біт SSPIF і SSPOV установлюється. Таблиця 2.5.2.2.1 показує, що трапляється, коли отриманий байт переданих даних, дає статус бітів BF і SSPOV. Затоновані комірки показують умови, коли користувацьке програмне забезпечення належним чином не очищало умови переповнення. Біт прапорець BF очищений, читанням SSPBUF регістра, у той час як біт SSPOV очищений через програмне забезпечення. В таблиці 2.5.2.2.1 показано зміну статусу відповідних бітів при виконанні операцій прийому. Таблиця 2.5.2.2.1 Зміна статусу бітів при виконанні операцій прийому 2.5.2.3 Адресація Як тільки MSSP модуль ввімкнений, він чекає виникнення стану ПОЧАТКУ. Після умови ПОЧАТКУ, 8 бітів зсуваються в регістр SSPSR. Усі вхідні біти збираються з зростаючого краю фронту частоти , (SCL) лінії. Значення регістра SSPSR <7:1> порівнюється зі значенням регістра SSPADD. Адреса порівнюється на падаючому краї восьми (SCL) імпульсів частоти. Якщо адреси співпадають, і BF і SSPOV біти чисті, то відбуваються наступні події: 1) значення регістра SSPSR завантажується в SSPBUF на падаючому краї 8-ого SCL імпульсу. 2) біт повного буфера BF встановлюється на падаючому краї 8-ого SCL імпульсу. 3) імпульс ACK генерується 4) встановлюється біт-прапорець SSP перериваня, SSPIF (PIR1 <3>) установлений на падаючому краї 9-ого SCL імпульсу. У режимі 10 бітової адреси, два байти адреси повинні бути отримані підлеглим. П'ять Найбільш значних битов (MSbs) першого байта адреси визначають, чи є це адреса на 10 битов. Біт R/W (SSPSTAT <2>) повинний визначити запис, чи підлеглий пристрій одержить другий байт адреси. Для 10 бітової адреси перший байт мав би бути рівним '1111 0 A9 A8 0 ', де A9 і A8 - дві MSbs адреси. Послідовність подій для 10 бітової адресації . 1. одержати спочатку (високий) байт Адреси (біти SSPIF, BF, і біт UA (SSPSTAT <1>) установлені). 2. обновити регістр SSPADD другим (молодшим) байтом адреси (очищає біт UA і випускає SCL лінію). 3. читати регістр SSPBUF (очищає біт BF і очищає біт SSPIF). 4. одержати другий (молодий) байт Адреси (біти SSPIF, BF, і UA установлені). 5. обновити регістр SSPADD з першим (старшим) байтом адреси. Це очистить біт UA і випустить рядок SCL. 6. читати регістр SSPBUF (очищає біт BF) і очистити біт-прапорець SSPIF. 7. Одержати повторний стан початку. 8. одержати перший (старший) байт адреси (біти SSPIF і BF встановлені). 9. читати регістр SSPBUF (очищає біт BF) і очистити біт-прапорець SSPIF. 2.5.2.4 Підпорядкований прийом Коли R/W біт байта адреси очищений, і є відповідність адреси, R/W біт регістра SSPSTAT очищується. Отримана адреса завантажується в регістр SSPBUF. Коли умова переповнення байта адреси має місце, тоді імпульс оповіщення (ACK) не дається. Переповнення визначено як будь-який біт BF (SSPSTAT <0>) або біт SSPOV (SSPCON <6>) і встановлено. Переривання MSSP генерується для кожного байта переданих даних. Біт-прапорець SSPIF (PIR1 <3>), повинен бути очищений у програмним забезпеченням. Регістр SSPSTAT використовується, щоб визначити стан отриманого байта. 2.5.2.5 Підпорядкована передача Коли R/W біт вхідного байта адреси встановлений, і відповідність адреси присутня, R/W біт регістра SSPSTAT встановлюється. Отримана адреса завантажеується в регістр SSPBUF. Імпульс ACK буде послано на дев'ятому біті, і точка SCL підтримуватись низько. Передані дані повинні бути завантажені в регістр SSPBUF, що також завантажує регістр SSPSR. Тоді точка SCL має бути ввімкнена, встановленням біта CKP (SSPСOND 4>). Master повинен контролювати точку SCL до затвердження іншого тактового імпульсу. Підлеглі пристрої можуть утримувати master, розтягуючи частоту. Ці вісім інформаційних розрядів знімаються на падаючому краї входу SCL. Це гарантує, що сигнал SDA правильний протягом SCL часу. _ Переривання MSSP генерується для кожного байта переданих даних. SSPIF біт-прапорець, повинний бути очищений програмним забезпеченням, і регістр SSPSTAT використовується, щоб визначити стан пеерданого байта. SSPIF біт-прапорець, установлюється на падаючому краї дев'ятого тактового імпульсу. Як підлеглий передавач, імпульс ACK від головного одержувача замикають на зростаючому краї дев'ятого імпульсу вводу SCL. Якщо лінія SDA була висока (не ACK), то передача даних закінчена. Коли не ACK замикає підлеглий, підлегла логіка скинута, і підлеглий тоді контролює до іншого виникнення біта ПОЧАТКУ. Якщо лінія SDA була низка (ACK), передані дані повинні бути завантажені в регістр SSPBUF, що також завантажує регістр SSPSR. Тоді точка SCL повинна бути допущеною, установлюючи CKP біт.  Рис 2.5.2.5.1 Діаграма І2С для прийому (7 бітна адресація)  Рис 2.5.2.5.2 Діаграма І2С для передачі (7 бітна адресація)  Рис 2.5.2.5.3 Підлеглий передавач (10 бітова адресація)  Рис 2.5.2.5.4 Підлеглий приймач (10 бітова адресація) 2.5.2.6 Операція бездіяльності У чрежимі бездіяльності, I2C модуль може одержувати адреси або дані, і коли є відповідність адреси або завершується передача байта, відбувається, підйом процесора від бездіяльності . 2.5.2.7 Ефекти скидання Скидання відключає MSSP модуль і закінчує поточну передачу. 2.5.2.8 Привілейований режим Операція привілейованого режиму підтримується генерацією переривання на виявлення умови ПОЧАТКУ, і КІНЦЯ . Біти КІНЦЯ (P) і ПОЧАТОКУ (S) очищені від скидання або коли MSSP модуль заблокований. Керування I2C шиною може бути узяте, коли P біт установлений, або шина вільна з чистими S і P бітами. У привілейованому режимі, SCL і SDA лінії маніпулюються апаратними засобами MSSP. Наступні події призводять до того, що біт прапорця переривання SSP, SSPIF, буде встановлено. Умова ПОЧАТКУ Умова КІНЦЯ Переданий/отриманий байт переданих даних Оповіщення передачі Повторний Початок 2.5.2.9 Операції режиму multi-master У мультипривілейованому режимі генерація переривання при виявленні умов ПОЧАТКУ або КІНЦЯ дозволяє визначити, коли шина вільна. Біти КІНЦЯ (P) і ПОЧАТОКУ (S) очищені від скидання або коли MSSP модуль заблокований. Керування I2C шиною може бути почато, коли біт P (SSPSTAT <4>) встановлений, або шина вільна з чистими S і P бітами. Коли шина зайнята, включення переривання SSP згенерує переривання, коли виникне умова КІНЦЯ. У мультипривілейованій операції, лінія SDA повинна контролюватись для арбітражу, щоб бачити, чи є рівень сигналу очікуваним рівнем виходу. Ця перевірка виконується апаратно, і результат розміщається у BCLIF біт. Стани, де арбітраж може бути загублений: Передача Адреси Передача даних Умова Початку Повторна Умова Початку Умова, оповіщення 2.6 Опис основних режимів функціонування Після ввімкнення живлення пристрій переходить в режим ініціалізації. Для цього режиму характерними є ініціалізація мікроконтроллера та ініціалізація РК дисплею. Після ініціалізації відбувається перехід до режиму роботи. Даний режим характерний тим, що термометр DS-600 [www5] відповідно до температури свого корпусу видає напругу, яка подається на вхід АЦП мікроконтроллера PIC16C771 [www1]. В свою чергу мікроконтроллер обраховує дійсне значення температури та видає його у відповідному форматі на РК матрицю. Мікроконтроллер зв’язаний з РК контроллером HD44780 [www4] за допомогою 11 бітної шини: 8 біт даних та 3 керуючі біти. Для покращення зображення на дисплеї використовується додадкове живлення драйвера рідких кристалів -5В. В даній мікроеом організована схема скиду, що забезпечує переривання роботи мікропроцесора у нештатних ситуаціях. 3.Опис схеми електричної принципової по вузлах з часовими дiаграмами в основних режимах функцiонування. 3.1 Центральний процесор 3.1.1 Функціональне призначення виводів PIC16C771 Схема виводів мікропроцесора представлена на рис. Опис ніжок приведений в таблиці 3.1.1  Рис 3.1.1.1 Схема виводів мікропроцесора Таблиця 3.1.1.1 Опис виводів мікропроцесора    Name Function Input Type Output Type Description  RA0/AN0 RAO ST CMOS Двонаправлений вхід/вихід   AN0 AN  Аналоговий вхід  RA1/AN1/LVDIN RA1 ST CMOS Двонаправлений вхід/вихід   AN1 AN  Аналоговий вхід   LVDIN AN  Вхід виявлення низької напруги  RA2/AN2/VREF-/VRL RA2 ST CMOS Двонаправлений вхід/вихід   AN2 AN  Аналоговий вхід   Vref- AN  Негативний аналоговий вхід   VRL  AN Внутрішній вихід високої напруги  RA3/AN3A/REF+/VRH RA3 ST CMOS Двонаправлений вхід/вихід   AN3 AN  Аналоговий вхід   VREF+ AN  Позитивний аналоговий вхід   VRH  AN Внутрішній вихід низької напруги  RA4AT0CKI RA4 ST OD Двонаправлений вхід/вихід   T0CKI ST  Вхід тактової чатоти таймера0  RA5/MCLR/VPP RA5 ST  Вхідний порт   MCLR ST  Скидання пристрою   Vpp Power  Programming voltage  RA6/OSC2/CLKOUT RA6 ST CMOS Двонаправлений вхід/вихід   OSC2  XTAL Crystal/resonator   CLKOUT  CMOS Fosc/4 output  RA7/OSC1/CLKIN RA7 ST CMOS Двонаправлений вхід/вихід   OSC1 XTAL  Кристал/Резонатор   CLKIN ST  Вхід зовнішньої тактової частоти/приеднання ER резистора  RB0/AN4/INT RBO TTL CMOS Двонаправлений вхід/вихід <1>   AN4 AN  Аналоговий вхід   INT ST  Вхід переривання  RB1/AN5/SS RB1 TTL CMOS Двонаправлений вхід/вихід *1'   AN5 AN  Аналоговий вхід   SS ST  Вибір другорядного для SSP модуля  RB2/SCK/SCL RB2 TTL CMOS Двонаправлений вхід/вихід '1'   SCK ST CMOS Тактова частота вводу/виводу для SPI   SCL ST OD Тактова частота вводу/виводу для I2C  RB3/CCP1/P1A RB3 TTL CMOS Двонаправлений вхід/вихід '1'   CCP1 ST CMOS Вхід збору даних 1/Вхід порівняння даних 1   P1A  CMOS PWM P1A вихід  RB4/SDI/SDA RB4 TTL CMOS Двонаправлений вхід/вихід '1'   SDI ST  Послідовний вхід для SPI   SDA ST OD Послідовний вхід/вихід для I2C  RB5/SDO/P1B RB5 ST CMOS Двонаправлений вхід/вихід *1'   SDO  CMOS Послідовний вихід для SPI   P1B  CMOS PWM P1B вихід  RB6AT1OSOAT1CKI/P1C RB6 TTL CMOS Двонаправлений вхід/вихід <1>   T1OSO  XTAL Кристал/Резонатор   T1CKI ST  Вхід тактової чатоти таймера1   P1C  CMOS PWM P1C вихід  RB7AT1OSI/P1D RB7 TTL CMOS Двонаправлений вхід/вихід <1>   T1OSI XTAL  Кристал/Резонатор таймера1   P1D  CMOS PWM P1 D вихід  Vss Vss Power  Земля для логічних ніжок та ніжок вводу/виводу  Vdd Vdd Power  Позитивне живлення для логічних ніжок та ніжок вводу/виводу  AVss AVss Power  Земля для аналогових ніжок  AVdd AVdd Power  Позитивне живлення для аналогових ніжок   3.1.2 Опис системи команд Кожна команда PIC16C771 - слово на 14 бітів, розділене на КОД ОПЕРАЦІЇ, що визначає тип команди й один або більше операндов, що далі визначають операцію команди. Для байтовых команд, f представляє покажчик регістрогового файлу і d представляє покажчик адресата. Покажчик регістрового файлу представляє регістровий файл, що буде брати участь в операції. Покажчик адресата визначає, куди результат оерації повинний бути поміщений. Якщо 'd' є нульовим, результат поміщений у регістр W. Якщо 'd' - один, результат поміщений у регістровий файл, зазначений у команді. Для бітових команд, 'b' представляє бітове поле призначення, що вибирає номер біта, якого торкається операція, у той час як 'f представляє номер файлу, у якому біт розташований. Для операцій з константами та операції керування, 'к' представляє постійне або літеральне значення на вісьмому або одинадцятому біті. Нижче приведена таблиця опису операндів інструкцій Таблиця 3.1.2.1 Таблиця опису полів Поле Опис  f Адреса регістрового файлу (0х00 до 0х7F)  W Робочий регістр (акумулятор)  b Бітова адреса  k Поле константи  x Не має значення розміщення (=0 або 1) Асемблер генерує код з х=0. Це рекомендується для співпадіння з усіма програмними засобами Microchip.  d Визначення місця призначення; d=0: збереження результату в акумуляторі d=1: збереження результату в регістровому файлі. По замовчуванню d=0  PC Програмний лічильник  ___ TO  Біт часу  ___ PD  Біт живлення   Система команд дуже ортогональна і згрупована в три основних категорії: Байтові операції Бітові операції Константи та операції керування Усі команди виконуються в межах одного окремого циклу інструкції, окрім якщо співпадає перевірка умови або програмний лічильник змінений у результаті виконання команди. У цьому випадку, виконання забирає два цикли команди з другим циклом, виконаним як NOP. Один цикл інструкцій складається з чотирьох періодів генератора. Таким чином, для частоти генератора 4 МГЦ, нормальний час виконання команди - 1 (с. Якщо перевірка умови, або лічильник програми змінений у результаті інструкції, час виконання команди - 2 (с. Формати інструкцій представлені на рис 3.1.2.1 Рис 3.1.2.1 Формати інструкцій Набір інструкцій представлений в таблиці 3.1.3 Таблиця 3.1.2.2 Набір інструкцій Mnemonic,  Description Cycles  14-Bit Opcode  Status Notes  Operands    MSb  LSb Affected   BYTE-ORIENTED FILE REGISTER OPERATIONS        ADDWF f, d Додавання W та f 1 00 0111 dfff ffff C,DC,Z 1,2  ANDWF f, d Кон’юнкція W та f 1 00 0101 dfff ffff Z 1,2  CLRF f Очистити f 1 00 0001 lfff ffff Z 2  CLRW - Очистити W 1 00 0001 0000 0011 Z   COMF f,d Інверсія f 1 00 1001 dfff ffff Z 1,2  DECF f,d Декрементувати f 1 00 0011 dfff ffff Z 1,2  DECFSZ f, d Декрементувати f, пропустити якщо 0 1(2) 00 1011 dfff ffff  1,2,3  INCF f, d Інкрементувати f 1 00 1010 dfff ffff Z 1,2  INCFSZ f, d Інкрементувати f, пропустити якщо 0 1(2) 00 1111 dfff ffff  1,2,3  IORWF f,d Включаюче АБО W та f 1 00 0100 dfff ffff Z 1,2  MOVF f,d Перемістити f 1 00 1000 dfff ffff Z 1,2  MOVWF f Перемстити W в f 1 00 0000 lfff ffff    NOP - Немає операції 1 00 0000 0xx0 0000    RLF f, d Зсув f вліво 1 00 1101 dfff ffff C 1,2  RRF f, d Зсув f вправо 1 00 1100 dfff ffff C 1,2  SUBWF f,d Віднімання W від f 1 00 0010 dfff ffff C,DC,Z 1,2  SWAPF f,d Swap nibbles in f 1 00 1110 dfff ffff  1,2  XORWF f,d Виключне АБО W та f 1 00 0110 dfff ffff Z 1,2  BIT-ORIENTED FILE REGISTER OPERATIONS        BCF f, b Очистити біт f 1 01 00bb bfff ffff  1,2  BSF f, b Встановити біт f 1 01 01bb bfff ffff  1,2  BTFSC f, b Пропустити команду, якщо b рівне 0 1 (2) 01 10bb bfff ffff  3  BTFSS f, b Пропустити команду, якщо b рівне 1 1 (2) 01 11bb bfff ffff  3  LITERAL AND CONTROL OPERATIONS        ADDLW k Додати константу та W 1 11 111x kkkk kkkk C,DC,Z   ANDLW k Кон’юнкція константи з W 1 11 1001 kkkk kkkk Z   CALL k Виклик підпрограми 2 10 0kkk kkkk kkkk    CLRWDT - Очистити сторожевий таймер 1 00 0000 0110 0100 TO.PD   GOTO k Перейти до адреси 2 10 1kkk kkkk kkkk    IORLW k Включаюче АБО літерал та W 1 11 1000 kkkk kkkk Z   MOVLW k Перемістити константу до W 1 11 00xx kkkk kkkk    RETFIE - Повернутись з переривання 2 00 0000 0000 1001    RETLW k Повернути з константою у W 2 11 01xx kkkk kkkk    RETURN - Повернутись з підпрограми 2 00 0000 0000 1000    SLEEP - Піти у режим бездіяльності 1 00 0000 0110 0011 TO.PD   SUBLW k Відняти W від константи 1 11 110x kkkk kkkk C,DC,Z   XORLW k Виключне АБО літерал з W 1 11 1010 kkkk kkkk Z    3.1.3 Аналого-цифровий перетворювач АЦП (A/D) модуль має шість входів. A/D конвертер у PIC16С771 дозволяє перетворення аналогового сигналу у відповідне цифрове значення на 12 біт. A/D модуль має до 6 аналогових входів, що мультиплексовані в одну вибірку. Вихід вибірки – є вхід в конвертер, що генерує результат через послідовне наближення. A/D конвертер може бути викликаний, установлюючи GO/DONE біт, або спеціальним подією режим порівняння ECCP1 модуля. Коли перетворення закінчене, GO/DONE біт встановлються до '0', ADIF біт у регістрі PIR1 установлений, і переривання A/D відбудеться, якщо допускається. A/D конвертер має унікальну особливість того, щоб бути здатним працювати, у той час як пристрій знаходиться в режимі SLEEP. Щоб працювати в SLEEP, A/D частота конвертера повинна бути отримані з АЦП внутрішнього ємнісно-резистивного генератора. A/D модуль має чотири регістри: A/D Регістр Результату молодша адреса ADRESL A/D Регістр Результату старша адреса ADRESH A/D Регістр Керування 0 (ADCON0) A/D Регістр Керування 1 (ADCON1) Регістр Керування Регістр ADCON0 контролює операції A/D модуля. Регістр ADCON1, конфігурує точки порту, конфігурацію напруги і формат результату. Точки порту можуть бути сконфігуровані як аналогові входи або як цифрові виходи. Комбінація ADRESH і ADRESL регістрів містить результат A/D перетворення. Регістрова пара згадується як регістр ADRES. Коли A/D перетворення закінчене, результат завантажений у ADRES, GO/DONE біт , (ADCON0 <2>) очищений, і прапорець ADIF переривання A/D, установлений. Формат 12 бітового результату приведений нижче  Рис 3.1.3.1 Формат 12 бітового результату Блок-схема A/D модуля (Рис 3.1.3.2) Рис 3.1.3.2 Функціональна схема A/D модуля Часова діаграма перетворення представлена на Рис 3.1.3.3  Рис 3.1.3.3 Часова діаграма перетворення A/D модуля 3.1.4 Спеціальні функції CPU PIC16С771 має декілька різних скидань. Ці скидання згруповані в два класи: при включеному живленні і невключеному живленні. Скидання при включеному живленні є скидання при ввімкненні і скидання короткочасного провалу напруги живлення, що припускають, що пристрій Vdd був нижче його нормально діючого діапазону для конфігурації пристрою. Скидання типу, при невключеному живленні, припускають нормально діючий діапазон для конфігурації пристрою перед/протягом і після скидання. Скидання при включенні живлення (POR) Програмоване скидання короткочасного провалу напруги живлення (PBOR) MCLR скидання протягом нормальної операції MCLR скидання протягом БЕЗДІЯЛЬНОСТІ WDT Скидання (протягом нормальної операції) Деяких регістрів торкаються скидання жодного типу. Їхній стан - невідомий на скиданні при включенні живлення і незмінний в будь-якому іншому скиданні. Більшість інших регістрів ініціалізуються після скидання, однак їх не торкає скидання WDT протягом бездіяльності, тому що це розглядають як WDT пробудження, що розглядається як поновлення нормальної роботи. [4] Декілька бітів стану були зарезервовані, щоб вказати, яке скидання відбулось. Спрощену блок-схему схеми скидання на кристалі приведено на рис 3.1.6 Рис 3.1.4.1 Спрощена блок-схема схеми скидання на кристалі 3.2 Постійна пам’ять програм PIC16C771 має 13 бітовий програмний лічильник , здатний адресувати до 8 КБ x 14 простору пам’яті програм. PIC16C771 має 4 КБ x 14 слів програмної пам’яті. Доступ до місця розташування вище фізично реалізованої адреси викликає перенос. Структура памяті приведена на рис Вектор скидання - у 0000h, і вектор переривання - у 0004h.  Рис 3.2.1 Постійна пам’ять програм Для відображення блоків програмної памяті використовуються регістри PMDATH та PMDATL розміром в 2 байтове слово, шо містить 12 біт. Регістри PMADRH та PMADRL відповідно розміром в 2 байтове слово містять 14 біт та використовуються для адресації памяті програм. Більшість пристроїв мають до 8КБ слів програмної пам’яті EPROM, шо займає адресний простір з 0h до 3FFFh. Виконання циклу читання пам’яті програм (рис 3.2.2).  Рис 3.2.2 Виконання циклу читання пам’яті програм 3.3 Оперативна пам’ять даних Пам'ять даних розділена на різновидні банки, що містять універсальні та спеціальні функціональні регістри. Біти RP1 і RP0 - біти вибору банку (Рис 3.3.1).  Рис 3.3.1 Вибір банку пам’яті Кожен банк має розмір до 7Fh (128 байтів). Більш низькі місця розташування кожного банку зарезервовані для спеціальних функціональних регістрів. Вище спеціальних функціональних регістрів розміщені регістри універсального призначення, реалізовані як статична оперативна пам'ять. Усі реалізовані банки містять спеціальні функціональні регістри. Деякі спеціальні функціональні регістри, що часто використовуються в одному банку можуть буди відзеркалені в іншому, це спрощує код програм та підвідвищує швидкодію. Карта регістрового файлу приведена на Рис 3.3.2  Рис 3.3.2 Карта регістрового файлу Як забезпечується пряма та непряма адресація в мікроконтроллері показано на Рис 3.3.3  Рис 3.3.3 Пряма та непряма адресація 3.4 Вузол синхронізації PIC16C771 може використовувати чотири різні режими генератора. Користувач може запрограмувати біти (FOSC <2:0>), щоб вибрати один з цих режимів: LP Кристал малої потужності XT Кристал/Резонатор HS Високошвидкісний кристал /Рeзонатор ER Зовнішній резистор INTRC Внутрішні 4 MHz EC Зовнішня частота В режимах LP, XT, HS кристал чи керамічний резонатор підєднюється до точок OSC1/CLKIN і OSC2/CLKOUT. Схема подана на рис 3.4.1 Рис 3.4.1 Схема приєднання блоку синхронізації Для аплікацій шо не чутливі до часу , ER режим частоти пропонує додаткові заощадження енергії. Тільки один зовнішній компонент, резистор, зв'язаний з точками OSC1 і Vss, необхідний, щоб установити операційну частоту внутрішнього генератора. Схема підключення подана на рисунку 3.4.2 Рис 3.4.2 Схема приєднання зовнішнього резистора У аплікаціях, де джерело частоти є зовнішнім, PIC16C771 повинний бути запрограмований, щоб вибрати EC режим. У цьому режимі, RA6/OSC2/CLKOUT точка доступна, як вхід/вихід. Схема підключення подана на рисунку 3.4.3. Рис 3.4.3 Схема приєднання зовнішнього джерела синхронізації 3.5 Вузол скиду Вузол скиду (Рис 3.5 1) представляє собою схему з конденсатора та ключа, що замикаючись встановлює на інверсному вході сигналу Master Clear низький рівень. [1]  Рис 3.5.1 Вузол скиду 3.6 Пiдсистема вводу-виводу Підсистема вводу-виводу даного пристрою складається з температурного датчика (пристрій вводу) та рідкокристадлічного дисплею (пристрій виводу). 3.6.1 Інвертор напруги MAX660 [www5] MAX660 монолітичний інвентор напруги, перетворює напругу +1,5В-+5В у -1,5В - -5В відповідно. Використовується в: ноутбуках медичних інструментах інтерфейсах БЖ ручних інструментах Далі на Рис 3.6.1.1 та Рис 3.6.1.2 подані схеми ніжок та схема типового підключення  Рис 3.6.1.1 Схеми ніжок MAX 660  Рис 3.6.1.2 Схеми типового підключення MAX 660 3.6.2 Температурний сенсор В даній мікроеом використовується температурний сенсор DS600 з аналоговим виходом фірми DALL...
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!