1 of 7


Salvatore Damino


In only 145 square cm space is concentrated a serie of resources which allow to undertake the study and test of the following controller and interface kinds:


Peripheral management by simulating I2C-BUS with 2 CPU I/O lines only:

- Real time clock PCF 8583 with lithium battery, RAM and alarm clock.
- 4 digits display controller for 7 segment LED display, type SAA 1064.
- Serial EEPROM, type 24C08.
- Management of 8 bidirectional I/O lines by PCF 8574.
- Management of 8 bits four A/D and one D/A converter by PCF 8591.
- Temperature measurement and thermostat management by DS 1621.
- I2C-BUS interface connector (2 pins screw terminal) for any I2C external device.


CPU section

This section includes a Reset circuit, managed by TL 7705, ables to generate both the RESET and /RESET signals; a push button and a 3 pins jumper for switching between the 8051 use condition and AVR ones.
To this section belong also 1 crystal and 2 sockets, also of ZIF type (Zero Insertion Force), where can be mounted the CPU either in 20 or 40 pins dual in line package.


Serial interface

It is available, on a 90° 9 pins D connector, a standard RS 232 serial line based on a MAX 202 driver.
Of this integrated circuit only one section, of the availabe two, has been used. So the remaining one is at user disposal for future expansion.


Devices and I/O lines

These following devices are available for experimentation:

- 4 displays having LEDs of 13 mm or 20 mm size.
- 4 keys directly managed by the CPU section.
- Buzzer driven by the CPU section.
- Thermostat output, LED displayed, available on connector.
- Real time clock output for managing /INT or frequence output.
- 16 I/O lines coming from a 40 pins CPU.
- 11 A/D converter lines, 12 bit, coonected to TLC 2543.
- 20 pins standard connector for connecting the 12 bit A/D converter input.
- Terminals for connection to LCD alphanumeric display and to trimmer for light contrast.
- Terminals for external power supply and auxiliary signals.


General considerations

K51-AVR gives the opportunity to get a known and documented hardware both under software and hardware point of view which allow to start with simple experimentations and, step by step, growing in experience up to use with capability the elements which are part of the micro controllers electronic.
Taking as excuse the assembly of an alarm clock, its various circuitery elements are introduced, any usefull information on their use and how to find the proper data sheets will be given. For this purpose the technical literature available on Internet will be used and the necessary Internet addresseses will be listed.
Any new integarted circuit used will be equipped with a simple example in order to better explain how to manage it by obtaining a ready to use system.
A lot of examples, more and more harder, will bring to know and use new concepts, giving lasting and constant cultural grown. In a short time you take in hand the knowledge with how you can do anything in a right way; even the complex problems will be solved in the right and systematic method.
On software point of view, must chosing a simple, efficient and cheap programming language,c we had thought that the BASIC compiler of MCS-Electronic was the right candidate. This compiler is available either for the numerous 8051's family or the new, fast chip, based on RISC tecnology, ATMEL AVR family with the relative name of BASCOM-8051 and BASCOM-AVR. We have to underline that the user manual is available also in Italian language.
For the customers that rightly wants to check everythings before to spend money, there is the possibility to directly download the demo version of BASCOM for 8051 and AVR, from http://www.grifo.it web site. This demo versions have the limitations to produce a code with a maximun lenght of 1K, that is sufficent for testing the product. But we have been able to produce a lot of examples, real time clock included, by using only this space. In this way you're able to do all the tests before to start card mounting.
In this first part we'll use a little 20 pins CPU. For use them it will be necessary to have a programmer capable to burn the compiled program inside the used microcontroller. If you think to use AT89C2051 with 2k or an AT89C4051 with 4k of flash memory, the possibilities are:
- Ask to some friends that program for you the micros.
- Help yourself to bild a programmer. On the site http://www.grifo.com there are electric diagram and printed circuit design.
- Buy one. In this case we have a lot of solutions:

If you want to use the RISC AT90S2313, only the last two solutions can be used.


Digital alarm clock

The circuit used for the realization of the alarm clock is composed by the RTC PCF 8583, the 7 segments display controller SAA 1064, the 4 push button and the buzzer. This circuit is driven by using the I2C-BUS protocol, invented from Philips and widely used either in civil or professional areas. This comunication protocol use only two wires and allows data interchange between peripheral and intelligent units. The BASCOM compiler allows to manage this not easy protocol at "high level", that is through simple commands, and without any knowledge about the same protocol.
For anyone that wants to improve this one, I suggest to read the clear and complete documentation that Philips reports on his specific data books.
To underline the flexibility of I2C-BUS protocol, please remind that for anyone that want to experiment the described circuit, it is also possible to use the comfortable GPC® F2 card, that many of you has already mounted, starting from the relative kit. On this card it is possible to debug and test all the provided programs.



The allarm clock has the time setting command and it visualizes the current time. Moreover it allows the setting of the time that enables the alarm sound with sleep, snooze, etc. functionality. The display brightness can be setted between the three different available levels.
The provided lithium battery ensures the time adjournement even without power supply. The included 256 bytes of backed memory can be managed by the user for other resources. For example some different and independent time intervals can be setted and conttrolled to enable or disable specific functions as the room heating, the illumination, the ventilation, etc.
Actually there are no more information, we'll meet again next month.

| Articles | | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 |

Page up-dated at August 28, 2004

Via dell'Artigiano, 8/6
40016 San Giorgio di Piano
Bologna ITALY

Tel: +39 051 892.052 (4 lines)
FAX: +39 051 893.661

homeHome Index Categorical Index CPU TablesThe Demo Programs Es. BAS. K51 Mini Modules