logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Czy program na PIC16F877 zadziała na PIC16F877A?

tojatomek 14 Mar 2005 23:56 2205 14
REKLAMA
  • #1 1316502
    tojatomek
    Poziom 14  
    Posty: 156
    Pomógł: 7
    Ocena: 7
    Jest nowa wersja trgo Pica: PIC16F877A zastanawiam się czy mógłbym zaprogramować go programem ze starego i czy by ciągle działał?
    Nie będe tu wrzucał całego programu, bo troche miejsca zajmuje, można go ściągnąć razem ze schematami z: http://www.treiti.times.lv/shem/th.zip to wykrywacz metali...

    Ps. Zbytnio się mikrokontrolerach nieznam :)

    Pozdrawiam
  • REKLAMA
  • Pomocny post
    #2 1317079
    diag
    Poziom 29  
    Posty: 1401
    Pomógł: 45
    Ocena: 209
    Możesz wrzucać do A.
  • REKLAMA
  • #3 1317972
    tojatomek
    Poziom 14  
    Posty: 156
    Pomógł: 7
    Ocena: 7
    No to właściwie czym się różnią?
    I czy znalazł by się ktoś chętny do zaprogramowania takiego PIC-a ?
  • REKLAMA
  • #4 1318101
    ArteXL
    Poziom 24  
    Posty: 649
    Pomógł: 60
    Ocena: 34
    Witam, z literką A - jest to nowsza szybsza wersja. Do nowych aplikacji zalecana jest wersja z A na końcu. Programujesz tak samo.

    Tutaj masz odnośnik do strony o PIC16F877 : http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1335&dDocName=en010241

    Tu do strony o PIC16F877A: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1335&dDocName=en010242

    Dokument o zmianach: http://ww1.microchip.com/downloads/en/DeviceDoc/39591a.pdf

    Pozdrawiam
    ArteXL
  • REKLAMA
  • #5 1318312
    tojatomek
    Poziom 14  
    Posty: 156
    Pomógł: 7
    Ocena: 7
    Dzięki, ponawiam pytanie, czy ktoś mógłby mi zaprogramować to cudo, albo pokazać schemat programatora, szukałem i nic nie kupnego nie znalazłem...
  • #6 1318708
    mkaczor
    Poziom 16  
    Posty: 97
    Pomógł: 13
    ArteXL napisał:
    Witam, z literką A - jest to nowsza szybsza wersja. Do nowych aplikacji zalecana jest wersja z A na końcu. Programujesz tak samo.

    ...

    Dokument o zmianach: http://ww1.microchip.com/downloads/en/DeviceDoc/39591a.pdf


    co nie jest zupełną prawdą gdyż w nocie 39591a.pdf wyraźnie podają, że PIC16F87xA programuje się odmiennie TABLE1 No.3 i 4 (Write to FLASH program memory in 4-word blocks, instead of 1-word blocks). Programowanie w układzie ICSP także jest odmienne. Programator MPLAB ICD zawodzi dla układów z literą A.
  • #7 1321001
    tojatomek
    Poziom 14  
    Posty: 156
    Pomógł: 7
    Ocena: 7
    Nie znam się na tym prawie wogóle, ale rozumiem że jest to tylko inny sposób podawaia danych, a kod programu może zostać taki sam?
  • #8 1322000
    mkaczor
    Poziom 16  
    Posty: 97
    Pomógł: 13
    Tak. Różnice w budowie mikrokontrolerów są niewielkie. Kod programu może pozostać niezmieniony ale nie każdym programatorem uda się go wpisać do pamięci FLASH. Napisz skąd jesteś to może ktos zareaguje.
  • #9 1322462
    diag
    Poziom 29  
    Posty: 1401
    Pomógł: 45
    Ocena: 209
    Proponuję zacząć od IC-Prog 1.05D i programator JDM+przystawka .
  • #10 1323165
    tojatomek
    Poziom 14  
    Posty: 156
    Pomógł: 7
    Ocena: 7
    Dzięki ale zdaje się że i tak będe musiał zostać przy wersji bez "A" Ponieważ urządzenie łączy się potem jeszcze z komputerem za pomocą rs232, są jakieś programy w .c do tego więc jak zmienie scalak, to pewnie wszystko się zawali... Jeszcze raz dzięki, sorry za zamieszanie...
  • #11 1333732
    tojatomek
    Poziom 14  
    Posty: 156
    Pomógł: 7
    Ocena: 7
    A jeszcze jedno pytanko a propo tego...
    Co oznacza literka L w nazwie tego PIC-a PIC16LF877A?
  • #12 1334106
    diag
    Poziom 29  
    Posty: 1401
    Pomógł: 45
    Ocena: 209
    Literka L oznacza wersje niskonapieciową.
  • #13 1833123
    Thorgrim
    Poziom 11  
    Posty: 6
    Jest bez znaczenia jaka masz wersję procesora - A czy bez. Program piszesz dokładnie tak samo i tak samo wszystko się obsługuje.

    Różnica tkwi w technologii wykonania i co za tym idzie sposobie programowania, ale sa już wersje np. IC-Proga które te procesory obsługują. Ale chodzi tu tylko o sam moment jego programowania, potem wszystkie działaja tak samo.
  • #14 1833472
    diag
    Poziom 29  
    Posty: 1401
    Pomógł: 45
    Ocena: 209
    Z tym się nie zgodzę, przy prostych programach to i na f84 taki będzie działał.
    Gdy parcujesz z peryferiami ADC, PWM zegar to niektore parametry sa bardzo istotne, jak by tak nie bylo to producent by nie dawał literki A.
  • #15 1834574
    Thorgrim
    Poziom 11  
    Posty: 6
    Wszelkie różnice między PIC16F877A od PIC16F877 są tutaj:

    Różnice na stronie Microchipa

    Wynika stąd prosty wniosek - każdy program napisany na 877 zadziała na 877A (poza odwołaniem do FLASH).

    Główne różnice są w programowaniu.

Podsumowanie tematu

LABEL_AI_GENERATED
Program napisany dla mikrokontrolera PIC16F877 może działać na nowszej wersji PIC16F877A, ponieważ różnice w architekturze są niewielkie, a kod programu zasadniczo pozostaje ten sam. Główne zmiany dotyczą sposobu programowania pamięci FLASH – PIC16F877A wymaga zapisu w blokach 4-słowowych zamiast pojedynczych słów, co wpływa na kompatybilność z niektórymi programatorami, np. MPLAB ICD może nie działać poprawnie z wersją "A". Zaleca się użycie programatorów obsługujących tę wersję, np. IC-Prog 1.05D z programatorem JDM. Różnice w działaniu mikrokontrolera pojawiają się głównie przy pracy z peryferiami takimi jak ADC, PWM czy zegar, co może mieć znaczenie w bardziej zaawansowanych aplikacjach. Literka "L" w nazwie PIC16LF877A oznacza wersję niskonapięciową. W przypadku urządzeń komunikujących się przez RS232 zmiana mikrokontrolera na wersję "A" może wymagać dostosowania oprogramowania. Dokumentacja Microchip oraz notatka 39591a.pdf zawierają szczegółowe informacje o różnicach i sposobie programowania.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA