'**************************************************************** '* Name : UNTITLED.BAS * '* Author : [select VIEW...EDITOR OPTIONS] * '* Notice : Copyright (c) 2012 [select VIEW...EDITOR OPTIONS] * '* : All Rights Reserved * '* Date : 04.06.2012 * '* Version : 1.0 * '* Notes : * '* : * '**************************************************************** '-------------------------Общие настройки-------------------------- Device = 16F873A Xtal = 20 '--------------Настройки подключения ЖКИ-------------------------- Declare LCD_Type ALPHA 'Тип ЖКИ - буквенно-цифровой Declare LCD_DTPin PORTB.4 'Порт данных ЖКИ Declare LCD_ENPin PORTB.3 'Управление линией E Declare LCD_RSPin PORTB.2 'Управление линией RS Declare LCD_Interface 4 'Разрядность шины данных Declare LCD_CommandUs 2000 'Задержка перед посылкой команды Declare LCD_DataUs 50 'Задержка перед посылкой данных Declare LCD_Lines 4 'Количество строк ЖКИ ; Регистр T1CON Symbol TMR1ON = T1CON.0 ' Timer1 ON Symbol TMR1CS = T1CON.1 ' Timer1 Clock Source Select Symbol NOT_T1SYNC = T1CON.2 ' Timer1 External Clock Input Synchronization Control Symbol T1INSYNC = T1CON.2 ' Timer1 External Clock Input Synchronization Control Symbol T1SYNC = T1CON.2 ' Timer1 External Clock Input Synchronization Control Symbol T1OSCEN = T1CON.3 ' Timer1 Oscillator Enable Control Symbol T1CKPS0 = T1CON.4 ' Timer1 Input Clock Prescale Select bits Symbol T1CKPS1 = T1CON.5 ' Timer1 Input Clock Prescale Select bits Symbol GIE = INTCON.7 ' Бит глобального разрешения прерываний Symbol TMR1IF = PIR1.0 ' Флаг прерывания по переполнению TMR1 T1OSCEN=0 TMR1CS=1 T1SYNC=0 TMR1CS = 1 TRISB = %11111111 TRISC = %11111011 '"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" Symbol Pin = PORTC.0 ' Присвоить символ pin выводу PORTC.0 Symbol TIMER = TMR1L.Word Dim i As Word Dim j As Dword Dim x As Word '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Main: TMR1L = 0 ; Значение младшего регистра TMR1 TMR1H = 0 ; Значение старшего регистра TMR1 TMR1ON=1 Asm ; Задержка 100 000 машинных циклов ; Длительность задержки 100 миллисекунд ; Частота задающего генератора 4 МГц Reg_1 equ 20h Reg_2 equ 21h Reg_3 equ 22h Movlw .221 Movwf Reg_1 Movlw .130 Movwf Reg_2 delay Decfsz Reg_1,F GoTo delay Decfsz Reg_2,F GoTo delay Nop Nop EndAsm TMR1ON=0 '""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" j = TIMER * 10 Print At 1, 1, "frequency:" Print At 2, 1, "cnt = ", Dec j, " " ' Вывести во 2-ой строке ЖКИ десятичное значение VAR1 ' DelayMS 200 GoTo Main ' Повторить процесс измерения