tag:blogger.com,1999:blog-60254211100347879792024-03-20T03:03:18.460+06:00Microcontroller BlogExplore, Learn, Create...Tanvir Ferdousihttp://www.blogger.com/profile/03903693867297865947noreply@blogger.comBlogger9125tag:blogger.com,1999:blog-6025421110034787979.post-63327955834907922632011-10-12T21:13:00.001+06:002011-10-25T00:16:11.663+06:00Chapter 8: The AVR I/OWhat you have read in my blog so far were for preparing you to be able to program a Microcontroller. Now you can write some code in AVR Studio and program the AVR flash memory with the compiled hex file. Its time to go mainstream. From this chapter lets start building our dreams. You will see what a simple block of code can do. Its time to experience it. Its amazing, its fun and it will evaluate the creative part of your mind.<br>
<br>
I will go with coding techniques and algorithms for various functions of a microcontroller. Most of them are interrelated. I will explore them in a certain sequence. This chapter deals with I/O; the most essential portion of an embedded system. <br>
<br>
<br>
<span style="font-size: large;"><b>Concepts of I/O</b></span><br>
I/O is the shorter version of the term Input/Output. In every programmable device, there is some sort of interface to communicate with the outside world. <br>
<br>
<b>Ports & Pins</b><br>
The total number of pins varies from device to device. For example, ATmega8 has 28 pins, ATmega16 has 40 pins and the smallest one ATTiny15 has 8 pins only. We can't use all the pins for our I/O purposes. Some pins are reserved for some special jobs; for example VCC, GND etc. Different pins of a MCU perform different functions. For our I/O needs, some pins are available in a collective form called PORTS. A port means a collection of Pins. Generally, in an 8 bit MCU, each port consists of 8 pins.<br>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKCrzx26-ImiA3CSo9VYEWNSGe0rJIBfPFYm30otgVlGx03YsTr5A_Gou6UpjIKLkU4Jv5SNOAxNgwBkgrqdT28AWlyjCS3cLF2DDOTKABqTESYZJq9-2bl5mCemxBw2AYTOf3lGGqOJq2/s1600/portcableanalog.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKCrzx26-ImiA3CSo9VYEWNSGe0rJIBfPFYm30otgVlGx03YsTr5A_Gou6UpjIKLkU4Jv5SNOAxNgwBkgrqdT28AWlyjCS3cLF2DDOTKABqTESYZJq9-2bl5mCemxBw2AYTOf3lGGqOJq2/s320/portcableanalog.png" width="302"></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Fig: Cable and Port Analogy</td><td class="tr-caption" style="text-align: center;"><br></td><td class="tr-caption" style="text-align: center;"><br></td></tr>
</tbody></table>
Here is an analogy for you between a cable consisting of several lines and a port that consists of several pins.<br>
<br>
<a href="http://lalonsmicro.blogspot.com/2011/10/chapter-8-avr-io.html#more">Read more »</a>Tanvir Ferdousihttp://www.blogger.com/profile/03903693867297865947noreply@blogger.com1tag:blogger.com,1999:blog-6025421110034787979.post-29349860637929779552011-10-05T15:30:00.000+06:002011-10-06T11:46:53.491+06:00Chapter 7: Programming with the USB Programmer<div style="font-family: "Trebuchet MS",sans-serif;">
<div style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;">
<img alt="" src="data:image/png;base64,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"><span style="font-size: small;"> </span></div>
<span style="font-size: small;">We have used Pony Prog for programming using the Serial/Parallel ISP Cables. Pony Prog does not support any USB programmer. So, we need to look for alternate software. One of them is AVRDUDE. It is a command line based programmer. Writing command lines is annoying for most of us .There are Graphical User Interface (GUI) based programmers available. They are quite good too.</span><br>
<br>
<span style="font-size: small;">I will discuss about AVR8 Burn-O-Mat; so far the best one in my judgement. Before you use that, you should practice a few AVRDUDE commands which will give you some insight on accessing usbasp and the target devices. In fact, AVR8 Burn-O-Mat employs AVRDUDE for its programming tasks. Lets get started with AVRDUDE.</span></div>
<div style="font-family: "Trebuchet MS",sans-serif;">
<div style="font-family: "Trebuchet MS",sans-serif;">
<span style="font-size: small;"></span><br>
</div></div><a href="http://lalonsmicro.blogspot.com/2011/10/chapter-7-programming-with-usb.html#more">Read more »</a>Tanvir Ferdousihttp://www.blogger.com/profile/03903693867297865947noreply@blogger.com3tag:blogger.com,1999:blog-6025421110034787979.post-16178344962785896432011-10-03T21:59:00.000+06:002011-10-05T15:35:29.735+06:00Chapter 6: Making your own USB Programmer<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: left; margin-right: 1em; text-align: left;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvT7Pfghyphenhyphent_Ykt3HH98KVPP2aojgMf6HUZswYOgEScEJ-uYnossooHAI9MOJ415Ntj721L0dCf8Ry18EGQDb73JCY0YxcVoHAACMFpMRBhL9UE_w-E0UWt7xaC5HUjP6pwc3wrHMiM8nrc/s1600/pcbcomplete.JPG" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvT7Pfghyphenhyphent_Ykt3HH98KVPP2aojgMf6HUZswYOgEScEJ-uYnossooHAI9MOJ415Ntj721L0dCf8Ry18EGQDb73JCY0YxcVoHAACMFpMRBhL9UE_w-E0UWt7xaC5HUjP6pwc3wrHMiM8nrc/s400/pcbcomplete.JPG" width="400"></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Fig: USB In System Programmer for AVR</td></tr>
</tbody></table>
<span style="font-family: "Trebuchet MS",sans-serif; font-size: small;">Programming the microcontroller with parallel or serial port
programmers seems to be a tedious task. Especially for those using laptops,
there is no way out. These ports are extinct now a days. So, USB remains as the only option. I am going to demonstrate the process of building, configuring and installing a USB programmer. It is easy to build and the required components are widely available. </span><br>
<br>
<div class="MsoNormal">
<span style="font-size: large;"><span style="font-family: "Trebuchet MS",sans-serif;">The Circuit</span></span></div>
<div class="MsoNormal">
<span style="font-size: small;"><span style="font-family: "Trebuchet MS",sans-serif;">The original creation was by Thomas Fischl. To know more, you can visit </span><a href="http://www.fischl.de/usbasp/" style="font-family: "Trebuchet MS",sans-serif;">his site</a><span style="font-family: "Trebuchet MS",sans-serif;">. </span></span></div>
<span style="font-size: small;"><span style="font-family: "Trebuchet MS",sans-serif;">
</span><span style="font-family: "Trebuchet MS",sans-serif;">I have done a few</span></span><span style="font-size: small;"><span style="font-family: "Trebuchet MS",sans-serif;"> modifications </span></span><span style="font-size: small;"><span style="font-family: "Trebuchet MS",sans-serif;">of the</span></span><span style="font-size: small;"><span style="font-family: "Trebuchet MS",sans-serif;"> original</span></span><span style="font-size: small;"><span style="font-family: "Trebuchet MS",sans-serif;"> to make it simpler
to implement.</span></span><br>
<a href="http://lalonsmicro.blogspot.com/2011/10/making-your-own-usb-programmer.html#more">Read more »</a>Tanvir Ferdousihttp://www.blogger.com/profile/03903693867297865947noreply@blogger.com20tag:blogger.com,1999:blog-6025421110034787979.post-76873032043184354992011-04-27T22:13:00.008+06:002011-10-22T01:54:03.498+06:00Chapter 5: Programming the AVR<m:smallfrac m:val="off"> <m:dispdef> <m:lmargin m:val="0"> <m:rmargin m:val="0"> <m:defjc m:val="centerGroup"> <m:wrapindent m:val="1440"> <m:intlim m:val="subSup"> <m:narylim m:val="undOvr"> </m:narylim></m:intlim> </m:wrapindent> </m:defjc></m:rmargin></m:lmargin></m:dispdef></m:smallfrac><br>
<div class="MsoNormal" style="font-family: "Trebuchet MS",sans-serif;">
<div class="separator" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;">
<img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjffrolcoajFzKNrKzOSjOAj84OKtJLlSoG-aNMH6zxqaX9MJX5JOUYGOn9VsCTEaFzjQYJZanmJHc75DyAfEQYvob1XvAwfIynOmtT49uLDa-pj5ts4TcCItfosrz4P4gxCVa7sXat8VWD/s320/binary.jpg" width="320"></div>
<span style="font-size: small;"><span style="line-height: 115%;">As we progress with our mission to deal with Microcontrollers, its time that we really start programming it. I have shown you how to construct an ISP Cable. Its time to test it. We will implement and test our system in a breadboard.</span></span><br>
<br>
<span style="font-size: small;"><span style="line-height: 115%;">We will need a power supply for the digital circuits. We know a digital circuit runs from either 3.33V or 5V of supply. We will be commonly using 5V logic. So we need a 5V power supply capable of feeding all the devices we might run.</span></span><br>
</div><a href="http://lalonsmicro.blogspot.com/2011/04/chapter-5-programming-avr.html#more">Read more »</a>Tanvir Ferdousihttp://www.blogger.com/profile/03903693867297865947noreply@blogger.com7tag:blogger.com,1999:blog-6025421110034787979.post-28784449805879344352011-03-23T20:06:00.019+06:002011-10-15T15:10:13.315+06:00Chapter 4: Making Your Own Programmer<div class="MsoNormal" style="font-family: "Trebuchet MS",sans-serif;">
</div>
<div class="MsoNormal" style="font-family: "Trebuchet MS",sans-serif;">
<span style="font-size: small;">We have already explored some theory. We can't wait to start building embedded projects. I discussed the embedded system development process in chapter 2. Programming a Microcontroller requires some hardware & some software. The upcoming chapters will cover the following two parts,</span><br>
<ul style="font-family: 'Times New Roman';">
<li style="font-family: 'Trebuchet MS',sans-serif;"><span style="font-size: small;">Setting up your Hardware</span></li>
<li><span style="font-size: small;"><span style="font-family: 'Trebuchet MS',sans-serif;">Setting up your Software</span></span></li>
</ul>
<span style="font-size: small;">We will need a computer. We will devise an interface that will connect our Programmable Device to the PC.</span></div>
<span style="font-size: small;"><span style="font-family: 'Trebuchet MS',sans-serif;">Firstly, we will set up our hardware. The AVRs support In System Programming. I will give you some idea about it. This chapter will exclusively deal with In System Programming.</span></span><br>
<br>
<br>
<br>
<span style="font-size: small;"><span style="font-family: 'Trebuchet MS',sans-serif;"></span></span><br>
<div class="MsoNormal" style="font-family: "Trebuchet MS",sans-serif;">
</div>
<div class="MsoNormal">
<span style="font-size: large;"><b><span style="font-family: 'Trebuchet MS',sans-serif; line-height: 115%;">In System Programming </span></b></span></div>
<div class="MsoNormal">
<span style="font-family: 'Trebuchet MS',sans-serif;">AVR Microcontrollers can be programmed in system. They support In System Programming (ISP). There is no need to remove the chip from the embedded system. It can be programmed or reprogrammed on the run.</span></div>
<div class="MsoNormal" style="font-family: "Trebuchet MS",sans-serif;">
<span style="font-size: small;"> </span> </div>
<div class="MsoNormal">
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuuDfEWSnExffttOvSWTzPj1T7Zo_Y2jnR7lZl4LqL9MThTPLY-YVF3ZlpGMxJQ6MK_7ehHZELHugGf3lmHgRBxH-HqbzrmrEoXRA0_4leZ5cclQSzuFSF-K9P8joSJUOHA0k96miiC3_2/s1600/isp_prog.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="166" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuuDfEWSnExffttOvSWTzPj1T7Zo_Y2jnR7lZl4LqL9MThTPLY-YVF3ZlpGMxJQ6MK_7ehHZELHugGf3lmHgRBxH-HqbzrmrEoXRA0_4leZ5cclQSzuFSF-K9P8joSJUOHA0k96miiC3_2/s400/isp_prog.JPG" width="400"></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Fig: In System Programming</td></tr>
</tbody></table>
<span style="font-size: small;"><span style="font-family: 'Trebuchet MS',sans-serif;">In many cases we will program the AVR before installing it in a permanent board. We may need to reconfigure or update the program. We will just need access to</span></span><br>
</div><a href="http://lalonsmicro.blogspot.com/2011/03/chapter-4-making-your-own-programmer.html#more">Read more »</a>Tanvir Ferdousihttp://www.blogger.com/profile/03903693867297865947noreply@blogger.com2tag:blogger.com,1999:blog-6025421110034787979.post-63391629782835434992011-02-27T16:22:00.014+06:002011-10-15T15:09:00.450+06:00Chapter 3: The features of a microcontroller<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<span style="font-family: "Trebuchet MS",sans-serif; font-size: small;">What are the features that a microcontroller have? We know, a uC is a small computer which has almost everything built in a single chip. In this chapter we will learn about some of them by exploring a sample MCU.</span><span style="font-family: "Trebuchet MS",sans-serif;"> As we are going to use AVR microcontrollers, we will explore a general purpose model of AVR, named ATmega8.</span><br>
<m:smallfrac m:val="off"> <m:dispdef> <m:lmargin m:val="0"> <m:rmargin m:val="0"> <m:defjc m:val="centerGroup"> <m:wrapindent m:val="1440"> <m:intlim m:val="subSup"> <m:narylim m:val="undOvr"> </m:narylim></m:intlim> </m:wrapindent> </m:defjc></m:rmargin></m:lmargin></m:dispdef></m:smallfrac><br>
<div class="MsoNormal" style="font-family: "Trebuchet MS",sans-serif;">
<b></b></div>
<div class="MsoNormal" style="font-family: "Trebuchet MS",sans-serif;">
<b></b></div>
<div class="MsoNormal" style="font-family: "Trebuchet MS",sans-serif;">
<br></div>
<div class="MsoNormal" style="font-family: "Trebuchet MS",sans-serif;">
<br></div>
<div class="MsoNormal" style="font-family: "Trebuchet MS",sans-serif;">
<span style="font-size: large;"><b><span style="line-height: 115%;">A brief History</span></b></span><br>
<span style="font-size: small;"><span style="font-family: "Trebuchet MS",sans-serif;">I will tell you some history now. Intel (Integrated Electronics) developed its first microprocessor chip 4004 in 1971 which was 4 bit. Intel opened the 8 bit market in 1974 when they released 8008 and 8080. During that time Motorola released its first one, 6800 which was also 8 bit.</span></span></div>
<div class="MsoNormal" style="font-family: "Trebuchet MS",sans-serif;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLvEUcp-48SGdOVzHBlTMCpgSddXhGiQuBnIjfYAaAvB5sNLmo433fXlJi-eO-mx-cCy8BB2kSaqqDLCrDaaLoMspDAx6gxInVe2W8nq9b2v68N-VjFBMUZtK7U1NH6Zc0VuYR2OEKTy-h/s1600/abacus3.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLvEUcp-48SGdOVzHBlTMCpgSddXhGiQuBnIjfYAaAvB5sNLmo433fXlJi-eO-mx-cCy8BB2kSaqqDLCrDaaLoMspDAx6gxInVe2W8nq9b2v68N-VjFBMUZtK7U1NH6Zc0VuYR2OEKTy-h/s1600/abacus3.jpg"></a><span style="font-size: small;">Intel Corporation introduced 8051 series MCU in 1981. It was built according to the Harvard Architecture. It is referred to as the MCS-51 series. Many different vendors use this MCS-51 architecture originally developed by Intel.</span><br>
<span style="font-size: small;"> </span><br>
<span style="font-size: small;">Atmel Corporation introduced its first 8 bit Flash based microcontroller in 1994 which was a MCS-51 derivative. In 1996 Atmel released 8 bit AVR RISC microcontroller for the first time. Two students at the Norwegian Institute of Technology (NTH), Alf-Egil Bogen and Vegard Wollan conceived AVR which follows the Modified Harvard Architecture<b>.</b></span></div>
<div class="MsoNormal" style="font-family: "Trebuchet MS",sans-serif;">
<div style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;">
<br>
<span style="font-size: small;">What does the term AVR stands for is not mentioned clearly. Many people think <b>AVR</b> stands for <b>A</b>lf <b>V</b>egard <b>R</b>ISC. From now on we will use </span><span style="font-size: small;">the term AVR to refer to Atmel’s 8 bit AVR microcontrollers.</span></div>
</div>
<div class="MsoNormal" style="font-family: "Trebuchet MS",sans-serif;">
<m:smallfrac m:val="off"> <m:dispdef> <m:lmargin m:val="0"> <m:rmargin m:val="0"> <m:defjc m:val="centerGroup"> <m:wrapindent m:val="1440"> <m:intlim m:val="subSup"> <m:narylim m:val="undOvr"> </m:narylim></m:intlim> </m:wrapindent> </m:defjc></m:rmargin></m:lmargin></m:dispdef></m:smallfrac></div>
<div class="MsoNormal" style="font-family: "Trebuchet MS",sans-serif;">
<br>
<span style="font-size: small;">Microchip Technology has a popular series of uCs called PIC. If you want to know more about PICs, you can visit the <a href="http://www.microchip.com/">Microchip Website</a>.</span></div>
<div class="MsoNormal" style="font-family: "Trebuchet MS",sans-serif;">
<br>
<br></div>
<div class="MsoNormal" style="font-family: "Trebuchet MS",sans-serif;">
<m:smallfrac m:val="off"> <m:dispdef> <m:lmargin m:val="0"> <m:rmargin m:val="0"> <m:defjc m:val="centerGroup"> <m:wrapindent m:val="1440"> <m:intlim m:val="subSup"> <m:narylim m:val="undOvr"> </m:narylim></m:intlim> </m:wrapindent> </m:defjc></m:rmargin></m:lmargin></m:dispdef></m:smallfrac></div>
<cite></cite><cite><span style="font-style: normal;"></span></cite> <br>
<div class="MsoNormal" style="font-family: "Trebuchet MS",sans-serif;">
<m:smallfrac m:val="off"> <m:dispdef> <m:lmargin m:val="0"> <m:rmargin m:val="0"> <m:defjc m:val="centerGroup"> <m:wrapindent m:val="1440"> <m:intlim m:val="subSup"> <m:narylim m:val="undOvr"> </m:narylim></m:intlim> </m:wrapindent> </m:defjc></m:rmargin></m:lmargin></m:dispdef></m:smallfrac></div>
<div class="MsoNormal">
<b><span style="font-size: large;"><span style="font-family: "Trebuchet MS","sans-serif"; line-height: 115%;">The Architecture of AVR</span></span></b></div>
<div class="MsoNormal">
<span style="font-size: small;"><span style="font-family: "Trebuchet MS","sans-serif";">The term <b>RISC </b>stands for <b>R</b>educed <b>I</b>nstruction <b>S</b>et <b>C</b>omputing. The RISC processors are designed to run faster and provide better performance by using a reduced number of instructions. </span></span><br>
</div><a href="http://lalonsmicro.blogspot.com/2011/02/chapter-3-features-of-microcontroller.html#more">Read more »</a>Tanvir Ferdousihttp://www.blogger.com/profile/03903693867297865947noreply@blogger.com0tag:blogger.com,1999:blog-6025421110034787979.post-52504009119457871362011-02-21T02:07:00.009+06:002011-10-15T15:08:10.451+06:00Chapter 2: Embedded Systems<div style="color: black; font-family: "Trebuchet MS",sans-serif;">
<div class="separator" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center;">
<img border="0" height="209" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMHMWy9cOxKkd6073F80tp7Kw3SClkkm3IJwZF8qaTd0ck75FHd2m05FaTsYt_i8ktCTT7jXh5jObmc_uGGT0EvavtFnUeexPRU_TEKWoYrdRQ65UolRKbbQhnDwelDUTJ1vYEmKEAOqVW/s320/aaa.bmp" width="320"></div>
<span style="font-size: large;"><b>What is an Embedded System?</b></span></div>
<div style="color: black; font-family: "Trebuchet MS",sans-serif;">
<span style="font-size: small;">You may commonly encounter a term "Embedded System". Simply we can say, we use microcontrollers to build Embedded Systems. We will embed a MCU in a system which will perform our desired operation. Starting from digital watches and mp3 players up to traffic system controllers and Nuclear reactor controller</span><span style="font-size: small;">s all are embedded systems. We already mentioned that the devices or the systems which require a computing brain can be implemented using microcontrollers.</span></div>
<br>
<br>
<span style="font-size: large;"><span style="font-family: 'Trebuchet MS',sans-serif;"><b>The Steps to Build an Embedded System</b></span></span><br>
<span style="font-size: large;"><span style="font-family: 'Trebuchet MS',sans-serif;"><span style="font-size: small;">Now we know the basics of a computer system. We can start designing our own embedded systems. The beauty of this work is that you can design</span></span></span><br>
<a href="http://lalonsmicro.blogspot.com/2011/02/chapter-2-embedded-systems_21.html#more">Read more »</a>Tanvir Ferdousihttp://www.blogger.com/profile/03903693867297865947noreply@blogger.com3tag:blogger.com,1999:blog-6025421110034787979.post-10623013649818658902011-02-12T01:01:00.022+06:002011-10-15T15:04:51.436+06:00Chapter 1: The Basics<m:smallfrac m:val="off"> <m:dispdef> <m:lmargin m:val="0"> <m:rmargin m:val="0"> <m:defjc m:val="centerGroup"> <m:wrapindent m:val="1440"> <m:intlim m:val="subSup"> <m:narylim m:val="undOvr"> </m:narylim></m:intlim> </m:wrapindent> </m:defjc></m:rmargin></m:lmargin></m:dispdef></m:smallfrac><br>
<m:smallfrac m:val="off"> <m:dispdef> <m:lmargin m:val="0"> <m:rmargin m:val="0"> <m:defjc m:val="centerGroup"> <m:wrapindent m:val="1440"> <m:intlim m:val="subSup"> <m:narylim m:val="undOvr"> </m:narylim></m:intlim> </m:wrapindent> </m:defjc></m:rmargin></m:lmargin></m:dispdef></m:smallfrac><br>
<div style="font-family: "Trebuchet MS",sans-serif;">
<span style="font-size: large;"><b><span style="line-height: 115%;">What is a Microcontroller?</span></b></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE662_IG3xEbIdYc0waVXJHo-caoYv77ziPOiKVL4Ou4coinPHguXHRrZtOemzoMTdV37QvG6_9EYiMxbdIel93_tWYzkPJz6wTOLStXxNI4HDIeGg1PCnyWGd8WSuKtniDoLKFlqoMtCp/s1600/assd.JPG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE662_IG3xEbIdYc0waVXJHo-caoYv77ziPOiKVL4Ou4coinPHguXHRrZtOemzoMTdV37QvG6_9EYiMxbdIel93_tWYzkPJz6wTOLStXxNI4HDIeGg1PCnyWGd8WSuKtniDoLKFlqoMtCp/s400/assd.JPG" width="400"></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div style="font-family: "Trebuchet MS",sans-serif;">
<span style="font-size: small;">The obvious question should be answered first. The word microcontroller is similar to the word microprocessor which is the core of modern computers. </span></div>
<div style="font-family: "Trebuchet MS",sans-serif;">
<m:smallfrac m:val="off"> <m:dispdef> <m:lmargin m:val="0"> <m:rmargin m:val="0"> <m:defjc m:val="centerGroup"> <m:wrapindent m:val="1440"> <m:intlim m:val="subSup"> <m:narylim m:val="undOvr"> </m:narylim></m:intlim> </m:wrapindent> </m:defjc></m:rmargin></m:lmargin></m:dispdef></m:smallfrac></div>
<div style="font-family: "Trebuchet MS",sans-serif;">
<m:smallfrac m:val="off"> <m:dispdef> <m:lmargin m:val="0"> <m:rmargin m:val="0"> <m:defjc m:val="centerGroup"> <m:wrapindent m:val="1440"> <m:intlim m:val="subSup"> <m:narylim m:val="undOvr"> </m:narylim></m:intlim> </m:wrapindent> <m:smallfrac m:val="off"> <m:dispdef> <m:lmargin m:val="0"> <m:rmargin m:val="0"> <m:defjc m:val="centerGroup"> <m:wrapindent m:val="1440"> <m:intlim m:val="subSup"> <m:narylim m:val="undOvr"> </m:narylim></m:intlim> </m:wrapindent> </m:defjc></m:rmargin></m:lmargin></m:dispdef></m:smallfrac></m:defjc></m:rmargin></m:lmargin></m:dispdef></m:smallfrac></div>
<div class="MsoNormal" style="font-family: "Trebuchet MS",sans-serif;">
<br></div>
<div class="MsoNormal" style="font-family: "Trebuchet MS",sans-serif;">
<span style="font-size: small;">Micro means something very small or tiny. The integrated circuits are fabricated in very small chips which have made our modern computers smaller.</span></div>
<div class="MsoNormal" style="font-family: "Trebuchet MS",sans-serif;">
<br></div>
<div class="MsoNormal" style="font-family: inherit;">
<div style="font-family: "Trebuchet MS",sans-serif;">
<span style="font-size: small;">Controller means something which has the ability to control. For example, deciding how much amount of heat to maintain in a microwave oven when it is set to run on auto cook modes or a worker robot which has to decide which box to put in which truck.</span></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><img border="0" height="244" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJh8K9YWa98z0r10PxbIsuLDBWd2PLITe4hb38EahJZsX0lz2mSj3IbXe5FrcC-LWsoZ-nYtkUprHid4TNckJyiSsK_MMJHF33k2Foki0cB8FYgSvPeDm10DLjNWMW9q5dg1PNTvwMvUm3/s320/Wall-E+and+Eve.jpg" style="margin-left: auto; margin-right: auto;" width="320"></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Figure: Two robot characters in the movie Wall E by Pixer Animation Studios.</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; font-family: "Courier New",Courier,monospace; text-align: left;">
<m:smallfrac m:val="off"> <m:dispdef> <m:lmargin m:val="0"> <m:rmargin m:val="0"> <m:defjc m:val="centerGroup"> <m:wrapindent m:val="1440"> <m:intlim m:val="subSup"> <m:narylim m:val="undOvr"> </m:narylim></m:intlim> </m:wrapindent> <m:smallfrac m:val="off"> <m:dispdef> <m:lmargin m:val="0"> <m:rmargin m:val="0"> <m:defjc m:val="centerGroup"> <m:wrapindent m:val="1440"> <m:intlim m:val="subSup"> <m:narylim m:val="undOvr"> </m:narylim></m:intlim> </m:wrapindent><span style="font-family: Calibri,sans-serif; font-size: 11pt; line-height: 115%;"><span style="font-family: Times,'Times New Roman',serif;"><span style="font-size: small;"><span style="font-family: 'Trebuchet MS',sans-serif;">Both the oven and the robot need some sort of thing which can make these decisions for them. Otherwise both of them are going to be useless. Another example can be a cell phone. It shows its battery level, warns us if the battery is low. When the charge is full, it tells us to</span></span></span></span></m:defjc></m:rmargin></m:lmargin></m:dispdef></m:smallfrac></m:defjc></m:rmargin></m:lmargin></m:dispdef></m:smallfrac></div>
</div><a href="http://lalonsmicro.blogspot.com/2011/02/module-1-basics.html#more">Read more »</a>Tanvir Ferdousihttp://www.blogger.com/profile/03903693867297865947noreply@blogger.com4tag:blogger.com,1999:blog-6025421110034787979.post-87374027306790629482011-02-11T20:24:00.002+06:002011-10-04T10:31:43.534+06:00Introduction<m:smallfrac m:val="off"> <m:dispdef> <m:lmargin m:val="0"> <m:rmargin m:val="0"> <m:defjc m:val="centerGroup"> <m:wrapindent m:val="1440"> <m:intlim m:val="subSup"> <m:narylim m:val="undOvr"> </m:narylim></m:intlim> </m:wrapindent> </m:defjc></m:rmargin></m:lmargin></m:dispdef></m:smallfrac><br>
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1j-J5ZhGoekwHJGk6sxHdyuiox8Aq43Hkf10cF8p9Yh73bpjgvcko_I71bm4QaKxGwuRdI4OFG336C2yOQkOCnoK5d4e0dKYqa2ZB4fokC6RqYXYUYA6QANSDodaaE7fTN55tW62YrkQJ/s1600/IMG_2219.JPG" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"><img border="0" height="188" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1j-J5ZhGoekwHJGk6sxHdyuiox8Aq43Hkf10cF8p9Yh73bpjgvcko_I71bm4QaKxGwuRdI4OFG336C2yOQkOCnoK5d4e0dKYqa2ZB4fokC6RqYXYUYA6QANSDodaaE7fTN55tW62YrkQJ/s320/IMG_2219.JPG" width="320"></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">A Microprocessor in a Motherboard</td></tr>
</tbody></table>
<div class="MsoNormal" style="text-align: left;">
<span style="font-size: small;">Dear Readers, welcome to my Microcontroller blog. I am a student of Electrical & Electronic Engineering at BUET. My intention here is to provide the basic concepts of Microcontrollers and a Beginners tutorial on how to program and use it. I am not a pro on this but I will try to help you out on the first steps. Only a few blogs or a few tutorials can’t teach you everything because</span><br>
</div><a href="http://lalonsmicro.blogspot.com/2011/02/introduction.html#more">Read more »</a>Tanvir Ferdousihttp://www.blogger.com/profile/03903693867297865947noreply@blogger.com0