Измеритель амплитуды синусоидального сигнала на базе PIC16F874

Автор работы: Пользователь скрыл имя, 05 Ноября 2014 в 11:25, курсовая работа

Краткое описание

Данная курсовая представляет собой разработку прибора для измерения характеристик синусоидального сигнала, а именно амплитуды. Необходимо вычислить измеряемую величину, как среднюю за 16 периодов синусоидального сигнала.
К прибору подключается источник сигнала и после нажатия на кнопку, спустя некоторое время, происходит вывод данных.

Содержание

Техническое задание…………………………………………………………… 3
Описание применяемой микроЭВМ………………………………………… 4
Внешняя панель устройства………………………………………………… 19
Элементы устройства………………………………………………………… 19
Распределение памяти…………………………………………………………. 25
Блок-схемы алгоритмов………………………………………………………… 26
Функциональная схема устройства…………………………………………....27
Текст программы……………………………………………………………… 28
Литература……………………………………………………………………… 35

Вложенные файлы: 1 файл

Urasach_sinusoida.doc

— 590.50 Кб (Скачать файл)



Время преобразования каждого бита занимает одинаковый интервал. Общее время измерения – 10 интервалов. Сам интервал должен быть не менее 2мкс. На низких частотах может быть выбран RC-генератор. Однако его частота существенно зависит от напряжения питания, температуры и других параметров ( период от 2 до 6 мкс, номинал - 4 мкс).

Выборка и хранение. Схема выборки и хранения состоит из последовательного ключа и конденсатора, емкостью 51пФ. Пока управляющий бит ADON имеет значение единицы и выбран один из аналоговых каналов, ключ будет постоянно замкнут, а конденсатор подключен к источнику входного напряжения. Нет специальной команды, чтобы начать и закончить выборку. Когда начинается цикл преобразования, ключ размыкается, и напряжение на конденсаторе запоминается. После завершения преобразования следующее подключение источника сигнала к конденсатору будет сделано через отрезок времени, равный времени преобразования двух бит. Пользователь должен иметь это в виду при определении правильного момента для запуска следующего измерения.

7

6

5

4

3

2

1

0

ADCS1

ADCS0

CHS2 

CHS1

CHS0

GO/DONE

ADON

Рис. 14. Управляющий регистр и регистр статуса АЦП (ADCON0)


ADON – включение АЦП;

при ADON = 1 АЦП работает и занимает линии IO; иначе АЦП не работает и не потребляет тока.

GO:/DONE – бит статуса АЦП;

при ADON=1 этот бит должен быть установлен, чтобы началось преобразование. Он автоматически сбрасывается аппаратным способом, когда преобразование заканчивается. Если ADON=0, то этот бит всегда 0.

CHS2.CHS1.CHS0 – выбор аналогового канала:

000: канал 0  (RA0/AIN0)

001: канал 1  (RA1/AIN1)

010: канал 2  (RA2/AIN2)

011: канал 3  (RA3/AIN3)

100: канал 4  (RA5/AIN4)

101: канал 5  (RE0/AIN5)

110: канал 6  (RE1/AIN6)

111: канал 7  (RE2/AIN7)

ADCS1.ADCS0 – выбор тактов на один шаг последовательного приближения:

00: fosc/2

01: fosc/8

10: fosc/32

11: fRC (частота от собственного RC-генератора).

7

6

5

4

3

2

1

0

PCFG2

PCFG1

PCFG0

Рис. 15. Управляющий регистр АЦП (ADCON1)


PCFG2.PCFG1.PCFG0 – биты, которые определяют конфигурацию выводов RA0 - RA3:

 

PCFG[2:0]

RA0

RA1

RA2

RA5

RA3

RE0

RE1

RE2

Ref

000

A

A

A

A

A

A

A

A

Vdd  

001

A

A

A

A

Vref

A

A

A

RA3  

010

A

A

A

A

A

D

D

D

Vdd  

011

A

A

A

A

Vref

D

D

D

RA3  

100

A

A

D

D

A

D

D

D

Vdd  

101

A

A

D

D

Vref

D

D

D

RA3  

11х

D

D

D

D

D

D

D

D


Обозначения: A - аналоговый вход, D - цифровой ввод/вывод общего пользования

3. Внешняя панель устройства

 

 

 

 

 

 

 

4. Элементы устройства:

  1. 3 семисегментных индикатора.
  2. Кнопка «Измерить».
  3. Порт для подключения источника сигнала.

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

 

5. Блок-схемы алгоритмов:

Блок-схема основной программы











 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 













 

 

 

 







 

 

 

 

 

 

 

6.Функциональная схема устройства

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7.Текст программы:

BEGIN:

L: MOVW Fh

MOVF 24h

MOVLW 05h

MOVWF 1Fh

L1: 

 BTFSS 1F,2

GOTO M

GOTO L1

M:  

BCF STATUS,0 ;       сброс флага Z

MOVF ADRES,W ;    напряжение в аккумулятор 

SUBWF 21h,1 ;21h-W, резуль. в 21

BTFSC STATUS,0;    если пред>текущ., то на M2 (z=0)

GOTO M2

MOVWF L

M2:

MOVWF 21h; предыдущее в 21h

BCF STATUS,0

L2: MOVW Fh

MOVF 24h

MOVLW 05h

MOVWF 1Fh

L3: 

 BTFSS 1F,2

GOTO M

MOVF ADRES,W

SUBWF 21h,1 ;21h-W

BTFSS STATUS,2 ; пред.<текущ., то пропуск. (z=1)

GOTO M3

BCF STATUS,0  ;сброс Z

MOVWF 21h ;пред в 21h

GOTO L2

M3:

ADDWF 23h,1 

BTFSC STATUS,0 ;(Z=0) если переноса не было

INC 25h,1 ;переносы++

DECFSZ 24h,1

GOTO L

GOTO M4

M4:

SWAPF 21h,1

MOVLW 0Fh

ANDWF 21h,1

SWAPF 25h,1

MOVLW F0h

ANDWF 25h,1

MOVF 25h,0

IORWF 21h,0

M7:

DECFSZ 21h,1

GOTO M6

GOTO M5

M5:

INC 28h,1

INC 28h,1

MOVF 28h,0

SUBLW 10

MOVF W,0

BTFSC STATUS,Z

M7

INC 27h,1

MOVF 27h,0

SUBLW 10

MOVF W,0

BTFSC STATUS,Z

GOTO M7

INC 26h,1

MOVF 26h,0

SUBLW 10

MOVF W,0

BTFSC W,0

GOTO M7

M6:

MOVLW FCh ;таблица для вывода

MOVWF 70h

MOVLW 60h

MOVWF 71h

MOVLW CAh

MOVWF 72h

MOVLW F2h

MOVWF 73h

MOVLW 66h

MOVWF 74h

MOVLW B6h

MOVWF 75h

MOVLW BEh

MOVWF 76h

MOVLW E0h

MOVWF 77h

MOVLW FEh

MOVWF 78h

MOVLW FAh

MOVWF 79h

 

MOVLW 70h

ADDWF 26h,0

MOVWF 04h

BCF 86h,TRISB

MOVF 00h,0

MOVWF 06h

MOVLW 70h ;#70 ->W

ADDWF 27h,0

MOVWF 04h

BCF 87h,TRISB

MOVF 00h,0

MOVWF 07h

 

MOVLW 70h

ADDWF 28h,0

MOVWF 04h

BCF 88h,TRISB

MOVF 00h,0

MOVWF 08h

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

 

 

 

 

 

8. Литература

1. Жмакин А. П., Титов В. С. Однокристальные микроЭВМ в системах управления : Учебное пособие / Курск. гос. тех. ун-т., Курск, 2002.

2. Однокристальные микроЭВМ. Справочник. М.: МИКАП, 1994.

 

1 При вычитании С устанавливается в «1» при отсутствии заёма.

2 При d = 0 результат операции загружается  в W-регистр, иначе – в регистр, адресованный полем f.

3 С учетом сохранения возможности переносимости кода на (будущие) старшие модели семейства.

 


 



Информация о работе Измеритель амплитуды синусоидального сигнала на базе PIC16F874