Изучение уязвимостей электронных систем.
 
key programming immo tools emergency start device программаторы ключа заводилки Кодграббер штатных охранных систем, toyota, lexus, subaru.

Вернуться   Изучение уязвимостей электронных систем > Для начинающих > Программирование микроконтроллеров

Программирование микроконтроллеров Темы касающиеся программированию микроконтроллеров разных производителей.

Ответ
 
Опции темы
Старый 06.03.2009, 20:26   #131
planar
гость
 
Аватар для planar
 
Регистрация: 17.01.2009
Адрес: Кронштадт
Сообщений: 120
Поблагодарил: 10
Поблагодарили 23 раз в 12 сообщениях
planar стоит на развилке
По умолчанию

Осваиваю PIC18F252.
LIST P=18F252
#include <P18F252.INC>
radix dec
;************************************************* *******************************************
CONFIG OSC = HS
CONFIG WDT = OFF
CONFIG LVP = OFF
;************************************************* *******************************************
schet1 EQU 0x002
schet2 EQU 0x003
schet3 EQU 0x004
schet4 EQU 0x005
;************************************************* *******************************************
ORG 0x0000
;************************************************* *******************************************
bcf TRISA,0
bsf TRISA,1

;************************************************* *******************************************
clrf LATA
;************************************************* *******************************************
start
btfss TRISA,1
bra start
bsf LATA,0
end
Диод сам горит-----чего то я запутался!!!!!
planar вне форума   Ответить с цитированием
Старый 06.03.2009, 20:44   #132
oleg
продвинутый фрикер
 
Аватар для oleg
 
Регистрация: 22.01.2007
Сообщений: 2,080
Поблагодарил: 191
Поблагодарили 2,193 раз в 427 сообщениях
oleg скоро станет знаменитым(-ой)
По умолчанию

Осваиваю PIC18F252.
LIST P=18F252
#include <P18F252.INC>
radix dec
;************************************************* *******************************************
CONFIG OSC = HS
CONFIG WDT = OFF
CONFIG LVP = OFF
;************************************************* *******************************************
schet1 EQU 0x002
schet2 EQU 0x003
schet3 EQU 0x004
schet4 EQU 0x005
;************************************************* *******************************************
ORG 0x0000
;************************************************* *******************************************
bcf TRISA,0
bsf TRISA,1

;************************************************* *******************************************
clrf LATA
;************************************************* *******************************************
start

btfss PORTA,1
bcf LATA,0
btfsc PORTA,1
bsf LATA,0


bra start

end

попробуй так)
Ты порт подтянул сопротивлением к минусу???


btfss TRISA,1 <-------------- ошибка у тебя! TRISA, это регистр специального назначения, мы указываем контроллеру, какая нога будет вводом, а кокая выводом, а ты к этому регистру применяешь бит ориентированную команду btfss.

У тебя программа заканчивается сразу, ты ее по кругу верти.


уехал в клуб
oleg вне форума   Ответить с цитированием
Старый 07.03.2009, 22:50   #133
planar
гость
 
Аватар для planar
 
Регистрация: 17.01.2009
Адрес: Кронштадт
Сообщений: 120
Поблагодарил: 10
Поблагодарили 23 раз в 12 сообщениях
planar стоит на развилке
По умолчанию

ДИОДЫ УЖЕ СНЯТСЯ!!!Oleg в чём разница между TRIS,PORT,LAT....вот....schet1 и тд. я как понял это работа с памятью.Почему
start
bsf LATA,0

movlw d'255'
movwf schet1
metka1
movlw d'255'
movwf schet2
metka2
decfsz schet2
bra metka2

decfsz schet1
bra metka1
;******************************
bcf LATA,0
movlw d'255'
movwf schet1
metka3
movlw d'255'
movwf schet2
metka4
decfsz schet2
bra metka4

decfsz schet1
bra start

гоняем значение туда сюда пока расшифровываешь голова начинает кружиться)))
диод мигает а при


bcf TRISA,0
bsf TRISA,1

;************************************************* *******************************************
clrf LATA
;************************************************* *******************************************
start

btfss PORTA,1
bcf LATA,0
btfsc PORTA,1
bsf LATA,0


bra start

end
не мигает????????????
Что такое W и f и как ими управлять???
Есть какое нибудь графическое обьяснение как управлять контролером????

----------

Oleg иду по вашим стопам.Вы начинали с диодов заставляли их гореть потом по условию то есть научились управлять портами и поняли как условие задать и тд и тп .....по железу вы на VRTP описали простейший способ записи сигнала и понимания визуального что к чему (хоть Вы и в игнор меня с моими вопросами,железо я собрал всё лежит в низком старте а старт на столько низкий что мозг пухнет хотя с ноута pantera поддалась) отдельное СПАСИБО за анализатор с дисплеем от 3310,штука бесполезная но сборка сего девайса в голове отложила много полезного.....Подтяните по програмированию ПЛЗ.....Очень интересно потому что понимаю что просто но не могу понять в чём простота...понимаю что всё логично,не могу понять как крутить всё по циклу и при этом прикручивать железо....работаю в протэуссе и иногда грешу на него...не стабильность этой проги замечал неоднократно......вот выписался
planar вне форума   Ответить с цитированием
Старый 08.03.2009, 11:33   #134
oleg
продвинутый фрикер
 
Аватар для oleg
 
Регистрация: 22.01.2007
Сообщений: 2,080
Поблагодарил: 191
Поблагодарили 2,193 раз в 427 сообщениях
oleg скоро станет знаменитым(-ой)
По умолчанию

TRIS – это регистр в котором мы конфигурируем порт (ногу контроллера), то есть настраиваем на ввод или на вывод.
PORT – это обращение к порту (ноге контроллера), когда она сконфигурирована как ввод.
LAT – это обращение к порту (ноге контроллера), когда нога сконфигурирована как выход.
W – это рабочий регистр, все операции происходят с его посредническим участием.
F – это наш регистр который мы обозначаем в начале программы, например (schet1 EQU 0x002) Вот именно schet1 это и есть наша F.
Что касается графических картинок работы контроллера, к сожалению таких нет, просто вникни в идеологию языка и все.

Разберись, как работает этот кусок программы для начало, осмысли все.

-----------movlw d'255' -----поместили число 255 в рабочий регистр W
-----------movwf schet1 -----поместили из рабочего регистра в нашу переменную schet1
metka--------------------------метка, сюда будем прыгать по условию, если в schet1 не 0.
-----------decfsz schet1,f ----отнимаем единичку из schet1, если там не 0, то выполняем команду ветвления bra metka.
------------bra metka ---------команда ветвления на метку.

Это пример классического ожидания в контроллере, ты должен понять этот цикл и уметь менять время, вертеть такой цикл еще в одном цикле, это самые азы. Еще разберись с этой процедурой.

btfss PORTA,1------пропустить следующую команду, если на порту логическая единица.
bcf LATA,0----------установить лог ноль на порту.
btfsc PORTA,1------пропустить следующую команду, если на порту логический ноль.
bsf LATA,0----------установить лог единицу на порту.

Получается, если мы нажали кнопку, то светодиод должен загореться, отпустили должен потухнуть.

PS. Асьма, это логический язык, голова будет пухнуть, это нормально)


уехал в клуб
oleg вне форума   Ответить с цитированием
Старый 08.03.2009, 21:57   #135
planar
гость
 
Аватар для planar
 
Регистрация: 17.01.2009
Адрес: Кронштадт
Сообщений: 120
Поблагодарил: 10
Поблагодарили 23 раз в 12 сообщениях
planar стоит на развилке
По умолчанию

бит и байт орентированые команды это что??????простите может глупый вопрос спраIивал у google он как то растеренно ответил

----------

[Ссылки могут видеть только зарегистрированные пользователи. ] ХОЧУ РАСПЕЧАТАТЬ и перед собой повесить......этого достаточно????
planar вне форума   Ответить с цитированием
Старый 08.03.2009, 22:20   #136
Ahalam
начинающий фрикер
 
Аватар для Ahalam
 
Регистрация: 16.04.2007
Сообщений: 579
Поблагодарил: 15
Поблагодарили 37 раз в 27 сообщениях
Ahalam стоит на развилке
По умолчанию

Почитай датошит, там есть вся сводная таблица команд, с примерами, до применения команд и после.
Ahalam вне форума   Ответить с цитированием
Старый 09.03.2009, 07:43   #137
oleg
продвинутый фрикер
 
Аватар для oleg
 
Регистрация: 22.01.2007
Сообщений: 2,080
Поблагодарил: 191
Поблагодарили 2,193 раз в 427 сообщениях
oleg скоро станет знаменитым(-ой)
По умолчанию

Цитата:
Сообщение от planar Посмотреть сообщение
бит и байт орентированые команды это что??????простите может глупый вопрос спраIивал у google он как то растеренно ответил

----------

[Ссылки могут видеть только зарегистрированные пользователи. ] ХОЧУ РАСПЕЧАТАТЬ и перед собой повесить......этого достаточно????

Бит ориентированные команды, это команды направленные на работу с отдельным битом в байте. Байт ориентированные команды, направлены на работу с целым байтом, а не их частью. К примеру: btfss, btfsc, bsf, bcf, btg - это бит ориентированные команды, все остальные команды из датошита, направлены на работу с байтами.


уехал в клуб
oleg вне форума   Ответить с цитированием
Старый 09.03.2009, 21:03   #138
planar
гость
 
Аватар для planar
 
Регистрация: 17.01.2009
Адрес: Кронштадт
Сообщений: 120
Поблагодарил: 10
Поблагодарили 23 раз в 12 сообщениях
planar стоит на развилке
По умолчанию

Oleg Вы в каком часовом поясе находитесь?????
planar вне форума   Ответить с цитированием
Старый 09.03.2009, 23:11   #139
oleg
продвинутый фрикер
 
Аватар для oleg
 
Регистрация: 22.01.2007
Сообщений: 2,080
Поблагодарил: 191
Поблагодарили 2,193 раз в 427 сообщениях
oleg скоро станет знаменитым(-ой)
По умолчанию

Я думаю, принципиального значения это не имеет, хочется услышать вопросы тематического характера, вместо милиционерских)


уехал в клуб
oleg вне форума   Ответить с цитированием
Старый 11.03.2009, 19:29   #140
planar
гость
 
Аватар для planar
 
Регистрация: 17.01.2009
Адрес: Кронштадт
Сообщений: 120
Поблагодарил: 10
Поблагодарили 23 раз в 12 сообщениях
planar стоит на развилке
По умолчанию

Дошло наконец почему не работало!!!!!!!Состояние Z на порту входа!!!!!!!

----------

Oleg вопрос к Вам:
-----------movlw d'255' -----поместили число 255 в рабочий регистр W
-----------movwf schet1 -----поместили из рабочего регистра в нашу переменную schet1
metka--------------------------метка, сюда будем прыгать по условию, если в schet1 не 0.
-----------decfsz schet1,f ----отнимаем единичку из schet1, если там не 0, то выполняем команду ветвления bra metka.
------------bra metka ---------команда ветвления на метку.
это беконечный цикл то есть постоянно ждем.....при каком условии в schet1 будет 0 ведь 255-1=254????
кстати вот что у меня получилось-нажимаю на кнопку диод мигае отпускаю немигает!!!!!Радости было полные штаны)))))))))
start
btfss PORTB,1
bra metka
bra start
;************************************************* *********************************************
metka
bsf LATA,0

movlw d'255'
movwf schet1
metka1
movlw d'255'
movwf schet2
metka2
decfsz schet2
bra metka2

decfsz schet1
bra metka1
;******************************
bcf LATA,0

movlw d'255'
movwf schet1
metka3
movlw d'255'
movwf schet2
metka4
decfsz schet2
bra metka4

decfsz schet1
bra metka3
bra start

END
planar вне форума   Ответить с цитированием
Ответ

Метки
codegrabber.ru, кодграббер, программа, прошивка, схема


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Памятки по фциям, CMSIS, StdPerif, HAL, где чего и для чего AliStark ARM 0 19.12.2014 03:08
[Вопрос] код для кодграббера lexei Охранные системы 34 26.09.2014 13:18
[Вопрос] Рецепт кодграббера AMG Новички 2 18.12.2012 16:59
Модернизация Кодграббера Mamont Программирование микроконтроллеров 9 23.04.2011 21:16
фото кодграббера SlavaDve Флейм 10 16.02.2011 21:54


Текущее время: 23:59. Часовой пояс GMT +4.


Перевод: zCarot