Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

MSP 430
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=2345
Страница 1 от 2

Автор:  RFT [ Чет Май 11, 2006 7:57 pm ]
Заглавие:  MSP 430

Здравейте!!!
Нуждая се от малко помощ търся схема на генератор на правоъгълни импулси с контролер от серията MSP 430.Търсачката не ми помогна особено,ако някой има нещо под ръка ще съм му благодарен............По принцип ми трябва и да управлява LED индикация и интерфейс и др.

Автор:  Dimitar [ Чет Май 11, 2006 10:14 pm ]
Заглавие: 

Ухааааа 8)

Автор:  denis_hasan [ Чет Май 11, 2006 11:41 pm ]
Заглавие: 

прилича на курсова работа по МСхТ
:lol:

готова схема няма да намериш никога, трябва да прочетеш datasheet-та на на контролера от сайта на www.ti.com,
и ако имаш малко знания по електроника, и малко повече по цифрова. съм сигурен, че сам ще се справиш.

Във datasheet-та обърни повече внимание на таймерите и по специално на Compare режима, за генериране на правоъгълни импулси. така хардуерно можеш да получиш произволна честота и коефициент на запълване, от изход примерно TB1. (препоръчвам ти да използваш таймер B, понеже има latch - за да не настъпва промяната на честотата или коефициента на запълнане в произвален момент от време, а точно в края на периода) :wink:
режима на таймер B ти е - "Up to CCR0"май така се казваше. променяш CCR0 и се променя финно честотата, за да я променяш грубо променяш коефициента на делене на брояча. за да променяш коефициента на запълване трябва да разрешиш "match" прекъсването, със някой от другите два регистъра CCR1 или CCR2 май беше CCIE.
Така променяйки отношението CCR1/CCR0 променяш коефициента назапълване.
mode-ту на извода го правиш "OUTMOD_3" - това е Set/Reset, така математически погледнато коефициента на запълване на изхода ти е 100*(1 - CCR1/CCR0)

За индикацията нямам думи :D
сугурно ти е 7 сегментна
7-те сегмента ги свързваш към един порт (Px.1 - Px.7) а общите аноди или катоди към друг през транзистор (най вероятно са 8 - два реда по 4 индикатора) таймер A го ползваш да ти превключва индикаторите през фиксиран период от време - динамична индикация

За серийния пак нямам думи :D
най вероятно е RS232 виж datasheet-та на MAX232 и после свиркай :D

Автор:  bateAz [ Пет Май 12, 2006 1:21 pm ]
Заглавие: 

Обясни по-точно:
1. Какво точно искаш;
2. Какво точно даваш.

И тази тема е по-скоро за "ПАЗАР".

Автор:  paregov [ Пон Май 15, 2006 5:12 pm ]
Заглавие: 

denis_hasan написа:
прилича на курсова работа по МСхТ


И на мен на такова ми прилича.
@RFT, я кажи в кой университет дават такива неопределени задания? :lol:

Автор:  denis_hasan [ Пон Май 15, 2006 5:47 pm ]
Заглавие: 

paregov написа:
denis_hasan написа:
прилича на курсова работа по МСхТ


И на мен на такова ми прилича.
@RFT, я кажи в кой университет дават такива неопределени задания? :lol:


май е ТУ-София
доколкото знам сега там върви "кампания" до 29.05.2006, когато е последния срок за предаване на курсовите
попринцип срока е бил 22-ри ама асистента като разбрал, че никой още не е готов е удължил срока.
Така че нека сме готови за подобни постинги във форума до 29-ти включително :lol:

Автор:  paregov [ Пон Май 15, 2006 6:10 pm ]
Заглавие: 

В момента и аз съм в ТУ 3-ти курс. Нашият срок е до 18.05.2006 ама и при нас май ще го удължат срока. Почти никой не си е направил курсовата. Е то и аз не съм :oops: , ама защото нямам много време в момента. :oops: :D

Автор:  bateAz [ Пон Май 15, 2006 9:20 pm ]
Заглавие: 

Че с какво се занимаваш бе, юнак, та нямаш време? После ще ми дойдеш на интервю за работа и ще ми се кълнеш: "Аз ВСИЧКО ще науча! Обещавам!"

Автор:  Dimiter [ Пон Май 15, 2006 9:35 pm ]
Заглавие: 

Ама ,че сте лоши!

Ето как се прави генератор на правоъгълни импулси: // инпуси

float z;
int x;
z=0;
while (true)
{
z=z+0.1;
x=sin(z)*5;
if(x>=5){high_my_pin();}else{low_my_pin();}
}
:lol:

Автор:  paregov [ Вто Май 16, 2006 9:59 am ]
Заглавие: 

bateAz написа:
Че с какво се занимаваш бе, юнак, та нямаш време? После ще ми дойдеш на интервю за работа и ще ми се кълнеш: "Аз ВСИЧКО ще науча! Обещавам!"


@bateAz, вече работя и затова нямам време. А и на интервютата за работа се съмнявам да се вързват на такива мили приказки. 8O
Искам да си заверя семестъра само и ще прекъсна една година. Нещо взе да ми писва в това ТУ. Не, че не искам да го завърша, все пак влязох да уча каквото исках, но защо трябва да е на време. Една година по-рано или една година по-късно не виждам особенна разлика.

Автор:  paregov [ Вто Май 16, 2006 10:06 am ]
Заглавие: 

@Dimiter така няма ли да стане по-лесно


#define counter_value 10000
unsigned int counter = counter_value;

while(1)
{
if(!(--counter))
{
my_pin ^= my_pin;
counter = counter_value;
}
}

Автор:  evc [ Вто Май 16, 2006 10:16 am ]
Заглавие: 

Видя ли, че и сам можеш! :D :)

Автор:  denis_hasan [ Вто Май 16, 2006 11:28 am ]
Заглавие: 

а така няма ли да стане
insigned int frequence=0x80;
while(1)
{
if (++counter & frequence)
{
PxOUT ^=out_bit;
counter=0;
}
}


или така

while(1)
{
x++;
if (x>200)
{
PxOUT &=~out_bit;
x=0;
}
else if ((x>100) && (x<200))
PxOUT |=out_bit;
}

варианти много (а оня със синуса беше най-интересния) :D

човека има точно зададен контролер
според мен не е добър начин това да става в софтуерен цикъл.
(ами ако някое прекъсване се забави повече отколкото трябва тогава какво - честотата на изхода ще варира)
затова нека го направи хардуерно с таймера :wink:

Автор:  paregov [ Вто Май 16, 2006 12:23 pm ]
Заглавие: 

По принцип ако наистина му е за курсова задача надали ще му трябва софтуер изобщо. Може би само някакви блокови схеми на алгоритмите и схема на самото устройство, но както изглежда @RFT се е отказал вече.

Автор:  [ Вто Май 16, 2006 3:50 pm ]
Заглавие: 

.

Страница 1 от 2 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/