Автор работы: Пользователь скрыл имя, 03 Марта 2011 в 16:43, курсовая работа
В современном обществе по мере познания им природы все более возрастает роль измерений. Соответственно непрерывно увеличивается объем измерительной информации – информации о значениях измеряемых физических величин, повышаются требования к качеству и способам ее обработки и использования.
Введение ……………………………………………………….……4
Структурной схема устройства……………………………………4
Описание принципа работы структурной схемы устройства….....5
Алгоритм функционирования устройства………………………....6
Описание и расчёт основных элементов схемы электрической
Принципиальной………….….……………………………….…...7
Алгоритм работы микроконтроллера …………………………….17
Текст программы…………………………………………………. 19
Литература. ………………………………………………………….24
При протекании водных токов операционного усилителя через резисторы R3 и R4, на них также рассеивается определенная мощность.
Видно, что эта мощность практически равна нулю, и ею можно пренебречь.
Постоянный резистор R7 задает токи выходных ключей сдвигового регистра DD4. Мощность, рассеиваемая на нем рассчитывается по формуле (8)
(Вт)
Суммарная мощность, рассеиваемая резисторами, может быть оценена
(Вт)
Далее
целесообразно рассмотреть
Полная мощность, потребляемая всеми микросхемами РМ∑ может быть оценена
, (9)
где PDAx, PDDx – мощность, потребляемая соответствующей аналоговой или цифровой микросхемой. Численные значения
(мВт)=1,625 (Вт)
В общую потребляемую мощность входит также мощность, которая расходуется на индикаторах. Каждый сегмент индикатора потребляет мощность ,
где Iпр – прямой ток через p-n переход, мА; Uпр – падение напряжения на открытом переходе, В. Значение мощности получается в милливаттах.
У
каждого семисегментного
,
где РHGx, PVDx – потребляемая мощность соответствующего семисегментного индикатора и светодиода. Числовое значение
(мВт)
В итоге стали известны все составляющие общей мощности, которая потребляется всем прибором и теперь можно высчитать ее численное значение
(мВт)≈ 3,8 (Вт)
Максимальная мощность, потребляемая прибором составляет, около 3,8 Вт.
Блок-схема работы микроконтроллер:
Управление работой всей системы происходит с помощью микроконтроллера. Последовательность действий микро-ЭВМ задает программа, записанная во внутренней памяти контроллера. Общая схема работы микроконтроллера такова.
При включении, срабатывает встроенный алгоритм сброса микросхемы. Значение всех регистров устанавливается в начальное состояние, запрещается обработка прерываний. Затем начинается выполнение зашитой программы по алгоритму, указанному в Приложении 5. Далее по программе происходит инициализация и установление режимов работы обоих счетчиков Т0 и Т1 посредством записи соответствующих значений в биты специальных регистров TMOD и TCON. Также установление необходимого бита в регистре режима прерываний EI разрешает микроконтроллеру выполнять программу обработки прерывания по переполнению счетчика T0. Запрещается индикация установлением на выводе Р1.0 уровня “1”.
На выводе порта Р3.7 устанавливается значение логической единицы, т.е. формируются первые временные ворота. Затем выполняется программа формирования временной задержки длительностью 1 с. Во время этого интервала счетчики производят подсчет импульсов, поступающих на их входы. Содержимое двухбайтовых регистров Т0 и Т1 увеличивается. Если при высокой частоте количество импульсов, пришедших на вход счетчика Т0, превысит емкость регистра, то происходит выполнение обработки прерывания по переполнению и содержимое дополнительного регистра инкрементируется. Это позволяет микроконтроллеру произвести подсчет 224 импульсов. По прошествии одной секунды, на выводе Р3.7 устанавливается “0” и формирование временных ворот заканчивается. Счетчики прекращают счет. В результате получены значения числа импульсов n и N.
Затем
микроконтроллер выполняет
Для получения окончательного результат необходимо умножить это число на коэффициент Fсч=10000.
Полученное значение частоты необходимо привести к виду, годному для вывода на индикаторы.
Результат переводится из двоичной формы в двоичнo-десятичную и определяется предел частоты, т.е. как будет выводится результат – в герцах или в килогерцах. Выделяется та часть числа, которая будет выведена на семисегментные индикаторы, необходимо получить четыре значащих цифры. Определяется местоположение запятой. Теперь необходимо перевести число из двоично-десятичного кода в код семисегментного индикатора. Это производится при помощи таблицы соответствия, зашитой в памяти микроконтроллера.
Полученные данные нужно вывести на индикатор.
Производится
инициализация
На
выход порта Р1.0 записывается логический
ноль, что разрешает вывод информации
на индикаторы. Измерение произведено.
NOLIST
#INCLUDE < АТ89С2051.inc>
__CONFIG _MCLRE_OFF & _WDT_OFF & _XT_OSC & _PWRTE_ON & _BODEN_ON & _CP_OFF & _CPD_OFF
ERRORLEVEL 2
DIO EQU 0 ;вывод индикации
INS EQU 1 ;вывод запуска счётчика
BTN EQU 3 ;вывод подключения кнопки
; флажкии регистра
состояния программы FLAG
LONG_CLICK EQU 0 ;произошло длинное нажатие
SHOT_CLICK EQU 1 ;произошло короткое нажатие
CHANGE EQU 2 ;произошла
смена режима
; режим работы в регистре MODE
; 0 частота 100mS
; 1 частота 100mS,dF
; 2 частота 1S
; 3 частота 1S,dF
; 4 счётчик на старте
; 5 счётчик в работе
; 6 счётчик остановлен
CONSTANT TIME_MAX = 0x70 ;продолжительность длинного нажатия
CONSTANT TIME_MIN = 0x05 ;продолжительность короткого нажатия
CBLOCK 0x20
S_TMP ;регистр для хранения STATUS
W_TMP ;регистр для хранения W
FLAG ;флажки программы
MODE ;режим работы
TIME ;счётчик продолжительности нажатия кнопки
ZIKL ;счётчик количества циклов по 0,1с
IMP1_TMP ;регистры для фиксации
IMP2_TMP ;счётчика импульсов
IMP3_TMP
IMP4_TMP
IMP1 ;счётчик импульсов
IMP2
IMP3
IMP4
TMP1 ;вспомогательные регистры
TMP2
TMP3
TMP4
TMP5
TMP6
SEC1 ;время счёта импульсов
SEC2 ;единицы SEC1,десятки SEC2
CNT1 ;вспомогательные регистры
CNT2 ;для счётчиков итераций
CNT3
CNT4
IND0 ;регистры индикации
IND1
IND2
IND3
IND4
IND5
IND6
IND7
IND8
IND9
ENDC
LIST
ORG 0x00
B INIT
ORG 0x04
B INTER
;*****************************
;* табличная
перекодировка символов
;*****************************
INDTBL ADDWF PCL ;символ смещение
RETLW 0x0A ; 0 - 0x00
RETLW 0x01 ; 1 - 0x01
RETLW 0x02 ; 2 - 0x02
RETLW 0x03 ; 3 - 0x03
RETLW 0x04 ; 4 - 0x04
RETLW 0x05 ; 5 - 0x05
RETLW 0x06 ; 6 - 0x06
RETLW 0x07 ; 7 - 0x07
RETLW 0x08 ; 8 - 0x08
RETLW 0x09 ; 9 - 0x09
RETLW 0x00 ; SPASE - 0x0A
RETLW 0x0B ; F - 0x0B
RETLW 0x0C ; _| - 0x0C
RETLW 0x0D ; |_ - 0x0D
RETLW 0x0E ; P - 0x0E
RETLW
0x0F ; - - 0x0F
;*****************************
;* смена режимов работы после нажатия кнопки *
;*****************************
MODTBL ADDWF PCL
RETLW 0x01 ;частота 100mS,dF
RETLW 0x00 ;частота 100mS
RETLW 0x03 ;частота 1S,dF
RETLW 0x02 ;частота 1S
RETLW 0x05 ;счётчик в работе
RETLW 0x06 ;счётчик остановлен
RETLW
0x04 ;счётчик на старте
;*****************************
;*
начало основной программы
;*****************************
INIT BCF GPIO,DIO
MOVLW B'00010001' ;включение TMR1 с
MOVWF T1CON ;предделителем F/2
BSF STATUS,RP0 ;переход в банк1
BCF TRISIO,DIO ;DIO на вывод
BSF INTCON,T0IE ;разрешины прер.TMR0
MOVLW B'00110111' ;включение TMR0 как счётчик с
MOVWF OPTION_REG ;предделителем F/256
BSF PIE1,TMR1IE ;разрешины прер.TMR1
BSF INTCON,PEIE ;разрешины дополнительные прер.
BCF STATUS,RP0 ;переход в банк0
CALL D1S ;задержка 1с
MOVLW 0x23 ;отчистка регистров
MOVWF S_TMP ;в директиве CBLOCK
MOVLW W_TMP ;с 0x20 по 0x44
MOVWF FSR
CLRF INDF
Информация о работе Измеритель частоты синусоидального сигнала