Отговори на тема  [ 20 мнения ]  Отиди на страница Предишна  1, 2
Софтуеърен таймер за 60 000 000 цикъла (PIC16C74) 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30686
Местоположение: София
Мнение 
Аз друго си мисля, доколко е полезно подобен род изучяване на нещата, доколко помага и доколко вреди. Много често преподавателите карат малко наизуст, по сценарий, сценария им, тъй де програмата е на база някакъв минимум, който обаче в много случаи се оказва максимума за ресурса на учителя. От тук съответно идват няколко неща, той преподава първо непълно материята защото заобикаля всички неясни за него неща, и второ преподава абсолютно малоумни способи за работа. Няма да се очудя ако прекъсванията са преподадени в 3 урока, и еказано че като им дойде времето ще ги научат. След това са правили 10 часа програмки от сорта на горната, направи софтуерен таймер който да отчита ала бала ..... това разбира се има свое предимство, това че кара хората да вникват в същноста на някои неща, но това така или иначе трябва да е кратка задача за да му светне на някой как става, а след това да с екаже прави се ето така. Иначе какво става, един пише 30 реда код за да направи прост таймер ... друг пише по 500 реда в прекъсване, щото никой не му е казал че не се прави така. С учениците е доста трудно, истината е е 90% от тях сами няма да научат нещата, за другите 10% няма значение как се преподава. Но тия 90% ако някой им каже те тук иаме таймер, може да с епозлва да брои от 0-255 или оот 0-65535 .. ами ОК да ама на тях им трябва да броят до 60.000.000 значи тоя таймер ниаква работа не им върши, кво следва, пишат софт ... и не са виновни децата. Аз тук обаче имам едно по лошо подозрение, уред за следене на слънцето ми звуци като работа за някой университет, и ако е това положението е трагично, дано да греша, но майне .. следяща соларна система звучи твърде инжинерно за техникум .....
Иначе хубаво е да се зане и какво с еправи като цяло, много зависи каква задача са ти поставили, ако е уред който мери някакъв параметър е едно, ако са фотоволтаици е друго, при тях не винаги директното насочване дава по добър резултат, говоря за облачни дни .... едно време правих подобно нещо което но то се насочваше по UV спектъраи винаги държеше слънцето на прицел ... така ине го гръмнахме ....


Вто Юни 02, 2009 10:24 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Съб Дек 06, 2008 9:22 am
Мнения: 119
Местоположение: Пловдив
Мнение 
relsys написа:
То не трябва да работи, дипломна работа е... :P


Ама нали все пак трябва малко да прилича на нещо работещо. :D


Вто Юни 02, 2009 10:42 pm
Профил
Ранг: Минаващ
Ранг: Минаващ

Регистриран на: Вто Ное 25, 2008 4:44 pm
Мнения: 31
Мнение 
Давайте посмейте се за сметка на новобранеца

ТоНu става дума за колеж. И за съжаление си прав за учителите и това колко знаят. За пръв път ми се наложи да пиша програма за СМ600 проблема беше там че учителят който трябваше да ми разясни какво е мнемоника колко акумулатора има в тоя ПИК ми каза "Ей ти учебника чети.... Искам да ми представиш курсова задача за управление на светофарна уредба!", нямаше кой да ми обесни какво е асемблер и какво прави той, та седнах и написах програма в която нямаше един мнемоничен код , а всичко беше 16-тичен код. Така че не си мислете че вие като сте практикували това с години и навремето е имало кой да ви обесни кое за какво е и как става и какви са тънкостите в занаята, всички други които се опитват да прокопсат в тая насока дори и по най-елементарния начин трябва да минат под ножа. Голяма работа, че кода ми бил като машинен, ами като машинен ще бъдя я така съм бил учен от преподавателя който преди 30 години е бил в "Елпром" и само това знае. Следващият път няма да е и готово.

П.П. програмата работи прекрасно. врътка си се на където трябва, когато трябва и колкото трябва.
Цитат:
говоря за облачни дни ....
ТоНu при облачно време или през ноща стои и чака докато не се повиши количеството светлина падащо върху панела.

a_stankov благодаря, че го отбеляза вече го оправих :)


Сря Юни 03, 2009 12:19 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Юни 10, 2007 2:22 pm
Мнения: 6492
Местоположение: София
Мнение 
> Давайте посмейте се за сметка на новобранеца

Ами и да се посмее някой тук със сигурност няма да е злонамерено, всички са
минали по тоя път.

> За пръв път ми се наложи да пиша програма за СМ600 проблема беше там че учителят който
> трябваше да ми разясни какво е мнемоника колко акумулатора има в тоя ПИК
> ....

Тук аз ще се посмея, CM600 (MC6800 всъщност) било ПИК, ROFL. Никола, къде си бе човек.
Кажи нещо за тия ARM, AVR и PPC ПИК-ове .
:D :D :D .

И не е първият път да го срещам, немалко англоезични също съм ги виждал да си
мислят, че ПИК значи процесор... Завладели са здраво пазара за начинаещи и хобисти.

> нямаше кой да ми обесни какво е асемблер и какво прави той, та седнах и написах
> програма в която нямаше един мнемоничен код , а всичко беше 16-тичен код.

Много са почнали така. Аз още помня немалко от опкодовете за 6800 (СМ601), нищо, че
последно съм асемблирал на ръка преди около 25 години.

> Голяма работа, че кода ми бил като машинен, ами като машинен ще бъдя я така съм бил учен
> от преподавателя който преди 30 години е бил в "Елпром" и само това знае.
> Следващият път няма да е и готово.

Това беше идеята на поста ми - и съм сигурен, че ще се справяш добре. Давай смело,
взимай знание откъдето можеш и трупай - че това е начинът май вече го знаеш.

_________________
-------------------
www.tgi-sci.com
-------------------
http://www.flickr.com/photos/didi_tgi/


Сря Юни 03, 2009 2:15 am
Профил WWW
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Сеп 26, 2004 9:21 pm
Мнения: 30686
Местоположение: София
Мнение 
Ами не е въпроса дали се смеем, нито пък как изглежда кода, въпреки че не изглежда добре. Мен идеята ми беше друга, това че не знаеш не е лошо, по лошото е че не питаш за това кето ти трябва, дали защото нямаш идея как може да стане, или защото мислиш по начин насаден от някого няма особенно значение. Примерно въпросът можеше да бъде как направя 32 битов таймер или нещо от сорта.
Примерно в твоят случай имаш един доста дълъг цикъл, процесора си седи там, върти си като гламав и нищо друго не може да свърши, освен това всяко бъдещо прекъсване ще ти променя този период. В този чип имаш 3 таймера, значи кой от тях ще ползваш зависи от това каква ще е времевата ти база, дали ще я ползваш и за други процеси, да речем че резолюция от 1 с ти е достатъчна. По интелигентният начин е да си сложиш кварц който с просто делене може да ти даде интервал от 1 с, но да речем че оставаш на 4 Мхц, но не е добър вариант ако искаш наистина точно време. Та вземаме таймер 1 щото е 16 битов, тъй като честотата ти е височка се вижда че няма как да получиш директно 1 с резолюция, таймера може да ти раздели на 65536 и прескалера му е 8 , което ще ти стигне за резолюция от 0.5 с. Остава да си сметнеш само с колко да зареждаш таймер 1 за да получаваш прекъсване точно на 0.5 с. Значи като сложиш посткалер 8 таймера трябва да отброи 62500 преди да даде прекъсване, сам можеш да сметнеш с колко трябва да го заредиш. Имаш си едно прекъсване което с епоявява на всеки 0.5 с, в това прекъсване може да си инкрементваш една променлива да речем time която в този случай може да е 8 битова, което ти дава 128 с, което трябва да ти стигне. след това в твоя код просто си проверяваш тая променлива. Начина по който ще го правиш може да е всякакъв, може просто да я четеш както се чете от таймера на РС-то, вземаш стойност, след това друга, вадишп една от друга и гледаш колко време е минало. Може и след всяко мерене да си я нулираш, все тая. В зависимост как го напишеш може да има грешка, примерно по някакви причини, да речем подобни цикли, програма та ти се мота някъде за 2 секунди, излизаш от там, виждаш че времето ти е минало нужните 60 секунди, т.е. променливата е станала 120, вадиш от стойноста и 120 вместо да я нулираш за да не изгубиш изминалите вече 2 секунди, и си продължаваш, така може да имаш 2 секунди някакво забавяне спрямо моментана възникване на събитието, в случая минаването на 60 секунди, но грешката не се натрупва. По ламерски не знам как да ти го обясня.
Надявам си сханал идеята да ползваш таймер и прекъсване. В твоят случай разбира се има много по добър вариант, но може би все още ти е рано, на добрият вариант е да ползваш часовник, при следенето на слънцето е важно времето.
Относно облаците не си съвсем прав, ако правиш панел ще е неефективно да стои и да чака да грейне слънце, и в облачно време панела произвежда енергия, но максимума може да не е там където го очакваш, може да се следи по максимум на получаваната енергия, но там сигурно ще стане сложно за теб, прост алгоритъм не е подходящ.


Сря Юни 03, 2009 5:01 am
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 20 мнения ]  Отиди на страница Предишна  1, 2

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 28 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни