Форум РадиоКот https://radiokot.ru/forum/ |
|
Работа с АЦП (assembler) Микроконтроллер PIC https://radiokot.ru/forum/viewtopic.php?f=58&t=141218 |
Страница 1 из 1 |
Автор: | moonk1n [ Пт янв 27, 2017 16:20:36 ] |
Заголовок сообщения: | Работа с АЦП (assembler) Микроконтроллер PIC |
Код: 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 |
Автор: | Родэрик [ Пт янв 27, 2017 16:45:58 ] |
Заголовок сообщения: | Re: Работа с АЦП (assembler) Микроконтроллер PIC |
во-первых, movf trisa, куда копируешь, в W или F ? Если в W, то в clrf trisd не будет смысла, поскольку тут же после очистки, в trisd ты пересылаешь FF (судя по самой первой строчке), настраивая все его ноги на вход. если надо и trisa, и trisd настроить на вход, то пиши: movlw FFh movwf trisa movwf trisd |
Автор: | moonk1n [ Пт янв 27, 2017 16:49:11 ] |
Заголовок сообщения: | Re: Работа с АЦП (assembler) Микроконтроллер PIC |
Родэрик писал(а): во-первых, movf trisa, куда копируешь, в W или F ? Если в W, то в clrf trisd не будет смысла, поскольку тут же после очистки, в trisd ты пересылаешь FF (судя по самой первой строчке), настраивая все его ноги на вход. если надо и trisa, и trisd настроить на вход, то пиши: movlw FFh movwf trisa movwf trisd Я это понимаю, вопрос все же остался тот же, можете объяснить,что изменится и почему? Мы ведь вставляем movf TRISA и movwf TRISD после clrf trisd. |
Автор: | Родэрик [ Пт янв 27, 2017 17:04:16 ] |
Заголовок сообщения: | Re: Работа с АЦП (assembler) Микроконтроллер PIC |
Мой вопрос тоже остался: Куда копируешь trisa? Если в W, то после вставки trisd настроится на вход. Если в F, то после вставки trisd будет равен trisb. Всё это конечно справедливо, если всё это время ты работаешь в первом банке. |
Автор: | sbhidden [ Вс янв 29, 2017 23:23:53 ] |
Заголовок сообщения: | Re: Работа с АЦП (assembler) Микроконтроллер PIC |
Начнем с того : moonk1n писал(а): [code] Микроконтроллер PIC КАКОЙ! потом будем дальше обсуждать! по умолчанию (если не указано) - то копируется в регистр хотя, возможно, не у всех PIC-ов. у большинства PICов TRIS - регистры находятся в одном банке, который тоже еще надо "выбрать", как Родэрик и написал. У некоторых пиков есть еще коварные регистры ANSEL ANCON ADCON, про которые новички часто забывают, но... начнем с используемого PIC-а. |
Автор: | moonk1n [ Пн янв 30, 2017 07:30:04 ] |
Заголовок сообщения: | Re: Работа с АЦП (assembler) Микроконтроллер PIC |
sbhidden писал(а): Начнем с того : moonk1n писал(а): [code] Микроконтроллер PIC КАКОЙ! потом будем дальше обсуждать! по умолчанию (если не указано) - то копируется в регистр хотя, возможно, не у всех PIC-ов. у большинства PICов TRIS - регистры находятся в одном банке, который тоже еще надо "выбрать", как Родэрик и написал. У некоторых пиков есть еще коварные регистры ANSEL ANCON ADCON, про которые новички часто забывают, но... начнем с используемого PIC-а. PIC16F877A |
Автор: | Zhuk72 [ Пн янв 30, 2017 17:31:15 ] |
Заголовок сообщения: | Re: Работа с АЦП (assembler) Микроконтроллер PIC |
Вам бы для начала с командами разобраться. У вас явно ощущается непонимание. |
Автор: | al.kame [ Пн янв 30, 2017 20:54:58 ] |
Заголовок сообщения: | Re: Работа с АЦП (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 В код 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 Что Вы хотите в итоге - решать Вам ![]() |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |