Например TDA7294

Форум РадиоКот • Просмотр темы - PIC16F84A два 2х-разрядных счетчика на одной МС
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Ср дек 17, 2025 00:53:30

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


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



Начать новую тему Ответить на тему  [ Сообщений: 89 ]  1, , , ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: PIC16F84A два 2х-разрядных счетчика на одной МС
СообщениеДобавлено: Вс фев 08, 2015 18:19:19 
Открыл глаза
Аватар пользователя

Зарегистрирован: Чт фев 05, 2015 19:26:52
Сообщений: 54
Откуда: Санкт-Петербург
Рейтинг сообщения: 0
Доброго времени суток всем!
Собственно мучает вопрос: Возможно ли на одном микроконтроллере PIC16F84A создать два независимых 2-х разрядных счетчика, желательно чтобы у каждого счетчика были свои кнопки "-" "+", общий "reset" и режим сохранения показаний в EEPROM при отключении питания? По работе понадобился такой счетчик, интуиция подсказывает что вроде возможно добиться требуемого, ребята помогите, может кто нибудь делал подобное. На просторах инета ничего не нашел для данного микроконтроллера. :shock:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A два 2х-разрядных счетчика на одной МС
СообщениеДобавлено: Вс фев 08, 2015 18:47:13 
Друг Кота

Карма: 27
Рейтинг сообщений: 1283
Зарегистрирован: Ср фев 11, 2009 20:35:58
Сообщений: 7853
Рейтинг сообщения: 0
Смотря какой индикатор. Ног может не хватить.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A два 2х-разрядных счетчика на одной МС
СообщениеДобавлено: Вс фев 08, 2015 20:49:27 
Открыл глаза
Аватар пользователя

Зарегистрирован: Чт фев 05, 2015 19:26:52
Сообщений: 54
Откуда: Санкт-Петербург
Рейтинг сообщения: 0
Индикатор используется CC56-12SRWA цифро-сегментный 4-х разрядный LED с общим катодом.
Ног там хватит их там 12 штук. :))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A два 2х-разрядных счетчика на одной МС
СообщениеДобавлено: Вс фев 08, 2015 20:55:32 
Открыл глаза
Аватар пользователя

Зарегистрирован: Чт фев 05, 2015 19:26:52
Сообщений: 54
Откуда: Санкт-Петербург
Рейтинг сообщения: 0
Вот схема по которой я делал, все в принципе устраивает. Только вот бы кнопочку добавить куда, для управления 100-ми и 1000-ми 1 и 2 разряд индикатора.
Изображение


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: PIC16F84A два 2х-разрядных счетчика на одной МС
СообщениеДобавлено: Чт фев 12, 2015 09:16:07 
Мудрый кот

Карма: 10
Рейтинг сообщений: 278
Зарегистрирован: Пт мар 26, 2010 17:16:52
Сообщений: 1799
Откуда: Kazan
Рейтинг сообщения: 0
Полностью переделывать программу и схему, т.е. совсем другое устройство.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A два 2х-разрядных счетчика на одной МС
СообщениеДобавлено: Чт фев 12, 2015 10:38:39 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 10
Рейтинг сообщений: 163
Зарегистрирован: Вс янв 09, 2011 16:51:39
Сообщений: 2347
Откуда: Санкт-Ленинград
Рейтинг сообщения: 0
alexi145 писал(а):
Вот схема
А Вы уверены, что VT1 у Вас правильно нарисован?

_________________
ICQ нет, и, в ближайшее время, не будет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A два 2х-разрядных счетчика на одной МС
СообщениеДобавлено: Пт фев 13, 2015 00:24:31 
Открыл глаза
Аватар пользователя

Зарегистрирован: Чт фев 05, 2015 19:26:52
Сообщений: 54
Откуда: Санкт-Петербург
Рейтинг сообщения: 0
Dmitry Dubrovenko писал(а):
А Вы уверены, что VT1 у Вас правильно нарисован?

Схему не я рисовал, я у себя кнопки использовал. А VT1 согласен коллектор с эмиттером перепутали. :)))

pcb432 писал(а):
Полностью переделывать программу и схему


Как мне думается, если данный счетчик переделывать, то как минимум надо переписать в asm алгоритм управления существующими на схеме кнопками (в место транзисторов) таким образом, чтобы 1 добавлялась по нажатию КН-1, а вычиталась при нажатии на КН-2, еще 2 кнопки добавить КН-3 и КН-4 для добавления +100 и вычитания -100 (2-разряд индикатора) и программно описать функции этих самых кнопок. Но как это сделать? Я не умею. :cry:

:idea: В идеале нужно два счетчика на одной микрухе PIC16F84 (или варианты) чтобы считали до 99-ти с кнопками управления для обоих счетчиков +1 и -1 сброс можно общий, лишние неиспользуемые нули чтобы не светились и функция сохранения показаний по откл. питания нужна. help. :facepalm:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A два 2х-разрядных счетчика на одной МС
СообщениеДобавлено: Пт фев 13, 2015 02:56:50 
Открыл глаза
Аватар пользователя

Зарегистрирован: Чт фев 05, 2015 19:26:52
Сообщений: 54
Откуда: Санкт-Петербург
Рейтинг сообщения: 0
Собственно вот что собрал на скорую руку, по приведенной выше схеме.
Тут фотки и видео можно посмотреть.http://dropmefiles.com/nb7ES


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A два 2х-разрядных счетчика на одной МС
СообщениеДобавлено: Пт фев 13, 2015 03:47:05 
Открыл глаза
Аватар пользователя

Зарегистрирован: Чт фев 05, 2015 19:26:52
Сообщений: 54
Откуда: Санкт-Петербург
Рейтинг сообщения: 0
вот еще ссылка на видеофайл, предыдущая что то не грузится.
скачать http://my-files.ru/rhkltb
посмотреть http://vimple.ru/5f8d2c44390d4c938c79773644d44466


Последний раз редактировалось alexi145 Пт фев 13, 2015 04:27:37, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A два 2х-разрядных счетчика на одной МС
СообщениеДобавлено: Пт фев 13, 2015 04:20:41 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Слишком много вопросов. Давайте по порядку (начиная с простого).
Гашение первых "ненужных" нулей.
В подпрограмме динамической индикации, первым отображаете старший разряд (это условие).
Организовываете битовый регистр в котором некий (вами определённый) бит разрешает отображение цифры.
В начале каждого цикла отображения полного числа (4-ре разряда, слева направо, первый - старший) вначале сбрасываете бит в "0" ("1" - разрешение индикации) и читаете число, которое нужно отобразить. Если оно равно "0" - вместо обращения к таблице знакогенератора прописываете все сегменты "OFF" и переходите (скорее всего, по таймеру) к отображению следующего числа с проверкой на "0". Если число не равно "0" - "поднимаете" бит "разрешение индикации" и до конца цикла (каждый раз проверяя этот бит) уже не сравниваете число с "0" и отображаете "реальное число".
Вместе с этим (от начала цикла) считаете число разрядов. После 3-го разряда надо "поднять" бит "разрешение индикации" для того, что бы число "0000" отобразилось как "0".

_________________
С Уважением, Альберт (Albert_V).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A два 2х-разрядных счетчика на одной МС
СообщениеДобавлено: Пт фев 13, 2015 04:32:05 
Открыл глаза
Аватар пользователя

Зарегистрирован: Чт фев 05, 2015 19:26:52
Сообщений: 54
Откуда: Санкт-Петербург
Рейтинг сообщения: 0
Спасибо за ответ, процедура гашения нулей в коде примерно-понятна.
Не понятно с кнопками которые +100 добавит, или отнимет? :shock:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A два 2х-разрядных счетчика на одной МС
СообщениеДобавлено: Пт фев 13, 2015 04:41:22 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Може быть, вам проще будет "организовать" 4-ре десятичных счётчика или считать в BCD?

_________________
С Уважением, Альберт (Albert_V).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A два 2х-разрядных счетчика на одной МС
СообщениеДобавлено: Пт фев 13, 2015 04:57:33 
Открыл глаза
Аватар пользователя

Зарегистрирован: Чт фев 05, 2015 19:26:52
Сообщений: 54
Откуда: Санкт-Петербург
Рейтинг сообщения: 0
Быть может, но лучше все же 2 по 100 :P

Проще конечно добавить 2-ю микросхему со схемой в придачу, чем париться с кодом и какими то кнопками. :kill:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A два 2х-разрядных счетчика на одной МС
СообщениеДобавлено: Пт фев 13, 2015 05:07:43 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
После сложения/вычитания сравнивайте полученное число (если +/-100) с 0FFh или 100d (в зависимости от действия) командой xorlw.
Как эта команда "работает" можно прочитать в документации, в разделе "INSTRUCTION SET".
P.S.
Ошибка. Если +/-1

_________________
С Уважением, Альберт (Albert_V).


Последний раз редактировалось Albert_V Пт фев 13, 2015 05:19:45, всего редактировалось 3 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A два 2х-разрядных счетчика на одной МС
СообщениеДобавлено: Пт фев 13, 2015 05:10:36 
Открыл глаза
Аватар пользователя

Зарегистрирован: Чт фев 05, 2015 19:26:52
Сообщений: 54
Откуда: Санкт-Петербург
Рейтинг сообщения: 0
Спасибо за подсказку! :beer:

Ушел читать даташит на PIC16F84A и изучать команды. :evil:
Дело в том, что по уровню моих знаний в asm мне действительно проще взять 2-ю микруху прошить ее таким же кодом и внедрить в схему, а нолики гасить по старинке тумблерочками :)))
Вот реально бы кто помог с кодом, а то asm для меня и программирование для PIC что то никак не дается.

Благодарю Всех :wink:


Последний раз редактировалось alexi145 Пт фев 13, 2015 05:29:54, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A два 2х-разрядных счетчика на одной МС
СообщениеДобавлено: Пт фев 13, 2015 05:15:13 
Друг Кота
Аватар пользователя

Карма: 90
Рейтинг сообщений: 1859
Зарегистрирован: Чт сен 12, 2013 00:54:12
Сообщений: 4119
Откуда: ЗаМКАДье. Там, где ЦУП
Рейтинг сообщения: 0
Медали: 5
Получил миской по аватаре (5)
Извиняюсь. То, что я сказал в предыдущем посте это справедливо только для +/-1!!!!
Для +/-100 - надо делать через вычитание!!!

_________________
С Уважением, Альберт (Albert_V).


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A два 2х-разрядных счетчика на одной МС
СообщениеДобавлено: Пт фев 13, 2015 08:21:20 
Друг Кота

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A два 2х-разрядных счетчика на одной МС
СообщениеДобавлено: Пт фев 13, 2015 10:15:10 
Открыл глаза
Аватар пользователя

Зарегистрирован: Чт фев 05, 2015 19:26:52
Сообщений: 54
Откуда: Санкт-Петербург
Рейтинг сообщения: 0
Вот программа
Код:
   
         list   P=16F84A        ;THE COUNTER WITH THE GENERAL CATODE
   __config 03FFBh


STATUS     EQU          03h
PORTB      EQU          06h
PORTA      EQU          05h
TRISB      EQU          06h
TRISA      EQU          05h
PCL        equ          02h       
Reg_1      equ           0Ch
Reg_2      equ           0Dh
RPO        EQU          5
Z          equ          2
GIE        equ          7
LED1       EQU          10h
LED2       EQU          11h
LED3       EQU          12h
LED4       EQU          13h
registr    equ          0Fh
registr1   equ          1Fh
reg        equ          0Eh
reg1       equ          1Eh
EEData     equ          08h
EECon1     equ          08h
EEAdr      equ          09h
EECon2     equ          09h
Intcon     equ          0Bh
;----------
      org           0
           goto         Start                                                
;----------
Start       clrf        Intcon
            clrf   PORTA
       clrf   PORTB
       bsf    STATUS,RPO
       MOVLW   B'00010000'
       movwf   TRISA
       movlw   B'10000000'
       movwf   TRISB                       
       bcf    STATUS,RPO
;----------                   
            movlw       .10
            movwf       LED1
            movwf       LED2
            movwf       LED3
            movwf       LED4
            goto        Ind1
on          clrf        LED1
            clrf        LED2
            clrf        LED3
            clrf        LED4
            nop
            call        Pause
            movlw       0
            movwf       EEAdr
            nop
            bsf         STATUS,RPO
            bsf         EECon1,0
            bcf         STATUS,RPO
            nop
            movf        EEData,W
            movwf       LED1
            nop
            nop
            call   Pause
            movlw       1
            movwf       EEAdr
            nop
            bsf         STATUS,RPO
            bsf         EECon1,0
            bcf         STATUS,RPO
            nop
            movf        EEData,W
            movwf       LED2
            nop
            nop
            call   Pause
            movlw       2
            movwf       EEAdr
            nop
            bsf         STATUS,RPO
            bsf         EECon1,0
            bcf         STATUS,RPO
            nop
            movf        EEData,W
            movwf       LED3
            nop
            nop
            call   Pause
            movlw       3
            movwf       EEAdr
            nop
            bsf         STATUS,RPO
            bsf         EECon1,0
            bcf         STATUS,RPO
            nop
            movf        EEData,W
            movwf       LED4
            nop
            nop
           
            movlw       .255
            movwf       registr1
            movwf       reg1   
            movlw       .10
            movwf       registr
            movlw       .50
            movwf       reg
           
            movf        reg1,w           
            bcf         STATUS,2
            xorwf       LED1,w
            btfsc       STATUS,2 
            goto        off
            movf        reg1,w           
            bcf         STATUS,2
            xorwf       LED2,w
            btfsc       STATUS,2 
            goto        off
            movf        reg1,w           
            bcf         STATUS,2
            xorwf       LED3,w
            btfsc       STATUS,2 
            goto        off
            movf        reg1,w           
            bcf         STATUS,2
            xorwf       LED4,w
            btfsc       STATUS,2 
            goto        off         
            bsf         STATUS,RPO
            MOVLW   B'10000110'
       movwf   TRISB
            bcf         STATUS,RPO
            BTFSS       PORTB,2
            goto        off

Poz0        bsf         STATUS,RPO
            MOVLW   B'10000110'
       movwf   TRISB
            bcf         STATUS,RPO
            BTFSS       PORTB,2
            goto        off
            BTFSS       PORTB,1
            SLEEP
            bsf         STATUS,RPO
            MOVLW   B'10000000'
       movwf   TRISB
            bcf         STATUS,RPO
            BTFSS       PORTA,4
            GOTO        Poz1
            BTFSS       PORTB,7
            GOTO        Poz2
            GOTO        Ind4
Poz1        CALL        Ind2
            bsf         STATUS,RPO
            MOVLW   B'10000110'
       movwf   TRISB
            bcf         STATUS,RPO
            BTFSS       PORTB,2
            goto        off
            BTFSS       PORTB,1
            SLEEP
            bsf         STATUS,RPO
            MOVLW   B'10000000'
       movwf   TRISB
            bcf         STATUS,RPO
            BTFSC       PORTA,4
            GOTO        Poz0
            BTFSS       PORTB,7
            goto        Poz3
            GOTO        Poz1
Poz2        CALL        Ind2
            bsf         STATUS,RPO
            MOVLW   B'10000110'
       movwf   TRISB
            bcf         STATUS,RPO
            BTFSS       PORTB,2
            goto        off
            BTFSS       PORTB,1
            SLEEP
            bsf         STATUS,RPO
            MOVLW   B'10000000'
       movwf   TRISB
            bcf         STATUS,RPO
            BTFSC       PORTB,7
            GOTO        Poz0
            BTFSS       PORTA,4
            goto        Poz4
            GOTO        Poz2
Poz3        call        Ind2
            bsf         STATUS,RPO
            MOVLW   B'10000110'
       movwf   TRISB
            bcf         STATUS,RPO
            BTFSS       PORTB,2
            goto        off
            BTFSS       PORTB,1
            SLEEP
            bsf         STATUS,RPO
            MOVLW   B'10000000'
       movwf   TRISB
            bcf         STATUS,RPO
            BTFSC       PORTB,7
            goto        Poz1
            BTFSC       PORTA,4
            goto        Poz5
            goto        Poz3
Poz4        call        Ind2
            bsf         STATUS,RPO
            MOVLW   B'10000110'
       movwf   TRISB
            bcf         STATUS,RPO
            BTFSS       PORTB,2
            goto        off
            BTFSS       PORTB,1
            SLEEP
            bsf         STATUS,RPO
            MOVLW   B'10000000'
       movwf   TRISB
            bcf         STATUS,RPO
            BTFSC       PORTA,4
            goto        Poz2
            BTFSC       PORTB,7
            goto        Poz6
            goto        Poz4
Poz5        call        Ind2
            bsf         STATUS,RPO
            MOVLW   B'10000110'
       movwf   TRISB
            bcf         STATUS,RPO
            BTFSS       PORTB,2
            goto        off
            BTFSS       PORTB,1
            SLEEP
            bsf         STATUS,RPO
            MOVLW   B'10000000'
       movwf   TRISB
            bcf         STATUS,RPO
            BTFSS       PORTA,4
            goto        Poz3
            BTFSC       PORTB,7
            goto        PLUS
            goto        Poz5
Poz6        call        Ind2
            bsf         STATUS,RPO
            MOVLW   B'10000110'
       movwf   TRISB
            bcf         STATUS,RPO
            BTFSS       PORTB,2
            goto        off
            BTFSS       PORTB,1
            SLEEP
            bsf         STATUS,RPO
            MOVLW   B'10000000'
       movwf   TRISB
            bcf         STATUS,RPO
            BTFSS       PORTB,7
            goto        Poz4
            BTFSC       PORTA,4
            goto        MINUS
            goto        Poz6
           
Tab       addwf   PCL,f
       retlw   B'00111111'   ;0
       retlw   B'00000110'   ;1
       retlw   B'01011011'   ;2
       retlw   B'01001111'   ;3
       retlw   B'01100110'   ;4
       retlw   B'01101101'   ;5
       retlw   B'01111101'   ;6
       retlw   B'00000111'   ;7
       retlw   B'01111111'   ;8
       retlw   B'01101111'   ;9           
       retlw       b'01000000'     ;-
;----------
Ind1       decfsz      reg,f
            goto        $+2
            goto        on       
            bcf     PORTA,0
       movf        LED1,W
       call   Tab
       movwf   PORTB
       call   Pause
       bsf     PORTA,0

       bcf     PORTA,3
       movf        LED2,W
       call   Tab
       movwf   PORTB
       call   Pause
       bsf           PORTA,3

       bcf           PORTA,2
       movf        LED3,W
       call   Tab
       movwf   PORTB
       call   Pause
       bsf           PORTA,2
           
       bcf           PORTA,1
       movf        LED4,W
       call   Tab
       movwf   PORTB
       call   Pause      
       bsf         PORTA,1
       goto        Ind1   
           
Ind2       bcf     PORTA,0
       movf        LED1,W
       call   Tab
       movwf   PORTB
       call   Pause
       bsf     PORTA,0

       bcf     PORTA,3
       movf        LED2,W
       call   Tab
       movwf   PORTB
       call   Pause
       bsf           PORTA,3

       bcf           PORTA,2
       movf        LED3,W
       call   Tab
       movwf   PORTB
       call   Pause
       bsf           PORTA,2
           
       bcf           PORTA,1
       movf        LED4,W
       call   Tab
       movwf   PORTB
       call   Pause
       bsf           PORTA,1
       RETURN
Ind3       bcf     PORTA,0
       movf        LED1,W
       call   Tab
       movwf   PORTB
       call   Pause
       bsf     PORTA,0
            call        PAM1

       bcf     PORTA,3
       movf        LED2,W
       call   Tab
       movwf   PORTB
       call   Pause
       bsf           PORTA,3
            call        PAM2

       bcf           PORTA,2
       movf        LED3,W
       call   Tab
       movwf   PORTB
       call   Pause
       bsf           PORTA,2
            call        PAM3           
 
       bcf           PORTA,1
       movf        LED4,W
       call   Tab
       movwf   PORTB
       call   Pause      
       bsf           PORTA,1
            call        PAM4
            goto        Poz0   

Ind4       bcf     PORTA,0
       movf        LED1,W
       call   Tab
       movwf   PORTB
       call   Pause
       bsf     PORTA,0

       bcf     PORTA,3
       movf        LED2,W
       call   Tab
       movwf   PORTB
       call   Pause
       bsf           PORTA,3

       bcf           PORTA,2
       movf        LED3,W
       call   Tab
       movwf   PORTB
       call   Pause
       bsf           PORTA,2
           
       bcf           PORTA,1
       movf        LED4,W
       call   Tab
       movwf   PORTB
       call   Pause      
       bsf           PORTA,1
            goto        Poz0



;delay = 4'000 machine cycles
Pause       movlw       .48
            movwf       Reg_1
            movlw       .6
            movwf       Reg_2
wr          decfsz      Reg_1, F
            goto        wr
            decfsz      Reg_2, F
            goto        wr
            nop
       return

PLUS        call        Ind2
            BTFSS       PORTB,7
            goto        PLUS
            bsf         Intcon,GIE                   
            movf        registr,w                           
            incf        LED1,f                           
            bcf         STATUS,2
            xorwf       LED1,w
            btfss       STATUS,2           
            goto        Ind3
            clrf        LED1
            movf        registr,w
            incf        LED2,f
            bcf         STATUS,2
            xorwf       LED2,w
            btfss       STATUS,2 
            goto        Ind3
            clrf        LED2
            movf        registr,w
            incf        LED3,f
            bcf         STATUS,2
            xorwf       LED3,w
            btfss       STATUS,2 
            goto        Ind3
            clrf        LED3
            movf        registr,w
            incf        LED4,f
            bcf         STATUS,2
            xorwf       LED4,w
            btfss       STATUS,2 
            goto        Ind3
            clrf        LED4
            goto        Ind3
MINUS       call        Ind2
            BTFSS       PORTA,4
            goto        MINUS                       
            movf        registr1,w                                 
            decf        LED1,f                           
            bcf         STATUS,2
            xorwf       LED1,w
            btfss       STATUS,2           
            goto        Ind3                     
            movlw       .9
            movwf       LED1
            movf        registr1,w
            decf        LED2,f
            bcf         STATUS,2
            xorwf       LED2,w
            btfss       STATUS,2 
            goto        Ind3
            movlw       .9
            movwf       LED2
            movf        registr1,w
            decf        LED3,f
            bcf         STATUS,2
            xorwf       LED3,w
            btfss       STATUS,2 
            goto        Ind3
            movlw       .9
            movwf       LED3
            movf        registr1,w
            decf        LED4,f
            bcf         STATUS,2
            xorwf       LED4,w
            btfss       STATUS,2 
            goto        Ind3
            movlw       .9
            movwf       LED4
            goto        Ind3   

PAM1        bcf         Intcon,GIE
            movlw       0
            movwf       EEAdr
            movf        LED1,w
            movwf       EEData
            bsf         STATUS,RPO
            bsf         EECon1,2
            btfsc       EECon1,1
            goto        $-1
            movlw       055h
            movwf       EECon2
            movlw       0AAh
            movwf       EECon2
            bsf         EECon1,1
            bcf         EECon1,4
            bcf         STATUS,RPO
            return   

PAM2        bcf         Intcon,GIE
            movlw       1
            movwf       EEAdr
            movf        LED2,w
            movwf       EEData
            bsf         STATUS,RPO
            bsf         EECon1,2
            btfsc       EECon1,1
            goto        $-1
            movlw       055h
            movwf       EECon2
            movlw       0AAh
            movwf       EECon2
            bsf         EECon1,1
            bcf         EECon1,4
            bcf         STATUS,RPO
            return

PAM3        bcf         Intcon,GIE
            movlw       2
            movwf       EEAdr
            movf        LED3,w
            movwf       EEData
            bsf         STATUS,RPO
            bsf         EECon1,2
            btfsc       EECon1,1
            goto        $-1
            movlw       055h
            movwf       EECon2
            movlw       0AAh
            movwf       EECon2
            bsf         EECon1,1
            bcf         EECon1,4
            bcf         STATUS,RPO
            return

PAM4        bcf         Intcon,GIE
            movlw       3
            movwf       EEAdr
            movf        LED4,w
            movwf       EEData
            bsf         STATUS,RPO
            bsf         EECon1,2
            btfsc       EECon1,1
            goto        $-1
            movlw       055h
            movwf       EECon2
            movlw       0AAh
            movwf       EECon2
            bsf         EECon1,1
            bcf         EECon1,4
            bcf         STATUS,RPO
            return
                                   
off         bsf         STATUS,RPO
            MOVLW   B'10000000'
       movwf   TRISB
            bcf         STATUS,RPO
            movlw       .0
            movwf       LED1
            movwf       LED2
            movwf       LED3
            movwf       LED4
            goto        Ind3     
;----------
       end


А вопросы сформулированы в предыдущих постах.

:idea: P/S Совсем забыл, сначала делал как на схеме кондёр С1 22 пик. ставил схема запустилась считала обнуляла, но сохранение в EEPROM не работало. Увеличил емкость до 53 пик и все заработало как часы. :tea:


Вложения:
Комментарий к файлу: Counter
count_c.asm [15.49 KiB]
Скачиваний: 480
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A два 2х-разрядных счетчика на одной МС
СообщениеДобавлено: Пт фев 13, 2015 13:10:02 
Друг Кота

Карма: 27
Рейтинг сообщений: 1283
Зарегистрирован: Ср фев 11, 2009 20:35:58
Сообщений: 7853
Рейтинг сообщения: 0
Что то я не врубаюсь в алгоритм. Что нужно считать ?
Цитата:
чтобы считали до 99-ти ...еще 2 кнопки добавить КН-3 и КН-4 для добавления +100 и вычитания -100


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: PIC16F84A два 2х-разрядных счетчика на одной МС
СообщениеДобавлено: Пт фев 13, 2015 13:39:33 
Открыл глаза
Аватар пользователя

Зарегистрирован: Чт фев 05, 2015 19:26:52
Сообщений: 54
Откуда: Санкт-Петербург
Рейтинг сообщения: 0
otest писал(а):
Что то я не врубаюсь в алгоритм. Что нужно считать ?

Считать нужно отдельно единицы и отдельно сотни, каждый счет своими кнопками управляется. Reset общий. В общем как то так. :facepalm:


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

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


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

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


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

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


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