BASCOM Programming of Microcontrollers with Ease: An Introduction by Program Examples. Front Cover · Claus Kuhnel. Universal-Publishers, 1 Claus Kuhnel BASCOM Programming of Microcontrollers with Ease An The programming of microcontrollers using BASCOM (version) and. Buy BASCOM Programming of Microcontrollers with Ease: An Introduction by Program Examples by Claus Kuhnel (ISBN: ) from Amazon’s Book.
|Published (Last):||3 April 2005|
|PDF File Size:||2.62 Mb|
|ePub File Size:||5.71 Mb|
|Price:||Free* [*Free Regsitration Required]|
Skip to main content. Log In Sign Up. No part of this work may be reproduced in any form except by written permission of the author. All rights of translation reserved. Publisher and author assume no responsibility for any errors that may arise from the use of devices and software described in this book. The microcontroller family has been well-known over many years. The development of new derivatives is not finished yet. From time to time new powerful derivatives are announced.
You will find derivatives from Philips, Dallas, Analog Devices and Cygnal and others with the known core but enhanced clock and peripherals.
For example, complete analog-to-digital and digital-to- analog subsystems were integrated in some chips. Atmel developed the AVR microcontroller family which is well suited for high-level language programming and in-system programming. Apart from programming environments as they are offered, for ex- ample, by KEIL, IAR or E-LAB Computer for professional applica- tions, also the more economical and nonetheless sufficiently equipped development environments can maintain ground.
In a microcontroller project one needs to know the hardware base, i. IDE handling, programming and debugging. In this first chapter, let’s have a look at the supported microcontrol- lers.
A general overview will be given only; the various parts are documented by the manufacturers in more detail. You may also search the web for more information and documentation on all the microcontrollers dealt with here. A basic instruction cycle takes 12 clocks; however, some manufacturers redesigned the instruction-execution circuitry to reduce the instruction cycle.
These lower bytes can be addressed directly or indirectly by using an 8-bit value. The upper bytes of on-chip data RAM encompass two overlapping address spaces. One space is for directly addressed special-function registers SFRs ; the other space is for indirectly addressed RAM or stack. The SFRs define peripheral operations and configurations. The also has 16 bit-addressable bytes of on- chip RAM for flags or variables.
Without external circuitry, the maximum address range of all processors is 64 Kbytes of program memory and 64 Kbytes of data memory. External means can be made use of to increase this ad- dress space. Register indirection uses an 8-bit register for an on-chip RAM ad- dress; an off-chip address requires an 8- or bit data-pointer reg- ister DPTR.
The original has only one DPTR. The performs extensive bit manipulation via instructions, such as set, clear, complement, and jump on bit set or jump on bit clear, only for a byte area of RAM and some SFRs. The Dallas versions have variable- length move-external-data instructions. Math functions include add, subtract, increment, decrement, multiply, divide, complement, rotate, and swap nibbles.
Figure 1 shows the block diagram of an . Figure 2 Block diagram CF This is not the place to discuss the hardware aspects of the different derivatives of the family. The examples are meant to show that not all parts named are alike; the core is the same but the in- ternal peripherals differ significantly. Once you know the used hardware, you can organize the access to the resources of the chosen microcontroller.
Therefore, this interesting microcontroller family should be described in more detail. The architecture of the AVR microcontrollers was designed together with C-language experts to ensure that the hardware and software work hand-in-hand to develop a highly efficient, high-performance code.
To optimize the code size, performance and power consumption, AVR microcontrollers have big register files and fast one-cycle in- structions. The family of AVR microcontrollers includes differently equipped controllers – from a simple 8-pin microcontroller up to a high-end microcontroller with a large internal memory.
The Harvard architec- ture addresses memories up to 8 MB directly. The register file is “dual mapped” and can be addressed as part of the on-chip SRAM, whereby fast context switches are possible. The on-chip in-system programmable ISPdownloadable flash memory permits devices on the user’s circuit board to be reprogrammed via SPI or with the help of a conventional programming device.
Bascom Programming Of Microcontrollers With Ease by Claus Kuhnel, Paperback | Barnes & Noble®
By combining the efficient architecture with the downloadable flash memory on the same chip, the AVR microcontrollers represent an efficient approach to applications in the “Embedded Controller” mar- ket. Further information can be found on Atmel’s web site [http: Figure 3 shows the block dia- gram of an AT90S Figure 4 shows memory maps of the AT90S pro- gram and data memory. All interrupts have separate interrupt vectors in an interrupt vector table at the beginning of the program memory.
The priority level of each interrupt bacom is dependent on its position in iuhnel inter- rupt vector table. The higher the priority of a respective interrupt, the lower is the address of the interrupt vector. To get an impression of the available peripheral functions, the pe- ripheral functions of the AT90S will be listed here in brief as an example.
The Watchdog Timer is clocked by a separate on-chip oscillator.
BASCOM Programming of Microcontrollers with Ease
The Watchdog period can be selected between 16 ms and ms. Analog Comparator The Analog Comparator compares voltages at two pins. As shown in Figure 5, most pins have alternative functions. Comparing the pin configuration of the AVR microcontrollers and that of the microcontroller family reveals one objective of this new microcontroller family.
The outputs can drop to 20 mA so that LEDs can be directly driven. The AVR microcontrollers support a high-voltage 12 V kkuhnel pro- gramming mode and a low-voltage serial programming mode. The serial programming mode via SPI provides a convenient way to download programs and data into the device inside the user’s sys- tem.
To get clauus impression of the instruction set of the AVR microcontrol- lers, Table 2 explains all instructions in a compact form. Descriptions of the individual microcontrollers as well as application notes and program examples can be found on Atmel’s web site [http: The manufacturer’s documentation is complemented by further publications .
Such a development environment supports the whole process from coding and testing a program to programming the used micro- controller. In all cases where a distinction bascomm necessary, a few changes only are required to make the program work with the other family of microcontrollers. This is one important advantage of high-level languages. On these download sites you will find the manuals as PDF and all information required for an upgrade to the commercial versions. After extracting all downloaded files to a separate directory, there is a setup program for installation.
After completion of the installation, the following files need to be in- stalled on the PC. Inspecting the directory with the Explorer will show some more files there. These files will be explained later. If the code size exceeds this limit after compilation, the compiler will generate error messages as shown in Claux 7. Downloading the files and ordering the license is done in next to no time.
The license will be sent immediately by e- mail. Start SetUp and follow the in- structions of the SetUp program. In the download area you will find a link to an Aut- oUpdate program. The AutoUpdate program detects this state automatically Figure 9. A detailed ex- planation of these options will be given in the next chapter.
As a rule, the compiler detects here the first errors and the program must be debugged. Normally, the process of editing, compiling and de- bugging needs to be repeated several times. It makes no sense to debug all errors in one step. Editing several typing errors in one step is no problem. But for more difficult errors, a separate compiler run checks the validity of the changes carried out.
It is always easier to debug a localized error. The probably last task in a project is programming the device that is used in the application hardware, followed by an excessive test of the program on the target. The project proves to be successful if these tests document a proper function in the target hardware.
Otherwise, some steps must be re- peated. The options should be selected at the be- ginning of a project and saved. Later changes of this setup will then only be required for details.
Figure 10 shows the parameters. On the right side you can see the available memory of the selected microcontroller. Each parameter in a function needs two bytes of stack. The value 32 is default and remains unchanged here. Local variables are saved in a frame. The default value is 50 and remains unchanged, too. Figure 11 shows the possibilities for selection.
The compiler itself needs claud debug file. The report file reports all parameters and memory allocations. The error file docu- ments all errors occurring during compilation. Activating Size warning reports an exceeding of the avail- able program memory.
The last option can be very helpful. In this case, activate the Swap Words option.