Например TDA7294

Форум РадиоКот • Просмотр темы - Pic16f628a, мигающие светодиоды (проблема с задержкой)
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Сб янв 03, 2026 00:00:37

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 19 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Pic16f628a, мигающие светодиоды (проблема с задержкой)
СообщениеДобавлено: Пт фев 01, 2013 13:30:26 
Встал на лапы

Зарегистрирован: Вт янв 31, 2012 20:55:18
Сообщений: 94
Откуда: Екатеринбург
Рейтинг сообщения: 0
Всем добрый вечер.
Первые дни играю с контроллером, собрал программатор, поиграл с готовыми проектами (бинарый счетчик до 15, цифровая кость).

Читал один учебничек, где приведен код для мигалки простенькой (ну синтаксис понятен), а вот не работает и все тут.
То есть как, только начальное состояние отображает и все. Никакой анимации.
Спойлер
Код:
LIST        P=PIC16F628A
             __CONFIG    0x3FF1
STATUS      EQU         0x0003
PORTB       EQU         0x0006
TRISB       EQU         0x0006
PORTA       EQU         0x0005
TRISA       EQU         0x0005
Reg_1       EQU         0x000C
Reg_2       EQU         0x000D
Reg_3       EQU         0x000E

             ORG     0   
 ; подготовительные моменты
             bsf         STATUS,5    ; переход в Банк 1
             clrf        TRISB
          clrf        TRISA
             bcf         STATUS,5    ; переход назад в Банк 0


m1       movlw       0x0 ; запись в аккумулятор
            movwf       PORTB       ; перенос из аккумулятора в порт
            movlw       0x0 ; запись в аккумулятор
            movwf       PORTA       ; перенос из аккумулятора в порт
            call        Pause       ; переход на метку (с возвратом)
         
            movlw       0x20 ; запись в аккумулятор
            movwf       PORTB       ; перенос из аккумулятора в порт
            call        Pause       ; переход на метку (с возвратом)
         
            movlw       0x30 ; запись в аккумулятор
            movwf       PORTB       ; перенос из аккумулятора в порт
            call        Pause       ; переход на метку (с возвратом)
         
            movlw       0x38 ; запись в аккумулятор
            movwf       PORTB       ; перенос из аккумулятора в порт
            call        Pause       ; переход на метку (с возвратом)

            movlw       0x8 ; запись в аккумулятор
            movwf       PORTA       ; перенос из аккумулятора в порт
            call        Pause       ; переход на метку (с возвратом)


             movlw       0xC ; запись в аккумулятор
             movwf       PORTA       ; перенос из аккумулятора в порт
             call        Pause       ; переход на метку (с возвратом)


             movlw       0xD ; запись в аккумулятор
             movwf       PORTA       ; перенос из аккумулятора в порт
             call        Pause       ; переход на метку (с возвратом)


             call miganie

movlw       0x38 ; запись в аккумулятор
movwf       PORTB       ; перенос из аккумулятора в порт
movlw       0xD ; запись в аккумулятор
movwf       PORTA       ; перенос из аккумулятора в порт
call        Pause       ; переход на метку (с возвратом)

movlw       0x18 ; запись в аккумулятор
movwf       PORTB       ; перенос из аккумулятора в порт
call        Pause       ; переход на метку (с возвратом)

movlw       0x8 ; запись в аккумулятор
movwf       PORTB       ; перенос из аккумулятора в порт
call        Pause       ; переход на метку (с возвратом)

movlw       0x0 ; запись в аккумулятор
movwf       PORTB       ; перенос из аккумулятора в порт
call        Pause       ; переход на метку (с возвратом)

movlw       0x5 ; запись в аккумулятор
            movwf       PORTA       ; перенос из аккумулятора в порт
       call        Pause       ; переход на метку (с возвратом)

         movlw       0x1 ; запись в аккумулятор
            movwf       PORTA       ; перенос из аккумулятора в порт
       call        Pause       ; переход на метку (с возвратом)


         call miganie
          goto        m1          ; переход на метку (зацикливание)


;delay = 500000 machine cycles
Pause     
            movlw       .173
            movwf       Reg_1
            movlw       .19
            movwf       Reg_2
            movlw       .6
            movwf       Reg_3
            decfsz      Reg_1,F
            goto        $-1
            decfsz      Reg_2,F
            goto        $-3
            decfsz      Reg_3,F
            goto        $-5
            nop
            nop
 
miganie     movlw       0x38 ; запись в аккумулятор
                movwf       PORTB       ; перенос из аккумулятора в порт
         movlw       0xD ; запись в аккумулятор
                movwf       PORTA       ; перенос из аккумулятора в порт
                call        Pause       ; переход на метку (с возвратом)
                movlw       0x0 ; запись в аккумулятор
                movwf       PORTB       ; перенос из аккумулятора в порт
     movlw       0x2 ; запись в аккумулятор
                movwf       PORTA       ; перенос из аккумулятора в порт
                call        Pause       ; переход на метку (с возвратом)
                movlw       0x38 ; запись в аккумулятор
                movwf       PORTB       ; перенос из аккумулятора в порт
     movlw       0xD ; запись в аккумулятор
                movwf       PORTA       ; перенос из аккумулятора в порт
                call        Pause       ; переход на метку (с возвратом)
                movlw       0x0 ; запись в аккумулятор
                movwf       PORTB       ; перенос из аккумулятора в порт
    movlw       0x2 ; запись в аккумулятор
               movwf       PORTA       ; перенос из аккумулятора в порт
               call        Pause       ; переход на метку (с возвратом)
               movlw       0x38 ; запись в аккумулятор
               movwf       PORTB       ; перенос из аккумулятора в порт
    movlw       0xD ; запись в аккумулятор
              movwf       PORTA       ; перенос из аккумулятора в порт
              call        Pause       ; переход на метку (с возвратом)
              movlw       0x0 ; запись в аккумулятор
              movwf       PORTB       ; перенос из аккумулятора в порт
    movlw       0x2 ; запись в аккумулятор
               movwf       PORTA       ; перенос из аккумулятора в порт
               call        Pause       ; переход на метку (с возвратом)
    return


    end                     ; конец программы



*** маленькая подробность, схема собрана как для цифровой кости, на ней и играюсь. соответственно у меня задумка в коде:
1) начинать зажигать сегменты с A до F
2) помигать поочередно (A-F) и G
3) начинать тушить сегменты с A до F
4) вернуться к пункту 1


Вложения:
Комментарий к файлу: Цифровая кость
01.gif [9.47 KiB]
Скачиваний: 980
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Pic16f628a, мигающие светодиоды (проблема с задержкой)
СообщениеДобавлено: Пт фев 01, 2013 15:11:04 
Друг Кота

Карма: 27
Рейтинг сообщений: 1283
Зарегистрирован: Ср фев 11, 2009 20:35:58
Сообщений: 7853
Рейтинг сообщения: 0
Цитата:
LIST P=PIC16F628A

Написано неправильно LIST P=16F628A с отступом.
#INCLUDE <p16F628a.inc>
после вставки этого файла у вас полезут ошибки.
Вы пользуетесь программой для вычисления задержек, в ней нужно дописывать RETURN.
При выборе ячеек ОЗУ см файл Microchip/MPASM Suite/P16F628.INC
; RAM Definition
;
;====================

__MAXRAM H'01FF'
__BADRAM H'07'-H'09', H'0D', H'13'-H'14', H'1B'-H'1E'
как видите 0х0D нельзя использовать
В настройке МК нужно учитывать и вкл или выкл всю переферию , а не только ПОРТА ПОРТВ
Впредь выкладывайте проект MPLAB


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Pic16f628a, мигающие светодиоды (проблема с задержкой)
СообщениеДобавлено: Пт фев 01, 2013 16:51:04 
Потрогал лапой паяльник
Аватар пользователя

Карма: 2
Рейтинг сообщений: 13
Зарегистрирован: Чт июн 23, 2011 07:55:51
Сообщений: 330
Рейтинг сообщения: 0
Вы зацикливаете контроллер на вот этом
Код:
Pause     
            movlw       .173
            movwf       Reg_1
            movlw       .19
            movwf       Reg_2
            movlw       .6
            movwf       Reg_3
            decfsz      Reg_1,F
            goto        $-1
            decfsz      Reg_2,F
            goto        $-3
            decfsz      Reg_3,F
            goto        $-5
            nop
            nop
 
miganie     movlw       0x38 ; запись в аккумулятор
                movwf       PORTB       ; перенос из аккумулятора в порт
         movlw       0xD ; запись в аккумулятор
                movwf       PORTA       ; перенос из аккумулятора в порт
                call        Pause       ; переход на метку (с возвратом)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Pic16f628a, мигающие светодиоды (проблема с задержкой)
СообщениеДобавлено: Пт фев 01, 2013 17:57:13 
Встал на лапы

Зарегистрирован: Вт янв 31, 2012 20:55:18
Сообщений: 94
Откуда: Екатеринбург
Рейтинг сообщения: 0
Огромное спасибо!! я действительно возврат не написал:(
а я весь день мучался с этим)) Невыспался наверное. Да и это первая "программа":)

Если будут какие нибудь непонятки, я буду сюда же писать) Заглядывайте иногда:)

Еще раз, огромное спасибо:)


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Pic16f628a, мигающие светодиоды (проблема с задержкой)
СообщениеДобавлено: Сб фев 02, 2013 00:31:50 
Встал на лапы

Зарегистрирован: Вт янв 31, 2012 20:55:18
Сообщений: 94
Откуда: Екатеринбург
Рейтинг сообщения: 0
Поигрался с анимацией еще, с опросом кнопки и еще по мелочи.

Новые задачи - новые проблемы.
Пытаюсь сделать счетчик. (схема та же, пишу под нее же)
Нажатие на кнопку дает +1
начинает с 0,
если 9 на индикаторе, то помигать Н и сбросить на 0(это я допишу, не проблема:)
У меня не считает, на кнопку реагирует неадекватно. Буду признателен за помощь.
Еще беда, никак не пойму как мне таблицу прикрутить в моем случае. В простых примерах там индикатор на портуВ висит весь.
У меня половина там, половина там. Мой ход мысли в коде хоть немножко правильный?)
Спойлер
Код:
            LIST        P=PIC16F628A
             __CONFIG    0x3F11
F           EQU         1
W           EQU         0
STATUS      EQU         0x003
C           EQU         0x0
TRISA       EQU         0x005
PORTA       EQU         0x005
Rega      EQU         0x001A
Regb      EQU         0x001B
TRISB       EQU         0x006
PORTB       EQU         0x006
Reg_1       EQU         0x000C
Reg_2       EQU         0x000F
Reg_3       EQU         0x000E
Reg_4       EQU         0x0011
regw      EQU         0x001C
PC          EQU         0x002


            org         0           ; начало программы             
            bsf         STATUS,5    ; переход в Банк 1
         movf      b'0000001',1
         movwf      TRISB
            clrf        TRISA
            bcf         STATUS,5    ; переход назад в Банк 0
         clrf        Reg_4
             movlw       0x38
         movwf       PORTB
         movlw       0xd
         movwf       PORTA

; отслеживание нажатий кнопок
m3         
             btfss       PORTB,0     ; бит-проверка ножки RA3 - увеличение
             goto        m2
             goto        m3          ; зацикливание проверки
  ; проверка на 9 (на крайнее значение) и увеличение значения регистра

m2          bcf         STATUS,0    ; опускаем флаг С в ноль
            movlw       .247        ; (255-9)+1 = 247 -> W
            addwf       Reg_4,0     ; (Reg_4)+W
            btfss       STATUS,C ;
             goto        m1
             goto        m4

m1          incf        Reg_4,0     ; увеличить значение на 1 и сохранить
         movwf      Regb
         incf       Regb,0
         movwf      Rega

m4         
         movf      Reg_4,1
         movwf      Regb
         Movf        Regb,1
         call        TABLE
            movwf       PORTB
         incf       Regb,0
         movwf      Rega
         Movf        Rega,1
         call        TABLE
            movwf       PORTA
            goto        m3


;==================
TABLE       addwf      PC,F        ; Содержимое счетчика команд PC = PC + W
             retlw      0x38 ; 0 B
          retlw      0xD ; 0 A
             retlw      b'11000' ; 1 B
             retlw      0x0 ; 1 A
             retlw      b'110000' ; 2 B
             retlw      b'1110' ; 2 A
             retlw      b'111000' ; 3 B
             retlw      b'1010' ; 3 A
             retlw      b'11000' ; 4 B
             retlw      b'11' ; 4 A
             retlw      b'101000' ; 5 A
             retlw      b'1011' ; 5 B
             retlw      b'101000' ; 6 B
             retlw      b'1111' ; 6 A
             retlw      b'11000' ; 7 B
             retlw      b'10' ; 7 A
             retlw      b'111000' ; 8 B
             retlw      b'1111' ; 8 A
             retlw      b'111000' ; 9 B
             retlw      b'1011' ; 9 A
             retlw      b'011000' ; H B
             retlw      b'0111' ; H A
 ;==================




Pause       movlw       .221
            movwf       Reg_1
            movlw       .130
            movwf       Reg_2
wr          decfsz      Reg_1, F
            goto        wr
            decfsz      Reg_2, F
            goto        wr
            nop
            nop
         return
            end                     ; конец программы


Вложения:
Counter(button).rar [8.92 KiB]
Скачиваний: 281
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Pic16f628a, мигающие светодиоды (проблема с задержкой)
СообщениеДобавлено: Сб фев 02, 2013 07:47:05 
Друг Кота

Карма: 27
Рейтинг сообщений: 1283
Зарегистрирован: Ср фев 11, 2009 20:35:58
Сообщений: 7853
Рейтинг сообщения: 0
Уважаемый!
Вы плохой ученик. Почему не исправили ошибки? Не верите мне посмотрите пример < Microchip\MPASM Suite\Template\Code\16F628ATEMP.ASM>.
Нет необходимости описывать спец. регистры они в файле INC уже назначены.
Инициализация МК не сделана.
Для кнопки нужно ввести антидребезг.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Pic16f628a, мигающие светодиоды (проблема с задержкой)
СообщениеДобавлено: Сб фев 02, 2013 14:07:23 
Встал на лапы

Зарегистрирован: Вт янв 31, 2012 20:55:18
Сообщений: 94
Откуда: Екатеринбург
Рейтинг сообщения: 0
Каюсь, я плохой ученик.
и все-таки, почему не идет подсчет (или он просто не показывает значение, так как в таблице не все так тривиально...)
Код поправил, откомментировал, выровнял, кнопку в режиме антидребезг туда прописал, кнопку опрашивает.
(но дальше ничего нет).
Спойлер
Код:
            LIST        P=PIC16F628A
            #include    P16F628A.INC
            __CONFIG    _INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_ON & _BODEN_OFF & _MCLRE_OFF & _LVP_OFF & DATA_CP_OFF & _CP_OFF

PC            EQU         0x0002
Rega     EQU      0x001A
Regb     EQU      0x001F
Reg_1       EQU         0x000C
Reg_2       EQU         0x000F
Reg_3       EQU         0x000E
Reg_4       EQU         0x0011


            org         0           ; начало программы         

   
      BCF      INTCON,GIE  ; прерывания
   BCF      RCSTA,7     ; USART off
   BCF      CCP1CON,3   ; CCP off
   BCF      CCP1CON,2   ; CCP off
   BCF      CCP1CON,1   ; CCP off
   BCF      CCP1CON,0   ; CCP off
   MOVLW      007h          ; Порт A ВЫКЛЮЧАЕМ КОМПАРАТОРЫ
            MOVWF      CMCON 
            bsf          STATUS,5    ; переход в Банк 1
            movlw     b'0000001'   ; запись в W
            movwf    TRISB          ; порты В на выход, кроме RB0 он на кнопку
            clrf         TRISA          ; порты А на выход
            bcf         STATUS,5     ; переход назад в Банк 0
            clrf         Reg_4          ; очищаем регистр
            movlw     0x38            ; зажигаем 3 сегмента порта В (5,4,3)
            movwf       PORTB       ;
            movlw       0xd            ; аналогично с А (3,2,0)
            movwf       PORTA       ;

                                              ; отслеживание нажатия кнопки

m1        btfss       PORTB,0      ; бит-проверка ножки RB0
            goto        m1      ; если нажата, то RB0=1, перескакиваем на m2
m2        btfsc       PORTB,0      ; бит-проверка ножки RA2
            goto        m2              ; отслеживаем отжатие кнопки


; проверка на 9 (на крайнее значение) и увеличение значения регистра
m12      bcf           STATUS,C    ; опускаем флаг С в ноль
            movlw      .247             ; (255-9)+1 = 247 -> W
            addwf        Reg_4,0      ; (Reg_4)+W
            btfss          STATUS,C     ; Если переноса не было то идем на метку m11
            goto          m11           ; Если не было переноса
            goto          m14           ; если был перенос, перескакиваем сюда
 
m11      incf           Reg_4,F      ; увеличить значение на 1 и сохранить

m14      movf   Reg_4,1               ; копируем в W значение
            movwf   Regb        ; Копируем из W в регВ
            incf    Regb,0       ; Увеличиваем га единичку и оставляем в W
            movwf   Rega       ; Копируем из W в регА (строчка ниже строчки В, запаздывает на единицу)
            Movf         Regb,W        ; Копируем в W содержимое регВ
            call           TABLE        ; обращение к таблице с готовым набором цифр
            movwf      PORTB        ; запись того что выдернуто из таблицы в регистр портаВ
             ; аналогично с портом А
            Movf          Rega,W       ; копируем в W содержимое регистра регА
            call           TABLE        ; обращение к таблице с готовым набором цифр
            movwf       PORTA        ; копируем из W в порт А
            goto           m1        ; возврат на отслеживание кнопки
         


;delay = 250000 machine cycles
Pause       movlw       .169
             movwf       Reg_1
             movlw       .69
             movwf       Reg_2
             movlw       .2
             movwf       Reg_3
wr          decfsz      Reg_1, F
             goto        wr
             decfsz      Reg_2, F
             goto        wr
             decfsz      Reg_3, F
             goto        wr
             return

;==================
TABLE       addwf      PC,F        ; Содержимое счетчика команд PC = PC + W
             retlw      0x38       ; 0 сегменты для порта  B
          retlw      0xD       ; 0 сегменты для порта  A
             retlw      b'11000'   ; 1 сегменты для порта  B
             retlw      0x0        ; 1 сегменты для порта  A
             retlw      b'110000'  ; 2 сегменты для порта  B
             retlw      b'1110'    ; 2 сегменты для порта  A
             retlw      b'111000'  ; 3 сегменты для порта  B
             retlw      b'1010'    ; 3 сегменты для порта  A
             retlw      b'11000'   ; 4 сегменты для порта  B
             retlw      b'11'      ; 4 сегменты для порта  A
             retlw      b'101000'  ; 5 сегменты для порта  A
             retlw      b'1011'    ; 5 сегменты для порта  B
             retlw      b'101000'  ; 6 сегменты для порта  B
             retlw      b'1111'    ; 6 сегменты для порта  A
             retlw      b'11000'   ; 7 сегменты для порта  B
             retlw      b'10'      ; 7 сегменты для порта  A
             retlw      b'111000'  ; 8 сегменты для порта  B
             retlw      b'1111'    ; 8 сегменты для порта  A
             retlw      b'111000'  ; 9 сегменты для порта  B
             retlw      b'1011'    ; 9 сегменты для порта  A
             retlw      b'011000'  ; H сегменты для порта  B
             retlw      b'0111'    ; H сегменты для порта  A
 ;==================





            end                     ; конец программы




Вложения:
Counter(button).rar [15.98 KiB]
Скачиваний: 205
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Pic16f628a, мигающие светодиоды (проблема с задержкой)
СообщениеДобавлено: Сб фев 02, 2013 14:59:57 
Друг Кота

Карма: 27
Рейтинг сообщений: 1283
Зарегистрирован: Ср фев 11, 2009 20:35:58
Сообщений: 7853
Рейтинг сообщения: 0
Антидребезга нет. Кн. нужно опрашивать например 100-200мсек. Зависит от желаемой скорости.
Это без коментов. Сам посмотри.
Цитата:
m14 movf Reg_4,1 ; копируем в W значение
TABLE addwf PC,F ; Содержимое счетчика команд PC = PC + W


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Pic16f628a, мигающие светодиоды (проблема с задержкой)
СообщениеДобавлено: Сб фев 02, 2013 15:58:57 
Встал на лапы

Зарегистрирован: Вт янв 31, 2012 20:55:18
Сообщений: 94
Откуда: Екатеринбург
Рейтинг сообщения: 0
Таак, добился того, что считает до 9 :)
уже радостно.
расписал таблицу на 2 таблицы, TABLEB TABLEA
из них дергает значения нормально:)

проверку на максимальное сейчас сделать и закольцевать....


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Pic16f628a, мигающие светодиоды (проблема с задержкой)
СообщениеДобавлено: Сб фев 02, 2013 17:27:11 
Встал на лапы

Зарегистрирован: Вт янв 31, 2012 20:55:18
Сообщений: 94
Откуда: Екатеринбург
Рейтинг сообщения: 0
Может быть, всем и наплевать, но я достиг своей маленькой, но все же цели:)

Можете критиковать, или давать какие нибудь советы.
Можете дать "задачку" несложную, для этой схемы)))


Вложения:
Counter(button).rar [21.15 KiB]
Скачиваний: 261
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Pic16f628a, мигающие светодиоды (проблема с задержкой)
СообщениеДобавлено: Ср фев 06, 2013 11:44:36 
Встал на лапы

Зарегистрирован: Вт янв 31, 2012 20:55:18
Сообщений: 94
Откуда: Екатеринбург
Рейтинг сообщения: 0
Помогите разобраться с обработкой прерываний пожалуйста (ассемблер).
Допустим идет счетчик (самое банальное разумеется)
при нажатии на кнопку (на вывод RB7 ее подключил) происходит стоп.
при следующем нажатии - продолжение счета.

пока я усек только то, что надо установить биты GIE, PEIE RBIE регистра INTCON, и отслеживать флаг RBIF (INTCON,0).
не смог найти подходящего объяснения в иных источниках.
Так же интересен вопрос, можно ли организовать прерывание по регистру А?..

**следующим моим вопросом будет работа с таймерами (инициализация, прерывание по сравнению, прерывание по переполнению)
*** дальше будет вопрос про динамическую индикацию и ШИМ (вроде он используется для управление яркостью, и прочими фишечками то как мигание одним разрядом из например 4х) ... оО


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Pic16f628a, мигающие светодиоды (проблема с задержкой)
СообщениеДобавлено: Ср фев 06, 2013 12:00:23 
Опытный кот

Карма: 1
Рейтинг сообщений: 52
Зарегистрирован: Чт мар 12, 2009 16:31:05
Сообщений: 804
Рейтинг сообщения: 0
На вот возьми просмотри,может быть на что сгодится


Вложения:
TMR0.rar [30.35 KiB]
Скачиваний: 288
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Pic16f628a, мигающие светодиоды (проблема с задержкой)
СообщениеДобавлено: Чт фев 07, 2013 19:04:38 
Встал на лапы

Зарегистрирован: Вт янв 31, 2012 20:55:18
Сообщений: 94
Откуда: Екатеринбург
Рейтинг сообщения: 0
я по ходу контроллер убил :(
не шьется, читаются нули.

программатор все тот же, с лабкита. ну я им тыщу раз прошивал уже... часто прошивал, в 99% без ошибок все было.

что можете посоветовать?
последнее что заливал в аттаче. Так и не удалось с динамической индикацией разобраться. какой то бегущий рандом получился)


Вложения:
DynInd.rar [13.77 KiB]
Скачиваний: 246
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Pic16f628a, мигающие светодиоды (проблема с задержкой)
СообщениеДобавлено: Чт фев 07, 2013 20:37:58 
Друг Кота

Карма: 27
Рейтинг сообщений: 1283
Зарегистрирован: Ср фев 11, 2009 20:35:58
Сообщений: 7853
Рейтинг сообщения: 0
Не понятно как твой МПЛАБ пропускает опечатки
& _LVP_OFF & DATA_CP_OFF &
Попробуй такой конфиг
_XT_OSC & _WDT_OFF & _PWRTE_OFF & _MCLRE_ON & _BOREN_OFF & _LVP_OFF & _DATA_CP_OFF & _CP_OFF
На метку START программа никогда не попадёт.
Зачем прошивать 1000раз МК. В МПЛАБе есть симулятор для отладки или Протеус поставь.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Pic16f628a, мигающие светодиоды (проблема с задержкой)
СообщениеДобавлено: Чт фев 07, 2013 20:42:30 
Встал на лапы

Зарегистрирован: Вт янв 31, 2012 20:55:18
Сообщений: 94
Откуда: Екатеринбург
Рейтинг сообщения: 0
почему не попадет?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Pic16f628a, мигающие светодиоды (проблема с задержкой)
СообщениеДобавлено: Чт фев 07, 2013 20:57:35 
Друг Кота

Карма: 27
Рейтинг сообщений: 1283
Зарегистрирован: Ср фев 11, 2009 20:35:58
Сообщений: 7853
Рейтинг сообщения: 0
Потому что нет команды обращения к этой метке.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Pic16f628a, мигающие светодиоды (проблема с задержкой)
СообщениеДобавлено: Чт фев 07, 2013 22:34:01 
Модератор
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1432
Зарегистрирован: Чт мар 18, 2010 23:09:57
Сообщений: 4599
Откуда: Планета Земля
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Потому что безбашенный копипаст не спасёт. Думать нужно что копируешь и куда...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Pic16f628a, мигающие светодиоды (проблема с задержкой)
СообщениеДобавлено: Пт фев 08, 2013 12:33:38 
Встал на лапы

Зарегистрирован: Вт янв 31, 2012 20:55:18
Сообщений: 94
Откуда: Екатеринбург
Рейтинг сообщения: 0
ну вот, поправил.


Вложения:
DynInd.rar [14.32 KiB]
Скачиваний: 242
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Чтение данных из EEPROM
СообщениеДобавлено: Сб фев 09, 2013 23:45:28 
Встал на лапы

Зарегистрирован: Вт янв 31, 2012 20:55:18
Сообщений: 94
Откуда: Екатеринбург
Рейтинг сообщения: 0
Не удается прочитать из EEPROM значения, которые потом необходимо вывести на 4х разрядный семисегментный индикатор.
взял из ДШ по примеру, не работает.
где я ошибся опять? :shock:

PS может уже с контроллером беда?..
когда в EEPROM что-то записано - ошибка возникает при сравнении, т.к. в нем остаются старые значения. Стирание не работает на EEPROM, а перезаписать поверх - пожалуйста.... Не нравится мне это. Точнее адреса 0001 и 0002 так себя ведут. Со всеми - не эксперементировал.
хотя, старые прошивки(предыдущая например которую выкладывал) - проишваются и работают.
Если прошить с MCLR - то вероятнее всего что МК не запустит программу при подаче питания (не понимаю почему!!!)

PPS сколько бы не пытался сегодня процедурно производить операцию чтения, индикации - ничерта не вышло. Хотелось бы конечно по-умному сделать: записал число в аккумулятор, вызвал процедуру, сделал действия. Следующее число в аккумулятор.... Не хватило фантазии.


Вложения:
read.rar [13.12 KiB]
Скачиваний: 252
Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 19 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y