| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Индикатор За скорости (сорс код проблем) http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=11489 |
Страница 1 от 4 |
| Автор: | hacker4eto1 [ Чет Юни 27, 2013 8:40 pm ] | |||||||||
| Заглавие: | Индикатор За скорости (сорс код проблем) | |||||||||
ЗДравейте, днес цял ден се лутам с една глупост.. Правя си индикатор за скорости.. Та ето с 2 думи до къде съм стигнал.. ![]() Идеята е проста когато съм на задна да ми пише "R" на таблото а на скоростният ми лост да свети нея буква.. когато съм на 1 ва да свети на таблото 1 ца а на лоста 1.. Така.. Почнах да пиша сорса и стигнах до това положение.
обаче кода работи само до задната скорост "R" и става ето това. ![]() когато добавя и 2 рата част за 2 рият бутон а именно "1" както се вижда в сорса по-горе,цялата работа се бъгва... Като натисна бутон 1 Си свети диод 1 но на 7 сегментният индикацията която описва цифрата 1 започва да мига... ![]() а като натисна бутон за задната скорост. 7 сегментният свети "R" но мига часта която описва 1... Дано ме разбрахте правилно... П.П не съм много в час с програмирането да си призная (то си и личи де Мислех да движа 7 сегментният със 7447 но като му видях таблицата за истиннос няма индикация за "H"-неутрална и "R"- задна... за това реших да ги "паля" отделно всеки диод на дисплея.. |
||||||||||
| Автор: | relsys [ Чет Юни 27, 2013 9:48 pm ] |
| Заглавие: | Re: Индикатор За скорости (сорс код проблем) |
Направи една таблица (масив) със 7 стойности със съответната стойност за цифрата/буквата на индикатора (0 - Н, 1 - 1, ... 6 - r). Добави още един диод на RC0 за неутрал, премести 1 на RC1.... r на RC6 (за да ти е по-лесно със сорса). Бутоните ги сложи с активна '0'. После четеш PORTA , инвертираш, и стойността директно я изкарваш на PORTC, а с определяне на кой бит е сетнат ще ти е офсет за таблицата кой знак да изкараш на PORTB (може и switch - case ако така ти е трудно). Постни схемата за Proteus и ще ти я драсна.... |
|
| Автор: | hacker4eto1 [ Чет Юни 27, 2013 9:58 pm ] |
| Заглавие: | Re: Индикатор За скорости (сорс код проблем) |
http://www.speedyshare.com/UaNJV/skorosti.DSN искаш да кажиш да направя една таблиза за истинност на възможните комбинации от 1 до 5 и Н И Р |
|
| Автор: | sparkybg [ Чет Юни 27, 2013 10:11 pm ] |
| Заглавие: | Re: Индикатор За скорости (сорс код проблем) |
И сложи един 4.7 килоомов резистор от MCLR към 5v. |
|
| Автор: | Koleto [ Пет Юни 28, 2013 12:52 am ] |
| Заглавие: | Re: Индикатор За скорости (сорс код проблем) |
И не че е много фатално в случая ама ако кварца е 24МХз оправи и това: #use delay(clock=20000000) |
|
| Автор: | didofen [ Пет Юни 28, 2013 9:30 am ] |
| Заглавие: | Re: Индикатор За скорости (сорс код проблем) |
даже за 24 трявва да е HS, да не говорим че са до 20 п.с. това реализирал ли си го физически или караш само на протеус? |
|
| Автор: | hacker4eto1 [ Пет Юни 28, 2013 9:55 am ] |
| Заглавие: | Re: Индикатор За скорости (сорс код проблем) |
Карам за сега само на протеус.. проблем ли е ,че съм ги дал на 20МГХ? и какво имаш предвид трябва да е HS малко по подробно го убеснявайте |
|
| Автор: | itso.t [ Пет Юни 28, 2013 11:15 am ] |
| Заглавие: | Re: Индикатор За скорости (сорс код проблем) |
Конфигурацията на осцилатора трябва да е "HS". И не се пише "убеснявайте". Правилното е "убисневуйти". |
|
| Автор: | hacker4eto1 [ Пет Юни 28, 2013 1:43 pm ] | |||||||||
| Заглавие: | Re: Индикатор За скорости (сорс код проблем) | |||||||||
Извинявам се за правописните грешки.. Малко раздвижих проекта.. ще оправя и забележките които изказахте. Ето как се държи сега програмата на симулация: Клип: http://img853.imageshack.us/img853/2563/gghxozeebmeweyexlcqgye.mp4 Справих се с проблема който имах по-горе ,но се появи този проблем който накрая се вижда а именно какво става ако се натиснат 2 бутона примерно.. Има ли някаква фунцкия или пример да ми дадете с който да изкл. "опцията" да бъдат натиснати 2 бутона смисъл да чете само един който е натиснат. (или много филми съм гледал Ето сорса кода както е сега. не съм променил само колегата както каза по горе това за кварца.
П.П измислих Когато колата не е на скорост. и никой от бутоните не е натиснат всичките диоди да мигат ,а на дисплея да свети постоянно "Н" Според вас възможно ли е и ако да каква фунцкия да използвам и ако може пример? Благодаря предварително на отзовалите се. |
||||||||||
| Автор: | CarBeta [ Пет Юни 28, 2013 2:39 pm ] |
| Заглавие: | Re: Индикатор За скорости (сорс код проблем) |
При така написана програма е нормално това поведение. При натискане на бутон просто светваш нужните сегменти, приемайки на доверие, че останалите не светят, а при отпускане гасиш тия, които си светнал, пак приемайки на доверие, че останалите не светят. Задавай ниво на всички сегменти! Ако искаш да не реагира на повече от един бутон или каквото там искаш, трябва да си поиграеш още малко със софтуера! |
|
| Автор: | relsys [ Пет Юни 28, 2013 2:54 pm ] |
| Заглавие: | Re: Индикатор За скорости (сорс код проблем) |
Е аз малко понагоре поописах алгоритъма... Чети целия PORTA и го вкарай него в един switch-case, така ще отфилтрираш повече от един натиснат бутон и програмата ще стане 5-10 реда. |
|
| Автор: | raven_feather [ Пет Юни 28, 2013 7:50 pm ] |
| Заглавие: | Re: Индикатор За скорости (сорс код проблем) |
За LED, които са на порт B не е ли по-лесно с една команда да ги сменяш ,за да спестиш писане output_b(0xFF) - HIGH output_b(0x0) - LOW |
|
| Автор: | ToHu [ Съб Юни 29, 2013 12:18 am ] |
| Заглавие: | Re: Индикатор За скорости (сорс код проблем) |
Ами то по горе са му писали как да го направи най-лесно и ефективно и като код и като производителност. Варианта с аблица е най-оптималния,става ленсо, бързо и гъвкаво. |
|
| Автор: | itso.t [ Съб Юни 29, 2013 12:31 am ] | |||||||||
| Заглавие: | Re: Индикатор За скорости (сорс код проблем) | |||||||||
Според мен, ще е по-добре да дефинираш числата които искаш да се изписват на дисплея като състояние на порта. Например, 1 е съставено от сегменти "B" и "C", което при активно състояние на порта 0, съответства на 0xF9, 2 от A, B, D, E, G, което е 0xA4... #define GEAR_1 0xF9 #define GEAR_2 0xA4 output = GEAR_1; |
||||||||||
| Автор: | hacker4eto1 [ Съб Юни 29, 2013 5:29 pm ] | |||||||||||||||||||||||||||
| Заглавие: | Re: Индикатор За скорости (сорс код проблем) | |||||||||||||||||||||||||||
Нещо не ми се получава искам сега да направя часта със това когато никой бутон не е натиснат диодите да мигат успявам да го постигна това но когато натисна някой от бутоните всички светят
вече все повече се убеждавам ,че програмирането не е з амен
Колега как ли не го въртях това ... все ми дава грешка в реда output = GEAR_1; и по конкретно грешка Expecting LVALUE such as a variable name or *expresion... П.П знам ,че ми казвате кое как да стане ама явно не мога да ви разбера опитвам го но не се получава.. уценям ,че ме траете |
||||||||||||||||||||||||||||
| Страница 1 от 4 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|