Jump to content

Станислав

Members
  • Content Count

    229
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Станислав

  • Rank
    Постоялец
  • Birthday 01/31/1972

Контакты

  • ICQ
    256722040

Информация

  • Пол
    Мужчина
  • Город
    Архангельск

Электроника

  • Стаж в электронике
    Более 20 лет
  • Сфера радиоэлектроники
    микроконтроллеры
  1. Здравствуйте. Я открыл ваш hex файл в MPLABX . Ваши биты конфигурации в программе IC Proc установлены не правильно. Хотя нет, все верно.
  2. Здравствуйте. Помогите определить что это за кнопка. Мне надо подобрать современный аналог. Спасибо.
  3. Два байта в конце пакета – это контрольная сумма CRC16. Пошаговая процедура расчета CRC16: 1.​ Загрузить 16-ти разрядный регистр числом 0FFFFH 2.​ Выполнить операцию XOR над первым байтом данных и старшим байтом регистра, поместить результат в регистр. 3.​ Сдвинуть регистр на один разряд вправо. 4.​ Если выдвинутый вправо бит единица, выполнить операцию XOR между регистром и полиномом 0A001H. 5.​ Если выдвинутый бит ноль, вернуться к шагу 3 6.​ Повторять шаги 3 и 4 до тех пор пока не будут выполнены 8 сдвигов регистра. 7.​ Выполнить операцию XOR над следующим байтом данных и регистром. 8.​ Повторять шаги 3-7 до тех пор пока не выполнена операция XOR над всеми байтами данных и регистром. 9.​ Содержимое регистра представляет собой два байта CRC и добавляется к исходному PS H - в конце числа означает то что число шестнадцатиричное. 0A001H=0xA001 (разные варианты записи.)
  4. Для запроса 01 03 01 14 crc= F047 Пишите там побайтно - 01 07 Эта программа отправляет в порт компьютера вашу последовательность и дописывает контрольную сумму.
  5. Контрольная сумма CRC16 - это два байта, в вашем случае "3437". Для подсчета воспльзуйтесь калькулятором, если вам не важен принцип подсчета CRC16. Я пользуюсь этой программой fractal.com.ru/_util/pic18_terminal.zip - вкладка терминал. Если важна суть подсчета CRC16 - пишите, объясню.
  6. Еще важно через какой преобразователь вы подключаетесь к компьютеру. Например, в моем случае чтобы заработала связь с сепамами мне пришлось установить подтягивающие резисторы в 1кОм к питанию.
  7. Мой вариант: Нужно приобрести GSM модем промышленный с последовательным интерфейсом RS232 Все подобные модемы работают через этот интерфейс по средствам АТ команд, надо изучить эти команды особенно те которые работают с SMS. Так же потребуется контроллер, к сожалению без него ни как. Контроллер должен иметь UART, пишем программу которая будет обмениваться данными с модемом по последовательному интерфейсу. И одну из ног контроллера используем для включения компьютера, как согласовать сигналы контроллера с модемом и кнопкой на системном блоке - это дело техники. Для новичка это сложно, по этому лучше закажите сборку устройства кому нибудь.
  8. Для начала напишите какой у вас счетчик. Определитесь какой интерфейс для связи со счетчиком есть в наличии от этого зависит способ подключения к компьютеру. Нужно знать пароль для доступа к счетчику, паролей может быть несколько - потребителя, поставщика и заводской. Для доступа к изменению системного времени потребуется знать пароль поставщика электроэнергии, выводы интерфейса скорее всего закрыты крышкой и опломбированы. Если в счетчике есть ИК порт - то уже в этом случае проще. Для изменения настроек используется программа "Конфигуратор" - можно скачать с сайта изготовителя.
  9. Это не ошибки, а сообщения. В моем случае HEX файл формируется. далее без этих сообщений, подправил: LIST P=PIC16F84A __CONFIG 0x3FF1 STATUS EQU 0x03 PORTB EQU 0x06 TRISB EQU 0x06 Reg_1 EQU 0x0C Reg_2 EQU 0x0D Reg_3 EQU H'0E' org 0 ; начало программы ; подготовительные моменты bsf STATUS,5 ; переход в Банк 1 clrf TRISB bcf STATUS,5 ; переход назад в Банк 0 ; установка сигналов на порту В m1 movlw b'11111111' ; запись в аккумулятор movwf PORTB ; перенос из аккумулятора в порт call Pause ; переход на метку (с возвратом) clrf PORTB ; "очистка" порта call Pause ; переход на метку (с возвратом) 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 ; конец программы 55 страница - сообщения MPASM mpasm.pdf
  10. для MPLAB: LIST P=PIC16F84A __CONFIG 0x3FF1 STATUS EQU 0x03 PORTB EQU 0x06 TRISB EQU 0x06 Reg_1 EQU 0x0C Reg_2 EQU 0x0D Reg_3 EQU H'0E' ; - так тоже можно написать org 0 ; начало программы ; подготовительные моменты bsf STATUS,5 ; переход в Банк 1 clrf TRISB bcf STATUS,5 ; переход назад в Банк 0 ; установка сигналов на порту В m1 movlw b'11111111' ; запись в аккумулятор movwf PORTB ; перенос из аккумулятора в порт call Pause ; переход на метку (с возвратом) clrf PORTB ; "очистка" порта call Pause ; переход на метку (с возвратом) 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 ; конец программы теперь сравните.
  11. DIN 5 _http://www.platan.ru/cgi-bin/qwery.pl/id=406781213&group=31313
×
×
  • Create New...