Pic ассемблер генератор импульсов

Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить
serega4789
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Ср июл 01, 2020 05:43:42

Pic ассемблер генератор импульсов

Сообщение serega4789 »

Добрый день! Нужно снять с мк pic18f4520 минимально короткий импульс, прогу написал на ассемблере, импульсов нет
На выходе rb5
Реклама
Аватара пользователя
Alexey1969
Вымогатель припоя
Сообщения: 622
Зарегистрирован: Чт мар 05, 2009 05:31:16
Откуда: г. Кемерово
Контактная информация:

Re: Pic ассемблер генератор импульсов

Сообщение Alexey1969 »

Загадочно :)
Реклама
serega4789
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Ср июл 01, 2020 05:43:42

Re: Pic ассемблер генератор импульсов

Сообщение serega4789 »

Код: Выделить всё

;******************************************************************************
;    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

Добавлено after 2 minutes 56 seconds:
Взял с гитхаба, изменил только вкл rb5 и резкое отключение rb5
Далее пауза около 1,5 мкс импульс должен быть 100нс
1en2
Собутыльник Кота
Сообщения: 2804
Зарегистрирован: Вс фев 02, 2020 09:12:37

Re: Pic ассемблер генератор импульсов

Сообщение 1en2 »

по-моему, время одной команды 200 нс.....поэтому хотеть 100 на выходе не реально...даже если импульс и появится...
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Zikon
Встал на лапы
Сообщения: 92
Зарегистрирован: Вт фев 28, 2017 08:13:31
Откуда: Свердловская обл.

Re: Pic ассемблер генератор импульсов

Сообщение Zikon »

BSF LATB, 5
NOP
BCF LATB, 5

????
Реклама
serega4789
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Ср июл 01, 2020 05:43:42

Re: Pic ассемблер генератор импульсов

Сообщение serega4789 »

Да
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 нс в обе стороны).
:wink: :tea:
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Pic ассемблер генератор импульсов

Сообщение Martian »

хм... он так сильно закручен, что длина самого провода настолько значительно длиньше?
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25261
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Pic ассемблер генератор импульсов

Сообщение КРАМ »

Причем тут "закрутка"? И "длиньшне" чем что?
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Pic ассемблер генератор импульсов

Сообщение Martian »

Если отдельные жилы UTP выпрямить, их фактическая длина окажется больше метра. Но я уже нашёл ответ - тот самый коэффициент укорочения, о котором Вы упоминали ранее.
Аватара пользователя
electroget
Друг Кота
Сообщения: 4651
Зарегистрирован: Ср сен 30, 2020 16:51:47
Откуда: РФ

Re: Pic ассемблер генератор импульсов

Сообщение electroget »

[uquote="КРАМ",url="/forum/viewtopic.php?p=4184147#p4184147"]Причем тут "закрутка"?[/uquote]

А при чём тут вообще UTP? Разве сабж про задержки в кабелях?
Аватара пользователя
anatol378
Мудрый кот
Сообщения: 1833
Зарегистрирован: Вс окт 04, 2009 13:23:12
Откуда: н. новгород

Re: Pic ассемблер генератор импульсов

Сообщение anatol378 »

Изображение
Такое дополнение к контроллеру рассматривалось?
Лучше умному тупить, чем тупому умничать
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25261
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Pic ассемблер генератор импульсов

Сообщение КРАМ »

[uquote="electroget",url="/forum/viewtopic.php?p=4184156#p4184156"]А при чём тут вообще UTP? Разве сабж про задержки в кабелях?[/uquote]
:facepalm: :)))
serega4789 писал(а): Это нужно для поиска обрыва кабеля, 40 метров можно найти обрыв самодельным рефлектометром
Добавлено after 4 minutes 32 seconds:
[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 ассемблер генератор импульсов

Сообщение electroget »

[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]
Наверное затем, что бы измерять отраженный сигнал и на этом основании вычислять физическую длину кабеля от прибора до обрыва...
Генерация импульса тут самая простая задача. Еще нужен усилитель для работы на кабель. Причем согласованный с кабелем.
Ответить

Вернуться в «PIC»