|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 1:40 am
|
Страница 1 от 1
|
[ 6 мнения ] |
|
| Автор |
Съобщение |
|
iorgov
Ранг: Минаващ
Регистриран на: Вто Ное 25, 2008 4:44 pm Мнения: 31
|
 MPLAB-SIM
Здр.
В момента си пиша дипломната работа която е пряко свързана с програмиране на един микроконтролер (PIC16C74), та изтеглих си аз MPLAB започнах да пиша и стигнах до един момент в който осъзнах че само с писане няма да я бъде, трябва и симулация. Порових се в интернет и разбрах, че ако имам нужната екипировка мога направо да тествам програмата върху чипа, или да използвам вградения симулатор в MPLAB, а именно MPLAB-SIM. До тук добре поразгледах го тоя симулатор цъкнах навсякъде що има да се цъка по менюта и т.н. и най-накрая реших да му прегледам help-a. Пуснах симулацията, имаше доста грешки разбира се изчистих ги и стигнах до момента в който ми се налага да правя АЦ преобразуване. Проклетия симулатор спира и зацикля когато тръгне да пробверява дали GO/DONE битът е 0 и до там. Предполагам че в симулатора няма никакъв проблем работи си перфектно, проблема е там че не може да се симулира напражение на който и да е от изводите и просто не се извършва преобразуване.
Въпросът ми е следния има ли някакъв начин да го накарам тоя MPLAB да подкара преобразуването софтуърно?
Благодаря предварително
Прилагам част от кода да е по-нагледно:
Последна промяна iorgov на Чет Май 28, 2009 10:02 pm, променена общо 1 път
|
| Чет Май 28, 2009 9:57 pm |
|
 |
|
valioman
Ранг: Почетен член
Регистриран на: Съб Сеп 17, 2005 5:07 pm Мнения: 813 Местоположение: Сливен
|
Дръпни си Proteus
Въпреки , че симулациите на схеми си е като виртуалния секс ,ама важното е кефа да е пълен 
|
| Чет Май 28, 2009 10:00 pm |
|
 |
|
ji4ka
Ранг: Форумен бог
Регистриран на: Чет Фев 01, 2007 4:04 am Мнения: 1539
|
На реалния АЦП му трябват 25 такта за да пусне флага. На някои контролери симулатора изчаква коректно тези тактове, при други АЦП-то не се симулира коректно. Виж също SLEEP-a да не бърка нещо. Реална стойност(напрежение) може да се вкара например ръчно директно в регистрите. Може и автоматично но е голяма врътня и не е удобно.
|
| Чет Май 28, 2009 10:36 pm |
|
 |
|
a_stankov
Ранг: Новодошъл
Регистриран на: Съб Дек 06, 2008 9:22 am Мнения: 119 Местоположение: Пловдив
|
Не можеш да накараш да симулира преобразуване от АЦП със симулатора в МПЛАБ.Ако искаш да провериш спрямо резултата дали ще извъши
конкретно действие,заместваш преобразуването с конкретен резултат и гледаш дали прави това което си си наумил.
MPLAB-SIM не може да симулира външни въздействия върху контролера.Ако правиш такава симулация просто заменяш въздействието с готов резултат
за да проследиш алгоритъма които си създал.
Така като ти гледам кода това прилича на инициализация.
BSF ADCON0, GO
SLEEP
BTFSC ADCON0, GO Мога ли да попитам за какво ти е този SLEEP точно на това място,конфигурираш прекъсвания пускаш АЦП и се
мъчиш да SLEEP-ваш контролера според мен безмислено защото преобразуванието на АЦП -то е около 4uS.
|
| Пет Май 29, 2009 7:20 am |
|
 |
|
iorgov
Ранг: Минаващ
Регистриран на: Вто Ное 25, 2008 4:44 pm Мнения: 31
|
така
първо искам да благодаря на valioman за това, че ми каза за Proteus (преди това не бях чувал за него) БЛАГОДАРЯ !!
второ благодаря за отговорите
успях да си реша проблема с АЦП (  ) - забраних всички прекъсвания с изключение на ADIF. не поставям контролера в SLEEP, a проверявам с прост цикъл дали GO/DONE битът се е нулирал и след това си вземам резултата и продължавам напред.
сега ми остава да реша и другите 3/4 от задачата 
|
| Пет Май 29, 2009 7:27 pm |
|
 |
|
a_stankov
Ранг: Новодошъл
Регистриран на: Съб Дек 06, 2008 9:22 am Мнения: 119 Местоположение: Пловдив
|
BSF ADCON0, GO
BTFSC ADCON0, GO
GOTO $-1
Ето така е по-добре според мен да си чакаш разултата от АЦП.Без прекъсвания.
|
| Съб Май 30, 2009 7:16 am |
|
|
|
Страница 1 от 1
|
[ 6 мнения ] |
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 3 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|