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

Автор работы: Пользователь скрыл имя, 03 Марта 2011 в 16:43, курсовая работа

Описание работы

В современном обществе по мере познания им природы все более возрастает роль измерений. Соответственно непрерывно увеличивается объем измерительной информации – информации о значениях измеряемых физических величин, повышаются требования к качеству и способам ее обработки и использования.

Содержание работы

Введение ……………………………………………………….……4
Структурной схема устройства……………………………………4
Описание принципа работы структурной схемы устройства….....5
Алгоритм функционирования устройства………………………....6
Описание и расчёт основных элементов схемы электрической
Принципиальной………….….……………………………….…...7
Алгоритм работы микроконтроллера …………………………….17
Текст программы…………………………………………………. 19
Литература. ………………………………………………………….24

Файлы: 1 файл

Расчетная Р.docx

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

      CLRF IMP4_TMP

          CLRF TMR0

          RETURN

         

;****************************************************

;* подпрограмма  получения содержимого предделителя  *

;****************************************************

       

CLRPRES   MOVF TMR0,W           ;на выводе INS формируются 

      MOVWF IMP2            ;импульсы, пока не произойдёт 

      CLRF IMP1             ;переполнение предделителя

CP1 BCF  GPIO,INS         

      NOP

  NOP

      BSF  GPIO,INS

          INCF IMP1

          MOVF IMP2,W

      SUBWF TMR0,W

      BZ CP1

      COMF IMP1

      INCF IMP1

      RETURN 

;***********************************************

;*   подпрограмма  удаления незначащих нулей    *

;***********************************************    

CLRIND    MOVWF FSR             ;здесь удаляются все 

          MOVLW 0x07            ;нули начиная со старшего

      MOVWF CNT1            ;разряда индикатора,

CI1 MOVF INDF,W           ;пока не встретится

      SUBLW 0x0A            ;отличное от нуля число

      SKPZ

      RETURN

      CLRF INDF

      DECF FSR

      DECFSZ CNT1

      B CI1

      RETURN 

;*************************************************

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

;*************************************************      

BINDEC    CLRF TMP1            ;преобразование двоичного

          CLRF TMP2            ;IMP4:..:IMP1 в двоично-

      CLRF TMP3            ;десятичное TMP4:..:TMP1

          CLRF TMP4

          MOVLW 0x20

          MOVWF CNT1

BD1       RLF IMP1          

          RLF IMP2

          RLF IMP3

      RLF IMP4

          RLF TMP1

          RLF TMP2

      RLF TMP3

          RLF TMP4

          DECFSZ CNT1

          B BD2

          RETURN

BD2       MOVLW TMP1

          MOVWF FSR

          CALL DEC                                       

          INCF FSR

      CALL DEC

      INCF FSR

      CALL DEC

      INCF FSR

      CALL DEC

          B BD1

DEC       MOVLW 0x03

          ADDWF INDF,W

          MOVWF TMP5

          BTFSC TMP5,3

          MOVWF INDF

          MOVLW 0x30

          ADDWF INDF,W

          MOVWF TMP5

          BTFSC TMP5,7

          MOVWF INDF

          RETURN

         

;***********************************************

;* подпрограмма  записи показаний в буфер IND   *

;***********************************************

  

TABLCON   MOVWF TMP5           ;здесь двоично-десятичное

      SWAPF TMP5,W         ;число  в TMP5 перекодируется

          ANDLW 0x0F           ;по таблице INDTBL и

          CALL INDTBL          ;заносится  в ячейки буфера

          MOVWF INDF           ;с адресами FSR и FSR-1

          DECF FSR

          MOVF TMP5,W

          ANDLW 0x0F

          CALL INDTBL

          MOVWF INDF

          DECF FSR

          RETURN

         

;***********************************************

;*  подпрограмма  нахождения девиации частоты   *

;***********************************************

         

DIFFERN   CALL DI1              ;вычисление dF = IMP4:..:IMP1 =

          MOVF IMP1_TMP,W       ;IMP4_TMP:..:IMP1_TMP + (-IMP4:..:IMP1)

      ADDWF IMP1            ;знак результата возвращается  в W

      SKPNC                 ;при выходе из подпрограммы

      CALL DI3              ;W = 0x0F знак "-" ,IND7 " - "

      MOVF IMP2_TMP,W       ;W = 0x0D знак "+" ,IND7 "|_"

      ADDWF IMP2

      SKPNC

      CALL DI4

      MOVF IMP3_TMP,W

      ADDWF IMP3

      SKPNC

      CALL DI5

      MOVF IMP4_TMP,W

      ADDWF IMP4

      BTFSS IMP4,7

      RETLW 0x0F

DI1 COMF IMP1

          COMF IMP2

          COMF IMP3

          COMF IMP4

          MOVLW 0x01

          ADDWF IMP1

          BNC DI2

          ADDWF IMP2

          BNC DI2      

          ADDWF IMP3

          SKPNC       

          ADDWF IMP4

DI2 RETLW 0x0D  

DI3       MOVLW 0x01

      ADDWF IMP2

      SKPC

      RETURN

DI4       MOVLW 0x01

      ADDWF IMP3

      SKPC

      RETURN   

DI5       INCF IMP4

      RETURN 

;***********************************************

;*  подпрограмма  вывода символов на индикатор  *

;***********************************************    

SHOWIND   MOVLW 0x0A             ;передаётся 10 символов по 4

      MOVWF CNT1             ;бита каждый из буфера IND

          MOVLW IND9             ;при передачи логической '1'

      MOVWF FSR              ;формируется импульс на линии

SH1 MOVLW 0x04             ;DIO длительностью 70мкс

      MOVWF CNT2             ;при передачи логического '0'

      SWAPF INDF             ;формируется импульс на линии

SH2       RLF INDF               ;DIO длительностью 5мкс

      BNC SH3              

          BSF GPIO,DIO

          CALL D70uS

      BCF GPIO,DIO

          B  SH4

SH3       BSF GPIO,DIO

          CALL D5uS

      BCF GPIO,DIO

SH4       CALL D70uS

          DECFSZ CNT2 

      B SH2

      DECF FSR

      CALL D70uS

      DECFSZ CNT1 

      B SH1

      RETURN 

;***********************************************

;*         подпрограмма задержки 1с            *

;***********************************************   

D1S  MOVLW 0x05

          MOVWF CNT3

      MOVLW 0xFF

          MOVWF CNT2

          MOVLW 0xFF

          MOVWF CNT1

          DECFSZ CNT1

          B $-1

          DECFSZ CNT2

          B $-5

          DECFSZ CNT3

          B $-9

          RETURN

          

;***********************************************

;*         подпрограмма задержки 10мс          *

;*********************************************** 

         

D10mS     MOVLW 0xFA

          MOVWF CNT4

          MOVLW 0x0C

          MOVWF CNT3

          DECFSZ CNT3

          B $-1

          DECFSZ CNT4

          B $-5

          RETURN

         

;***********************************************

;*         подпрограмма задержки 70мкс         *

;***********************************************    

D70uS     MOVLW 0x15

      MOVWF CNT3

      DECFSZ CNT3

      B $-1

          RETURN

         

;***********************************************

;*         подпрограмма задержки 5мкс          *

;***********************************************

         

D5uS      RETURN 
 

          END  
 
 
 
 
 
 
 
 

4 Литература

1. «Дипломное  проектирование. Методические указания  для студентов специальности  Информационно-измерительная техника  и технология». МГОУ, 2004 год.

2. Контрольно-измерительная  техника. Под ред. Б.И. Горбунова. - М.: Высшая школа, 1987 г.

3. Хромой Б.П., Моисеев Ю.Г. Электрорадиоизмерения:  Учебник для техникумов. – М.: Радио и связь, 1985 г.

4. Ермолаев Р.С.  Цифровые измерительные приборы.  Л., «Энергия», 1981г.

5. Попов В.С.  Электрические измерения. Учебник  для техникумов. – М.: «Энергия»,  1984 г. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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