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

Замяна на PIC16F84A c PIC12C509A
http://mcu-bg.com/mcu_site/viewtopic.php?f=3&t=7964
Страница 1 от 1

Автор:  Digit_All [ Пет Юли 02, 2010 7:50 pm ]
Заглавие:  Замяна на PIC16F84A c PIC12C509A

Здравейте,
Още съм начинаещ и затова започнах с книгата PIC микроконтролери. Като прилежен ученик започнах с първата практическа схема и успях да я реализирам. Правих различни промени и нямаше проблем. В един момент реших, че не е оправдано използването на 16F84A тъй като използвам само два изхода и реших да пригодя програмата за работа с 12С509А. Изтеглих си ръковдството за този контролер, направих .ASM файла, но при опит за транслиране с MPASM ми излиза съобщение DOS Error: File not found, а после в прозореца Output накрая пише Skipping link step. The project contains no linker script.
Ето началото на програмата:
list p=12c509a
#include <p12c509a.inc>
__CONFIG _MCLRE_OFF & _CP_OFF & _WDT_OFF & _XT_OSC
Къде греша?
Предварително благодаря на отзовалите се :)

Автор:  CarBeta [ Пет Юли 02, 2010 11:04 pm ]
Заглавие: 

Виж при файловете на проекта, в папката Linker Script, да не е останал някой фаил за F84. Ако има го махни !

Автор:  zoro1 [ Съб Юли 03, 2010 11:00 am ]
Заглавие: 

12c509 като го запишеш веднъж и край.

Автор:  optron [ Пон Юли 05, 2010 5:37 pm ]
Заглавие: 

Ако ще е за експерименти ползвай 12f675 или 12f629.
Имат същия брой крака (6 входо-изхода), но малко повечко периферия и най-важното е, че са пре-презаписваеми.
Така няма да хабиш твърде много пари за разработка.
После ако софтуерът ти не ползва по-специални периферни устройства, можеш да си го пригодиш за 12c509 с цел производство.

Автор:  npelov [ Пон Юли 05, 2010 6:48 pm ]
Заглавие: 

509 нямаше ли и F вариант. по едно време се бяха загубили.

Иначе има едни 16F54 до 59 - сравнително евтини.
За 12x509 и 16F54 трябва да вземеш в предвид една съществена разлика от 16F84 - със старото ядроса и стека ти е с големина 2, а не 8. т.е. можеж да викаш само 2 пъти подпрограма (вложено де). т.е.:
Код:
    call   proc1

proc1:
    call proc2
    return

proc2:
    call proc3    ; ей тук се препълва стека

proc3:
    return


П.П.
12f675 и 12f629 май са със стек с големина 8

Автор:  optron [ Вто Юли 06, 2010 8:24 pm ]
Заглавие: 

npelov написа:
П.П.
12f675 и 12f629 май са със стек с големина 8
Това е една от причините да препоръчвам тях. Както и да го мъча, неудобно е само с две вложени подпрограми.
Друга причина е, че имат доооста периферия, а пък не са скъпи. И да скапеш някой, ще ти коства броени левчета (2.50 във Футурел например).
Зарежи ги 12С50х, твърде стара технология са, пък не са много по-евтини.

Автор:  Digit_All [ Чет Юли 08, 2010 11:58 pm ]
Заглавие: 

Благодаря на всички за отговорите. :) Оказа се, че проблемът е това, което CarВeta5 ми подсказа. Преди пренасях с сopy/paste програма за 16F84 в празния ASM файл и там извършвах редактирането към 12C509. Оказа се достатъчно и един ред да се напише и после останалото да се пренесе и всичко се оправи. Благодаря и за другите съвети, които получих. За сега програмата работи коректно с 12С509 и ще опитам с 12F509. Все още се предлагат тук-там.

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