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

Transmisja szeregowa RS-232 w Bascomie dla procesorów 89c51 - pytania i porady

JarGol 11 Gru 2003 19:56 1703 7
REKLAMA
  • #1 433657
    JarGol
    Poziom 14  
    Posty: 175
    Pomógł: 3
    Ocena: 7
    Do tej pory programowałem c51 tylko w atmelu ostanio zacząłem korzystać z bascoma, przerobilem sobie college z Edw i pojawiło mi się kilka pytań???

    - Czy jest darmowa wersja Bascoma współpracująca z procesorami 89c51 (40 nóżkowymi)
    - Jak zrealizować transmisję szeregową w Bascom (wiem tylko że używa się do tego poleceń print, input, output...ale jak dokładnie) - np. jak wysłać rs'em wartość zmiennej a i jak nazwać procedurę obsługi przerwania do której ma wskoczyć jak skończy wysylać bajt... itd... gdzie można znaleźć jakieś info na ten temat???
  • REKLAMA
  • #2 433829
    kozak_sc
    Poziom 23  
    Posty: 752
    Pomógł: 25
    Ocena: 117
    AD1
    bascom kompiluje pod wszystkie 51 (tez 40 nozkowe) tylko musisz ustalic dla jakiego proca ma skapilowac w opcjach albo wstawic dyrektywke
    np $regfile = "89c51.dat" tylko wiadomo do 2kB

    AD2
    najpierw ustalasz na poczatku predkosc np. $BAUD = 2400
    wazne jest w tym przypadku takze okreslenie kwarcu np $CRYSTAL = 14000000

    i teraz zeby wyslac zmienna to print zmienna podobnie z poleceniem input

    a przerwania zakonczenia nadawania to nie jestem pewny ale to sa chyba tylko obslugiwane na drodze programowej. zawsze jak co nie wiesz jak zrobic albo zajuje za duzo miejsa korzystaj z wstawek asemblerowych :)
  • REKLAMA
  • #3 438876
    Aroag
    Poziom 13  
    Posty: 63
    Ocena: 8
    Witam.
    Na stronie EP jest polski help do Bascom AVR i ostatnio pojawił sie też do 51.
    Może tam znajdziesz odpowiedzi.
    Pozdr.
  • REKLAMA
  • #4 445851
    tortoise2
    Poziom 11  
    Posty: 6
    ad 1
    użyj bascom 8051
    ad 2
    wszystko znajdziesz w helpie bascoma
  • #5 467130
    JarGol
    Poziom 14  
    Posty: 175
    Pomógł: 3
    Ocena: 7
    dzieki za podpowiedzi.... a tak wogole to na poczatku niezla bzdure walnalem, oczywiscie do tej pory programowalem w asmie a nie w atmelu.. ale to chyba przez pospiech.... dzieki za pomoc... pozdrawiam...
  • #6 477493
    JarGol
    Poziom 14  
    Posty: 175
    Pomógł: 3
    Ocena: 7
    kozak_sc napisał użyj: $regfile="89c51.dat" ale ja nie mam tego pliku.... jesli ktos z Was ma to prosze wystawic go na forum lub przeslac mail'em na moj adres... dzieki ....pozdrawiam
  • REKLAMA
  • #7 477738
    crazy_phisic
    VIP Zasłużony dla elektroda
    Posty: 2244
    Pomógł: 278
    Ocena: 130
    przede wszystkim musisz zdeklarowac cos takiego :
    Open "COMD.1:9600,8,N,1,INVERTED " na przyklad
    a dopiero pozniej mozesz pomarzyc o dzialaniu funkcji print...
  • #8 477780
    W.K
    Poziom 15  
    Posty: 139
    Pomógł: 1
    Jarek Sieracki napisał:
    przede wszystkim musisz zdeklarowac cos takiego :
    Open "COMD.1:9600,8,N,1,INVERTED " na przyklad
    a dopiero pozniej mozesz pomarzyc o dzialaniu funkcji print...


    Słuszne ale dla programowego UART.Jesli kontroler ma tzw.sprzętowy
    UART to po co go obciązać obsługą softwarowego?
    Dla 89C51 użj REG51.DAT

Podsumowanie tematu

✨ Dyskusja dotyczy programowania transmisji szeregowej RS-232 w Bascomie dla mikrokontrolerów 89c51 (40-nóżkowych). Bascom kompiluje pod wszystkie procesory 8051, w tym 89c51, jednak należy ustawić odpowiedni plik rejestrów, np. $regfile = "89c51.dat" lub REG51.DAT. Konieczne jest także określenie prędkości transmisji za pomocą dyrektywy $BAUD oraz częstotliwości kwarcu $CRYSTAL. Transmisję szeregową realizuje się poleceniami print (do wysyłania danych) oraz input (do odbioru). Przed użyciem funkcji print należy otworzyć port szeregowy komendą Open, np. Open "COMD.1:9600,8,N,1,INVERTED". Obsługa przerwań zakończenia nadawania w Bascomie jest ograniczona i zwykle realizowana programowo; w razie potrzeby można stosować wstawki asemblerowe. Dostępne są polskie pliki pomocy do Bascom AVR i Bascom 51, które zawierają szczegółowe informacje na temat konfiguracji i programowania UART. W przypadku mikrokontrolerów z wbudowanym sprzętowym UART, jak 89c51, zaleca się korzystanie z tego sprzętu zamiast programowego UART.
Wygenerowane przez model językowy.
REKLAMA