Например TDA7294

 Форум РадиоКот • Просмотр темы - Pic12F675. не мигает светодиод:)
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Пн июл 24, 2017 06:17:58



Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Pic12F675. не мигает светодиод:)
СообщениеДобавлено: Пн июл 17, 2017 16:56:33 
Родился

Зарегистрирован: Пн июл 17, 2017 16:51:45
Сообщений: 4
Рейтинг сообщения: 0
Всем привет!
нашел в инете такое: http://arduinokit.ru/electronics/mic...nking-led.html

заливаю в свой pic12f675 прошивку с вышеприведённого ресурса -- всё мигает лучше чем надо.

заливаю свою -- ничего.
Тыкаюсь уже 2й день, Подскажите, в чём беда в моём коде?

Код:
LIST        P=PIC12F675
    __CONFIG    31F4h
   
STATUS  EQU     0003h
GPIO    EQU     0005h
TRISIO  EQU     0005h
Reg_1   EQU     0020h
Reg_2   equ     0021h
Reg_3   equ     0022h
 
 org         0           ; begin             
; preparatory work
            bsf         STATUS,5    ; go to bank 1
            clrf        TRISIO
            bcf         STATUS,5    ; go to bank 0
; main
m1          movlw       00000100b ; pins 0,1,2,
            movwf       GPIO       ; 3,4,5 high voltage
            call        Pause       ; 500000 machine cycles
            clrf        GPIO       ; pins 0,1,2,3,4,5 low
            call        Pause       ;  500000 machine cycles
            goto        m1          ;
 
;delay = 500000 machine cycles
Pause       movlw       .85
            movwf       Reg_1
            movlw       .138
            movwf       Reg_2
            movlw       .3
            movwf       Reg_3
wr          decfsz      Reg_1, F
            goto        wr
            decfsz      Reg_2, F
            goto        wr
            decfsz      Reg_3, F
            goto        wr
           
            return
            end                     ; end


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Pic12F675. не мигает светодиод:)
СообщениеДобавлено: Пн июл 17, 2017 17:38:50 
Грызет канифоль

Карма: 7
Зарегистрирован: Вс авг 09, 2009 00:02:57
Сообщений: 284
Откуда: Lugansk
Рейтинг сообщения: 0
1.Проверьте значение для регистра CONFIG. Мне кажется там неверное значение.
2.
Код:
m1          movlw       00000100b ; pins 0,1,2,
            movwf       GPIO       ; 3,4,5 high voltage

Устанавливает только 1 PIN а не три.

_________________
__________________
Все, что нельзя запрограммировать на ассемблере, приходится паять


Вернуться наверх
 Профиль WWW  
 
От идеи до готового устройства! Нужен только EasyEDA!

Бесплатный инструмент для проектирования печатных плат - нарисуй свою плату прямо сейчас!

Дешевле уже некуда: всего $2, за 10 ПП размером 10х10см!

Электронные компоненты: Экономия до 50%, бесплатная доставка при одновременном заказе печатной платы и компонентов!

Не в сети
 Заголовок сообщения: Re: Pic12F675. не мигает светодиод:)
СообщениеДобавлено: Пн июл 17, 2017 17:54:48 
Друг Кота
Аватар пользователя

Карма: 38
Зарегистрирован: Пт авг 28, 2009 22:34:30
Сообщений: 5779
Откуда: 845-й км.
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Почему, когда вы пытаетесь что-то програмировать, не читаете даташит на программируемый микроконтроллер? Там на 21 странице написано:
Цитата:
The ANSEL (9Fh) and CMCON (19h)
registers (9Fh) must be initialized to
configure an analog channel as a digital
input. Pins configured as analog inputs will
read ‘0’. The ANSEL register is defined for
the PIC12F675.
И следом, пример 3-1, как это следует делать.

а ссылка в вашем сообщении - битая...

_________________
Ненавижу рекламу.


Вернуться наверх
 Профиль  
 

Не в сети
 Заголовок сообщения: Re: Pic12F675. не мигает светодиод:)
СообщениеДобавлено: Пн июл 17, 2017 18:04:15 
Родился

Зарегистрирован: Пн июл 17, 2017 16:51:45
Сообщений: 4
Рейтинг сообщения: 0
1.Проверьте значение для регистра CONFIG. Мне кажется там неверное значение.
2.
Код:
m1          movlw       00000100b ; pins 0,1,2,
            movwf       GPIO       ; 3,4,5 high voltage

Устанавливает только 1 PIN а не три.

да. это я знаю. коммент не поменял. там ниже дописано, что, к тому же, 4 и 5 устанавливает)


Последний раз редактировалось pilot327 Пн июл 17, 2017 18:29:10, всего редактировалось 3 раз(а).

Вернуться наверх
 Профиль  
 

Не в сети
 Заголовок сообщения: Re: Pic12F675. не мигает светодиод:)
СообщениеДобавлено: Пн июл 17, 2017 18:18:34 
Держит паяльник хвостом
Аватар пользователя

Карма: 11
Зарегистрирован: Вт мар 06, 2007 09:57:32
Сообщений: 978
Откуда: Алтай
Рейтинг сообщения: 0
В инете огромное кол-во примеров с пикушками. За эти два дня можно было найти готовые примеры исходников :)
Начните сначала с подключения инклюда, распишите строку конфигурации, инициализируйте МК,
настройте линии порта и т.д.
станет все понятно и в дальнейшем будет намного проще что-нибудь изобретать :)
Код:
   list      p=12f675         
  #include <p12f675.inc>     

    __CONFIG   _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT
    errorlevel-302

    CBLOCK  20h
    Reg_1         
    Reg_2
    Reg_3
    ENDC
           
 
        bsf        STATUS, RP0     ; команда установки 1-го банка
        CALL     h'3FF'                   ; загрузить калибровочную константу
        movwf   OSCCAL                ; для внутреннего RC генератора
        movlw   b'00000000'          ; настроим линии порта
        movwf   TRISIO         
        clrf        OPTION_REG       
        clrf        ANSEL             ; цифровые входы
        bcf        STATUS, RP0        ; команда установки 0-го банка
        movlw    .7                        ; отключить компаратор
        movwf    CMCON
        movlw    h'00'                    ; обнулить  выходы
        movwf    GPIO

И так далее

_________________
-Они не курят, они не пьют, они не ругаются матом. Кто они?
- Животные...
(С) М. Задорнов


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Pic12F675. не мигает светодиод:)
СообщениеДобавлено: Пн июл 17, 2017 18:27:46 
Родился

Зарегистрирован: Пн июл 17, 2017 16:51:45
Сообщений: 4
Рейтинг сообщения: 0
а ссылка в вашем сообщении - битая...


http://arduinokit.ru/electronics/microc ... g-led.html
Почему, когда вы пытаетесь что-то програмировать, не читаете даташит на программируемый микроконтроллер? Там на 21 странице написано:
Цитата:
The ANSEL (9Fh) and CMCON (19h)
registers (9Fh) must be initialized to
configure an analog channel as a digital
input. Pins configured as analog inputs will
read ‘0’. The ANSEL register is defined for
the PIC12F675.
И следом, пример 3-1, как это следует делать.

Спасибо, попробую переделать аналоговость в цифровость)

Добавлено after 6 minutes 29 seconds:
В инете огромное кол-во примеров с пикушками. За эти два дня можно было найти готовые примеры исходников :)

Вы правы. с них я и писал свой суперкод.
но, как видно [из моего собирательного суперкода], там ни слова об A/D конвертировании)

Спасибо, попробую
В мк я новичёк, так что нужное решение на просторах сетей заметить не всегда способен)


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Pic12F675. не мигает светодиод:)
СообщениеДобавлено: Пн июл 17, 2017 19:12:39 
Друг Кота

Карма: 18
Зарегистрирован: Ср фев 11, 2009 21:35:58
Сообщений: 4711
Откуда: Воронеж
Рейтинг сообщения: 0
...CBLOCK 20h
Reg_1
Reg_2
Reg_3
ENDC...
А вот так ни когда не делай


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Pic12F675. не мигает светодиод:)
СообщениеДобавлено: Пн июл 17, 2017 19:26:26 
Родился

Зарегистрирован: Пн июл 17, 2017 16:51:45
Сообщений: 4
Рейтинг сообщения: 0
Почему, когда вы пытаетесь что-то програмировать, не читаете даташит на программируемый микроконтроллер? Там на 21 странице написано:
Цитата:
The ANSEL (9Fh) and CMCON (19h)
registers (9Fh) must be initialized to
configure an analog channel as a digital
input. Pins configured as analog inputs will
read ‘0’. The ANSEL register is defined for
the PIC12F675.
И следом, пример 3-1, как это следует делать.

а ссылка в вашем сообщении - битая...



Огромное спасибо, уважаемый, за быстрый и верный ответ!)
Заработало)
всего-то отключить компаратор, переделать аналог в цифры
Вот рабочий код, м б поможет кому
Код:
LIST       P=PIC12F675
   __CONFIG    3F4h
   
STATUS   EQU       H'0003'
GPIO   EQU       H'0005'
TRISIO   EQU       H'0005'
CMCON   equ       H'0019'
ANSEL   equ       H'001F'
Reg_1   EQU       H'0020'
Reg_2   equ       H'0021'
Reg_3   equ       H'0022'

 org         0           ; begin             
; preparatory work
       BCF          STATUS,5   ;Bank 0
       CLRF           GPIO      ;Init GPIO
       MOVLW           07h      ;Set GP<2:0> to
       MOVWF           CMCON          ;digital IO
       BSF             STATUS,5   ;Bank 1
       CLRF           ANSEL      ;Digital I/O
      
      
            bsf         STATUS,5    ; go to bank 1
            clrf        TRISIO
            bcf         STATUS,5    ; go to bank 0
      
; main
m1          movlw       b'00000100' ; pin 2 high
            movwf       GPIO       ;   voltage
            call        Pause       ; 500000 machine cycles
            clrf        GPIO       ; pin 2 low
            call        Pause       ;  500000 machine cycles
            goto        m1          ;

;delay = 500000 machine cycles
Pause       movlw       .85
            movwf       Reg_1
            movlw       .138
            movwf       Reg_2
            movlw       .3
            movwf       Reg_3
wr          decfsz      Reg_1, F
            goto        wr
            decfsz      Reg_2, F
            goto        wr
            decfsz      Reg_3, F
            goto        wr
           
            return
            end                     ; end



Всем спасибо за участие. Считаю тему закрытой


Вернуться наверх
 Профиль  
 
Не в сети
 Заголовок сообщения: Re: Pic12F675. не мигает светодиод:)
СообщениеДобавлено: Пн июл 17, 2017 19:49:47 
Держит паяльник хвостом
Аватар пользователя

Карма: 16
Зарегистрирован: Ср янв 29, 2014 09:41:31
Сообщений: 920
Откуда: Баку
Рейтинг сообщения: 0
Рано еще считать тему закрытой.
Не расписывайте адреса регистров специального назначения. Просто в начале исходника добавьте include p12f675.inc - этого достаточно, все адреса и биты расписаны в нем. Это, кстати, позволит писать не номера битов, а их имена, т.е. вместо STATUS,5 будет STATUS,RP0.
Конфиг в таком виде не пишите. Выше вам дали пример, вы ему не последовали.
В МПЛабе это делается просто: Window -> PIC Memory Views -> Configuration bits. Выбираете нужную конфигурацию, жмете Generate... и копируете полученное в исходник.
Еще вы не сделали (правда здесь это роли особой не играет) считывание регистра калибровки генератора:
Код:
  call 0x3FF
  movwf OSCCAL

_________________
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Просто Жук.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 



Часовой пояс: UTC + 3 часа [ Летнее время ]


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

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


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

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


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