The Great Cow Great Cow BASIC
Open-source BASIC programming for microcontrollers
About Great Cow BASIC
Great Cow BASIC is a BASIC compiler for PIC and AVR microcontrollers. It lets you to program in BASIC instead of having to learn assembly. It's also completely free!

Great Cow BASIC has been written with three main aims - to remove the need for repetitive assembly commands, to produce efficient code, and to make it easy to take code written for one chip and run it on another. It hides many of the more confusing parts of microcontroller programming, making it suitable for beginners and those who don't like assembly.

The syntax of Great Cow BASIC is based on that of QBASIC/FreeBASIC, but with some alterations to suit the vastly different system that it compiles for. Great Cow BASIC will allow you to program most 8 bit PIC microcontrollers (10F, 12C, 12F, 16C, 16F, 18C and 18F chips), and also includes near-complete support for most AVR microcontrollers (Classic AVR, Tiny AVR and Mega AVR).

Simple, useful language:
  • Standard BASIC flow control statements - If, Select Case, Do, For, Goto
  • Support for multiply, divide, add, subtract, boolean operations and comparisons.
  • Bit, Byte, Word and String data types, in addition to byte arrays.
  • Subroutines and Functions
  • Inline assembly, in most cases without any special directives
  • Data tables
Portable, reusable code:
  • Supports most 8-bit PIC and AVR microcontrollers
  • Write code for a TinyAVR, easily adapt it for an 18F!
  • Automatically recalculates all delay commands depending on the clock speed of the chip
I/O capabilities:
  • Standard 2x16 LCD routines
  • Routines for on-chip A/D, PWM, SPI, USART, EEPROM and Timers
  • RS232 communications - rates between 300 and 19200 bps with user configurable parity, start and stop bits.
  • PS/2 keyboard reading
  • 4x4 Keypad

Other features:
  • Extensive help file and forum
  • Several translations
  • Generates standard MPASM compatible assembly code for PIC, or avrasm2 compatible code for AVR.
  • Free, both in the free beer way and the free speech way!

Program Contributors:
Hugh Considine
Main developer
Stefano Bonomi
Two-wire LCD subroutines
Geordie Millar
Swap and Swap4 subroutines
Finn Stokes
8-bit multiply routine, program memory access code
Evan Venn
Revised I2C, utilities , 2014 Help file and website update
Translation Contributors:
Stefano Delfiore
Pablo Curvelo
Murat Inceer
Other Contributors:
Russ Hensel
Great Cow BASIC Notes
Are you interested in helping out?

This site is hosted for free by Logo