Tuesday, March 27, 2018

LC75824 LCD driver chip library for EFM8 microcontrollers

LC75824 is an LCD driver chip. It has 4 commons so it has 1/4 duty and supports 1/2 and 1/3 bias voltages. In addition to being able to directly drive up to 204 LCD segments, the LC75824E and LC75824W can also control up to 12 general-purpose output ports. Serial data input supports CCB format communication with the system controller.
The interface between the LCD driver and the microcontroller is done by using only 3 pins (CLK, CE and DATA).
I know this is an old and rare LCD driver but the library code can be used to adapt other LCD drivers. I use this because I have a broken Samsung MM-N7 audio system with a good display using this IC.

LC75824 pinout
LC75824 pinout

Sunday, March 4, 2018

UART library for EFM8BB1 Busy Bee microcontrollers


This UART library is made for EFM8BB1 microcontrollers. It was tested on EFM8BB10F8G-A device, but should work on any EFM8BB1 devices. It uses circular buffers for transmission and reception of data. This way large amounts of data can be sent or received with only 5 or 10 bytes per buffer, thus saving memory.
Uses 8 data bits, 1 stop bit, no parity. Supported baud rates: 9600, 14400, 19200, 38400, 57600, 115200, 128000, 256000.



On EFM8BB10F8G-A device, the UART pins are on port 0 and pin 4 is TX and pin 5 is used for RX.

EFM8BB1 SOIC16 pinout

Saturday, March 3, 2018

Delay functions for EFM8 microcontrollers

Sometimes you need to delay the program execution, for example when waiting for another device to startup or respond and the software cannot continue. An interrupt driven delay is better in most cases but not in all cases.
Because of this I made two functions one for milliseconds and one for microseconds, that uses NOPs that holds the CPU for a certain amount of time.
The milliseconds delay is quite accurate, the microseconds one, not so much.

Eagle CAD Quick Tip | How to remove unwanted copper pour

Beautify your PCB with this quick tip. A short video on how to remove unwanted copper pour around some traces in Eagle CAD without increasing the clearance between tracks.



Friday, March 2, 2018

globals header for EFM8BB1 microcontroller


You often need to use functions or macros across multiple header files, so it is better to put them in a separate header file for better organization. I use a header file called 'globals' and I will be adding or improving things as I go.

At the moment the file includes some macros such as CPU frequency and some functions.


uint8_t stringToInt(uint8_t);
uint8_t toUpperCase(const char c);
bool isLowerCase(const char c);

Cheap and powerful 50 cents microcontroller | EFM8 Family

This is a step-by-step tutorial on how to setup and program an EFM8BB10F8G-A microcontroller or any other EFM8 Busy Bee microcontroller family from Silicon Labs. It is assumed that the reader knows the C programming language and basics about microcontrollers.
EFM8 Busy Bee microcontroller family from Silicon Labs
Why would you want to learn to use another microcontroller when there are many tutorials and libraries on popular MCU's such as AVR and PIC? Well, because they are much more cheaper but performant nonetheless - on Farnell you can buy them for less than 50 cents - and also are pre-programed with a bootloader making easy to program them using any USB to serial converter.  Compare that to Attiny13A which is around the same price but with half the pin count, less speed and peripherals. Just see the features bellow.

AddToAny

Related Posts Plugin for WordPress, Blogger...