Circuit Lake

Electronic Project and Circuit Collection

Basic PLC

02/14/2012 Category: Control, Interfacing, Microcontroller, Project, Renesas

The Basic PLC project described here combines BASIC with a PLC and inherits the advantages of both systems. The project uses M16C/62P microcontroller as main processor.

A Programmable Logic Control (PLC) is a simple controlling computer for universal use in measuring, steering and controlling tasks. It is usable in any industrial or laboratory environment or at home. As of it’s programming it can be an intelligent alarm clock, the central processing unit of a heating with data acquisition from a weather station, an entry system with burglar alarm or whatever else. It is able to control everything controllable.


The programming of this special PLC is very easy. It is done with the well known programming language BASIC. No special knowledge and no expensive development tools are required to program the Basic PLC. Not even a Personal Computer (PC) is necessary to program, only a spare keyboard is necessary. The combination of PLC and BASIC forms the name of the game: Basic PLC, a BASIC Programmable Logic Control.

The Basic PLC has a very simple human interface: input is done via a standard PC keyboard and output can be seen on a standard LCD placed on the top-side (the front if mounted vertically) of the housing. The keyboard, which must be an AT-type one, is connected to the Basic PLC with a PS/2 (Mini-DIN) connector located at the front-side (or the bottom if mounted vertically) of the unit. The keyboard is not required for running programs; it is only necessary when programming or configuring the unit.

Basic PLC Block Diagram

When the system is powered up, it starts its BASIC interpreter and waits for user input with a blinking cursor on the LCD. You can enter BASIC statements and run them immediately or edit lines and store them in the internal RAM of the processor. It is possible to save and load programs to/from the FLASH of the M16C into its RAM an run them there. An optional autostart-feature does this automatically on power-up.