Скачиваний:
93
Добавлен:
21.02.2014
Размер:
788.21 Кб
Скачать

При организации двунаправленных портов необходимо учитывать особенности организации ввода/вывода данных МК. Любая команда, которая осуществляет запись, выполняет ее как «чтение-модификация-запись».

Необходимо выдерживать определенную последовательность обращения к портам ввода/вывода. Запись в порт вывода происходит в конце командного цикла. Но при чтении данные должны быть стабильны в начале командного цикла.

Порт С микроконтроллера PIC16F876 имеет аналогичные характеристики с портом В.

Рисунок 11 - Схема линий RB <7:4> порта B

Рисунок 12 - Схема линий RB <3:0> порта B

 

 

 

 

 

УИТС.421413.104 ПЗ

Лист

 

 

 

 

 

 

 

 

 

 

 

23

Изм.

Лист

№ документа

Подпись

Дата

 

 

 

 

 

 

 

4.4 Организация памяти микроконтроллера PIC16F876. Регистры.

Организация памяти данных и программ. В микроконтроллерах PIC16F87X имеется три вида памяти. Память программ и память данных имеют раздельные шины данных и адреса, что позволяет выполнять параллельный доступ.

Микроконтроллеры PIC16F87X имеет тринадцати разрядный счетчик команд, способность реализовать 8К×14 слов памяти программ. Физически реализовано FLASH памяти программ 8К×14. Обращение к физически не реализованной памяти программ приведет к адресации реализованной памяти.

Память данных разделена на четыре банка, которые содержат регистры общего и специального (SFR) назначения. Биты RP1 (STATUS<6>) и RPO (STATUS<5>) предназначены для управления банками данных. В таблице 4 показано состояние управляющих битов при обращении к банкам памяти данных.

Объем банков памяти данных до 128 байт (7Fh).

В начале банка размещаются регистры специального назначения, затем регистры общего назначения выполненные как статическое ОЗУ. Все реализованные банки содержат регистры специального назначения. Некоторые, часто ис

пользуемые регистры специального назначения могут отображаться и в других банках памяти.

Таблица 4 – Значения битов управления доступом к банкам памяти данных

 

 

 

 

 

Rp1,Rp0

 

Банк

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

00

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

01

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

УИТС.421413.104 ПЗ

Лист

 

 

 

 

 

 

 

 

 

 

 

 

 

24

Изм.

Лист

№ документа

Подпись

Дата

 

 

 

 

 

 

 

 

 

 

 

 

Память данных в РПЗУ (EEPROM). Микроконтроллеры подгруппы PIC6F8X имеют энергонезависимую память данных 64х8 бит EEPROM, которая допускает запись и чтение во время нормальной работы. Эта память не принадлежит области регистровой памяти ОЗУ. Доступ к ней осуществляется посредством косвенной адресации через регистры специальных функций: EEDATA <08h>, который содержит 8-битовые данные для чтения/записи и EEADR <09h>, включающий адрес ячейки, к которой идет обращение. Для управления процессом чтения/записи используются два регистра: EECON1 <88h> и EECON2 <89h>.

При записи байта автоматически стирается предыдущее значение, и записываются новые данные (стирание перед записью). Все эти операции производит встроенный автомат записи EEPROM. Содержимое ячеек этой памяти при выключении питания сохраняется.

PC<12:0>

Стек, уровень 1

Стек, уровень 2

Вектор сброса

 

 

 

 

 

 

Вектор прерыва-

 

 

 

 

 

ний

Внутренняя па-

 

 

 

мять программ

 

 

Страница 0

 

 

 

 

 

 

 

Страница 1

 

 

Рисунок 14 – Организация памяти программ микроконтроллера PIC16F876

 

 

 

 

 

УИТС.421413.104 ПЗ

Лист

 

 

 

 

 

 

 

 

 

 

 

25

Изм.

Лист

№ документа

Подпись

Дата

 

 

 

 

 

 

 

Регистры общего назначения. Обратиться к регистрам общего назначения можно прямой или косвенной адресацией, через регистр FSR.

Регистр STATUS. В регистре STATUS содержатся флаги состояния АЛУ, флаги причины сброса микроконтроллера и биты управления банками памяти данных.

Регистр STATUS может быть адресован любой командой, как и любой другой регистр памяти данных. Если обращение к регистру STATUS выполняется командой, которая воздействует на флаги Z, DC и С, то изменение этих трех битов командой заблокирована. Эти биты сбрасываются или устанавливаются согласно логике ядра микроконтроллера. Команды изменения регистра STATUS также не воздействуют на биты ТО и PD.

Рисунок 11 - Карта памяти данных микроконтроллеров PIC16F877/876

 

 

 

 

 

УИТС.421413.104 ПЗ

Лист

 

 

 

 

 

 

 

 

 

 

 

26

Изм.

Лист

№ документа

Подпись

Дата

 

 

 

 

 

 

 

Например, команда CLRF STATUS сбросит три старших бита и установит бит Z. Флаги С и DC используются как биты заёма и десятичного заёма соответственно, например, при выполнении команд вычитания SUBLW и SUBWF.

R-чтение бита; W – запись бита; U – не реализовано; n – значение после POR; x – неизвестное значение после POR.

Рисунок 15 – Регистр STATUS

Таблица 5 - Назначение битов регистра STATUS

 

 

Обозна-

 

 

Назначение

 

Значения

 

 

 

 

 

 

чение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

C

Флаг перенос/заема

1- был перенос; 0- не было пе-

 

 

 

 

реноса из старшего бита;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

DC

Флаг десятичного пере-

1- был перенос; 0- не было пе-

 

 

 

 

носа/заема

реноса из младшего полубайта;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

Z

Флаг нулевого результата

1

- нулевой результат; 0 - нену-

 

 

 

 

 

 

 

 

 

 

 

 

левой результат;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

-PD

Флаг включения питания

1

- после POR; 0 - после выпол-

 

 

 

 

нения команды SLEEP;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

-TO

Флаг переполнения сто-

1

– после POR или CLRWDT; 0

 

 

 

 

 

 

 

 

рожевого таймера

– после переполненияWDT;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5,6

RP

Биты выбора банка

11 - банк 3; 10 - банк 2; 01 - банк

 

 

 

 

1; 00 - банк 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

IRP

Бит выбора банка при

1

- банк 2, 3 (100h-1FFh);

 

 

 

 

косвенной адресации

0

- банк 0,1(000h-0FFh);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

УИТС.421413.104 ПЗ

Лист

 

 

 

 

 

 

 

 

 

 

 

 

 

27

Изм.

Лист

№ документа

Подпись

Дата

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Регистр OPTION REG. Регистр OPTION доступен для чтения и записи, содержит биты управления:

-предварительным делителем TMR0/WDT;

-активным фронтом внешнего прерывания RB0/INT;

-подтягивающими резисторами на входах PORTB.

R – чтение бита; W – запись бита; U – не реализовано; n – значение после POR; x – неизвестное значение после POR.

Рисунок 16 – Регистр OPTION REG

Таблица 6 – Назначение битов регистра OPTION REG

 

 

Обозначение

 

Назначение

 

 

Значения

 

 

 

 

 

 

 

 

 

 

 

000

– 1/2;

 

 

 

0

 

PS0

Установка коэффициен-

 

 

 

 

 

 

 

 

та деления предделителя

001

– 1/4;

 

 

 

1

 

PS1

 

 

 

 

 

 

 

 

010

– 1/8;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

011

– 1/16;

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

100

– 1/32;

 

 

 

 

 

 

PS2

 

 

 

 

101

– 1/64;

 

 

 

 

 

 

 

 

 

 

 

 

110

– 1/128;

 

 

 

 

 

 

 

 

 

 

 

 

111

– 1/256;

 

 

 

 

 

 

 

 

 

 

 

1

– перед WDT;

 

 

 

3

 

PSA

Выбор включения пред-

 

 

 

 

 

 

делителя

 

0

– перед TMPR0;

 

 

 

 

 

 

 

 

 

 

 

 

4

 

TOSE

Выбор тактового сигна-

1

– приращение по заднему фрон-

 

 

 

 

 

 

ла для TMR0

 

ту; 0 - приращение по переднему

 

 

 

 

 

 

 

 

 

 

 

 

фронту;

 

 

 

5

 

T0CS

Выборка тактового сиг-

1

– внешний тактовый сигнал с

 

 

 

 

 

 

нала для TMR0

 

вывода RA4; 0 – внутренний так-

 

 

 

 

 

 

 

 

 

 

 

 

товый сигнал CLKOUT;

 

 

 

6

 

INTEDG

Выборка активного

1

– прерывание по переднему

 

 

 

 

 

 

фронта сигнала на входе

фронту сигнала;0 – прерывание по

 

 

 

 

 

 

 

внешнего прерывания

заднему фронту сигнала;

 

 

 

7

 

-RBPU

Включение подтяги-

1

– подтягивание резисторов от-

 

 

 

 

 

 

вающих резисторов на

ключено;0 – подтягивание рези-

 

 

 

 

 

 

 

 

входах PORTB

 

сторов включено;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

УИТС.421413.104 ПЗ

 

Лист

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

28

Изм.

Лист

№ документа

Подпись

Дата

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.5 Описание связей микроконтроллера в устройстве Связи микроконтроллера в устройстве обусловлены его функциями. Мик-

роконтроллер выполняет следующие функции:

-опрос клавиатуры и прием управляющих сигналов с нее;

-управление цифровой индикацией в различных режимах работы;

-управление синтезатором частоты;

На резисторах R7...R10 собрана схема преобразования уровней сигналов портов RA1, RA2 подаваемых на ЖКИ. Через линии SCL, SDA организованна шина I2C по которой происходит обмен информацией между контроллером PIC16F876 и микросхемой синтезатора TSA6060 для управления ее работой.

Одновременно с обновлением данных для индикатора осуществляется сканирование клавиатуры. Выводы контактов кнопок клавиатуры подключены к выводам микроконтроллера RB1..RB4. При нажатии кнопки на один из этих входов подается сигнал логического нуля, тем самым определяется код кнопки.

Синхронизирующий сигнал от кварцевого резонатора ZQ2 подается на выводы микроконтроллера OSC1, OSC2.

Напряжение питания продается на вывод Ucc, общие выводы для внутренней логики AGND, GND.

 

 

 

 

 

УИТС.421413.104 ПЗ

Лист

 

 

 

 

 

 

 

 

 

 

 

29

Изм.

Лист

№ документа

Подпись

Дата

 

 

 

 

 

 

 

5 РАЗРАБОТКА УПРАВЛЯЮЩЕЙ ПРОГРАММЫ

Управляющая программа для устройства синтезатор частоты имеет достаточно сложную структуру. Это обусловлено разнообразностью выполняемых функций.

Структура программы основана на ряде подпрограмм:

-подпрограмма вычисления частоты;

-подпрограмма преобразования частоты в код для выдачи на индикатор;

-подпрограмма преобразования частоты в код для синтезатора частоты;

-программа опроса кнопок управления.

В начальном состоянии устройство находится в режиме часов. При включении питания активизируется микроконтроллер с синтезатором частоты. Упрощенная блок-схема программы приведена на рисунке 17.

При нажатии кнопки «+» («-») микроконтроллер прибавляет (вычитает) к текущему значению частоты величину шага настройки. Затем следует сравнение полученной частоты с границей диапазона.

Вычисленное значение кода частоты выводится посредством шины I2C на синтезатор частоты.

Далее к частоте прибавляется (вычитается) значение промежуточной частоты для вывода истинного значения частоты на дисплей.

 

 

 

 

 

УИТС.421413.104 ПЗ

Лист

 

 

 

 

 

 

 

 

 

 

 

30

Изм.

Лист

№ документа

Подпись

Дата

 

 

 

 

 

 

 

 

 

 

 

НАЧАЛО

 

 

 

 

 

 

Начальная частота

 

 

 

 

 

 

Анализ состояния

Нет

 

 

 

 

 

 

 

 

 

 

 

кнопки «+»

 

 

 

 

 

 

Да

 

 

 

 

 

Прибавление к частоте вели-

 

 

 

 

 

 

чины шага настройки

 

 

 

 

 

 

Анализ верхней

Да

 

 

 

 

 

 

 

 

 

 

 

границы диапазона

 

 

 

 

 

 

Нет

 

 

 

 

 

 

Анализ состояния

Нет

 

 

 

 

 

кнопки «-»

 

 

 

 

 

 

Да

 

 

 

 

 

Уменьшение частоты на ве-

 

 

 

 

 

 

личину шага настройки

 

 

 

 

 

 

Анализ верхней

Да

 

 

 

 

 

 

 

 

 

 

 

границы диапазона

 

 

 

 

 

 

Нет

 

 

 

 

 

Подпрограмма выдачи кода

 

 

 

 

 

на синтезатор частоты

 

 

 

 

 

Вычисление частоты для ин-

 

 

 

 

 

 

дикатора

 

 

 

 

 

Подпрограмма преобразова-

 

 

 

 

 

ния кода для индикатора

 

 

 

Рисунок 17 – Блок-схема программы синтезатора частоты

 

 

 

 

 

УИТС.421413.104 ПЗ

Лист

Изм. Лист

№ документа

Подпись

Дата

31

ЗАКЛЮЧЕНИЕ

В ходе выполнения курсового проекта рассмотрено устройство микроконтроллерный синтезатор частоты с цифровым управлением. В ходе проведенной работы произведен анализ электрической схемы устройства, обоснование выбора микроконтроллера, в ходе которого наиболее предпочтительным по техническим и экономическим параметрам оказался микроконтроллер PIC16F876. После более подробного изучения структуры и возможностей микроконтроллера разработана управляющая программа.

 

 

 

 

 

УИТС.421413.104 ПЗ

Лист

 

 

 

 

 

 

 

 

 

 

 

32

Изм.

Лист

№ документа

Подпись

Дата