Pic ассемблер генератор импульсов
-
serega4789
- Первый раз сказал Мяу!
- Сообщения: 27
- Зарегистрирован: Ср июл 01, 2020 05:43:42
Pic ассемблер генератор импульсов
Добрый день! Нужно снять с мк pic18f4520 минимально короткий импульс, прогу написал на ассемблере, импульсов нет
На выходе rb5
На выходе rb5
- Реклама
- Alexey1969
- Вымогатель припоя
- Сообщения: 622
- Зарегистрирован: Чт мар 05, 2009 05:31:16
- Откуда: г. Кемерово
- Контактная информация:
Re: Pic ассемблер генератор импульсов
Загадочно 
-
serega4789
- Первый раз сказал Мяу!
- Сообщения: 27
- Зарегистрирован: Ср июл 01, 2020 05:43:42
Re: Pic ассемблер генератор импульсов
Код: Выделить всё
;******************************************************************************
; Author: FABIO MACHADO
; GitHub: https://github.com/MrFMach
;******************************************************************************
;******************************************************************************
;List directives
list p=18F4520 ;directive to define processor
;******************************************************************************
;Includes
#INCLUDE <P18F4520.INC> ;processor specific variable definitions
;******************************************************************************
;Configuration bits
CONFIG OSC = HS ;pic-board cristal cscillator = 20 MHz
;******************************************************************************
;Reset Vector
RES_VECT CODE 0x0000 ;processor reset vector
GOTO START ;go to beginning of program
;******************************************************************************
;Add interrupts here if used
;******************************************************************************
;Main program
MAIN_PROG CODE ;let linker place main program
DCounter1 EQU 0x0C
DCounter2 EQU 0x0D
DCounter3 EQU 0x0E
DELAY_1s:
MOVLW 0x6D
MOVWF DCounter1
MOVLW 0x5E
MOVWF DCounter2
MOVLW 0x1A
MOVWF DCounter3
LOOPD1:
DECFSZ DCounter1, 1
GOTO LOOPD1
DECFSZ DCounter2, 1
GOTO LOOPD1
DECFSZ DCounter3, 1
GOTO LOOPD1
RETURN
DELAY_200ms:
MOVLW 0xAC
MOVWF DCounter1
MOVLW 0x13
MOVWF DCounter2
MOVLW 0x06
MOVWF DCounter3
LOOPD2:
DECFSZ DCounter1, 1
GOTO LOOPD2
DECFSZ DCounter2, 1
GOTO LOOPD2
DECFSZ DCounter3, 1
GOTO LOOPD2
NOP
RETURN
START:
MOVLW B'00000000'
MOVWF TRISB ;PORTB as output
CLRF PORTB
GOTO MAIN
MAIN:
BSF PORTB,5 ;set bit 5
BSF PORTB,6 ;set bit 6
BSF PORTB,7 ;set bit 7
CALL DELAY_200ms
BCF PORTB,5 ;clear bit 5
BCF PORTB,6 ;clear bit 6
BCF PORTB,7 ;clear bit 7
CALL DELAY_1s
GOTO MAIN
;******************************************************************************
;End
END
Взял с гитхаба, изменил только вкл rb5 и резкое отключение rb5
Далее пауза около 1,5 мкс импульс должен быть 100нс
Re: Pic ассемблер генератор импульсов
по-моему, время одной команды 200 нс.....поэтому хотеть 100 на выходе не реально...даже если импульс и появится...
- Zikon
- Встал на лапы
- Сообщения: 92
- Зарегистрирован: Вт фев 28, 2017 08:13:31
- Откуда: Свердловская обл.
Re: Pic ассемблер генератор импульсов
BSF LATB, 5
NOP
BCF LATB, 5
????
NOP
BCF LATB, 5
????
- Реклама
-
serega4789
- Первый раз сказал Мяу!
- Сообщения: 27
- Зарегистрирован: Ср июл 01, 2020 05:43:42
Re: Pic ассемблер генератор импульсов
Да
bsf portb.5
Bcf portb5
Nop
Nop задержка через переменную инкримент
Кварц 40мгц может на выходе дать 100нс
Временно использовал генератор с али 150кгц импульс 1‰
Но выход взял напрямую с мк генератора, отриц сигнал инвертировал через sn74hc14n 5вольтовый, на выходе получил
80нс
Добавлено after 5 minutes 26 seconds:
Это нужно для поиска обрыва кабеля, 40 метров можно найти обрыв самодельным рефлектометром
bsf portb.5
Bcf portb5
Nop
Nop задержка через переменную инкримент
Кварц 40мгц может на выходе дать 100нс
Временно использовал генератор с али 150кгц импульс 1‰
Но выход взял напрямую с мк генератора, отриц сигнал инвертировал через sn74hc14n 5вольтовый, на выходе получил
80нс
Добавлено after 5 minutes 26 seconds:
Это нужно для поиска обрыва кабеля, 40 метров можно найти обрыв самодельным рефлектометром
- КРАМ
- Друг Кота
- Сообщения: 25261
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Pic ассемблер генератор импульсов
[uquote="serega4789",url="/forum/viewtopic.php?p=4182868#p4182868"]Nop задержка через переменную инкримент
Кварц 40мгц может на выходе дать 100нс[/uquote]
Дебильный способ.
Для формирования импульсов и подсчета времени есть аппаратные способы в наборе периферии МК.
К слову, 1 метр UTP - 5,1 нс задержки (10,2 нс в обе стороны).

Кварц 40мгц может на выходе дать 100нс[/uquote]
Дебильный способ.
Для формирования импульсов и подсчета времени есть аппаратные способы в наборе периферии МК.
К слову, 1 метр UTP - 5,1 нс задержки (10,2 нс в обе стороны).
Re: Pic ассемблер генератор импульсов
хм... он так сильно закручен, что длина самого провода настолько значительно длиньше?
- КРАМ
- Друг Кота
- Сообщения: 25261
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Pic ассемблер генератор импульсов
Причем тут "закрутка"? И "длиньшне" чем что?
Re: Pic ассемблер генератор импульсов
Если отдельные жилы UTP выпрямить, их фактическая длина окажется больше метра. Но я уже нашёл ответ - тот самый коэффициент укорочения, о котором Вы упоминали ранее.
- electroget
- Друг Кота
- Сообщения: 4651
- Зарегистрирован: Ср сен 30, 2020 16:51:47
- Откуда: РФ
Re: Pic ассемблер генератор импульсов
[uquote="КРАМ",url="/forum/viewtopic.php?p=4184147#p4184147"]Причем тут "закрутка"?[/uquote]
А при чём тут вообще UTP? Разве сабж про задержки в кабелях?
А при чём тут вообще UTP? Разве сабж про задержки в кабелях?
Re: Pic ассемблер генератор импульсов

Такое дополнение к контроллеру рассматривалось?
Лучше умному тупить, чем тупому умничать
- КРАМ
- Друг Кота
- Сообщения: 25261
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Pic ассемблер генератор импульсов
[uquote="electroget",url="/forum/viewtopic.php?p=4184156#p4184156"]А при чём тут вообще UTP? Разве сабж про задержки в кабелях?[/uquote]
[uquote="Martian",url="/forum/viewtopic.php?p=4184155#p4184155"]Если отдельные жилы UTP выпрямить, их фактическая длина окажется больше метра.[/uquote]
Вы правильно вспомнили про укорочение. И оно, естественно, связано с типом диэлектрика, а не физической длиной жил. Тем более, что в коаксиальном кабеле с полиэтиленом в диэлектрике задержка будет идентична.
Добавлено after 6 minutes 45 seconds:
[uquote="anatol378",url="/forum/viewtopic.php?p=4184170#p4184170"]Такое дополнение к контроллеру рассматривалось?[/uquote]
Тут проблема не в длительности импульсов. Настоящий рефлектометр вообще работает на длительности фронта, а не импульса. Проблема в подсчете времени. Дискретность в 100 нс даст дискретность расстояния примерно в 10 метров. Да и 100 нс нопами в программе не посчитать. Есть модуль Input Capture для таких целей.
Добавлено after 4 minutes 32 seconds:serega4789 писал(а): Это нужно для поиска обрыва кабеля, 40 метров можно найти обрыв самодельным рефлектометром
[uquote="Martian",url="/forum/viewtopic.php?p=4184155#p4184155"]Если отдельные жилы UTP выпрямить, их фактическая длина окажется больше метра.[/uquote]
Вы правильно вспомнили про укорочение. И оно, естественно, связано с типом диэлектрика, а не физической длиной жил. Тем более, что в коаксиальном кабеле с полиэтиленом в диэлектрике задержка будет идентична.
Добавлено after 6 minutes 45 seconds:
[uquote="anatol378",url="/forum/viewtopic.php?p=4184170#p4184170"]Такое дополнение к контроллеру рассматривалось?[/uquote]
Тут проблема не в длительности импульсов. Настоящий рефлектометр вообще работает на длительности фронта, а не импульса. Проблема в подсчете времени. Дискретность в 100 нс даст дискретность расстояния примерно в 10 метров. Да и 100 нс нопами в программе не посчитать. Есть модуль Input Capture для таких целей.
- electroget
- Друг Кота
- Сообщения: 4651
- Зарегистрирован: Ср сен 30, 2020 16:51:47
- Откуда: РФ
Re: Pic ассемблер генератор импульсов
[uquote="anatol378",url="/forum/viewtopic.php?p=4184170#p4184170"]Такое дополнение к контроллеру рассматривалось?[/uquote]
Так а зачем тогда вообще микроконтроллер, если есть готовое решение без микроконтроллера?
Или потому, что без микроконтроллера "любой дурак сможет"?
Так а зачем тогда вообще микроконтроллер, если есть готовое решение без микроконтроллера?
Или потому, что без микроконтроллера "любой дурак сможет"?
- КРАМ
- Друг Кота
- Сообщения: 25261
- Зарегистрирован: Чт янв 10, 2008 22:01:02
- Откуда: Московская область, Фрязино
Re: Pic ассемблер генератор импульсов
[uquote="electroget",url="/forum/viewtopic.php?p=4184189#p4184189"]Так а зачем тогда вообще микроконтроллер?[/uquote]
Наверное затем, что бы измерять отраженный сигнал и на этом основании вычислять физическую длину кабеля от прибора до обрыва...
Генерация импульса тут самая простая задача. Еще нужен усилитель для работы на кабель. Причем согласованный с кабелем.
Наверное затем, что бы измерять отраженный сигнал и на этом основании вычислять физическую длину кабеля от прибора до обрыва...
Генерация импульса тут самая простая задача. Еще нужен усилитель для работы на кабель. Причем согласованный с кабелем.


