Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 15.02.2018
Сообщений: 3

Переход по банкам

18.08.2018, 20:01. Показов 1617. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток всем.
Недавно начал изучение ассемблера для программирования микроконтроллеров и столкнулся со следующей проблемой.
В Data Sheet к МК pic12f1822 ( https://static.chipdip.ru/lib/921/DOC000921464.pdf ) есть пример кода конфигурации АЦП:

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
;This code block configures the ADC
;for polling, Vdd and Vss references, Frc 
;clock and AN0 input.
;
;Conversion start & polling for completion 
; are included.
;
BANKSEL   ADCON1       ;
MOVLW     B’11110000’  ;Right justify, Frc
;clock
MOVWF     ADCON1       ;Vdd and Vss Vref
BANKSEL   TRISA        ;
BSF       TRISA,0      ;Set RA0 to input
BANKSEL   ANSEL        ;
BSF       ANSEL,0      ;Set RA0 to analog
BANKSEL   ADCON0       ;
MOVLW     B’00000001’  ;Select channel AN0
MOVWF     ADCON0       ;Turn ADC On
CALL      SampleTime   ;Acquisiton delay
BSF       ADCON0,ADGO  ;Start conversion
BTFSC     ADCON0,ADGO  ;Is conversion done?
GOTO      $-1          ;No, test again
BANKSEL   ADRESH       ;
MOVF      ADRESH,W     ;Read upper 2 bits
MOVWF     RESULTHI     ;store in GPR space
BANKSEL   ADRESL       ;
MOVF      ADRESL,W     ;Read lower 8 bits
MOVWF     RESULTLO     ;Store in GPR space
Как я понял, переход в банк с необходимым регистром выполнен за счёт BANKSEL, но MPLab на это выдаёт, например: "11: Register in operand not in bank 0. Ensure that bank bits are correct."
Тогда я попробовал написать через movlb:
Assembler
1
2
3
4
 
movlw       b'00000001'   
movlb       b'00000001'
movwf       TRISA
И вновь такая же ошибка.
Перечитал кучу разной информации, самоучителей, других кодов и прочего, но так и не смог понять почему MPLab ругается на это. Такая же проблема была и с регистром STATUS когда нужно было перейти во второй или третий банк.
В общем, если кто может, то подскажите, объясните, пожалуйста, в чём проблема, где ошибка.
Заранее благодарю.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.08.2018, 20:01
Ответы с готовыми решениями:

PIC. Зачем переходы по банкам (ASM)?
Всем доброго времени суток :) Имеется код в АСМ для мигания светодиодом, нашел на одном сайте: LIST P=PIC16F84A ...

Обмен валют по 10 банкам
У вас есть доллары, а мы хотим обменять их на рубли. Есть информация о стоимости долларов в 10 банках города. Определить какой банк лучше...

Ввести курсы доллара по трем различным банкам по отношению к рублю
Ввести курсы доллара по трем различным банкам по отношению к рублю (пример 1 доллар 30 рублей, 32,5р., 34,3 р.). Определить, сколько...

4
1184 / 673 / 113
Регистрация: 15.05.2012
Сообщений: 4,086
19.08.2018, 08:04
Лучший ответ Сообщение было отмечено Tinta как решение

Решение

Цитата Сообщение от Tinta Посмотреть сообщение
Register in operand not
Это Warning, а не ошибка. Призывает вас проверить, верно ли вы переключили банк.
1
0 / 0 / 0
Регистрация: 15.02.2018
Сообщений: 3
19.08.2018, 13:38  [ТС]
То есть можно не обращать внимание на данное сообщение, если я уверен, что выбрал банк верно. И в дальнейшем программа на мк будет работать корректно (при условии, что всё остальное верно)?
0
1184 / 673 / 113
Регистрация: 15.05.2012
Сообщений: 4,086
19.08.2018, 15:46
Да.
0
0 / 0 / 0
Регистрация: 15.02.2018
Сообщений: 3
19.08.2018, 16:36  [ТС]
Благодарю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.08.2018, 16:36
Помогаю со студенческими работами здесь

Сколько процентов сотрудников не доверили свои деньги этим трем банкам?
Статистические исследования показали, что 60% сотрудников предприятия сделали срочные вклады в «ФИА-банке», по 50% сотрудников - в...

Напечатать список банков со ставками ниже средней ставки по всем 10 банкам
Даны наименования 10 банков и процентные ставки по вкладам в каждом. Напечатать список банков со ставками ниже средней ставки по всем 10...

Вывести список банков со ставками ниже средней ставки по всем 10 банкам и указать банк с максимальной ставкой
Даны наименования 10 банков и процентные ставки по вкладам в каждом. Вывести список банков со ставками ниже средней ставки по всем 10...

Переход по записям (изменение вида формы кликом - переход на определенную запись)
есть форма ленточная, хочу сделать чтобы при нажатии на инфу открывалась запись на которую нажали в режиме одиночная на конкретную запись

WPF Переход по страницам и переход со страницы на главную форму
У меня есть главная страница (форма), есть еще одна страница. Хочу при нажатии на кнопку в главной форме перейти на другую страницу, это не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru