| 
    
  
    
  6.- Fare lavorare MPASM.
  Solitamente occorre effettuare calcoli
relativi al clock o simili (baudrate, I2C clock, timing, ecc). 
  Qui posiamo inserire alcuni di questi calcoli e gli elementi
necessari alla loro esecuzione, in modo che MPASM
  lavori per noi. 
  
    
      
        
          ;==================================================================== 
          ;=========== 
           General purpose definitions
          ============================ 
          ;==================================================================== 
          
          ; base frequency 
          XTAL_FREQ  equ d'1000000'       ;
          OSC freq [ Hz] 
          CLOCK    
            equ
            XTAL_FREQ/4     
          ; processor clock [Hz] 
          TCYC     
            equ 1000000000/CLOCK ;
          cycle time [ns] 
           
          ; esempi di "calcolo atto fare" all' Assembler 
           
          ; calculates baudrate when BRGH = 1, adjust for rounding errors 
          #define
            CALC_HIGH_BAUD(BaudRate) (((10*XTAL_FREQ/(16*BaudRate))+5)/10)-1 
          ; calculates baudrate when BRGH = 0, adjust for rounding errors 
          #define
            CALC_LOW_BAUD(BaudRate) (((10*XTAL_FREQ/(64*BaudRate))+5)/10)-1 
           | 
         
      
     
   
  Si potranno poi definire costanti locali o altro specifico per l'
  applicazione. 
  Ad esempio: 
  
    
      
        
          ;============= LCD driver's
          definitions and constants =========== 
          ; The following definitions bypass the default values 
              CONSTANT 
          LCDBLIND = 0x00  ; use RW 
            ;CONSTANT LCDBLIND = 0x01  ; don't use RW 
          ; 
            LCDLINENUM = 0x02         
            ;
          2 or more lines 
          LCDCHRXLINE = d'16'       
            ;
          16 char per line 
          ; 
          LCDTYPE = 0x00            
            ;
          440780 compatible 
            ;LCDTYPE = 0x01           
            ; KS0073 
          ; 
            ;LCDVOLT = d'3'           
            ; power supply <5V 
          LCDVOLT = d'5'            
            ; power supply 5V 
             | 
         
      
     
   
  La tecnica di scrivere linee
alternative e porle come commenti con il ; iniziale
è molto comoda perchè permette di effettuare modifiche semplicemente scambiano
il ; su un' altra linea di scelta, senza bisogno di consultare documentazioni. 
 
 
   
 |