Turbo51

Turbo51
Deweloperzy Igora Funę
Wersja stabilna
0.1.3.12 / 1 lutego 2012 ; 11 lat temu ( 01.02.2012 )
System operacyjny Win32
Typ Kompilator
Licencja Darmowe
Strona internetowa turbo51 .com

Turbo51 to kompilator języka programowania Pascal dla rodziny mikrokontrolerów Intel MCS-51 (8051) . Zawiera między innymi składnię Borland Turbo Pascal 7, obsługę wbudowanego kodu asemblera , debugowanie na poziomie źródła i optymalizacje . Kompilator jest napisany w Object Pascal i wyprodukowany w Delphi .

W latach 80-tych Intel wprowadził 8051 jako pierwszy członek rodziny procesorów MCS-51. Obecnie dostępne są setki tanich pochodnych od dziesiątek producentów. To sprawia, że ​​architektura jest bardzo interesująca dla profesjonalistów i hobbystów. To zaskakujące, że ta 8-bitowa architektura jest nadal używana i nadal jest tak popularna. Spośród wszystkich kompilatorów 8051 istnieje kilka powszechnie używanych C , ale tylko kilka kompilatorów Pascala. Turbo51 jest dostępny jako freeware i został stworzony w celu stworzenia kompilatora Pascala dla procesorów MCS-51, który będzie tak szybki jak Turbo Pascal , użyje tej samej składni i wygeneruje zoptymalizowany kod wysokiej jakości.

Dialekt językowy

Turbo51 używa dialektu Borland Turbo Pascal 7. Składnia została rozszerzona o pewne konstrukcje obsługujące określone funkcje procesorów MCS-51.

      
           
           

             0

        
           Var  RS485_TX  :  Wartość logiczna  absolutna  P3  .  2  ;  I2C  .  SDA  :  Wartość logiczna  bezwzględna  P3  .  7  ;  I2C  .  SCL  :  wartość logiczna  absolutna  P3  .  4  ;  EEPROM_Data  :  TEEPROM_Data  XDATA  absolutna  ;  AdresModułu  :  Bajt  ;  RX_LedTimer  :  Byte  ; 
          

           
            TX_LedTimer  :  Byte  ;  Zapisane dane wyjściowe  :  TOutputData  IDATA  ;  OutputsAuxData  :  Tablica  [  1..8  ]  Byte  IDATA  ;  _  _  _ 

Cechy

Przykład „Witaj świecie”.

 


        
   

           

  

  

     
       Program  HelloWorld  ;  Stała  Osc  =  22118400  ;  Szybkość transmisji  =  19200  ;  BaudRateTimerValue  =  Byte  (  -Osc  div  12  div  32  div  BaudRate  )  ;  _  Var  SerialPort  :  Tekst  ;  Procedura  WriteToSerialPort  ;  asembler  ;  Asm  CLR  TI  MOV  SBUF  ,  A 

      


 

     
     
        
        
       @  WaitLoop  :  JNB  TI  ,  @  WaitLoop  koniec  ;  Rozpoczęcie  procedury  ;  rozpocząć  TL1  :=  BaudRateTimerValue  ;  TH1  :=  Szybkość transmisjiTimerValue  ;  TMOD  :=  %  00100001  ;  { Timer1: brak GATE, 8-bitowy timer, automatyczne przeładowanie }  SCON  :=  %  01010000  ;  { Tryb szeregowy 1, Włącz odbiór }  TI  :=  Prawda  ;          
              

    



  
    
 { Wskaż gotowość TX }  TR1  :=  Prawda  ;  { Włącz timer 1 }  Assign  (  SerialPort  ,  WriteToSerialPort  )  koniec  ;  rozpocznij  init  ;  Writeln  (  SerialPort  ,  'Witaj świecie!'  )  koniec  . 

Zobacz też

Linki zewnętrzne