Работа с АЦП (assembler) Микроконтроллер PIC

Поклонники продукции Microchip Technology Inc тусуются тут.
Ответить
moonk1n
Родился
Сообщения: 3
Зарегистрирован: Пт янв 27, 2017 16:17:41

Работа с АЦП (assembler) Микроконтроллер PIC

Сообщение moonk1n »

Код: Выделить всё

movlw	b'11111111'
	movwf	TRISA			
	movlw	b'00000001'
	movwf	TRISB			
	clrf 	TRISD			
	bcf 	STATUS, RP0
Если добавить код

Код: Выделить всё

movf TRISA
movwf TRISD
между
clrf TRISD и bcf STATUS, RP0 , то что изменится и почему?
Микроконтроллер PIC
Реклама
Аватара пользователя
Родэрик
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Чт ноя 26, 2015 23:22:35
Откуда: не с Уфы
Контактная информация:

Re: Работа с АЦП (assembler) Микроконтроллер PIC

Сообщение Родэрик »

во-первых, movf trisa, куда копируешь, в W или F ?
Если в W, то в clrf trisd не будет смысла, поскольку тут же после очистки, в trisd ты пересылаешь FF (судя по самой первой строчке), настраивая все его ноги на вход.
если надо и trisa, и trisd настроить на вход, то пиши:
movlw FFh
movwf trisa
movwf trisd
Реклама
moonk1n
Родился
Сообщения: 3
Зарегистрирован: Пт янв 27, 2017 16:17:41

Re: Работа с АЦП (assembler) Микроконтроллер PIC

Сообщение moonk1n »

Родэрик писал(а):во-первых, movf trisa, куда копируешь, в W или F ?
Если в W, то в clrf trisd не будет смысла, поскольку тут же после очистки, в trisd ты пересылаешь FF (судя по самой первой строчке), настраивая все его ноги на вход.
если надо и trisa, и trisd настроить на вход, то пиши:
movlw FFh
movwf trisa
movwf trisd
Я это понимаю, вопрос все же остался тот же, можете объяснить,что изменится и почему? Мы ведь вставляем movf TRISA и movwf TRISD после clrf trisd.
Аватара пользователя
Родэрик
Нашел транзистор. Понюхал.
Сообщения: 162
Зарегистрирован: Чт ноя 26, 2015 23:22:35
Откуда: не с Уфы
Контактная информация:

Re: Работа с АЦП (assembler) Микроконтроллер PIC

Сообщение Родэрик »

Мой вопрос тоже остался: Куда копируешь trisa?
Если в W, то после вставки trisd настроится на вход.
Если в F, то после вставки trisd будет равен trisb.

Всё это конечно справедливо, если всё это время ты работаешь в первом банке.
Реклама
Эиком - электронные компоненты и радиодетали
sbhidden
Родился
Сообщения: 9
Зарегистрирован: Сб сен 01, 2012 19:00:10
Откуда: Иваново

Re: Работа с АЦП (assembler) Микроконтроллер PIC

Сообщение sbhidden »

Начнем с того :
moonk1n писал(а):

Код: Выделить всё

Микроконтроллер PIC[/quote]
КАКОЙ!

потом будем дальше обсуждать!
по умолчанию (если не указано) - то копируется в регистр
хотя, возможно, не у всех PIC-ов.
у большинства PICов TRIS - регистры находятся в одном банке, который тоже еще надо "выбрать", как Родэрик и написал.
У некоторых пиков есть еще коварные регистры ANSEL ANCON ADCON, про которые новички часто забывают, но...
начнем с используемого PIC-а.
Реклама
moonk1n
Родился
Сообщения: 3
Зарегистрирован: Пт янв 27, 2017 16:17:41

Re: Работа с АЦП (assembler) Микроконтроллер PIC

Сообщение moonk1n »

sbhidden писал(а):Начнем с того :
moonk1n писал(а):

Код: Выделить всё

Микроконтроллер PIC[/quote]
КАКОЙ!

потом будем дальше обсуждать!
по умолчанию (если не указано) - то копируется в регистр
хотя, возможно, не у всех PIC-ов.
у большинства PICов TRIS - регистры находятся в одном банке, который тоже еще надо "выбрать", как Родэрик и написал.
У некоторых пиков есть еще коварные регистры ANSEL ANCON ADCON, про которые новички часто забывают, но...
начнем с используемого PIC-а.[/quote]
PIC16F877A
Реклама
Аватара пользователя
Zhuk72
Сверлит текстолит когтями
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку
Контактная информация:

Re: Работа с АЦП (assembler) Микроконтроллер PIC

Сообщение Zhuk72 »

Вам бы для начала с командами разобраться.
У вас явно ощущается непонимание.
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Аватара пользователя
al.kame
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Пн фев 09, 2015 07:22:55
Откуда: Minsk BY
Контактная информация:

Re: Работа с АЦП (assembler) Микроконтроллер PIC

Сообщение al.kame »

moonk1n писал(а):

Код: Выделить всё

movlw	b'11111111'
	movwf	TRISA			
	movlw	b'00000001'
	movwf	TRISB			
	clrf 	TRISD			
	bcf 	STATUS, RP0
Если добавить код

Код: Выделить всё

movf TRISA
movwf TRISD
между
clrf TRISD и bcf STATUS, RP0 , то что изменится и почему?
Микроконтроллер PIC
В код movf TRISA компилятор попросит вписать получателя, следовательно:
- ВАРИАНТ 1

Код: Выделить всё

movf TRISA,W   ; из TRISA закидываем в W значение b'11111111' 
movwf TRISD   ; из W закидываем в TRISD значение b'11111111' 
И всё предыдущее можно упростить так:

Код: Выделить всё

movlw	b'11111111'
	movwf	TRISA
	movwf	TRISD	
	movlw	b'00000001'
	movwf	TRISB					
	bcf 	STATUS, RP0
- ВАРИАНТ 2

Код: Выделить всё

movf TRISA,F   ; проверка TRISA на Zero, бессмысленно - там уже b'11111111'
movwf TRISD   ; из W закидываем в TRISD значение b'00000001'
А предыдущее можно упростить так:

Код: Выделить всё

movlw	b'11111111'
	movwf	TRISA
	movlw	b'00000001'
	movwf	TRISB					
	movwf	TRISD	
	bcf 	STATUS, RP0
Что Вы хотите в итоге - решать Вам :)
FindLevel
Ответить

Вернуться в «PIC»