Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
09.09.2010, 13:33
|
|
Вид на жительство
Регистрация: 07.09.2007
Адрес: Дерёвня Ишимбай
Сообщений: 419
Сказал спасибо: 65
Сказали Спасибо 136 раз(а) в 87 сообщении(ях)
|
Помогите начинающему (PIC16F84A).
Доброго времени суток!
Хочу научиться писать программы для микроконтроллеров. Начать решил с PIC16F84A. Какие книжки можете посоветовать?
Во вложениях пример моей первой программы, которая не получилась (точнее начала программы) и схема в протеусе (7.2 SP2). Необходимо сделать так чтобы при подаче сигнала на RA3 цифра на дисплее увеличивалась, а при подаче на RA4 – уменьшалась. На данный момент остановился на том, что удалось вызывать определённую цифру при изменении строки «MOVLW 0h» - сразу после «START». Но попытка изменить L1 «MOVLW 1h», «MOVWF L1» ни к чему не приводит.
А может можно более короткий код придумать?
PS. Что означает «Регистр в операнде не в банке 0. Проверьте, что банковские биты - правильно.» Помогите начинающему.
|
|
|
Сказали "Спасибо" Slava-martyn
|
|
|
09.09.2010, 14:28
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
Re: Помогите начинающему (PIC16F84A).
Сообщение от Slava-martyn
|
Но попытка изменить L1 «MOVLW 1h», «MOVWF L1» ни к чему не приводит.
|
Потому что цикл замкнут на START, где есть присвоение L1 = 0.
Здесь цифры увеличиваются в цикле
Код:
|
START
MOVLW 0h
MOVWF L1
CYC:
CALL LEDN
MOVLW 0FFh
MOVWF DATAPORT
; MOVLW 1h
; MOVWF L1
INCF L1, F
MOVLW .10
XORWF L1, W
BTFSC STATUS, Z
MOVWF L1
CALL PAUSE
GOTO CYC ;Перейти на начало |
|
|
|
Сказали "Спасибо" AJScorp
|
|
|
09.09.2010, 14:39
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
Re: Помогите начинающему (PIC16F84A).
Да, и уберите "BCF STATUS,Z" в LEDN. Оно там не надо. )
|
|
|
Эти 2 пользователя(ей) сказали Спасибо AJScorp за это сообщение:
|
|
|
09.09.2010, 14:59
|
|
Вид на жительство
Регистрация: 07.09.2007
Адрес: Дерёвня Ишимбай
Сообщений: 419
Сказал спасибо: 65
Сказали Спасибо 136 раз(а) в 87 сообщении(ях)
|
Re: Помогите начинающему (PIC16F84A).
2 день сижу, надо сделать перерыв
А что значат строчки
INCF L1, F ; зачем F
MOVLW .10 ; зачем .
Последний раз редактировалось Slava-martyn; 09.09.2010 в 15:10.
|
|
|
Сказали "Спасибо" Slava-martyn
|
|
|
09.09.2010, 15:26
|
|
Частый гость
Регистрация: 11.09.2007
Сообщений: 16
Сказал спасибо: 1
Сказали Спасибо 7 раз(а) в 4 сообщении(ях)
|
Re: Помогите начинающему (PIC16F84A).
Цитата:
|
Начать решил с PIC16F84A. Какие книжки можете посоветовать?
|
может поможет http://ikarab.narod.ru/index.html
|
|
|
|
09.09.2010, 15:27
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.08.2007
Адрес: Болгария Перник
Сообщений: 1,771
Сказал спасибо: 74
Сказали Спасибо 357 раз(а) в 245 сообщении(ях)
|
Re: Помогите начинающему (PIC16F84A).
Сообщение от Slava-martyn
|
INCF L1, F ; зачем F
|
L1 увеличивается на единицу, результат записывается в L1. Если стоит W результат записывается в W(рабочий регистр)
Точка кажется прямое указание на число в десятичном формате. Иначе воспринимается формат заданый в RADIX.
__________________
Мыслю, следовательно существую
|
|
|
|
09.09.2010, 18:07
|
|
Вид на жительство
Регистрация: 07.09.2007
Адрес: Дерёвня Ишимбай
Сообщений: 419
Сказал спасибо: 65
Сказали Спасибо 136 раз(а) в 87 сообщении(ях)
|
Re: Помогите начинающему (PIC16F84A).
Чем можно моделировать работу контроллера кроме Proteus и Multisim?
Ещё вопрос: Откуда взялся цикл?
Код:
|
START
CALL LEDN
; MOVLW 0FFh
; MOVWF DATAPORT
INCF L1,1
CALL PAUSE ;Если убрать зацикливает цифры по кругу 0-9-0-9...
GOTO START ;Перейти на начало |
Последний раз редактировалось Slava-martyn; 09.09.2010 в 18:29.
|
|
|
Сказали "Спасибо" Slava-martyn
|
|
|
09.09.2010, 20:43
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
Re: Помогите начинающему (PIC16F84A).
Сообщение от Slava-martyn
|
MOVLW .10 ; зачем .
|
Код:
|
MOVLW .10
XORWF L1, W ;Проверка L1 = 10
BTFSC STATUS, Z
MOVWF L1 ;Если L1 = 10 присваиваем L1 = 0 |
Просто сделал, чтобы цифры увеличивались от 0 до 9 циклически.
Сообщение от Popeye
|
Точка кажется прямое указание на число в десятичном формате
|
Именно так.
Последний раз редактировалось AJScorp; 09.09.2010 в 20:45.
|
|
|
Сказали "Спасибо" AJScorp
|
|
|
09.09.2010, 20:59
|
|
Вид на жительство
Регистрация: 07.09.2007
Адрес: Дерёвня Ишимбай
Сообщений: 419
Сказал спасибо: 65
Сказали Спасибо 136 раз(а) в 87 сообщении(ях)
|
Re: Помогите начинающему (PIC16F84A).
В вашей программе я уже разобрался, а вот в моей когда CALL PAUSE убираю (код чуть выше) цифры начинают по кругу крутиться, как у вас, но что то я там цикла не вижу.
Если CALL PAUSE не убирать - считает до 9 и дальше пустота - вот это логично и понятно (после 9 то цифр нет).
|
|
|
Сказали "Спасибо" Slava-martyn
|
|
|
09.09.2010, 21:14
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.05.2005
Адрес: Саратов.ru
Сообщений: 1,548
Сказал спасибо: 384
Сказали Спасибо 737 раз(а) в 417 сообщении(ях)
|
Re: Помогите начинающему (PIC16F84A).
Сообщение от Slava-martyn
|
но что то я там цикла не вижу.
|
Цикл тот же самый, и он один - назван по другому. Я только вынес за его пределы обнуление L1 по старту.
|
|
|
Сказали "Спасибо" AJScorp
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Помогите прошить STC 89C58RD
|
suse |
Микроконтроллеры, АЦП, память и т.д |
0 |
05.08.2010 12:44 |
Помогите разобраться с pIC16F84A
|
BorisVV |
Микроконтроллеры, АЦП, память и т.д |
4 |
30.07.2010 12:47 |
помогите начинающему по WinAVR
|
umkamaks |
Микроконтроллеры, АЦП, память и т.д |
4 |
05.05.2010 21:01 |
Помогите начинающему!
|
kolira |
Микроконтроллеры, АЦП, память и т.д |
6 |
30.01.2010 15:22 |
помогите розобратся с pic16f84a
|
viteklu |
Микроконтроллеры, АЦП, память и т.д |
2 |
17.11.2009 20:37 |
Часовой пояс GMT +4, время: 08:57.
|
|