Пишем программу для МикроКонтроллера

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Re: Пишем программу для МикроКонтроллера

Сообщение mixon46 »

нифига не понятно(((
Реклама
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Re: Пишем программу для МикроКонтроллера

Сообщение mixon46 »

так задаю конкретные вопросы .
1. пик контроллеры перепрошиваются ли если не правильный код программы вшил?
2.есть ли программа для написания программы для пик с русским интерфейсом?
3. дайте что нибудь почитать именно про среду программирования для пик.

понимаете никак не могу разобраться что к чему.
Реклама
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Пишем программу для МикроКонтроллера

Сообщение ploop »

1. Неправильную программу не сможет обработать компилятор, т.е. зашивать будет нечего. Всё остальное - правильная программа.
2. Без английского с МК связываться не стоит, т.к. даташиты должны быть всегда перед глазами.
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Re: Пишем программу для МикроКонтроллера

Сообщение mixon46 »

в смысле если я написал программу. потом скомпилировал ее. прошил пик а он работает не так как я ожидал. ну допустим по неопытности. он может быть перепрошит на другую исправленную программу?
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Re: Пишем программу для МикроКонтроллера

Сообщение mixon46 »

мне кстате давали почитать электронную книгу про программирование. ну понял я это как то смутно. можно сказать совсем не понял. знаю уже нормально. не охота останавливаться на достигнутом. хочется написать свою программу. записать ее в пик и потом продемонстрировать что получится. терпение вроде пока есть. ну оно скоро кончится. а если оно кончится то забухаю((( потом опять буду все вспоминать
Реклама
Аватара пользователя
Ser60
Друг Кота
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Re: Пишем программу для МикроКонтроллера

Сообщение Ser60 »

Реклама
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Re: Пишем программу для МикроКонтроллера

Сообщение mixon46 »

вот мужики картинку закинул. я хочу написать программу для перебора цифр на семисигментном индикаторе от 0 до 9. подскажите как? дайте текст программы что бы я хоть что то понял
Вложения
3535.JPG
(21.23 КБ) 620 скачиваний
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Пишем программу для МикроКонтроллера

Сообщение ploop »

Индикатор один, так что общий не обязательно на МК заводить.
На AVR показал бы, с пиками не знаком...
TripleKill
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

Re: Пишем программу для МикроКонтроллера

Сообщение TripleKill »

1. пик контроллеры перепрошиваются ли если не правильный код программы вшил?
Вполне. Уже много-много раз перепрошивал 18F452 и 18F4455, всё путём.
2.есть ли программа для написания программы для пик с русским интерфейсом?
Этого не знаю, не искал. Но даже если и есть, русский интерфейс вряд ли будет сильно полезен. В самой среде для повседневной деятельности используются всего несколько кнопок и менюшек. Код всё равно придётся писать на английском.
По вопросу 3 вам уже написали.
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Re: Пишем программу для МикроКонтроллера

Сообщение mixon46 »

ладненько. кто может мне дать ту программулину что я прошу? просто хочется почитать и понять эти коды. или может книга есть где каждый код по русски потом объяснен. что бы мне лишь бы было понятно как. остальное как нибудь додумаю. одну весчь хочу сделать. ну что бы я ее сам сделал. сам программу написал. сам устройство собрал. хочется все таки побыть разработчиком хоть каким то и доказать самому себе что я что то умею.



кстате может все таки не перепрошивали а просто занимали пустое место памяти в контролеере или нет. я дуд дубом если что по этому делу
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: Пишем программу для МикроКонтроллера

Сообщение otest »

я хочу написать программу для перебора цифр на семисигментном индикаторе от 0 до 9.
Если уже понимаеш, то должен знать что индикатор это набор светодиодов с объединёными анодами или катодами. Здесь уже советовали поморгать одним светодиодом. Постигни это и дальше пойдёш.
Программы для PIC на языке асм. пишутся в MPLAB.
Изучи настройку конфигурации МК.
Собери программатор.
PIC с буквой F имеют флыш перепрограмируемую память с буквой С одноразовые.
Шапку прораммы можеш посмотреть в любом листинге.
Выглядит она так:
1. подгрузка файла "inc"
2. слово конфигурации
3. константы , переменные, флаги
...............
4. ORG 0x00- адрес начала программы
5. настройка прерываний
6. настройка портов и внутренних модулей
7. программа и подпрограммы
8. END - конец программы.
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Re: Пишем программу для МикроКонтроллера

Сообщение mixon46 »

вот что то уже интересное. спасибо
TripleKill
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

Re: Пишем программу для МикроКонтроллера

Сообщение TripleKill »

Вот обвязка, чтоб контроллер заработал.
Изображение

Щас набросаю программу на С, там она куда проще выглядит, чем на асме.
Хотя гуру вам скажут, что изучать начинать надо с асма)

P.S. нанофарады для конденсаторов на схеме - слишком много. Они на самом деле должны быть порядка 20 пФ, исправить забыл.
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Re: Пишем программу для МикроКонтроллера

Сообщение mixon46 »

а на счет кондеров я знаю. там да 10-20 пф
TripleKill
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

Re: Пишем программу для МикроКонтроллера

Сообщение TripleKill »

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

void main() {

TRISB=0;     //Инициализируем порт В
PORTB=0;

while (1) {      //Бесконечный цикл

PORTB=0x06;      //Для общего анода - 0х09; это код цифры 1
delay_ms(1000);  //Ждём 1 секунду
PORTB=0x5B;      //Для общего анода - 0хA4; цифра 2
delay_ms(1000);
PORTB=0x5B;      //0xB0
delay_ms(1000);
PORTB=0x66;      //0x99
delay_ms(1000);
PORTB=0x6D;      //0x92
delay_ms(1000);
PORTB=0x7D;      //0x82
delay_ms(1000);
PORTB=0x07;      //0xF8
delay_ms(1000);
PORTB=0x7F;      //0x80
delay_ms(1000);
PORTB=0x6F;      //0x90
delay_ms(1000);
PORTB=0x3F;      //0xC0
delay_ms(1000);
}



}
Основной код - для индикатора с общим катодом.
Подключение к сегментам: RB0=a, RB1=b, ... RB7=h. Вроде так. Пробуйте. Хекс в аттаче.
Вложения
MyProject.zip
(469 байт) 201 скачивание
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Re: Пишем программу для МикроКонтроллера

Сообщение mixon46 »

очень интересно. спасибо.
TripleKill
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

Re: Пишем программу для МикроКонтроллера

Сообщение TripleKill »

Кстати, в коде есть ошибочка. Увидите её, если соберёте и запустите схему. Ну или просто внимательно изучив код)
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Re: Пишем программу для МикроКонтроллера

Сообщение mixon46 »

дайте мне пожалуйста по этим кодам в этой программе где писали программу название кодов. ну там прибавить на единицу такой код. перейти в нечало другой код. если не затруднит вас. хочу познать программирование
Аватара пользователя
mixon46
Говорящий с текстолитом
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Re: Пишем программу для МикроКонтроллера

Сообщение mixon46 »

хорошо
TripleKill
Вымогатель припоя
Сообщения: 671
Зарегистрирован: Вт июн 29, 2010 12:31:49

Re: Пишем программу для МикроКонтроллера

Сообщение TripleKill »

Написано в mikroC Pro for PIC. Последнюю версию можно достать на рутрекере.
У меня написано не по принципу "+1", а просто подряд выводит коды цифр. С "+1" получилось бы, если использовать индикаторы со встроенным дешифратором.

void main() { } - главная функция, с неё начинается выполнение программы, даже если она не первой по коду написана. Это общая функция для С, не специфичная для контроллера. В программах на С для компьютера вы тоже её увидите.

TRISB - регистр в контроллере, задающий направление работы ног порта В (ввод или вывод). Если в бите этого регистра записан 0 - нога работает на вывод; если 1, то на ввод. Можно каждый вывод сконфигурировать как нужно. Например, TRISB=0b01101010. RB0, RB2, RB4 и RB7 работают на вывод, остальные - на ввод. Есть конечно и TRISA, для порта А. Вот о таких вещах узнают уже читая даташит.

PORTB - обращение к порту В, собственно данные, выводимые на порт или читаемые с порта.

while () {} - цикл с предусловием, тоже не специфичен для контроллера, имеется во всех языках высокого уровня.

delay_ms() - программная задержка в миллисекундах. Тут сишный компилятор делает за вас грязную работу по расчёту тактов контроллера. В ассемблере вам нужно рассчитывать это дело самостоятельно и мутить вложенные циклы.

P.S. Могу здесь писать, если модераторы не сочтут нужным забанить меня за такое разжёвывание) Если скажут, что так нельзя, пишите в личку, по почте свяжемся.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»