|
|
|
|
gan: Меня только смущают СИ-операции, вроде ":=" , "==", "!=". В алгоритме я нашел только операцию присваивания ":=", так она общепринятая, не только в СИ. Про "!=" уже выяснили вот тут: http://pro-radio.ru/controllers/2108-6/ . Операция "==" означает равенство. А вообще-то неполохо было бы набросать такую памятку.
|
|
|
Я о том, что надо сразу общаться на понятном всем языке, и что не каждый знает, что "=" это операция присваивания, "==" - операция сравнения, а если в будущем кто захочет писать кратко, типа ++, ---, +=, и т.д., это надо как-то оговаривать. |
|
|
gan: Оптимизировать программу надо на уровне квадратиков Я согласен, оптимизировать конечно нужно, и не только науровне квадратиков. Вот сейчас, после того как нарисовали красивый алгоритм из квадратиков и ромбиков, предчувствую проблемы у начинающих с переводом с языка блок-схемы на язык PIC. Среди его команд нет команды сравнения и её придётся изобретать . Кстати, что-то не припомню операции "---" |
|
|
SAK: нет команды сравнения Ну Вы блин даёте... xorwf
|
|
|
Splav56: Система на компе - Вин 2000. у меня именно на вин2000 на работе и возникли неприятности, у мплаба с этой системой проблемы видимо. операторы ":=" , "==", "!=". в делфи также имеют место быть, (может кроме последнего) ктонибудь может прояснить в синтаксисе мплабовскго асма они тоже актуальны? интересуюсь так-как в тасме только псевдооператоры "=" и "equ" используется, больше ничего похожего нет. сравниваю так-сказать. с алгоритмом почти полностью согласен. (почти потому что хотелось всётаки через спящий режим). (но это не принципиально). чегото ещё выдумывать полагаю хватит, проще имхо уже некуда.
|
|
|
SAK: редчувствую проблемы у начинающих с переводом с языка блок-схемы на язык PIC. а вы на что? к кому вопросы задавать? меня вот тоже пол-часа назад бит ориентированые команды в тупик загнали, хотел уже сдесь "караул кричать" хорошо вовремя до самого дошло в чём "косяк" а то стыдно сейчас было-бы. чуть глупость не сморозил.
|
|
|
picmaniac: Ну Вы блин даёте... xorwf Но ведь это не команда сравнения - это "исключающее или", с равным успехом можно использовать subwf, мне кажется эта команда будет для многих более понятной, кроме того позволяет, в случае необходимости, отслеживать не только равно/неравно, но и больше/меньше. |
|
|
Кстати, в Си нету операции ":=" (там используется "="), а ":=" из паскаля |
|
|
SAK, всё верно, я нисколько не сомневался, что Вам известны команды xorwf и subwf. Вот с формулировкой несогласен. Команда xorwf в ассемблере зачастую применяется именно для сравнения. Где-то у меня даже статеечка была на эту тему... не помню где. Пора начинать написание исходника. Для начала создадим проект MPLAB. Для этого предлагаю создать на диске С: папку PIC, в которой и будут храниться созданные нами проекты. Далее создадим папку для первого учебного проекта: C:\PIC\likbez01 Затем создадим (например, при помощи "Блокнота") пустой пока текстовый файл и сохраним его в папку likbez01 под именем likbez01.asm Теперь предстоит работа с MPLAB5.70.40. Запущаем MPLAB. Если открылись какие-либо окна, пока закрываем их. Далее в меню "Options" открываем "Development Mode". На вкладке "Tools" в строке Processor находим PIC16F628 и выбираем его, затем слева выбираем "MPLAB SIM Simulator". На вкладке "Clock" в строке "Oscillator Type" выбираем "INTRC I/O" и устанавливаем частоту "4.0 MHz". Таким образом, мы выбрали встроенный генератор контроллера без выхода тактового сигнала на вывод 15 (CLKOUT). Для нашего простого проекта кварцевая стабилизация частоты совершенно не нужна. Вкладки "Configuration","Pins","Break Options" пока не трогаем, пусть там всё остается по умолчанию. Жмем "OK", на появившиеся предупреждения внимания не обращаем. В меню "Project" жмём "Install Language Tool" и убеждаемся, что "Language Suite: Microchip", "Tool Name: MPASM", верно прописан путь к файлу MPASMWIN.exe и точечкой выбран режим "Windowed". OK - закрываем. И вот наступил торжественный момент. Создаём проект, выбрав в меню "Project" пункт "New Project". Находим и указываем под словом "Directories" нашу папку C:\PIC\likbez01 "File Name" набираем вручную имя проекта likbez01.pjt А. Долгий предупреждает, что имя файла проекта .pjt и имя файла исходного текста .asm должны совпадать с точностью до регистра букв. Что ж, нам нетрудно это обеспечить (см. скриншот). ОК - и открывается окно "Edit Project". Жмём "Add Node" и выбираем наш заранее созданный пустой файл likbez01.asm OK - пока всё, проект создан, и доказательство мы видим в строке заголовка над меню. Сохраним его: "Project" --> "Save Project" Я не случайно описал всё столь подробно. Если всё сделать так, как здесь описано, то с вероятностью 99% всё будет в порядке. Один раз подробно разберём создание проекта, чтоб потом по возможности не возвращаться к этому. Прошу задавать вопросы по написанному, а я пока продолжу... |
|
|
picmaniac: Для начала создадим проект MPLAB. Пробую "на правах чайника", о результате сообщу.
|
|
|
|
|