|
MCS-51, Первые шаги |
|
|
|
Aug 15 2011, 11:45
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 15-08-11
Пользователь №: 66 729

|
Доброго времени суток. Я программист, учусь в аспирантуре, долго не мог найти работу по специальности и сейчас попал в один НИИ на испытательный срок. Суть работы программирование микроконтроллеров семейства MCS-51 на Си. До этого писал всю жизнь под винду, сейчас надо в кратчайшие сроки, а именно 2 недели получить базовые знания и навыки в новой для меня отрасли для успешного попадания в штат. Задачи поставили следующие: Ознакомиться с архитектурой данного семейства, найти бесплатный компилятор, научиться писать простейшие программы на СИ, например мигание светодиодов и т.д.. С первыми пунктами все более менее понятно. Пока я остановился на следующем: В качестве компилятора я выбрал SDCC В качестве IDE Code::Blocks В качестве симулятора выбрал EdSim51, но пока не успел опробовать, все еще впереди.
Далее куча вопросов. Что посоветуете делать дальше? Прочел уже страниц 30 родной документации к компилятру, не впечатлило, как-то скудно описано и не очень понятно, может-быть из-за отсутствия опыта... Какую литературу посоветуете желательно русскоязычную для начинающих, именно Си и именно данное семейство микроконтроллеров. Может быть есть исходники простейшие, желательно с комментами...
Не побрезгаю любыми советами
|
|
|
|
|
 |
Ответов
|
Aug 18 2011, 12:46
|
Участник

Группа: Участник
Сообщений: 27
Регистрация: 15-08-11
Пользователь №: 66 729

|
Цитата А вот это зависит от НИИ . О существовании правильного НИИ они и не узнают. Если руководство НИИ задумалось о легальности, то НИИ, полагаю, совсем даже не "правильный" . Хотя, слово легальность Автором не произносилось - только бесплатность . Была поставлена задача найти компилятор Сишный, а какой он должен быть мне не сказали, вот я и решил искать и среди бесплатных, и среди платных, которые можно сделать бесплатными и полноценными, как-то так))) PS НИИ занимается разработкой радиоизмерительных приборов, всяких ватметров и т.д. Теперь по делу, вот модернизированный код с первой страницы, так лучше? Все ли правильно? Цитата #include <ADUC812.H> #include <stdio.h>
void blink( unsigned int ); sbit BLINK = P1^0; void main() { unsigned int counter = 28; // диод мигает раз в 2 секунды P1 = 0x0FE; TH0 = 0x0; // установка старшего и младшего битов в 0 TL0 = 0x0; TMOD |= 0x1; // утанавливает все биты регистра режимов в 1 TR0 = 1; // включает таймер/счетчик Т/С0
while( 1 ) { blink( counter ); } }
void blink( unsigned int count ) { if (TF0 == 1) // флаг преполнения { TF0 = 0; // если Т/С переполнился вернуть флаг в 0 --count; if (count == 0) { count = 28; BLINK = ~BLINK; } } } Пока не понимаю вот это: 1) P1 = 0x0FE; для чего присваивать порту значение 254, если правильно перевел? 2) TMOD |= 0x1; Эта строка присваивает всем битам регистра значение 1 так? Если да, то сто происходит с битами в первом случае? 3) По идее светодиод должен мигать раз в 2 секунды если верить вот этому: Цитата В этом случае таймер 0 инкрементируется 11059000 / 12 = 921583 раз в секунду. При этом интервал между тиками составляет 65536 / 921583 = 0,071 с (берем 3 знака после запя$ той). Следовательно, по прошествии 2 с таймер должен перегрузиться 2 / 0,071 = 28 Пока с вопросами все.
Сообщение отредактировал bragol - Aug 18 2011, 12:49
|
|
|
|
|
Aug 18 2011, 12:55
|
Гуру
     
Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136

|
Цитата(bragol @ Aug 18 2011, 16:46)  1) P1 = 0x0FE; для чего присваивать порту значение 254, если правильно перевел? Почитайте про структуру порта вывода 51-го МК. 254 означает: P1.0 - низкий уровень, P1.1...P1.7 - высокий уровень. Цитата(bragol @ Aug 18 2011, 16:46)  2) TMOD |= 0x1; Эта строка присваивает всем битам регистра значение 1 так? Если да, то сто происходит с битами в первом случае? Эта строка устанавливает младший бит. Это известно каждому, кто хоть что-то знает про язык Си. Неприлично такие вопросы задавать.
|
|
|
|
Сообщений в этой теме
bragol MCS-51 Aug 15 2011, 11:45 vladec Для 51-х лучше, наверное, работать в среде Keil (w... Aug 16 2011, 05:35 _Pasha Сташин Урусов - это книга для быстрого вкуривания ... Aug 16 2011, 05:55 kolobok0 Цитата(_Pasha @ Aug 16 2011, 09:55) ...Ке... Aug 16 2011, 10:00  zltigo QUOTE (kolobok0 @ Aug 16 2011, 12:00) По ... Aug 16 2011, 12:08 bragol Все бы хорошо, но начальству нужен полноценный бес... Aug 16 2011, 05:55 sergeeff Есть нюанс между Keil и SDCC. Они по разному упако... Aug 16 2011, 06:03 bragol ЦитатаЕсть нюанс между Keil и SDCC. Они по разному... Aug 16 2011, 06:18 zovsilab На мой взгляд самая лучшая книга по MCS-51 это Фру... Aug 16 2011, 06:28 bragol Спасибо большое. С книгами по архитектуре МК пробл... Aug 16 2011, 06:37 zovsilab Запомните! Перед тем как писать программу для ... Aug 16 2011, 06:48 _Pasha Цитата(zovsilab @ Aug 16 2011, 09:48) По ... Aug 16 2011, 06:52 bragol ЦитатаПо поводу выше приведенного кода - светодиод... Aug 16 2011, 07:47 bragol ЦитатаЕще по теме - не использовать 51 вообще, за... Aug 16 2011, 12:25 zltigo QUOTE (bragol @ Aug 16 2011, 14:25) 1) Чт... Aug 16 2011, 12:32  tyro Цитата(zltigo @ Aug 16 2011, 16:32) От Ва... Aug 16 2011, 12:59   zltigo QUOTE (tyro @ Aug 16 2011, 14:59) Но здес... Aug 16 2011, 14:10 one_eight_seven Практически программа строится немного не так, как... Aug 16 2011, 14:38 zltigo QUOTE (one_eight_seven @ Aug 16 2011, 16... Aug 16 2011, 15:03 sergeeff Если товарищу очень хочется работать именно в этом... Aug 16 2011, 15:25 bragol ЦитатаДаже, если Вас съели, у Вас есть ДВА выхода ... Aug 17 2011, 05:39 zltigo QUOTE (bragol @ Aug 17 2011, 07:39) Кстат... Aug 17 2011, 09:49  Белка12 Цитата(zltigo @ Aug 17 2011, 13:49) Ой, к... Feb 7 2013, 00:07   Tiro Цитата(Белка12 @ Feb 7 2013, 03:07) А 51 ... Feb 7 2013, 21:00    Белка12 Цитата(Tiro @ Feb 8 2013, 01:00) Все прох... Feb 7 2013, 21:32    paskal Цитата(Tiro @ Feb 8 2013, 01:00) Все прох... Jun 16 2013, 18:47     Tarbal Цитата(paskal @ Jun 16 2013, 22:47) Насче... Aug 31 2013, 21:42      Harbinger Цитата(Tarbal @ Sep 1 2013, 00:42) Когда ... Sep 1 2013, 07:19 VladimirB Цитата(bragol @ Aug 17 2011, 09:39) 51 ко... Aug 17 2011, 10:40  kolobok0 Цитата(VladimirB @ Aug 17 2011, 14:40) ..... Aug 17 2011, 13:50  tyro Цитата(VladimirB @ Aug 17 2011, 14:40) Им... Aug 17 2011, 16:08  scifi Цитата(VladimirB @ Aug 17 2011, 14:40) Яз... Aug 18 2011, 08:55  Onic777 Добрый день!
Цитата(VladimirB @ Aug 17 ... Oct 12 2013, 19:17   Harbinger Цитата(Onic777 @ Oct 12 2013, 22:17) Напр... Oct 13 2013, 07:32   ViKo Цитата(Onic777 @ Oct 12 2013, 22:17) Напр... Oct 13 2013, 08:19 bragol ЦитатаKeil стало быть не нормальный , да и IAR вр... Aug 18 2011, 05:16 _3m Цитата(bragol @ Aug 18 2011, 09:16) Они и... Aug 18 2011, 05:53  bragol Цитата(_3m @ Aug 18 2011, 09:53) Не получ... Aug 18 2011, 06:08   _3m Цитата(bragol @ Aug 18 2011, 10:08) (1) К... Aug 18 2011, 06:59    zltigo QUOTE (_3m @ Aug 18 2011, 08:59) Так пров... Aug 18 2011, 08:50 sergeeff Все что вы рассказываете видел в своей жизни лет 2... Aug 18 2011, 06:34 one_eight_seven ЦитатаСовременные МК в большинстве случаев имеют в... Aug 18 2011, 10:57 zltigo QUOTE (one_eight_seven @ Aug 18 2011, 12... Aug 18 2011, 11:04 one_eight_seven ЦитатаХотя проблем с системой команд и заброшеннос... Aug 18 2011, 11:43  bragol Цитата(scifi @ Aug 18 2011, 16:55) Почита... Aug 18 2011, 13:35   sergeeff Цитата(bragol @ Aug 18 2011, 16:35) Непри... Aug 18 2011, 15:24    zltigo QUOTE (sergeeff @ Aug 18 2011, 18:24) Ну ... Aug 18 2011, 15:31     bragol Цитата(zltigo @ Aug 18 2011, 19:31) Конеч... Aug 19 2011, 04:57      zltigo QUOTE (bragol @ Aug 19 2011, 07:57) На пл... Aug 19 2011, 19:12 AHTOXA Цитата(bragol @ Aug 18 2011, 18:46) Тепер... Aug 19 2011, 05:47  bragol Цитата(AHTOXA @ Aug 19 2011, 09:47) Непра... Aug 19 2011, 07:44 sergeeff Ура! Светодиодик моргает.
Начальство должно б... Aug 19 2011, 18:47 scifi Чем соревноваться в сарказме, лучше перенесли бы в... Aug 19 2011, 20:37 sergeeff Проявление сарказма может подвигнет автора топика ... Aug 20 2011, 09:29 bragol А есть у кого-нибудь программа Windows Serial Down... Aug 22 2011, 07:26 sergeeff Цитата(bragol @ Aug 22 2011, 10:26) А ест... Aug 22 2011, 07:48  bragol Цитата(sergeeff @ Aug 22 2011, 11:48) По ... Aug 22 2011, 08:41   Lmx2315 Прошу прощения уважаемые !
На форуме одно вре... Aug 22 2011, 09:10    zltigo QUOTE (Lmx2315 @ Aug 22 2011, 12:10) прош... Aug 22 2011, 09:52     Lmx2315 ..скатертью дорога. Aug 22 2011, 09:57     sergeeff Цитата(zltigo @ Aug 22 2011, 12:52) Отлич... Aug 22 2011, 10:10      zltigo QUOTE (sergeeff @ Aug 22 2011, 13:10) И н... Aug 22 2011, 11:12       Lmx2315 ..заигрался , не под тем ником ответил. Aug 22 2011, 11:26       bragol Цитата(zltigo @ Aug 22 2011, 15:12) Это-ж... Aug 22 2011, 11:31   sergeeff Цитата(bragol @ Aug 22 2011, 11:41) У мен... Aug 22 2011, 09:42 Verifi Цитата(bragol @ Aug 22 2011, 11:26) А ест... Aug 29 2011, 07:27  bragol Цитата(Verifi @ Aug 29 2011, 11:27) И не ... Aug 29 2011, 08:09 sergeeff Цитатато-же не Вам был ответ sad.gif, а Lmx2315. О... Aug 22 2011, 11:28 bragol Кто-нибудь использовал EdSim51?
Если писать на ас... Aug 26 2011, 07:14 paskal Цитата(bragol @ Aug 26 2011, 11:14) Если ... Aug 26 2011, 16:49  bragol Цитата(paskal @ Aug 26 2011, 20:49) А что... Aug 29 2011, 06:36 _Pasha Случайно набрел на этот некропост. Скажу адын весч... Feb 7 2013, 06:46 Белка12 То-то зе.
Цитата(zltigo @ Aug 19 2011, 23... Feb 7 2013, 13:04 _Pasha Цитата(Белка12 @ Feb 7 2013, 16:04) То-то... Feb 7 2013, 13:16  Белка12 Цитата(_Pasha @ Feb 7 2013, 17:16) Состои... Feb 7 2013, 16:35   _Pasha Цитата(Белка12 @ Feb 7 2013, 19:11) Вот.
... Feb 7 2013, 16:35    ReAl Цитата(_Pasha @ Feb 7 2013, 18:35) даже в... Feb 7 2013, 20:35     _Pasha Цитата(ReAl @ Feb 7 2013, 23:35) А разве ... Feb 7 2013, 21:36      Белка12 Цитата(_Pasha @ Feb 8 2013, 01:36) С дейс... Feb 8 2013, 17:27       _Pasha Цитата(Белка12 @ Feb 8 2013, 21:27) Хотя ... Feb 8 2013, 18:33        Белка12 Цитата(_Pasha @ Feb 8 2013, 22:33) Atmel ... Feb 11 2013, 10:12         Harbinger Цитата(Белка12 @ Feb 11 2013, 12:12) Вопр... Feb 11 2013, 16:50          Белка12 Цитата(Harbinger @ Feb 11 2013, 20:50) На... Feb 11 2013, 16:53 iosifk Цитата(bragol @ Aug 15 2011, 15:45) Добро... Feb 11 2013, 10:36 Белка12 Цитата(iosifk @ Feb 11 2013, 14:36) Так ч... Feb 11 2013, 16:43  iosifk Цитата(Белка12 @ Feb 11 2013, 20:43) А ... Feb 11 2013, 17:58   Белка12 Цитата(iosifk @ Feb 11 2013, 21:58) А у A... Feb 11 2013, 18:09   Белка12 Цитата(iosifk @ Feb 11 2013, 21:58) И на ... Feb 11 2013, 21:01   Harbinger Цитата(iosifk @ Feb 11 2013, 19:58) А у A... Feb 12 2013, 03:41   pvlad Случайно забрел в эту тему - зацепило...
Молодой с... Mar 2 2013, 20:53 psL 51 - не RISC, соответственно всегда будет хуже соо... Sep 1 2013, 12:30 Harbinger Касательно портов - классический вариант остался о... Sep 1 2013, 17:39
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|