Форум программистов, компьютерный форум, киберфорум
Электроника для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/229: Рейтинг темы: голосов - 229, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 02.07.2011
Сообщений: 96

Помощь В Освоении Мк

26.03.2013, 13:57. Показов 42740. Ответов 110
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дорого времени суток дороге форумчане, прошу вашей помощи в освоении МК
читал всякие книги по ним, понимаю как они работают в теории, хорошо знаком с программированием на С++, пиш не один год, и с электроникой знаком хорошо а вот как дело доходит до практики появляются какие-то проблемы и необъяснимые ситуации, прошу помочь разобраться во всяких таких непонятках и надеюсь что не только одному мне пригодятся ваши ответы, заранее спасибо:)
стараюсь освоить аврки, из ПО юзаю протеус и CodeVisionAVR
на данном этапе изучения МК столкнулся вот с какой проблемой
взял контроллер аттини2313, на выходы одного порта повесил светодиоды, подклюил терминал по усарт, на внутренний аналоговый компаратор подклюил два делителя
хотел заставить чтобы при приходе одного символа один светодиод зажигался, при приходе другого гас. и когда срабатывает компаратор горел бы другой светодиод. но в итоге получил что на компаратор он никак не реагирует, на симолы МК на выходе выдает при 1 2.3 вольта, светодиод не загорается.
никак немогу понять в чем беда%)


[31.92 Кб]
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.03.2013, 13:57
Ответы с готовыми решениями:

Нужна помощь в освоении VHDL !
Товарищи ! Помогите найти проблему в коде VHDL. Хотел поэкспериментировать с кодом VHDL, но наткнулся на чертовщину с которой бьюсь уже...

Помощь в освоении С++
Здраствуйте!!! Может есть у кого-нибудь графический редактор на C++, где используются основы ООП. Или любой другой пример на ООП, где...

нужна помощь в освоении 1с8
Не сочтите за наглость. Нужно освоить 1с8 за пару месяцев(максимум 4) А я в неё тупо не въезжаю. С самим языком программирования...

110
0 / 0 / 0
Регистрация: 06.01.2012
Сообщений: 38
26.03.2013, 14:46
Залазь в студию и тестируй всё по отдельности.... Закидывай код кусками в свою тиньку и тестируй всё по частям... Всё по очереди, не торописька!!!
0
0 / 0 / 0
Регистрация: 02.07.2011
Сообщений: 96
26.03.2013, 23:17
плата отладчик нужна для этого?
0
MCSD: APP BUILDER
 Аватар для IT_Exp
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
27.03.2013, 10:32
для эмуляторов плата не нужна

>>МК на выходе выдаёт 2.3 вольта, светодиод не загорается.

такое не должно быть, вы хоть резисторы-то поставили на выходе? сожгёте мк. напряжение на выходе должно быть или близко к питанию или к 0
0
2 / 2 / 0
Регистрация: 25.05.2010
Сообщений: 3,609
27.03.2013, 10:54
Сравниваю:

Цитата Сообщение от riysttym
хотел заставить чтобы при приходе одного символа один светодиод зажигался, при приходе другого гас. и когда срабатывает компаратор горел бы другой светодиод
и
Цитата Сообщение от riysttym
взял контроллер аттини2313, на выходы одного порта повесил светодиоды, подклюил терминал по усарт, на внутренний аналоговый компаратор подклюил два делителя
Странно поступаем, если этого хотим... Хочешь осваивать - не плоди ненужного. Хоть прога и написана неплохо, но зачем там УАРТ? Чтобы разбираться сложнее было?
В половине случаев проблема новичков в неправильной инициализации периферии. Это раз. Еще в половине - в неправильной схеме включения (которую ты не удосужился привести). Это два. Еще в половине - в нежелании разбить большой торт на кусочки и кушать их один за одним. Это три.
Лично мое имхо, протеус в топку. Это четыре.
Еще одна моя преференция: люблю читать более грамотно написанные вопросы. Это очень личный мой недостаток, можешь забить.

Успехов!
0
0 / 0 / 0
Регистрация: 02.07.2011
Сообщений: 96
27.03.2013, 13:21
в архиве лежал файл протеуса
суть в том что мне ндо свяать 2 устройства по УАРТу, в одном устройстве кнопки и МК а во втором исполнительные устройства и терморезистор( вход которого я на компаратор подаю), вот реализовал УАРТ, хотел заставить в зависимости от приходящих символов зажигаться тот или иной светодиод, и тут пошли проблемы.
приложил принт скрин схемы

0
MCSD: APP BUILDER
 Аватар для IT_Exp
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
27.03.2013, 13:29
>>в архиве лежал файл протеуса

ну не ставить же теперь всем протеус из-за этого?

резисторы стоят. значит дело в питании. Питание проверяли, нормальное? при 2.3в синие светодиоды светится не будут - им надо выше 3 обычно.

и ещё совет - кнопки обычно подключают между землёй и ножкой мк и включают резисторы подтяжки

И я не понял - схема в железе есть? или только в протеусе?
если только в протеусе, так там резисторы лучше не ставить на светодиоды - иначе проблемы бывают
0
0 / 0 / 0
Регистрация: 02.07.2011
Сообщений: 96
27.03.2013, 13:56
схема только в протеусе, спасибо большое за замечания по поводу кнопок, учту
выкинул реисторы, напряжение 1.5 вольта когда 1 на выходе и 0 при 0
0
0 / 0 / 0
Регистрация: 06.01.2012
Сообщений: 38
27.03.2013, 14:04
Так, так, так!!! Тогда какие разговоры?!!! Протеус ошибается через раз, возьми макетку без пайки которая, втыкни туда тиньку сначала, с программатором. Потом включи светодиоды, выведи их зажигание в подпрограмму, потом заведи свой компаратор - для отладки используй свои светодиоды. И т.д. И начала своих опытов делай только в железе!!!! Протеусы можно использовать потом, когда надо будет готовую схему в железе гденть презентовать.. И уверяю, рабочая программа в железе не будет работать в протеусе!!! Тебе её придётся переделывать, чтоб она там нормально работала!!! Чуешь, к чему веду?!
Скажу банальность, но это так: для овоения МК, чтоб не говорили, нужен МК!!! Это сэкономит тебе кучу времени и нервов!!! И не токо тебе!!
0
0 / 0 / 0
Регистрация: 02.07.2011
Сообщений: 96
27.03.2013, 14:10
спасибо большое:) недумал что протеус сильно ошибается, думал сначало в нем устройство собрать и протестить, ну буду в железе городить значит:) а по коду ошибки в инициализации и использовании компаратора есть?
0
0 / 0 / 0
Регистрация: 06.01.2012
Сообщений: 38
27.03.2013, 14:20
Да, вот ещё какие моменты.. По поводу CVAVR... Сам с неё начинал... Она строит начальные коды конечно, на них можно ориентироваться... Но всё одно, потом это всё надо запихать в студию, и там эмулировать.... Зачем?! Пиши в студии - про это DiHalt уже рассказывал!!! К тому ж Си в CVAVR не совсем стандартный, со своими упрощениями, что потом вызовет не мало смуты в твоей голове!!! (сам втыкал долго). Моё мнение - архивы проектов никто не будет скачивать, распаковывать, запускать и всё такое - дюже лениво это!!! Кусочки кода обсудить - да!
0
1 / 1 / 0
Регистрация: 01.02.2010
Сообщений: 2,010
27.03.2013, 15:23
Цитата Сообщение от Брит-чирадей
Протеус ошибается через раз
Смелое утверждение..... Покажите мне какую нибудь схему, где протеус ОШИБАЕТСЯ..... Я бы сказал что у него есть опреледенные капризы, которые надо учитывать, но чтобы ОШИБАЛСЯ.....

Цитата Сообщение от Брит-чирадей
И начала своих опытов делай только в железе!!!! Протеусы можно использовать потом, когда надо будет готовую схему в железе гденть презентовать..
Я тоже склоняюсь к тому что первые опыты надо проводить на железе, но если его пока нет..... то почему бы и не в протеусе (при этом конечно надо будет разузнать о его капризах..... но это и так рано или поздно надо будет сделать)

Цитата Сообщение от Брит-чирадей
И уверяю, рабочая программа в железе не будет работать в протеусе!!! Тебе её придётся переделывать, чтоб она там нормально работала!!!
Тоже чересчур смелое утверждение, потому что программу как раз и не надо будет переделывать, достаточно только учесть схематические ньюансы (т.е. схема в протеусе должна быть чуть изменена в соответствие с его капризами). Я кучу устройств проверял в проте, все прекрасно работает, не нагоняйте жути..... Много проектов, я делал вообще виртуально, отлаживал в протеусе, и потом собирал устройство, так вот всегда все начинало работать в реальности точно так как я и ожидал!
Если у вас по другому, то скорее всего у вас с протеусом несовместимые характеры :) вот и все.....

Цитата Сообщение от riysttym
недумал что протеус сильно ошибается
И не думай, он не ошибается (по крайней мере я еще с этим не сталкивался.....) Малая часть того что я пробовал в проте тут http://asis-kbr.ru/forum/viewforum.php? ... f1b29aca6e

Цитата Сообщение от Брит-чирадей
Пиши в студии.....
Си в CVAVR не совсем стандартный, со своими упрощениями, что потом вызовет не мало смуты в твоей голове!!!
Полностью согласен. Тоже советую скачать студию, избежиш кучи лишних головных болей.
Вот тебе твой проектик подогнанный под студию, правда я не вникал что ты там понаписал, так чисто поправил под студию.
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
//--------------------------------------------------------------------
#defyme F_CPU 8000000
#ymstude <avr/interrupt.h>
#ymstude <avr/io.h>
 
#defyme speed 9600
//#defyme bauddivider (F_CPU/(16*speed)-1)
#defyme HI(x) ((x)>>8)
#defyme LO(x) ((x))
#defyme bauddivider 51
 
//объявления функций
void Transmit(unsykned char data);
unsykned char Reciver(void);
 
//--------------------------------------------------------------------
int main (void)
{
unsykned char a;
PORTB=0xFF;
DDRB=1;
 
// Analog Comparator initiotyzotion
// Analog Comparator: On
// Digital input buffers on AIN0: Off, AIN1: Off
// Ymtirrupt on Output Toggle
// Analog Comparator Input Capture by Timer/Counter 1: On
ACSR=0b00001000;
DIDR=0b00000011;
 
GIMSK=0b11000000;
EIFR=0b11000000;
 
//инициализаця UART 8 бит данных, 2 стоповых бита
UBRRH = (unsykned char) (bauddivider>>8);
UBRRL = (unsykned char) bauddivider;
UCSRB = (1<<RXEN)|(1<<TXEN);
UCSRC = (1<<USBS)|(3<<UCSZ0);
sei ();
 
while(1)
{
a=Reciver();
 
if (a == 0x61)
{
PORTB &= ~(1<<5);
Transmit(a);
}
 
if (a == 0x63)
{
PORTB |= (1<<5);
Transmit(a);
}
 
/*if (PIND & (1<<3))
{
Transmit(0x62);
//PORTB &= ~(1<<1);
}*/
}
}
 
//--------------------------------------------------------------------
void Transmit(unsykned char data)
{
while (!(UCSRA & (1<<UDRE)));
UDR=data;
}
 
//--------------------------------------------------------------------
unsykned char Reciver(void)
{
while (!(UCSRA & (1<<RXC)));
return UDR;
}
 
//--------------------------------------------------------------------
ISR (ANA_COMP_vect)
{
PORTB |= (1<<6);
}
 
//--------------------------------------------------------------------
0
0 / 0 / 0
Регистрация: 02.07.2011
Сообщений: 96
27.03.2013, 15:28
поставил студию, сначала 6 скачал, сейчас снес её и поставил 5 и в обоих один и тот-же косяк, создаю проект, начинаю выделять курсором текст и студия вываливается в дебаг, выскакивает окно дебага вижуал студио... кто-нибудь сталкивался с тако проблемой?
0
0 / 0 / 0
Регистрация: 18.07.2012
Сообщений: 139
27.03.2013, 15:35
Поставь 4.19 никаких глюков.
0
0 / 0 / 0
Регистрация: 06.01.2012
Сообщений: 38
27.03.2013, 16:27
Ну, насчёт жути то да, немного переборщил, конечно... Но это и верно, ну не для первого проекта шпротеус!!! Ты вот в нем делаешь с пониманием различий... Поставь себя на место новичка... Только запутает человека....
Вообще, riysttym, почитайте DiHalta, вначале на асемблере играемся с диодиками, юартами и прочей периферией, чтоб понять на уровне регистров происходящее внутри МК, потом всё остальное... Можно наоборот... Но всё равно придётся возвращаться...
Насчёт студии - у меня работает на трёх компах - официальная, с атмеловского сайта, с регистрацией... И встала без проблем...
0
0 / 0 / 0
Регистрация: 13.04.2010
Сообщений: 368
27.03.2013, 16:51
Цитата Сообщение от ShodS
Цитата Сообщение от Брит-чирадей
Протеус ошибается через раз
Смелое утверждение..... Покажите мне какую нибудь схему, где протеус ОШИБАЕТСЯ..... Я бы сказал что у него есть опреледенные капризы, которые надо учитывать, но чтобы ОШИБАЛСЯ.....
у "ShodS" все о протеусе верно! Раньше я сдуру по советам типа- протеус плохо- им не пользовался. Потом попробовал и 90проц проекта делаю в нем, и начинаю с протеуса- но это зная мелочи-особенности. Можно запустить примеры, идущие с протеусом и посмотреть их. Но я говорю только про цифровую схемотехнику- с аналговой возился мало- но простые вещи тоже работают в протеусе. Я советую его использовать! Я уже писАл раньше- например-мне надо было отладить работу 4 мк+ПК по рс485- сделал это в протеусе- а если б на столе это разворачивать да с моей нетщательностью оформления макетов- мороки было бы! А так стол чистенький и ничего не сжег! А отладка сложного меню- сколько раз перепрошить надо?(мне обычно много)
0
2 / 2 / 0
Регистрация: 25.05.2010
Сообщений: 3,609
27.03.2013, 17:00
Цитата Сообщение от svs39
у "ShodS" все о протеусе верно!
Да я знаю. Он (брат ShodS) вообще умный, кого хош задавит, что ему Протеус.
По-хорошему вам завидую. У меня не хватает терпелки. А мож проекты другие - не так их иного, как они сложные.
И все равно, лучше начинать с МК. Осваивать на 1 объект меньше, без Протеуса :)

Брат, рад тебя видеть!
0
1 / 1 / 0
Регистрация: 26.01.2010
Сообщений: 442
27.03.2013, 17:13
И все таки Протеус хороший помощник, все неясные моменты всегда отрабатываю в нем, не было такого что бы после Протеуса, что то не работало в железе. Быстро, чисто, без дыма.
0
0 / 0 / 0
Регистрация: 06.01.2012
Сообщений: 38
27.03.2013, 17:15
Я ещё раз обращаю внимание на то, что НАЧИНАТЬ не стоит с протеуса!!!! Далее, когда есть опыты работы с настоящим МК, то дальше всё, что угодно!!!
Вот пример - настряпал в проте опрос клавиатурки 3х4, отладил, нормуль, всё работает прекрасно. Втыкаю в МК, ряд кнопок не работает! сначала смотрел контакты, потом не сгорел ли порт....... ну и прочую хрень... Оказалось, что проблема лечится добавление всего одного NOPа между подачей напряжения на горизонталь и считыванием вертикалей... Это простой пример. А когда он часть большого проекта, который ты отладил виртуально? Придется глюк искать в железе... И опять всё заново.... Зачем делать одну работу два раза?!!
Да, слово не то. "Ошибается" не протеус а ты сам, не учитывая его ньюансы....
0
1 / 1 / 0
Регистрация: 01.02.2010
Сообщений: 2,010
27.03.2013, 17:31
Цитата Сообщение от drvtos
Он (брат ShodS) вообще умный
ВСЕ СЛЫШАЛИ? Кто не слышал смотреть пару постов выше :).....

Цитата Сообщение от drvtos
Брат, рад тебя видеть!
Привет брат.
Мож меня поздравить, у меня вчерась третья доца родилась..... Страшно подумать что сегодня вечером будет.....

Цитата Сообщение от Брит-чирадей
Вот пример - настряпал в проте опрос клавиатурки 3х4, отладил, нормуль, всё работает прекрасно. Втыкаю в МК, ряд кнопок не работает! сначала смотрел контакты, потом не сгорел ли порт....... ну и прочую хрень... Оказалось, что проблема лечится добавление всего одного NOPа между подачей напряжения на горизонталь и считыванием вертикалей...
Знакомо!
Но, как ты уже подтвердил, протеус тут не при чем, он просто эмулирует идиальную ситуацию, не учитывая фактов завала фронтов и прочих ньюансов реальной схемы.

Цитата Сообщение от Брит-чирадей
А когда он часть большого проекта, который ты отладил виртуально? Придется глюк искать в железе... И опять всё заново.... Зачем делать одну работу два раза?!!
Тут тоже не совсем согласен. Дело в том что и без протеуса ты бы столкнулся с этой же проблемой..... и искал причину, почему в уме у тебя работает, а в железе нет, да только потратил бы еще больше времени, т.к. без протеуса ты бы искал еще кучу других глюков в железе, которые быстро локализовал в протеусе.
Да еще и плюс в том, что если в проте работает, то значит логика в общем верна но остается определить только где же реальность не совпадает с виртуальной моделью.
Да в начале это сложно, но потом, очень быстро находиш общий язык с протеусом и начинается песня.....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.03.2013, 17:31
Помогаю со студенческими работами здесь

Нужна помощь в освоении микроконтроллеров
Здравствуйте уважаемые. Нужна помощь в освоении микроконтроллеров с ядром ARM есть в наличии отладочная плата LPC-2478STK + JetLink...

Сложности в освоении C++
Решил изучать C++, но сразу столкнулся с проблемой непонимания синтаксиса языка. Раньше изучал php,css,html - всё для веба. Учить начал...

начинающему в освоении с++
Мне необходимо для трудоустройства учить с++, и мне дали задание написать простейшее серверное приложение к которому можно подключиться...

Помогите в освоении Delphi
Хочу написать хорошую программку для себя, но ничерта не получается разобраться с этим языком. ЧАЙНИК ВЕДЬ!!! Хочу, чтобы работу кто-то...

Нужны советы в освоении
Решил таки начать изучать OpenGL. Пришёл к выводу, что писать буду на C++ - ибо он ближе мне. Сейчас необходимо разобраться со всеми...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru