Copyright © A.F.Billington 2022. All rights reserved.


Flowchart Programming

A Microcontroller is a programmable integrated circuit (PIC) which has a writable flash memory. They can be programmed in BASIC of Flowchart language and store the program within the internal memory. Unlike IC's this allows them to be reprogrammed for different applications up to 100,000 times. They operate using binary (0-255) and logic (0,1language.

Genie are a brand of microcontroller used in school and come in a range of sizes shown. Each size increase adds Inputs and Output connections to the chip. The PIC can respond to changes in Input signals and control connected Outputs based on its program

Microcontrollers are sensitive to changes in voltage and should be powered with a DC power source with a voltage of 4.5 - 6V. To ensure a stable voltage typically capacitors are used to smooth the voltage at the source. Excessive voltage may damage the microcontoller and can cause problems with the stored program of erase it altogether


A microcontroller can respond to both Digital and Analogue signals at it's input pin. Analogue inputs are specified depending on the PIC used and detect a range of voltage levels between 0 and 255. This upper limit is the largest binary number that can be stored as 8 bit in its memory. All input components must be connected with a 10K pull down resistor as a potential divide.

As a Digital input this maintains a constant0when the input is inactive and as a Analogue input it allows for a changing voltage at the input pin 

Each of the Microcontrollers output pins will produce a voltage of 3V when HIGH and 0V when LOW. Low power components such as LED's require a 330Ω current limiting resistor to protect them. If a higher voltage/current is required a transistor can be used as a switch to interface with the microcontroller output  and allow it to be controlled but receive the full voltage from the battery and current amplification

Output pins can also be combined to further increase the voltage/current to an output component if required


Microcontrollers can be interfaced with other IC's and PIC's to extend their function and control other circuitry. If a number of high current outputs are required a 'darlington driver' (ULN2803) can be used to increase current amplification. The microcontroller is still used to control the outputs but the signal goes through the darlington driver first. Some drivers will even have protection built in for 'back emf'

Microcontrollers can equally be interfaced with other logic IC's such as a 4017b Decade Counter and a 4026bSeven Segment Driver. The program must turn the output ON (1) and then OFF (0) to send a complete pulse. A 16 X 2 LCD screen can also be used as a output using one of the 'serial' outputs of the microcontroller (typically Q0 or Q1). 


The 'Serial' output sends data from the microcontroller at 2400 bits per second with 8 bits required to make a character (letter) on the screen. For this reason the connection must come directly from the microcontroller to ensure the correct CMOS voltage levels. To convert the signal into displayed text a LCD driver circuit is required

The LCD Driver PCB has an output for a backlight shown by the two pin terminal block, a test output which when connected runs a test program on the LCD and a three pin terminal block for - Positive (6V), Serialconnection and Ground (0V)


Microcontrollers run on an internal clock which can be accessed when programming to accurately implement time. This allows them to function using sequential logic. The clock measures time in milliseconds which are thousandths of a second (1ms = 0.001s) and begins timing immediately when from the start of a program. The value of which can be called, reset, or modified at any point in the program

 Systems approach to Designing - Process Components