PICAXE

PICAXE is a microcontroller system based on a range of Microchip PIC microcontrollers. PICAXE devices are essentially Microchip PIC devices, with pre-programmed firmware that enables bootloading of code directly from a PC, simplifying hobbyist embedded development (not unlike the Arduino and Parallax BASIC Stamp systems). PICAXE devices have been produced by Revolution Education (Rev-Ed) since 1999.

PICAXE 20M2

Hardware

There are currently six (6) PICAXE variants of differing pin counts (8-14-18-20-28-40) and are available as DIL and SMD.[1]

PICAXE microcontrollers are pre-programmed with an interpreter[2] similar to the BASIC Stamp but using internal EEPROM instead, thus reducing cost. This also allows downloads to be made with a simple serial connection which eliminates the need for a PIC programmer.[3] PICAXE is programmed using an RS-232 serial cable[4] or a USB cable[5] which connects a computer to the download circuit, which normally uses a 3.5 mm jack and two resistors.[6]

Programming language

PICAXE microcontrollers are programmed using BASIC.[7]

The PICAXE interpreter features bit-banged communications:

The "readtemp" command reads the temperature from a DS18B20 temperature sensor and converts it into Celsius.[15]

All current PICAXEs have commands for using hardware features of the underlying PIC microcontrollers:

Program space

All current PICAXE chips have at least 2048 bytes of on board program memory available for user programs:[1]

  • 08M2 - 2048 bytes
  • 14M2 - 2048
  • 18M2+ - 2048
  • 20M2 - 2048
  • 20X2 - 4096
  • 28X1 - 4096
  • 40X1 - 4096
  • 28X2 - 4096 per slot with four slots for a total of 16 KiB
  • 40X2 - 4096 per slot with four slots for a total of 16 KiB

Clock speeds

The default clock speed for all M2 and X1 parts is 4 MHz and for the X2 parts is 8 MHz.

The SETFREQ command allows speeds from 31 kHz up to 8 MHz for X1 parts, 31 kHz up to 32 MHz for M2 parts and 31 kHz up to 16 MHz for X2 parts (up to 64 MHz for the 20X2) using the internal resonator.

An external resonator can be used with the X1 parts for from 4 MHz to 20 MHz clock speeds and with the X2 parts for 16 MHz to 64 MHz clock speeds.[28]

Project boards

Project boards for different applications are sold[29] by Rev-Ed which contain the PICAXE, download circuit and may also contain a prototyping area[30] or high power output drivers.[31]

Software

Revolution Education develop software for writing programs for PICAXE.

PICAXE Programming Editor

PICAXE Programming Editor is a Windows-only IDE for writing PICAXE programs in BASIC code or a simple flowchart.

PICAXE Programming Editor features:[32]

  • source code colour syntax highlighting
  • auto indentation
  • syntax check and program download
  • code explorer to shown variable, label and constant values
  • full on screen simulation with animated chips and line by line code highlighting
  • simulation breakpoints by line number and variable value
  • debug and serial terminal windows
  • AXE027 download cable testing and port identification tools
  • various testing tools such as the analogue calibration wizard
  • various code generation wizards (pwmout, tune, RTC setting, etc.)

AXEpad

AXEpad is a cross-platform application recommended for Linux and Mac users.[33] It lacks some of Programming Editor's wizards, simulation and MDI.

Logicator for PICAXE

Logicator is an easy to use shareware flowcharting program.[34] The Logicator web page is out of date as the free version does support all commands but shows nag screens.

PICAXE Programming Editor 6, the successor to PICAXE Programming Editor 5, has Logicator flowcharting merged into it so separate Logicator software is no longer required.[35] Like PICAXE Programming Editor 5, PICAXE Programming Editor 6 is freeware.

Third-party software

Yenka

Yenka is a program developed by Crocodile Clips Ltd which has flowcharts and simulation.[36]

Others

Many companies and organizations have put out their own editors with special features. Some include language translators or serial connectors, so there is a wide variety of consoles to be used.

Support

Support is available at the Technical Support section of the PICAXE website and at the PICAXE Forum.[37]

The PICAXE Forum has a finished projects section where completed projects and PICAXE programs are posted,[38] plus there is a similar section on the PICAXE website.[39]

gollark: `ssh sinthorions-computer.com cat /proc/cpuinfo`
gollark: That's horrible.#
gollark: processor : 0vendor_id : AuthenticAMDcpu family : 23model : 1model name : AMD Ryzen 3 1200 Quad-Core Processorstepping : 1microcode : 0x800111ccpu MHz : 3410.279cache size : 512 KBphysical id : 0siblings : 4core id : 0cpu cores : 4apicid : 0initial apicid : 0fpu : yesfpu_exception : yescpuid level : 13wp : yesflags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb hw_pstate sme ssbd sev vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif overflow_recov succor smcabugs : sysret_ss_attrs null_seg spectre_v1 spectre_v2 spec_store_bypassbogomips : 6989.20TLB size : 2560 4K pagesclflush size : 64cache_alignment : 64address sizes : 43 bits physical, 48 bits virtualpower management: ts ttp tm hwpstate eff_freq_ro [13] [14]
gollark: Look, it even lists the bugs!
gollark: Get a stupid home.

See also

References

  1. "PICAXE Chip Sizes".
  2. "poke - BASIC Commands - PICAXE".
  3. "What is PICAXE? - PICAXE".
  4. "Serial (9-way D) Download Cable - Hardware - PICAXE".
  5. "PICAXE USB Download Cable (AXE027) - Hardware - PICAXE".
  6. "PICAXE Download Circuit".
  7. "Index of - BASIC Commands - PICAXE".
  8. "serin - BASIC Commands - PICAXE".
  9. "serout - BASIC Commands - PICAXE".
  10. "shiftin - BASIC Commands - PICAXE".
  11. "shiftout - BASIC Commands - PICAXE poo".
  12. "irin - BASIC Commands - PICAXE".
  13. "owin - BASIC Commands - PICAXE".
  14. "owout - BASIC Commands - PICAXE".
  15. "readtemp - BASIC Commands - PICAXE".
  16. "hsersetup - BASIC Commands - PICAXE".
  17. "hspisetup - BASIC Commands - PICAXE".
  18. "hi2csetup - BASIC Commands - PICAXE".
  19. "hpwm - BASIC Commands - PICAXE".
  20. "dacsetup - BASIC Commands - PICAXE".
  21. "readadc10 - BASIC Commands - PICAXE".
  22. "srlatch - BASIC Commands - PICAXE".
  23. "settimer - BASIC Commands - PICAXE".
  24. "tmr3setup - BASIC Commands - PICAXE".
  25. "enabletime - BASIC Commands - PICAXE".
  26. "compsetup - BASIC Commands - PICAXE".
  27. "readinternaltemp - BASIC Commands - PICAXE".
  28. "setfreq - BASIC Commands".
  29. "Project Boards - Hardware".
  30. "PICAXE-08 Proto Board (AXE021) - Hardware - PICAXE".
  31. "PICAXE-18 High Power Project Board (CHI035) - Hardware - PICAXE".
  32. "PICAXE Programming Editor (BAS805) - Software - PICAXE".
  33. "AXEPAD (PAD001) - Software - PICAXE".
  34. "Logicator for PICAXE (LGC010) - Software - PICAXE".
  35. "PE6 Beta testing Briefing" (PDF).
  36. "Yenka PICs".
  37. "Technical Support - Getting Started - PICAXE".
  38. "Finished User PICAXE Projects".
  39. "Index of - Project Gallery - PICAXE".

Further reading

  • Lincoln, David (December 13, 2010). Programming and Customizing the PICAXE Microcontroller (2nd ed.). Mc Graw Hill/Tab Electronics. ISBN 978-0-07-174554-3.
  • Hackett, Ron (August 12, 2010). PICAXE Microcontroller Projects for the Evil Genius (1st ed.). Mc Graw Hill/Tab Electronics. ISBN 9780071703260.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.