HD44780-based LCD Driver for the STM32


The most important and why you are reading this - your idea. Surely you are an experienced and accomplished in the life of a man who knows a number of industries. Did you find the realization of such a product that can successfully sell your observation and study only prove the relevance of new items.

Or your task requires a certain device, which is not available on the market as a finished product, develop it from scratch - the only way to get what you want.

In the first and the second case we have the one responsible and punctual partner, developer of a professional who can help you. Operation is as follows:

Specification

The first part of our work - help to formalize your ideas into a technical job. This is a very important stage, when we hear an idea of the customer in all its details, we learn a complete picture of the future of the device and your expectations, only then can we justify it, and it is for us the main thing. It can not be improvised from our side, you initiated the idea and only you know how it should look best.

During discussion of the future devices, we define the feasibility of the project in principle and dotted outlines possible technical way to turn idea into reality. We help define the functional set that your product contains the essence of your idea, was the best price/functionality ratio and competitive in the market. It is important to observe the economic attributes of the product.

Engineering description

The short development cycle of the block diagrams and detailed engineering descriptions. This document contains a clear idea of the task according to the engineers. Upon completion of this stage we can say exactly how much it would cost to develop the project and determine its cost of production.

Electronic circuit and PCB

Contract development of electronics: CircuitOn the fact of signing the client agreement and deposit payment under the conditions we proceed directly to the development. This part of the specification provides for the development of an electronic circuit, the same card, which you can see in the guts of home audio / video equipment. We will develop the same for your task.

Contract development of electronics: PCBIn this and the next stage of work the whole design capabilities of our companies are the most recent advances in the electronics industry. Schematic designs a scheme modeled her work in the environment, make adjustments and check again. So until then, until all the tools available to us show that the scheme will work perfectly well.

Such an approach would avoid any gaps in the future, the device before, as it will be created.

The process of developing the schematic and board layout to production or the original prototype of the device.

More information about the technical possibilities

Software

Contract development of electronics: SoftwareIn modern electronics, microprocessor or microcontroller more often - an integral part. The presence of such a component, and even more so if there is a connection device to a PC or work as part of other systems, provides for the development of appropriate software. It may be firmware, the firmware for the microcontroller or processor, and related, ancillary or service programs necessary for the device must be completed and meet the requirements of the customer and user.

More information about the technical possibilities

Housing

Contract development of electronics: HousingAn important component, as responsible for product appearance and attractiveness to the buyer. We can develop a body of metal or plastic, or to develop a device to the existing building.

More information about the technical possibilities

Production of the sample and testing

Made in the unit number of the scheme, software and housing come together and represent a prototype or pre-production sample ready for use. But only on the results of a series of tests, inspections and tests, we can conclude that the results with your requirements. Otherwise, the scheme or program part to undergo revision until the result will be achieved. The time for this phase provided in advance and stipulated.

Contract development of electronics: PrototypeThe result of our work - a valid and justifies your expectations for a sample set of technical design documentation and source code software.

More information about the technical possibilities

Technical support and quality control

Even when development is completed and the current sample is ready, then surely you still need technical support. We will help you place an order for production of one of the contract electronics manufacturers, and describe where and how to better equip the production of all electronic components to control the quality and maintaining the technology in the workplace. Service, we can assume or technical support for your professional, when they raise questions.

Thus, our company is a full service to convert your high-tech ideas into an effective business.

Benefits

  1. We have created a team of high level professionals, individually approached the gaps in knowledge of each, have established standards and quality criteria, implemented a systematic approach to customer service. Everything is ready, you just put the task.
  2. In our field of vision wide element base of several dozen manufacturers of electronic components, we are able to choose from this fact and only that will achieve high technical and economic indices of the final product.
  3. Worldwide semiconductor vendors provide us with technical support, reveal the secrets of its chip unit, listen to our comments and keep abreast of all its new products. These new items we use in your designs to make your device better and cheaper. Using the latest achievements of the industry, quality and price are no longer opposites to each other.
  4. The development of electronics is now not such a simple process as it did several decades ago. Today, for the development of a competitive product requires a number of development tools, measuring instruments, tools for debugging, prototyping and small batch production. The cost of such a gentlemanly set of tens of thousands of dollars and you do not have it all to buy, because we already have the most advanced tools and our engineers know how to get the maximum out of them.
  5. We as an organization acting on the basis of a formal agreement and assume responsibility for the results, the quality of future products.
  6. The organization's own development department would require from you about six months to find high-class professionals, their training and education command, the installation of effective work rules within the company. In addition, the development cycle of a modern device is a maximum of 3 months, what will you do when development and debugging of the product will be completed? Jobs for 2-3 months are not interesting for professionals.

Controller of Hitachi HD44780 is actually an industry standard and widely used in the manufacture of alphanumeric LCD modules. Analogues of the controller or compatible with him on the interface and command language integrated circuits, produce a lot of companies, including: Epson, Toshiba, Sanyo, Samsung, Philips. An even greater number of firms produce LCD modules based on data controllers. These modules can be found in a variety of devices: measuring instruments, medical equipment, promyshlennnom and processing equipment, office equipment, phones, faxes and copiers.

Alphanumeric LCD modules represent an inexpensive and convenient solution to save time and resources when developing new products, while providing the mapping of a large amount of information in highly visible and low power consumption. The possibility of equipping the LCD backlight modules can operate them in conditions of low or zero illumination, and performance with an extended temperature range (-20 °C ... +70 °C) in complex operating environments, including portable, field and even, sometimes, on-board equipment.

HD44780 controller can potentially control 2 lines of 40 characters each (for modules with with 4 rows of 40 characters used two similar controller), and matrix character 5 x 7 dots. The controller also supports characters with a matrix of 5 x 10 points.

Aware of the widespread popularity of such displays, we decided to develop and open for the engineering community driver HD44780 for innovative Microcontrollers STM32.

Technical details

The driver is written in C + + and requires the use of the library STM32 Standard Peripherals Library v3.3.0. To simplify the development and make the code understandable for those who program in C, we used a minimum of language features C++.

We tried to make the most compact code and implement only the most necessary functionality.

The driver has problems on the basis of conveyor line from a static buffer. Objectives represent a character print command or read command BF and AC. The functionality of reading and defining your own characters in version 1.0 is not implemented.

To connect the interface width of 4 bits.

The driver is free to license GNU Lesser General Public License v3.

How-To

You must perform a series of actions to adapt the code for your platform.

1. Check the settings in the file stm32f10x.h used STM32 family of microcontrollers

/* Uncomment the line below according to the target STM32 device used in your
 application */
#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined (STM32F10X_XL) && !defined (STM32F10X_CL)
/* #define STM32F10X_LD */ /*!< STM32F10X_LD: STM32 Low density devices */
/* #define STM32F10X_LD_VL */ /*!< STM32F10X_LD_VL: STM32 Low density Value Line devices */
/* #define STM32F10X_MD */ /*!< STM32F10X_MD: STM32 Medium density devices */
/* #define STM32F10X_MD_VL */ /*!< STM32F10X_MD_VL: STM32 Medium density Value Line devices */
/* #define STM32F10X_HD */ /*!< STM32F10X_HD: STM32 High density devices */
/* #define STM32F10X_XL */ /*!< STM32F10X_XL: STM32 XL-density devices */
#define STM32F10X_CL /*!< STM32F10X_CL: STM32 Connectivity line devices */
 #endif

Family Connectivity line defined by default.

2. Check the basic configuration driver file HD44780.cpp

/* Basic LCD Driver settings */
#define LCD_PROCESS_IO_FREQ 10000
#define FIFO_SIZE 100
/* Define for boot from Flash */
#define FLASH_BOOT

LCD_PROCESS_IO_FREQ indicates the number of calls the method for processing signals input-output. To display one character must be 11 calls. Accordingly, if you want to print, for example, 10 screens per second and the size of the LCD is a 20x4 character LCD_PROCESS_IO_FREQ = 11 x 10 x 20 x 4 = 8800 calls / second or more. If you used importance leads to the cessation of interruptions, check the calculated value of the counter TIM_Config (), it should be located vpredelah from 0 to 65535, use before. divisor if the calculated value is beyond the permissible.

FIFO_SIZE for such an example must be not less than 20 x 4 + 10 to avoid errors in the derivation of a full screen at once.

3. Check the definition of an instance of HD44780 in main.h

HD44780 lcd(GPIOE, GPIO_Pin_9, GPIOE, GPIO_Pin_8,
                      GPIOE, GPIO_Pin_11, GPIOE, GPIO_Pin_10,
                      GPIOE, GPIO_Pin_13, GPIOE, GPIO_Pin_12,
                      GPIOE, GPIO_Pin_15, 20, 0x00, 0x40, 0x14, 0x54);

Specify the findings, the width of the line and addresses of the first symbols in accordance with your hardware solution.

4. We used TIM2 to call the function I / O processing. You can change NVIC_Config (), TIM_Config () in file HD44780.cpp and interrupt handler in the file stm32f10x_it.c to use another timer

5. Enjoy!

Bookmark Us

Bookmark Website 
Bookmark Page