JAL (compiler)

From Wikipedia, the free encyclopedia

JAL (Just Another Language) is a Pascal-like programming language and compiler that generates executable code for PIC microcontrollers. It is a free-format language for programming PIC microcontrollers and the compiler runs on Linux, Mac OS X, and MS-Windows. JAL is the only free-of-charge advanced language for PICs, and has a large and active international user base. It is configurable and extendable by use of libraries and can even be combined with assembler.

Contents

[edit] History

It was originally created by Wouter van Ooijen, but was released as free software under the GNU General Public License in 2003. In 2006, Stef Mientki initiated the development of a brand new JAL version: V2. Kyle York is the programmer of this new version, and an international user group took care of the beta testing.[1]

[edit] Sample code

-- JAL 2.3
include 16f877_bert

-- define the variables
var byte resist

-- define the pins
pin_a0_direction = input          -- variable resistor
pin_d7_direction = input          -- switch
pin_c2_direction = output         -- pwm led

-- enable pulse width modulation
PWM_init_frequency (true, true)

forever loop

   -- convert analog on a0 to digital
   resist = ADC_read_low_res(0)

   -- run measurement through flash memory
   program_eeprom_write(2000,resist)
   program_eeprom_read(2000,resist)

   -- run measurement through data memory
   data_eeprom_write(10,resist)
   data_eeprom_read(10,resist)

   -- if the switch is pressed return random value
   if pin_d7 == high then
      resist = random_byte
   end if

   -- send resistance to PC
   serial_sw_write(resist)
   delay_100ms(1)
   -- set actual PWM duty cycle
   PWM_Set_DutyCycle (resist, resist)

end loop

[edit] References

  1. ^ Beta testing by: Bert van Dam, Sunish Isaac, Dave Lagzdin, Javier Martinez, Stef Mientki, Wouter van Ooijen, Michael Reynolds, André Steenveld, Joep Suijs, Vasile Surducan, and Michael Watterson

[edit] Links

These are the basic links that will help you get started with JAL. For a selected range of PIC microcontrollers starterpacks are available that will get you up and running in minutes. For other PICs or other functionalities download additional libraries.

[edit] Books

[edit] User websites

Browse these websites to get an idea of JAL's possibilities.