Easyelectronics.ru

Электроника для всех
Текущее время: 19 авг 2017, 06:34

Часовой пояс: UTC + 5 часов



    • JLCPCB for PCB Prototyping: 10 шт. 2-слоя 100*100mm 2$(около 140rub), изготовление за 24 часа.
    • Создание принципиальных схем и проектирование печатных плат
    • Крупнейший китайский онлайн магазин радиодеталей. Скидка 50%
    • Просмотр GERBER файлов

Начать новую тему Ответить на тему  [ Сообщений: 83 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 03 сен 2010, 18:45 
Супермодератор
Аватара пользователя

Зарегистрирован: 27 янв 2010, 07:40
Сообщения: 4031
Откуда: Новосибирск
Ага, это примерно вот так:

Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 03 сен 2010, 19:21 
Только пришел

Зарегистрирован: 01 сен 2010, 23:28
Сообщения: 14
Melted Metal писал(а):
Ага, это примерно вот так:

Изображение


15 минут ломал голову над Вашей схемой, уважаемый модератор, и хоть она простая как дверь и принцип ее работы понятен, но ума не приложу как к ней подключить 2цветной светодиод! Ни с общим анодом, ни с общим катодом, ни тем более 2выводной в котором 2 светодиоды запаянные наоборот, не подходят к данной схеме. ЕДИНСТВЕННЫЙ вариант который я здесь вижу это:

в этом случае, при условии что светодиоды на 3 В и при 1,5 В они не светятся, если открыт верхний транз. он шунтирует верхний светодиод и ток течет только через нижний; а если открыт нижний транз. он шунтирует нижний светодиод и ток течет через верхний. если закрыты оба транз. напряжение делиться на 2 и оба светодиоды не светятся.

Но тогда нужно брать 2 светлодиода в 2 корпусах, а мне нужно 2 в 1 :)



п.с. да и к тому же, мне нужно чтоб красный светодиод мигал, то есть с выхода м/к будут поступать импульсы, тогда эта схема не подходит:(


Вложения:
головоломка.png
головоломка.png [ 12.7 Кб | Просмотров: 9409 ]


Последний раз редактировалось Adios 03 сен 2010, 19:25, всего редактировалось 1 раз.
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 03 сен 2010, 19:23 
Супермодератор
Аватара пользователя

Зарегистрирован: 27 янв 2010, 07:40
Сообщения: 4031
Откуда: Новосибирск
Ненене, то, что тут нарисовано, это одна из ножек МК. Добавь мысленно еще одну такую конструкцию, и включи двухцветный двухвыводной светодиод между выходами. Так понятнее?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 03 сен 2010, 19:28 
Супермодератор
Аватара пользователя

Зарегистрирован: 27 янв 2010, 07:40
Сообщения: 4031
Откуда: Новосибирск
Вот:

Вложение:
_______199.gif
_______199.gif [ 6.71 Кб | Просмотров: 9406 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 03 сен 2010, 20:06 
Только пришел

Зарегистрирован: 01 сен 2010, 23:28
Сообщения: 14
то есть так, да? :


Вложения:
1.png
1.png [ 16.68 Кб | Просмотров: 9401 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 03 сен 2010, 20:08 
Только пришел

Зарегистрирован: 01 сен 2010, 23:28
Сообщения: 14
Виноват :( не предупредил сразу, простите, но мне нужно чтоб красный мигал от симметричных импульсов с ножки м/к, а зеленый только светился (без мигания). По такой схеме этого не сделать :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 03 сен 2010, 20:10 
Супермодератор
Аватара пользователя

Зарегистрирован: 27 янв 2010, 07:40
Сообщения: 4031
Откуда: Новосибирск
SWG писал(а):
Adios писал(а):
прости не могу понять почему? 20 мА есть, 2 направления есть...

У 51 семейства, к которому принадлежит и 2051, порты не симметричные. В нижнем плече - транзистор, в верхнем - резистор, и довольно большой (для экономичности). Они рассчитаны в основном на втекающий ток. Вытекающий же из порта ток (при "1" на выходе) очень мал, порядка 1 - 1,5 ма. Когда нужно больше, обычно снаружи вешают подтягивающий резистор. Но он увеличивает потребление тока при 0 на выходе.
У большинства современных контроллеров выходы симметричные, и позволяют иметь большие токи и 0, и 1. Правда, есть отдельные выводы и с ОК (вообще без верхнего плеча), что тоже надо учитывать.


Ничего не выйдет по этой схеме...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 22 сен 2010, 00:36 
Здравствуйте!

Зарегистрирован: 22 сен 2010, 00:11
Сообщения: 2
Доброго вечера!
Помогите разобраться с простейшим кодом
#include <REG2051.H>
//#include <REG52.H>
void main (void)
{
while (1)
{
P1_3 = P3_4;
P3_7 = P3_5 ^ 1;
}
}

Keil uVision3 выдает ошибку при включении debug session (Ctrl+F5)
*** error 56: cant open file
а при отключении debug session пишет
Build target 'Target 1'
compiling Rumik1.c...
RUMIK1.C(8): error C202: 'p1_3': undefined identifier
RUMIK1.C(9): error C202: 'p3_7': undefined identifier
Target not created

Что где надо поправить?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 22 сен 2010, 01:18 
Старожил
Аватара пользователя

Зарегистрирован: 20 авг 2010, 14:14
Сообщения: 1619
Откуда: Рэшен Федерэшн
У меня компилится без проблем. UVision3.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 15 ноя 2010, 16:20 
Старожил
Аватара пользователя

Зарегистрирован: 29 май 2010, 18:46
Сообщения: 4189
Откуда: Киев
shalian писал(а):
Меня собсно больше интересует совместимость AT89C2051 и AT89S2051.
По ДШ они вроде 1:1 но мож какие грабли вылезут?


Меня тоже именно это интересует. Прямо Атмел не пишет, что вынул-вставил и все довольны :) Но кто-то делал замену один в один?

У меня старенькая платка на АТ89С2051, потихоньку себе идет и идет. А тут программатор сломался (самодельный и такой старый, что хер поймешь, что теперь с ним). Ну, если через SPI можно вдуть ту же прогу в AT89S2051 - так это ж меняет дело...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 15 ноя 2010, 18:37 
Старожил
Аватара пользователя

Зарегистрирован: 02 апр 2010, 12:39
Сообщения: 4390
Откуда: Брянск
stypler писал(а):
Доброго вечера!
Помогите разобраться с простейшим кодом
#include <REG2051.H>
//#include <REG52.H>
void main (void)
{
while (1)
{
P1_3 = P3_4;
P3_7 = P3_5 ^ 1;
}
}

Keil uVision3 выдает ошибку при включении debug session (Ctrl+F5)
*** error 56: cant open file
а при отключении debug session пишет
Build target 'Target 1'
compiling Rumik1.c...
RUMIK1.C(8): error C202: 'p1_3': undefined identifier
RUMIK1.C(9): error C202: 'p3_7': undefined identifier
Target not created

Что где надо поправить?

Похоже заголовочный файл не может найти. Хидеры в папке с проектом?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 05 июл 2011, 02:09 
Старожил
Аватара пользователя

Зарегистрирован: 12 авг 2010, 20:12
Сообщения: 7098
Откуда: Беларусь
Katz писал(а):
Как ремонтник со стажем, заподозрил бы также хомут в монтаже, проверяется попыткой подрыгать каким-либо другим пином, повесив на него светодиод с резистором.

Паходу там во всем проблемы есть - непропаи, дохлый дешифратор и прочее. Забил я на нее и сделал урезаный вариант печатки-переходника (сначала вытравил полную, но потом ножницами отрезал половину) сугубо под 89с2051.
Но тут фишка) три штуки с дуру спалил, осталось три) Вообщем, паходу не судьба мне изучать 51-ое семейство


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 05 июл 2011, 02:11 
Старожил
Аватара пользователя

Зарегистрирован: 12 авг 2010, 20:12
Сообщения: 7098
Откуда: Беларусь
Katz писал(а):
Как ремонтник со стажем, заподозрил бы также хомут в монтаже, проверяется попыткой подрыгать каким-либо другим пином, повесив на него светодиод с резистором.

Паходу там во всем проблемы есть - непропаи, дохлый дешифратор и прочее. Забил я на нее и сделал урезаный вариант печатки-переходника (сначала вытравил полную, но потом ножницами отрезал половину) сугубо под 89с2051. Вроде шьет как надо.
Но тут фишка) три штуки с дуру спалил, осталось еще три) Вообщем, паходу не судьба мне изучать 51-ое семейство - цены щас на них конские, раритет типа, и нету в продаже :( Хотя вроде как наш гордый интеграл их должен клеить, но я на минских ждановичах, так же как и в интеграловском маге их не смог купить. Видать они только в каталогах значатся.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 05 июл 2011, 13:02 
Здравствуйте!

Зарегистрирован: 05 июл 2011, 12:56
Сообщения: 3
stypler писал(а):
Доброго вечера!
Помогите разобраться с простейшим кодом
#include <REG2051.H>
//#include <REG52.H>
void main (void)
{
while (1)
{
P1_3 = P3_4;
P3_7 = P3_5 ^ 1;
}
}

Keil uVision3 выдает ошибку при включении debug session (Ctrl+F5)
*** error 56: cant open file
а при отключении debug session пишет
Build target 'Target 1'
compiling Rumik1.c...
RUMIK1.C(8): error C202: 'p1_3': undefined identifier
RUMIK1.C(9): error C202: 'p3_7': undefined identifier
Target not created

Что где надо поправить?



Я как то делал в Keile проект на С++, там писал так:
sbit BUT1 = P1^1;
sbit BUT2 = P1^2; и т.д.

Keil слопал и откомпилил без указания об ошибках.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 05 июл 2011, 22:59 
Старожил
Аватара пользователя

Зарегистрирован: 12 авг 2010, 20:12
Сообщения: 7098
Откуда: Беларусь
там нужно не P1_3, а что-то типа P1.3, собственно компилятор на это и ругается


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 05 июл 2011, 23:11 
Старожил
Аватара пользователя

Зарегистрирован: 20 авг 2010, 14:14
Сообщения: 1619
Откуда: Рэшен Федерэшн
Не может он на это ругаться. Если открыть и посмотреть содержимое REG2051.H, то увидим следующее:
Код:
/*------------------------------------------------
P1 Bit Registers
------------------------------------------------*/
sbit P1_0 = 0x90;
sbit P1_1 = 0x91;
sbit P1_2 = 0x92;
sbit P1_3 = 0x93;
sbit P1_4 = 0x94;
sbit P1_5 = 0x95;
sbit P1_6 = 0x96;
sbit P1_7 = 0x97;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 06 июл 2011, 00:42 
Старожил
Аватара пользователя

Зарегистрирован: 12 авг 2010, 20:12
Сообщения: 7098
Откуда: Беларусь
'p1_3': undefined identifier
ну значит P c маленькой написал


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 06 июл 2011, 00:49 
Старожил
Аватара пользователя

Зарегистрирован: 20 авг 2010, 14:14
Сообщения: 1619
Откуда: Рэшен Федерэшн
Да нет, я этот код копи-пасте в кеил вставлял - компилился без проблем. Скорее всего, в настройках проекта с галочками косяк где-то.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 10 июл 2011, 07:55 
Здравствуйте!

Зарегистрирован: 10 июл 2011, 06:37
Сообщения: 1
Чёт не пойму, вроде написал сообщение а его нет, хотя было написанно что всё нормально.

Напишу ещё разок.
Решил занятся AT89C2051 и сразу есть вопрос, как поместить массив шрафтов во флеш память? ато в озу не лезит, или я чего то не понимаю?

Вот что пишит.


Вложения:
Новый рисунок.jpg
Новый рисунок.jpg [ 178.77 Кб | Просмотров: 8212 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 15 июл 2011, 13:15 
Старожил

Зарегистрирован: 03 мар 2010, 14:10
Сообщения: 1514
Откуда: Беларусь, Минск
sds писал(а):
Чёт не пойму, вроде написал сообщение а его нет, хотя было написанно что всё нормально.

Напишу ещё разок.
Решил занятся AT89C2051 и сразу есть вопрос, как поместить массив шрафтов во флеш память? ато в озу не лезит, или я чего то не понимаю?

Вот что пишит.

добавьте const code, точно не помню, но вроде должно хватить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 23 май 2016, 23:29 
Здравствуйте!

Зарегистрирован: 23 май 2016, 18:21
Сообщения: 4
Добрый вечер! Прошу помощи!
Контроллер ат89с2051, мне нужно настроить одну ногу на вход, на которой должен быть лог0 и которая ждет лог1. В теме написано что нужно сделать в начале программы - Р1.1=1 или ничего не делать. Короче в любом случае на этом пине получается лог.1, которая мне все портит, подтягиваю ее резистором 20 ом (при бОльших значениях на ноге неопределенное состояние) на землю и через кнопку на +5в. Схема в протеусе работает, НО ТОК 250мА!! Это никуда не годится! Как по другому сделать?
Спасибо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 24 май 2016, 01:15 
Старожил

Зарегистрирован: 25 мар 2011, 23:43
Сообщения: 205
Откуда: СПб
zloj-2 писал(а):
Добрый вечер! Прошу помощи!
Контроллер ат89с2051, мне нужно настроить одну ногу на вход, на которой должен быть лог0 и которая ждет лог1. В теме написано что нужно сделать в начале программы - Р1.1=1 или ничего не делать. Короче в любом случае на этом пине получается лог.1, которая мне все портит, подтягиваю ее резистором 20 ом (при бОльших значениях на ноге неопределенное состояние) на землю и через кнопку на +5в. Схема в протеусе работает, НО ТОК 250мА!! Это никуда не годится! Как по другому сделать?
Спасибо!

Т.е. вывод порта подтянут к общему через резистор и к нему же подключена кнопка на питание? Вообще p1.0 и p1.1 без встроенной верхней подтяжки, по идее всё должно работать и с более высокоомным резистором. Протеус возможно криво симулирует поведение портов, в железе не пробовали?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 24 май 2016, 01:50 
Старожил
Аватара пользователя

Зарегистрирован: 12 авг 2010, 20:12
Сообщения: 7098
Откуда: Беларусь
zloj-2 писал(а):
Короче в любом случае на этом пине получается лог.1, которая мне все портит, подтягиваю ее резистором 20 ом (при бОльших значениях на ноге неопределенное состояние) на землю и через кнопку на +5в.

Вы там с дуба не падали? Куда там такая подтяжка!!!! максимальный ток на ногу - 25ма, на корпус 80ма


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 24 май 2016, 02:29 
Старожил

Зарегистрирован: 05 фев 2013, 00:58
Сообщения: 1846
2051 выдает максимум 40 мкА вытекающего тока. Вероятно, симулятор этого не знает. Для опознания логического "0" напряжение на входе должно быть менее 1.3 вольта. Вот и считаем максимальное сопротивление резистора подтяжки: 1.3в/0.04мА = 32.5к.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: AT89C2051
СообщениеДобавлено: 28 май 2016, 00:02 
Здравствуйте!

Зарегистрирован: 23 май 2016, 18:21
Сообщения: 4
С дуба упал тот кто писал тут про определение порта на вход прописыванием логического уровня!
Для всех кто сюда зашел и ищет ответ на вопрос "Как сделать порт входным?" , отвечаю - ничего делать не надо! Если порту не присвоен логический уровень в программе - он работает на вход! Как только вы напишите в программе Р1_1 =0 или Р1_1 =1 - порт заработает на выход! (На практике и в протеусе)
И не надо писать что мы это знали, нихрена вы не знали! Три страницы без толку!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 83 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB