- •Курсовой проект
- •Восточно-Сибирский государственный
- •Студент Ожигов и.А.,Горбов е.Г. Группа№ 621-2
- •Лист1 Схема эл. Принипиальная.
- •В ведение
- •1.Описание используемой омэвм
- •1 .2.Особенности структурной организации pic 16f84
- •Размещение регистров в памяти данных.
- •Описание специальных регистров pic 16f84
- •Состояние специальных регистров после сброса
- •2.Постановка задачи
- •2.1.Техническое задание
- •2 .2.Функциональная схема
- •2 .3.Описание работы системы
- •3 .Разработка программы работы омэвм
- •3.1.Блок-схема программы
- •3 .2.Программа работы омэвм
- •Спецификация элементов
- •Заключение
- •П ринципиальная схема
Размещение регистров в памяти данных.
Кристалл PIC16F84 имеет память данных-констант 64х8 EEPROM бит, которая позволяет запись и чтение во время нормальной работы (во всем диапазоне питающих напряжений). Эта память не принадлежит области регистров ОЗУ.
Описание специальных регистров pic 16f84
Таблица 2.
Адрес |
Имя |
Бит 7 |
Бит 6 |
Бит 5 |
Бит 4 |
Бит 3 |
Бит 2 |
Бит 1 |
Бит 0 |
Банк 0 |
|||||||||
00h |
INDF |
Используется значение FSR для доступа к памяти данных (не физический регистр) |
|||||||
01h |
TMRO |
8-разрядный таймер/счетчик |
|||||||
02h |
PCL |
Младшие 8 разрядов счетчика команд РС |
|||||||
03h |
STATUS2 |
IRP |
RP1 |
RP0 |
TO |
PD |
Z |
DC |
C |
п
родолжение
таблицы 2
04h |
FSR |
Регистр косвенной адресации (Указатель адреса) |
||||||||||||||||||||
05h |
PORTA |
_ |
_ |
_ |
RA4/ TOCKI |
RA3 |
RA2 |
RA1 |
RA0 |
|||||||||||||
06h |
PORTB |
RB7 |
RB6 |
RB5 |
RB4 |
RB3 |
RB2 |
RB1 |
RB0/ INT |
|||||||||||||
07h |
|
|
||||||||||||||||||||
08h |
EEDATA |
Регистр данных ППЗУ данных-констант |
||||||||||||||||||||
09h |
EEADR |
Регистр адреса ППЗУ данных-констант |
||||||||||||||||||||
0Ah |
PCLATH |
– |
– |
– |
Старшие разряды счетчика РС1 |
|||||||||||||||||
0Bh |
INTCON |
GIE |
EEIE |
TOIE |
INTE |
RBIE |
TOIF |
INTF |
RBIF |
|||||||||||||
Банк 1 |
||||||||||||||||||||||
80h |
INDF |
Используется значение FSR для доступа к памяти данных (не физический регистр) |
||||||||||||||||||||
81h |
OPTION |
RBPU |
INTEG |
TOCS |
TOSE |
PSA |
PS2 |
PS1 |
PS0 |
|||||||||||||
82h |
PCL |
Младшие 8 разрядов счетчика команд РС |
||||||||||||||||||||
83h |
STATUS2 |
IRP |
RP1 |
RP0 |
TO |
PD |
Z |
DC |
C |
|||||||||||||
84h |
FSR |
Регистр косвенной адресации (Указатель адреса) |
||||||||||||||||||||
85h |
TRISA |
– |
– |
– |
Биты управления портом А |
|||||||||||||||||
86h |
TRISB |
Биты управления портом В |
||||||||||||||||||||
87h |
|
|
||||||||||||||||||||
88h |
EECON1 |
– |
– |
– |
EEIF |
WRERR |
WREN |
WR |
RD |
|||||||||||||
89h |
EECON2 |
Регистр управления 2 ППЗУ данных-констант (не физический регистр) |
||||||||||||||||||||
0Ah |
PCLATH |
– |
– |
– |
Старшие разряды счетчика РС1 |
|||||||||||||||||
0Bh |
INTCON |
GIE |
EEIE |
TOIE |
INTE |
RBIE |
TOIF |
INTF |
RBIF |
|||||||||||||
Примечания:
Старшие разряды программного счетчика РС <12:8> прямо недоступны. Они могут быть записаны или прочитаны только через регистр PCLATH.
Н
изкий
уровень сигнала на входе MCLR не изменяет
состояния битов PD и TO. Биты сохраняют
свое значение, пока не поступит какое-либо
иное условие сброс
Доступ к ней осуществляется через два регистра: EEDATA <08h>, который содержит в себе восьмибитовые данные для чтения/записи и EEADR <09h>, который содержит в себе адрес ячейки к которой идет обращение. Дополнительно имеется два управляющих регистра: EECON1 <88h> и EECON2<89h>.
При считывании данных из памяти EEPROM необходимо записать требуемый адрес в EEADR регистр и затем установить бит RD EECON1<0> в единицу. Данные появятся в следующем командном цикле в регистре EEDATA и могут быть прочитаны. Данные в регистре EEDATA защелкиваются. Пример фрагмента программы считывания данных из памяти данных-констант EEPROM приведена ниже:
; Считывание из памяти данных-констант.
Bcf STATUS , RP0 ; Установка банка 0.
Movlw CONFIG_ADDR ;
Movwf EEADR ; Адрес чтения.
Bsf STATUS , RP0 ; Установка банка 1.
Bsf EECON1 , RD ; Чтение EEPROM.
Bcf STATUS , RP0 ; Установка банка 0.
Movf EEDATA , W ; Считанные данные W.
При записи в память EEPROM, необходимо сначала записать требуемый адрес в EEADR регистр и данные в EEDATA регистр. Затем выполнить специальную обязательную последовательность команд, производящую непосредственную запись:
Movlw 55h ;
Movwf EECON2 ; Запись 55 h.
Movlw AAh ;
M
ovwf
EECON2 ; Запись AA h.
Bsf EECON1 , WR ; Установка бита WR,
; начало цикла записи.
Во время выполнения этого участка программы, все прерывания должны быть запрещены для точного выполнения временной диаграммы. Время записи - примерно 10мс. Фактическое время записи будет изменяться в зависимости от напряжения, температуры и индивидуальных свойств кристалла. В конце записи бит WR автоматически обнуляется, а флаг завершения записи EEIF, он же запрос на прерывание, устанавливается. Пример фрагмента программы записи в память данных-констант EEPROM приведена ниже:
; Запись в память данных-констант.
Bsf Status , RP0 ; Установка банка 1.
Bcf Intcon , GIE ; Запрет прерываний.
; Обязательая последовательность команд.
Movlw 55h ;
Movwf EECON2 ; Запись 55 h.
Movlw Aah ;
Movwf EECON2 ; Запись AA h.
Bsf EECON1, WR ; Установка бита WR,
; начало цикла записи.
;Bsf Intcon , GIE ; Разрешение прерываний.
Для предотвращения случайных записей в память данных предусмотрен специальный бит WREN в регистре EECON1. Рекомендуется держать бит WREN выключенным, кроме тех случаев, когда нужно обновить память данных. Более того, кодовые сегменты, которые устанавливают бит WREN и те, которые выполняют запись должны храниться на различных адресах, чтобы избежать случайного выполнения их обоих при сбое программы.
Таблица 3.
- |
- |
- |
EEIF |
WRERR |
WREN |
WR |
RD |
7 |
6 |
|
|
|
|
1 |
0 |
Управляющие биты RD и WR запускают соответственно чтение и запись. Они могут быть установлены только программно. Сбрасываются- аппаратно по завершения операций чтения/записи. Запрет программного сброса бита WR предотвращает преждевременное окончание записи.
RD – бит чтения;
RD =1: Запускает чтение памяти данных EEPROM. Чтение занимает один цикл. Устанавливается программно. Обнуляется аппаратно.
WR – бит записи;
WR =1: Запускает запись в память данных EEPROM. Устанавливается программно. Обнуляется аппаратно.
WREN – Бит разрешения записи в память данных EEPROM
WREN = 1: Разрешена запись.
WREN = 0: Запрещена запись. После включения питания WREN обнуляется.
Флаг ошибки WRERR устанавливается, когда процесс записи прерывается сигналом сброса /MCLR или сигналом сброса от WDT таймера. Рекомендуем проверять этот флаг WRERR и при необходимости производить перезапись данных, данные и адрес которых сохраняются в регистрах EEDATA и EEADR.
WRERR – флаг ошибки записи;
WRERR = 1: Флаг устанавливается, когда операция записи преждевременно прерывается сигналом сброса /MCLR (во время обычного режима или режима SLEEP) или сигналом сброса WDT во время обычного режима.
Флаг EEIF устанавливается, когда встроенный автомат завершает запись в память данных. Он должен быть сброшен программно.
EEIF – Флаг завершения прерывания;
EEIF=1: флаг устанавливается, когда завершена запись.
Соответствующий бит разрешения прерывания по окончанию записи в EEPROM - EEIF находится в регистре INTCON.
У
правляющий
регистр EECON2 (Адрес: 89h). Значение после
включения – отсутствует, читается как
"0") физически отсутствует. При
чтении EECON2 считывается "0". Регистр
EECON2 предназначен исключительно для
использования в последовательности
команд, осуществляющей запись в память
EEPROM/
