Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

Коммуникации и связь->Реферат
Потім усі значення, що лежать просторово між електродами, обчислюють методом лінійної інтерполяції: спектральна щільність потужності у визначеній смуз...полностью>>
Коммуникации и связь->Реферат
Спектральний аналіз – один з методів обробки сигналу, що дозволяє охарактеризувати частотний склад вимірюваного сигналу. Перетворення Фур'є є основою,...полностью>>
Коммуникации и связь->Реферат
Полученные законы Ома и Кирхгофа в символической форме позволяют рассчитать режим в цепи синусоидального тока. Так как все методы расчета режима вывод...полностью>>
Коммуникации и связь->Курсовая работа
Автоматизация технологических процессов является одним из решающих факторов улучшения качества продукции, повышения производительности и улучшения усл...полностью>>

Главная > Дипломная работа >Коммуникации и связь

Сохрани ссылку в одной из сетей:

Прямая адресация.

Когда производится прямая 9-битная адресация, младшие 7 бит берутся как прямой адрес из кода операции, а два бита указателя страниц (RP1,RP0) из регистра статуса (03h).

Косвенная адресация

FSR (04h)- Указатель косв.адресации

Любая команда, которая использует INDF (адрес 00h) в качестве регистра фактически обращается к указателю, который хранится в FSR (04h). Чтение косвенным образом самого регистра INDF даст результат 00h. Запись в регистр INDF косвенным образом будет выглядеть как NOP, но биты статуса могут быть изменены. Необходимый 9-битный адрес формируется объединением содержимого 8-битного FSR регистра и бита IRP из регистра статуса.

TMR0 таймер/счетчик

Режим таймера выбирается путем сбрасывания в ноль бита T0CS, который находится в регистре OPTION_REG. В режиме таймера TMR0 будет инкрементироваться от ВНУТРЕННЕГО ИСТОЧНИКА частоты каждый командный цикл (без прескаллера). После записи информации в TMR0, инкрементирование его начнется после двух командных циклов. Такое происходит со всеми командами, которые производят запись или чтение-модификацию-запись TMR0 (напр. MOVF f1, CLRF f1). Избежать этого можно при помощи записи в TMR0 скорректированного значения. Если TMR0 нужно проверить на равенство нулю без остановки счета, следует использовать инструкцию MOVF f1,W. Режим счетчика выбирается путем установки в единицу бита T0CS, который находится в регистре OPTION_REG. В этом режиме TMR0 будет инкрементироваться либо положительным, либо отрицательным фронтом на ножке RA4/T0CKI от ВНЕШНЕГО источника. Направление фронта определяется управляющим битом T0SE в регистре OPTION_REG. При T0SE=0 будет выбран передний фронт. Прескаллер может быть использован или совместно с TMR0, или с Watchdog таймером. Вариант подключения делителя контролируется битом PSA в регистре OPTION_REG. При PSA=0 делитель будет подсоединен к TMR0. Содержимое делителя программе недоступно. Коэффициент деления - программируется. Прерывание по TMR0 вырабатывается тогда, когда происходит переполнение TMR0 таймера/счетчика при переходе от FFh к 00h. Тогда устанавливается бит запроса T0IF в регистре INTCON<2>. Данное прерывание можно замаскировать битом T0IE в регистре INTCON<5>. Бит запроса T0IF должен быть сброшен программно при обработке прерывания. Прерывание по TMR0 не может вывести процессор из SLEEP, так как таймер в этом режиме отключен.

Проблемы с таймером

Проблемы могут возникнуть при счете внешних сигналов. Эти сигналы стробируются внутренним сигналом синхронизации, см. схему SYNC. Образуется некоторая задержка между фронтом входного сигнала и моментом инкрементирования TMR0. Cтробирование производится после прескаллера. Выход прескаллера опрашивается дважды в течение каждого командного цикла, чтобы определить положительный и отрицательный фронты входного сигнала. Поэтому сигнал Psout должен иметь высокий и низкий уровень не менее двух периодов синхронизации.

Когда прескаллер не используется, Psout повторяет входной сигнал, поэтому требования к нему следующие:

Trth= TMR0 high time >= 2 tosc+20ns

Trtl= TMR0 low time >= 2 tosc+20ns.

Когда прескаллер используется, на вход TMR0 подается сигнал, поделенный на число, установленное в счетчике делителя. Сигнал после прескаллера всегда симметричен.

Psout high time = Psout low time = N*Trt/2, где Trt- входной период TMR0,

N- значение счетчика делителя (2,4...256).

В этом случае требования к входному сигналу можно выразить так:

N*Trt/2 >= 2 tosc +20ns или Trt >= (4tosc + 40ns)/N.

Когда используется прескаллер, низкий и высокий уровень сигнала на его входе должны быть не менее 10 нс. Таким образом общие требования к внешнему сигналу, когда делитель подключен таковы:

Trt= TMR0 рeriod >= (4tosc + 40ns)/N

Trth = TMR0 high time >= 10ns

Trtl = TMR0 low time >= 10ns.

Так как выход определителя синхронизируется внутренним сигналом тактовой частоты, то существует небольшая задержка между появлением фронта внешнего сигнала и временем фактического инкремента TMR0. Эта задержка находится в диапазоне между 3*tosc и 7*tosc. Таким образом измерение интервала между событиями будет выполнено с точностью 4*tosc (1мкс при кварце 4 МГц).

Регистр статуса

Регистр статуса (03h) содержит арифметические флаги АЛУ, состояние контроллера при сбросе и биты выбора страниц для памяти данных. Регистр доступен для любой команды так же, как любой другой регистр. Однако, биты и устанавливаются аппаратно и не могут быть записаны в статус программно. Это следует иметь в виду при выполнении команды с использованием регистра статуса. Например, команда CLRF 03h обнулит все биты, кроме битов и , а затем установит бит Z=1. После выполнения этой команды регистр статуса может и не иметь нулевое значение (из-за битов и ) 03h=000??100. Поэтому рекомендуется для изменения регистра статуса использовать только команды битовой установки BCF, BSF, MOVWF, которые не изменяют остальные биты статуса. Воздействие всех команд на биты статуса можно посмотреть в “Описании команд”.

Программные флаги статуса

Таблица3.5.

Размещение флагов в регистре статуса.

b7

b6

b5

b4

B3

b2

b1

b0

03h=

IRP

RP1

RP0

Z

DC

C

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

Для команд ADDWF и SUBWF. Этот бит устанавливается, если в результате операции из самого старшего разряда происходит перенос. Вычитание осуществляется путем прибавления дополнительного кода второго операнда. При выполнении команд сдвига этот бит всегда загружается из младшего или старшего бита сдвигаемого источника.

3.6.4 Организация встроенного ПЗУ

Программный счетчик в PIC16F84 имеет ширину 13 бит и способен адресовать 8Кх14бит объема программной памяти. Однако, физически на кристалле имеется только 1Кх14 памяти (адреса 0000h-03FFh). Обращение к адресам выше 3FFh фактически есть адресация в тот же первый килобайт. Вектор сброса находится по адресу 0000h, вектор прерывания находится по адресу 0004h.

Таблица3.6.

Организация встроенного ПЗУ.

PC <12:0>

Stack Level 1

Stack Level 2

. . . . . . . . . . . .

Stack Level 8

Reset Vector

0000h

Interruрt Vector

0004h

On-Chiр Program Memory

0005h

03FFh

0400h

1FFFh

EEPROM PIC16F84 рассчитан на ограниченное число циклов стирания/записи. Чтобы записать в программную память, кристалл должен быть переведен в специальный режим при котором на ножку подается напряжение программирования Vрrg, а питание Vdd должно находиться в пределах 4.5 В ...5.5В. PIC16F84 непригоден для применений, в которых часто модифицируется программа. Запись в программную память осуществляется побитно, последовательно с использованием только двух ножек. Паспортное значение количества записей в программную память PIC16F84 равно 100(min) и 1000 (tiр), практически-же микросхемы выдерживают несколько тысяч перезаписей. Число перезаписей памяти данных (64 байта) достанет 1000000.

3.6.5 Данные в EEPROM

Долговременная Память данных EEPROM.

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

3.7 Блок схема алгоритма

3.7.1 Главная программа

3.7.2 Подпрограмма

Листинг программного обеспечения.

#include

list p=16f84

processor 16F84

bank0 macro

bcf STATUS,RP0 ;set bank0

endm

bank1 macro

bsf STATUS,RP0 ;set bank1

endm

org 0x0000

begin

call init

bank0

movlw 0x05

movwf 0x0c

loop btfsc PORTB,1 ;esli rb1=1

goto rele_on ;rele - on (220 on)

;rb1=0

btfss PORTA,2 ;test battarey

goto low_batt ;esli ra2=1 (bat rabotaet)

;generirovat'

bsf PORTB,4

call delay34

bcf PORTB,4

call delay16

bsf PORTB,5

call delay34

bcf PORTB,5

decfsz 0x0c, ;

goto loop1

;esli 0x0c=0 (1 raz iz 5)

movlw 0x05

movwf 0x0c ;to

btfss PORTB,2 ;proverka napraz. generat.

Goto sound ;esli napr.gener.

;low - sound

bcf PORTB,7

nop

nop

nop

goto loop_sound

movf PORTB,0 ;W<-PORTB

xorlw b'10000000' ;invers. RB7

movwf PORTB

goto loop

loop1

nop

nop

nop

nop

nop

nop

nop

goto loop



Загрузить файл

Похожие страницы:

  1. Разработка универсального источника бесперебойного питания

    Дипломная работа >> Коммуникации и связь
    ... медицинской аппаратурой. К основным критериям разработки источника бесперебойного питания стоит отнести надежность и стойкость к ... будет вестись последующая разработка. К основным критериям разработки источника бесперебойного питания стоит отнести надежность ...
  2. Разработка автоматизированной системы управления электроснабжением КС "Ухтинская"

    Дипломная работа >> Физика
    ... уровня и при отключении пускателя электродвигателя. 1.1.3 Разработка интегрированной автоматизированной системы управления энергоснабжением ... 0,7 км 1 28050 143 55 Диспетчерская Источник бесперебойного питания 1 8410 168 56 Оптоэлектрический преобразователь ...
  3. Разработка системы Автоматизированное решение задач механики

    Дипломная работа >> Информатика
    ... комплекса технических средств могут входить: Источник бесперебойного питания; Аудиоконтроллер; Принтер; Сетевая карта; ... комплекта в производство. В разделе "Экономические обоснование разработки" рассчитаны основные параметры, характеризующие эффективность ...
  4. Разработка библиотеки для КОМПАС График Расчет и построение теплообменников

    Дипломная работа >> Информатика
    ... затраты времени конструктора при разработке сборочных и деталировочных машиностроительных ... Windows 2000. Для разработки подсистемы: «Разработка библиотеки типовых элементов ... Black G5 optical, PS/2 Источники бесперебойного питания UPS Mustek PowerMust 600 ...
  5. Разработка и автоматизация подсистемы Диетпитание для учета питания всех пациентов

    Реферат >> Информатика
    ... и проектных требований к создаваемой подсистеме. 2. Разработка технического задания. Разработка в соответствии со сформулированными требованиями ... Оборудование Сумма, руб. Сервер 100000 Источник бесперебойного питания 10000 Компьютеры 40000 Итого 150000 ...

Хочу больше похожих работ...

Generated in 0.0019278526306152