'**************************************************************** '* Name : counter.BAS * '* Author : Contra * '* Notice : * '* : All Rights Reserved * '* Date : 3.06.2012 * '* Version : 1.0 * '* Notes : * '**************************************************************** '-------------------------Общие настройки-------------------------- Device = 16F873A Xtal = 4 '--------------Настройки подключения ЖКИ-------------------------- 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 'Количество строк ЖКИ ;-------------------------- Настройки портов -------------------------- TRISC = %11111111 ADCON1 = %00000110 ' Сделать PORTA обычным цифровым портом ввода/вывода TRISA = %00000001 ' Сделать PORTA.0 входом T1CON = %00000011 'переключить TMR1 на синхронизацию по внешнему сигналу '--------------------------Объявления переменных--------------------- Symbol Pin = PORTC.0 ' Присвоить символ pin выводу PORTA.0 Dim cnt As Dword '--------------------------Главная программа-------------------------- Loop: cnt = Counter Pin, 1000 '1000 ' Считать импульсы за 100ms Print At 1, 1, "frequency:" Print At 2, 1, "cnt = ", Dec cnt, " " ' Вывести во 2-ой строке ЖКИ десятичное значение VAR1 GoTo Loop ' Повторить процесс измерения