Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нужно подправить програмку 
:(
    Опции темы
Igor540
Дата 23.8.2013, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 23.8.2013

Репутация: нет
Всего: нет



Приветствую. Может ламерский вопрос - возможно ли как то подправить программу имея только файл HEX? Человек который писал ее к сожалению не доступен а в процессе выявился один небольшой баг.

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  detektor_50.hex 0,75 Kb
PM MAIL   Вверх
Romikgy
Дата 23.8.2013, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



а для какого МК эта вещь ? или еще в что где когда играть будем?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Igor540
Дата 24.8.2013, 00:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 23.8.2013

Репутация: нет
Всего: нет



Цитата(Romikgy @ 23.8.2013,  18:49)
а для какого МК эта вещь ? или еще в что где когда играть будем?

TINY13, детекция частот 44кгц, 48, 96 и 192. А также переход между 50кгц-ами.
PM MAIL   Вверх
Romikgy
Дата 28.8.2013, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



общий алгоритм работы? и что именно править ?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Igor540
Дата 28.8.2013, 17:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 23.8.2013

Репутация: нет
Всего: нет



На вход (7 нога) подаем частоту, ноги 1,2,3,5 контрольный выход соответствующий частоте (активный 0), 6 нога выход контроля перехода частоты между 50 кГц (активный 0). Сейчас не четко детектирует частоту 48 кГц и переход 50 кГц. Если чуть подогреть чип то частота внутреннего генератора уходит и начинает правильно работать. Т.е. нужно сдвинуть или частоту генератора или точки отсчета двух счетчиков. 
Как то так.  smile
PM MAIL   Вверх
Alexei
Дата 28.8.2013, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 382
Регистрация: 20.8.2003

Репутация: 4
Всего: 4



Цитата(Igor540 @  28.8.2013,  17:32 Найти цитируемый пост)
 Если чуть подогреть чип то частота внутреннего генератора уходит и начинает правильно работать. Т.е. нужно сдвинуть или частоту генератора или точки отсчета двух счетчиков. Как то так.  

Ну да, а после будете охлаждать. Если нужна точность, то надо делать с кварцем.
PM MAIL   Вверх
Romikgy
Дата 28.8.2013, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



Цитата(Igor540 @ 28.8.2013,  16:32)
На вход (7 нога) подаем частоту, ноги 1,2,3,5 контрольный выход соответствующий частоте (активный 0), 6 нога выход контроля перехода частоты между 50 кГц (активный 0). Сейчас не четко детектирует частоту 48 кГц и переход 50 кГц. Если чуть подогреть чип то частота внутреннего генератора уходит и начинает правильно работать. Т.е. нужно сдвинуть или частоту генератора или точки отсчета двух счетчиков. 
Как то так.  smile

как я понял проц работает на частоте 4.8 МГц , измерение частоты по типу счетчика , сделанного на таймере.... точность будет конечно выше на внешнем кварце, при этом еще желательно поднять тактовую частоту МК, еще лучше взять более скоростной чип, прога очень примитивна написана.... легче ее переписать , хотя можно и поправить 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Igor540
Дата 28.8.2013, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 23.8.2013

Репутация: нет
Всего: нет



Проц на частоте 9.6 МГц, на кварц ног нету да и не нужна там такая точность.
З.Ы. я думаю надо использовать калибровку внутреннего гена.

Это сообщение отредактировал(а) Igor540 - 28.8.2013, 22:07
PM MAIL   Вверх
Romikgy
Дата 29.8.2013, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 3
Всего: 146



вот код 
Код

.CSEG ;    ROM
        .org 0

; =============== S U B    R O U T    I N E =======================================

; Analog Comparator

        ; public ANA_COMP
ANA_COMP:                ; CODE XREF: ROM:0001j    ROM:0003j ...
        rjmp    __RESET        ; INT0_
; End of function ANA_COMP        ; TIMER0_OVF0
                    ; EE_RDY
; ---------------------------------------------------------------------------
        .org 1
        rjmp    ANA_COMP    ; Analog Comparator
; ---------------------------------------------------------------------------
        .org 2
        rjmp    I_O_Pins    ; Pin Change Interrupt
; ---------------------------------------------------------------------------
        .org 3
        rjmp    ANA_COMP    ; Analog Comparator
; ---------------------------------------------------------------------------
        .org 4
        rjmp    ANA_COMP    ; Analog Comparator
; ---------------------------------------------------------------------------
        .org 5
        rjmp    ANA_COMP    ; Analog Comparator
; ---------------------------------------------------------------------------
        .dw 0xCFF9 ; щП
        .dw 0xCFF8 ; шП
        .dw 0xCFF7 ; чП
        .dw 0xCFF6 ; цП

; =============== S U B    R O U T    I N E =======================================

; External Pin,    Power-on Reset,    Brown-out Reset    and Watchdog Reset

        ; public __RESET
__RESET:                ; CODE XREF: ANA_COMPj

; FUNCTION CHUNK AT 0030 SIZE 00000051 BYTES

        cli
        clr    r30
        out    EECR, r30
        out    MCUCR, r30
        ldi    r31, 0x18
        in    r26, MCUSR
        andi    r26, -9
        out    MCUSR, r26
        out    WDTCR, r31
        out    WDTCR, r30
        ldi    r24, 0xD
        ldi    r26, 2

loc_16:                    ; CODE XREF: __RESET+Ej
        st    X+, r30
        dec    r24
        brne    loc_16
        ldi    r24, 0x40
        ldi    r26, 0x60

loc_1B:                    ; CODE XREF: __RESET+13j
        st    X+, r30
        dec    r24
        brne    loc_1B
        ldi    r30, -0x61
        out    RESERVED003D, r30
        ldi    r28, 0x70
        rjmp    loc_30
; End of function __RESET


; =============== S U B    R O U T    I N E =======================================

; Pin Change Interrupt

        ; public I_O_Pins
I_O_Pins:                ; CODE XREF: ROM:0002j
        st    -Y, r30
        in    r30, SREG
        st    -Y, r30
        ldi    r30, 0
        out    TCCR0, r30
        in    r4, TCNT0
        clr    r5
        out    TCNT0, r30
        ldi    r30, 1
        out    TCCR0, r30
        ld    r30, Y+
        out    SREG, r30
        ld    r30, Y+
        reti
; End of function I_O_Pins

; ---------------------------------------------------------------------------
; START    OF FUNCTION CHUNK FOR __RESET

loc_30:                    ; CODE XREF: __RESET+17j
        ldi    r30, -0x80
        out    RESERVED0026, r30
        ldi    r30, 0
        out    RESERVED0026, r30
        out    PORTB, r30
        ldi    r30, 0x3B
        out    DDRB, r30
        ldi    r30, 0
        out    RESERVED002F, r30
        ldi    r30, 1
        out    TCCR0, r30
        ldi    r30, 0
        out    TCNT0, r30
        out    RESERVED0036, r30
        out    RESERVED0029, r30
        ldi    r30, 0x20
        out    GIMSK, r30
        ldi    r30, 0
        out    MCUCR, r30
        ldi    r30, 4
        out    RESERVED0015, r30
        ldi    r30, 0x20
        out    GIFR, r30
        ldi    r30, 0
        out    TIMSK, r30
        ldi    r30, -0x80
        out    ACSR, r30
        ldi    r30, 0
        out    RESERVED0003, r30
        out    RESERVED0014, r30
        out    RESERVED0006, r30
        sei

loc_50:                    ; CODE XREF: __RESET:loc_80j
        ldi    r30, 0x5F
        ldi    r31, 0
        cp    r4, r30
        cpc    r5, r31
        brlt    loc_57
        cbi    PORTB, PORTB3
        rjmp    loc_58
; ---------------------------------------------------------------------------

loc_57:                    ; CODE XREF: __RESET+4Aj
        sbi    PORTB, PORTB3

loc_58:                    ; CODE XREF: __RESET+4Cj
        ldi    r30, 0x57
        ldi    r31, 0
        cp    r4, r30
        cpc    r5, r31
        brlt    loc_61
        ldi    r30, 0x5F
        ldi    r31, 0
        rcall    sub_82
        brge    loc_62

loc_61:                    ; CODE XREF: __RESET+52j
        rjmp    loc_64
; ---------------------------------------------------------------------------

loc_62:                    ; CODE XREF: __RESET+56j
        cbi    PORTB, 5
        rjmp    loc_65
; ---------------------------------------------------------------------------

loc_64:                    ; CODE XREF: __RESET:loc_61j
        sbi    PORTB, 5

loc_65:                    ; CODE XREF: __RESET+59j
        ldi    r30, 0x57
        ldi    r31, 0
        rcall    sub_82
        brlt    loc_6B
        cbi    PORTB, PORTB1
        rjmp    loc_6C
; ---------------------------------------------------------------------------

loc_6B:                    ; CODE XREF: __RESET+5Ej
        sbi    PORTB, PORTB1

loc_6C:                    ; CODE XREF: __RESET+60j
        ldi    r30, 0x28
        ldi    r31, 0
        cp    r4, r30
        cpc    r5, r31
        brlt    loc_75
        ldi    r30, 0x37
        ldi    r31, 0
        rcall    sub_82
        brge    loc_76

loc_75:                    ; CODE XREF: __RESET+66j
        rjmp    loc_78
; ---------------------------------------------------------------------------

loc_76:                    ; CODE XREF: __RESET+6Aj
        cbi    PORTB, PORTB4
        rjmp    loc_79
; ---------------------------------------------------------------------------

loc_78:                    ; CODE XREF: __RESET:loc_75j
        sbi    PORTB, PORTB4

loc_79:                    ; CODE XREF: __RESET+6Dj
        ldi    r30, 0x18
        ldi    r31, 0
        rcall    sub_82
        brlt    loc_7F
        cbi    PORTB, PORTB0
        rjmp    loc_80
; ---------------------------------------------------------------------------

loc_7F:                    ; CODE XREF: __RESET+72j
        sbi    PORTB, PORTB0

loc_80:                    ; CODE XREF: __RESET+74j
        rjmp    loc_50
; END OF FUNCTION CHUNK    FOR __RESET
; ---------------------------------------------------------------------------
        .dw 0xCFFF ;  П

; =============== S U B    R O U T    I N E =======================================


sub_82:                    ; CODE XREF: __RESET+55p __RESET+5Dp ...
        cp    r30, r4
        cpc    r31, r5
        ret
; End of function sub_82

помимо этого частота проца устанавливается fuse , так вот по расчетам ближе всего похоже что кварц работает на 4.8
твои данные по детекту это цифры 0x5f, 0x57, 0x28, 0x37, 0x18
калибровками можно поиграться тоже , но стабильности они не добавят.... 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.0467 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.