Заголовок сообщения: Помогите начинающему в освоении программирования PIC-ов
Добавлено: Пт сен 29, 2017 12:52:44
Родился
Зарегистрирован: Пт сен 29, 2017 12:17:38 Сообщений: 5
Рейтинг сообщения:0
Просьба не пинать под дых, а помочь понять в чём глюк у меня? Занимаюсь PIC-ами только вторую неделю, и для начала написал простую программу (используя программу MPLAB X IDE v4.01) на языке ассемблер.(текст ниже)
Код:
LIST P=PIC16F84A _CONFIG 0x3FF1 STATUS EQU H0003 PORTB EQU H0006 TRISB EQU H0006
org 0 ; Начало программы ; Подготовительные моменты START bsf STATUS,5 ; переход в Банк 1 clrf TRISB bcf STATUS,5 ; переход в Банк 0 ; Установка сигналов на порту В movlw b'01010101' movwf PORTB goto START end ; Конец программы
Но после компиляции программы были показаны ошибки смысл которых я не могу понять. 1)Warning[205] E:\PIC MICROCONTROLLERS\MY_PROJECTS\PROJECTS_PIC_MICROKONTROLLERS\2017\LED_PORT_B\LED_PORT_B.X\LED_PORT_B.ASM 1 : Found directive in column 1. (LIST) 2)Error[122] E:\PIC MICROCONTROLLERS\MY_PROJECTS\PROJECTS_PIC_MICROKONTROLLERS\2017\LED_PORT_B\LED_PORT_B.X\LED_PORT_B.ASM 3 : Illegal opcode (H3FF1) 3)Error[113] E:\PIC MICROCONTROLLERS\MY_PROJECTS\PROJECTS_PIC_MICROKONTROLLERS\2017\LED_PORT_B\LED_PORT_B.X\LED_PORT_B.ASM 4 : Symbol not previously defined (H0003) 4)Error[113] E:\PIC MICROCONTROLLERS\MY_PROJECTS\PROJECTS_PIC_MICROKONTROLLERS\2017\LED_PORT_B\LED_PORT_B.X\LED_PORT_B.ASM 5 : Symbol not previously defined (H0006) 5)Error[113] E:\PIC MICROCONTROLLERS\MY_PROJECTS\PROJECTS_PIC_MICROKONTROLLERS\2017\LED_PORT_B\LED_PORT_B.X\LED_PORT_B.ASM 6 : Symbol not previously defined (H0006) Помогите начинающему разобраться где и что не так я написал в программе. На простоту программы прошу не обращать внимания это был просто первый пробный вариант.
H0006 замените на более понятные евонному ассемблеру 0x06, H3FF1 - на 0x3FF1. И т.д.
LIST тоже лечится просто - перед ним должен быть или пробел, или табуляция. А еще у микрочипа есть огромная база подробнейшей документации, с примерами. В т.ч. и пособие по ассемблеру.
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Заголовок сообщения: Re: Помогите начинающему в освоении программирования PIC-ов
Добавлено: Пт сен 29, 2017 14:50:07
Родился
Зарегистрирован: Пт сен 29, 2017 12:17:38 Сообщений: 5
Рейтинг сообщения:0
Цитата:
А в скобках пишет на что конкретно ругается.
Но в 3, 4 и 5 ошибках в скобках указано число, этим числом я задаю адрес регистров в шестнадцатиричном формате, и что-же тогда не нравится компилятору. Во второй ошибке в скобках указано число которое я присваиваю регистру CONFIG.
Цитата:
H0006 замените на более понятные евонному ассемблеру 0x06, H3FF1 - на 0x3FF1
Вообще то я уже пробовал вместо H3FF1 подставлять 0x3FF1, но компилятор все равно выдавал ошибку на символ (0), т.е. и в таком виде запись 16-го числа компилятор не принемает
Добавлено after 14 minutes 43 seconds: Ну вот сейчас попробовал изменить значения H0003 и H0006 на 0x03 и 0x06 и ошибки которые касались этих чисел исчезли, а исправление H3FF1 на 0x3FF1 не помогло выходит следующее сообщение об ошибке: "Error[108] E:\PIC MICROCONTROLLERS\MY_PROJECTS\PROJECTS_PIC_MICROKONTROLLERS\2017\LED_PORT_B\LED_PORT_B.X\LED_PORT_B.ASM 3 : Illegal character (0)".
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
#include "p16f84a.inc" содержит адреса регистров, которые вы пытались описать в трех строчках, а конфиг надо писать именно в таком раскрытом виде, чтобы было видно, что вы там активировали. Открою страшный секрет: весь этот код писал не я! В меню выбираете Window - PIC Memory Views - Configuration Bits. Там выбираете желаемые опции (описание в ДШ), жмете Generate... и копируете полученное в свой файл, в самое его начало. Тип генератора в конфиге подберите под частоту кварца, или что там у вас планируется.
_________________ Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
org 0 ; Nachalo programmi ; Podgotovitelnie momenti bsf STATUS,5 ; Perehod v Bank 1 clrf TRISB bcf STATUS,5 ; Perehod nazad v Bank 0 ; Ustanovka signalov na portu B START movlw b'10101010' movwf PORTB goto START end ; Konec programmi
А ошибка такая:"Error[115] E:\PIC MICROCONTROLLERS\MY_PROJECTS\PROJECTS_PIC_MICROKONTROLLERS\2017\16F84A\LED_ON\LED_ON.X\LED_ON_ASM.ASM 9 : Duplicate label ("TRISB" or redefining symbol that cannot be redefined)" Что она означает?
Добавлено after 9 minutes 59 seconds: И вообще по поводу ошибок, нет ли у кого-нибудь желательно наиболее полного описания возможных ошибок в MPLAB X, под номерами которыми они обозначаются после компиляции
Добавлено after 1 minute 52 seconds: Под номерами например Error[115] ...
У кого-нибудь, может и нет, но почему не обратиться к производителю? Странно, во времена интернета не сходить просто на микрочиповский сайт и скачать оттуда. Ответ на ваш вопрос лежит на странице 163, а конкретно про 115-ю ошибку - на 164-й странице.
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Ну, может товарищь еще не понял, что он подцепил командой #include? Что все эти статусы, порты и трисы уже там определены. Это, возможно, дойдёт со временем.
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Ежли б не упор на новый Х (который на моих компах дико "тормозит")... Шаблон-заготовки в 8.92 микрочип в состав самой IDE включал для стиля абсолютной адресации C:\Program Files\Microchip\MPASM Suite\Template\Code\*.TEMP.asm (где * - имя применяемого МК) и для стиля относительной адресации C:\Program Files\Microchip\MPASM Suite\Template\Object\*.TMPO.asm (где * - имя применяемого МК) надеюсь это правило в отношении преемственности должно соблюдаться. Описание работы с компилятором (и список ошибок) также стандартно включаются в состав самой IDE (у 8.92 это C:\Program Files\Microchip\MPASM Suite\hlpMPASMAsm.html) или собственно на сайте http://ww1.microchip.com/downloads/en/D ... 33014L.pdf ... В принципе ежли использовать суперновые МК то Х штуа весьма ЖЕЛАТЕЛЬНАЯ... НО... в случае с "типовыми" все же предпочтение старому-доброму 8.92 (http://www.microchip.com/development-to ... ds-archive раздел "MPLAB IDE Archives 16-bit Windows 32-bit Windows 32-bit Windows" строчка "MPLAB IDE v8.92" Только на сегодня еще и предварительно зарегистрироваться на сайте надо...
Касательно PIC16F84/84A - этот МК превосходно и "устаревшей" IDE обрабатывается. А вот тут имеются учебники/даташиты на русском: http://www.microchip.ru/lit/?mid=1x0
И дополнительно... Ассемблер очень жестко привязан к схемке - хочется услышать путевый ответ - прилагаем к исходнику конкретную схему и описание того, что хотим от той схемы получить - тогда возможно и вариант проекта исходника для образца получить удастся.
Как возможный вариант учебно-прикладного проекта под PIC16F628A (pin-to-pin с 84-м) download/file.php?id=289869
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения