<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-3394238340781730306</atom:id><lastBuildDate>Sat, 19 Oct 2024 16:49:36 +0000</lastBuildDate><title>Microcontroller Programming</title><description>How to Program an 8-bit Microcontroller&#xa;Using C language,the implementation for avr Microcontroller</description><link>http://avrmicrocontroller.blogspot.com/</link><managingEditor>noreply@blogger.com (Unknown)</managingEditor><generator>Blogger</generator><openSearch:totalResults>11</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3394238340781730306.post-2374603670988097254</guid><pubDate>Tue, 27 Oct 2009 04:26:00 +0000</pubDate><atom:updated>2009-10-26T21:41:11.827-07:00</atom:updated><title>USB Keyboard by Microcontroller with Embedded Hub Circuit</title><description>The Atmel sample version of the AT43USB326 contains firmware&lt;br /&gt;that supports customization of the Vendor ID, Product ID,&lt;br /&gt;String Descriptor and the keyboard matrix. This information&lt;br /&gt;is stored in an external AT24C02A serial EEPROM.&lt;br /&gt;&lt;div class=&quot;fullpost&quot;&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyKJwxMkU7Q1hROaDk3kMDbUdOAkJsW5zuwNE-7e1UgJk2FPqBiZ4MitsYmUQUpDb7W7RP2_gZfq4Xl11XYQyn4yOPcDoWTXu1Ud53cXY3MbjvYuKja4MjLajy32MkGdqTLR3_Q0MczjkI/s1600-h/keyboard+with+an+embedded+hub+and+its+BOM.JPG&quot;&gt;&lt;img style=&quot;display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 270px; height: 320px;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyKJwxMkU7Q1hROaDk3kMDbUdOAkJsW5zuwNE-7e1UgJk2FPqBiZ4MitsYmUQUpDb7W7RP2_gZfq4Xl11XYQyn4yOPcDoWTXu1Ud53cXY3MbjvYuKja4MjLajy32MkGdqTLR3_Q0MczjkI/s320/keyboard+with+an+embedded+hub+and+its+BOM.JPG&quot; border=&quot;0&quot; alt=&quot;&quot;id=&quot;BLOGGER_PHOTO_ID_5397134906793771826&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The Atmel AT43USB326 is an 8-bit microcontroller based on the&lt;br /&gt;AVR RISC architecture. By executing powerful instructions in&lt;br /&gt;a single clock cycle, the AT43USB326 achieves throughputs&lt;br /&gt;approaching 12 MIPS. The AVR core combines a rich instruction&lt;br /&gt;set with 32 general-purpose working registers. All 32 registers&lt;br /&gt;are directly connected to the ALU allowing two independent&lt;br /&gt;registers to be accessed in one single instruction executed in&lt;br /&gt;one clock cycle. The resulting architecture is more code efficient&lt;br /&gt;while achieving throughputs up to ten times faster than&lt;br /&gt;conventional CISC microcontrollers.&lt;br /&gt;&lt;br /&gt;Features&lt;br /&gt;• AVR® 8-bit RISC Microcontroller with 83 ns Instruction Cycle Time&lt;br /&gt;• USB Hub with One Attached and Two External Ports&lt;br /&gt;• USB Keyboard Function with Three Programmable Endpoints&lt;br /&gt;• 16 KB Program Memory, 512 Bytes Data SRAM&lt;br /&gt;• 32 x 8 General-purpose Working Registers&lt;br /&gt;• 32 Programmable I/O Port Pins&lt;br /&gt;• Support for 18 x 8 Keyboard Matrix&lt;br /&gt;• Keyboard Scan Inputs with Pull-up Resistor&lt;br /&gt;• Four LED Driver Outputs&lt;br /&gt;• One 8-bit Timer/Counter with Separate Pre-scaler&lt;br /&gt;• External and Internal Interrupt Sources&lt;br /&gt;• Programmable Watchdog Timer&lt;br /&gt;• 6 MHz Oscillator with On-chip PLL&lt;br /&gt;• 5V Operation with On-chip 3.3V Power Supply&lt;br /&gt;• 48-lead LQFP Package&lt;br /&gt;&lt;br /&gt;http://www.atmel.com/dyn/resources/prod_documents/doc3313.pdf&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</description><link>http://avrmicrocontroller.blogspot.com/2009/10/usb-keyboard-by-microcontroller-with.html</link><author>noreply@blogger.com (Unknown)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyKJwxMkU7Q1hROaDk3kMDbUdOAkJsW5zuwNE-7e1UgJk2FPqBiZ4MitsYmUQUpDb7W7RP2_gZfq4Xl11XYQyn4yOPcDoWTXu1Ud53cXY3MbjvYuKja4MjLajy32MkGdqTLR3_Q0MczjkI/s72-c/keyboard+with+an+embedded+hub+and+its+BOM.JPG" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3394238340781730306.post-8315440838702529495</guid><pubDate>Wed, 08 Apr 2009 07:17:00 +0000</pubDate><atom:updated>2009-04-08T00:19:33.113-07:00</atom:updated><title>Programming the AVR microcontroller with GCC</title><description>The AVR 8-Bit RISC microcontroller from Atmel is a very common microcontroller. This microcontroller is one chip with EEPROM, Ram, Analog to Digital converter, a lot of digital input and output lines, timers, UART for RS 232 communication and many other things.&lt;br /&gt;The best is however that a complete programming environment is available under Linux: You can program this microcontroller in C using GCC.  &lt;br /&gt;&lt;div class=&quot;fullpost&quot;&gt;&lt;br /&gt;A lot of things have changed in the avr-libc development and the AT90S4433 microcontroller which I used in 2002 is no longer manufactured by Atmel. This is therefore an update of the March 2002 article. I will use libc-1.0.4 and the ATmega8 microcontroller.&lt;br /&gt;&lt;br /&gt;This article shall be only an introduction and in a later series of articles we will again build interesting hardware but this time based on the ATmega8.&lt;br /&gt;Many people where interested in microcontroller programming after the article which I wrote in 2002. However this first step to get the development environment up and running is the hardest. If something does not work then you have absolutely no clue where the fault is. Programmer cable wrong?? Circuit faulty? Installation incorrect? Parallelport disabled in bios? Kernel modules for ppdev compiled wrong? There can be a lot of reasons why things don&#39;t work&lt;br /&gt;&lt;/div&gt;</description><link>http://avrmicrocontroller.blogspot.com/2009/04/programming-avr-microcontroller-with.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3394238340781730306.post-814090806386008932</guid><pubDate>Tue, 05 Aug 2008 03:26:00 +0000</pubDate><atom:updated>2008-08-04T20:28:26.389-07:00</atom:updated><title>What is a PICmicro?</title><description>The PICmicro was originally designed around 1980 by General Instrument as a small, fast, inexpensive embedded microcontroller with strong I/O capabilities.  PIC stands for &quot;Peripheral Interface Controller&quot;.  General Instrument recognized the potential for the little PIC and eventually spun off Microchip, headquartered in Chandler, AZ to fabricate and market the PICmicro.&lt;br /&gt;&lt;div class=&quot;fullpost&quot;&gt;&lt;br /&gt;The PICmicro has some advantages in many applications over the older chips such as the Intel 8048/8051/8052 and its derivatives, the Motorola MC6805/6hHC11, and many others.   Its unusual architecture is ideally suited for embedded control.  Nearly all instructions execute in the same number of clock cycles, which makes timing control much easier.  The PICmicro is a RISC (Reduced Instruction Set Computer) design, with only thirty-odd instructions to  remember; its code is extremely efficient, allowing the PIC to run with typically less program memory than its larger competitors.&lt;br /&gt;&lt;br /&gt;Very important, though, is the low cost, high available clock speeds, small size, and incredible ease of use of the tiny PIC.  For timing-insensitive designs, the oscillator can consist of a cheap RC network.  Clock speeds can range from low speed to 20MHz.  Versions of the various PICmicro families are available that are equipped with various combinations ROM, EPROM, OTP (One-Time Programmable) EPROM, EEPROM, and FLASH program and data memory.  An 18-pin PICmicro typically devotes 13 of those pins to I/O, giving the designer two full 8-bit I/O ports and an interrupt.  In many cases, designing with a PICmicro is much simpler and more efficient than using an older, larger embedded microprocessor.&lt;br /&gt;&lt;br /&gt;SOURCE FROM: botkin.org&lt;br /&gt;&lt;/div&gt;</description><link>http://avrmicrocontroller.blogspot.com/2008/08/what-is-picmicro.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3394238340781730306.post-2148878174175168370</guid><pubDate>Sat, 07 Jun 2008 09:01:00 +0000</pubDate><atom:updated>2008-06-07T02:04:03.142-07:00</atom:updated><title>PIC Microcontroller Introduction</title><description>A PIC microcontroller is a processor with built in memory and RAM and you can use it to control your projects (or build projects around it).  So it saves you building a circuit that has separate external RAM, ROM and peripheral chips.&lt;br /&gt;&lt;div class=&quot;fullpost&quot;&gt;&lt;br /&gt;What this really means for you is that you have a very  powerful device that has many useful built in modules e.g.&lt;br /&gt;&lt;br /&gt;    * EEPROM.&lt;br /&gt;    * Timers.&lt;br /&gt;    * Analogue comparators.&lt;br /&gt;    * UART.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Even with just these four modules (note these are just example modules - there are more) you can make up many projects e.g.:&lt;br /&gt;&lt;br /&gt;* Frequency counter - using the internal timers and reporting through UART (RS232) or output to LCD.&lt;br /&gt;&lt;br /&gt;* Capacitance meter - analogue comparator oscillator.&lt;br /&gt;&lt;br /&gt;* Event timer - using internal timers.&lt;br /&gt;&lt;br /&gt;* Event data logger -capturing analogue data using an internal ADC and using the internal EEPROM for storing data (using an external I2C for high data storage capacity.&lt;br /&gt;&lt;br /&gt;* Servo controller (Control through UART) - using the internal PWM module or using a software created PWM.&lt;br /&gt;&lt;br /&gt;The PIC Micro is one of the most popular microcontrollers and in case you were wondering the difference between a microprocessor and a microcontroller is that a microcontroller has an internal bus with in built memory and peripherals.&lt;br /&gt;&lt;br /&gt;In fact the 8 pin (DIL) version of the 12F675 has an amazing number of internal peripherals. These are:&lt;br /&gt;&lt;br /&gt;    * Two timers.&lt;br /&gt;    * One 10bit ADC with 4 selectable inputs.&lt;br /&gt;    * An internal oscillator (or you can use an external crystal).&lt;br /&gt;    * An analogue comparator.&lt;br /&gt;    * 1024 words of program memory.&lt;br /&gt;    * 64 Bytes of RAM.&lt;br /&gt;    * 128 Bytes of EEPROM memory.&lt;br /&gt;    * External interrupt (as well as interrupts from internal peripherals).&lt;br /&gt;    * External crystal can go up to 20MHz.&lt;br /&gt;    * ICSP : PIC standard programming interface.&lt;br /&gt;&lt;br /&gt;And all of these work from within an 8 pin DIL package!&lt;br /&gt;&lt;br /&gt;In the mid-range devices the memory space ranges from 1k to 8k (18F parts have more) - this does not sound like a lot but the processor has an efficient instruction set and you can make useful projects even with 1k e.g. LM35 temperature sensing project that reports data to the serial port easily fits within 1k.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Features&lt;/span&gt;&lt;br /&gt;In fact a PIC microcontroller is an amazingly powerful fully featured processor with internal RAM, EEROM FLASH memory and peripherals.  One of the smallest ones occupies the space of a 555 timer but has a 10bit ADC, 1k of memory, 2 timers, high current I/O ports a comparator a watch dog timer... I could go on as there is more!&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Programming&lt;/span&gt;&lt;br /&gt;One of the most useful features of a PIC microcontroller is that you can re-program them as they use flash memory (if you choose a part with an F in the part number e.g. 12F675 not 12C509). You can also use the ICSP serial interface built into each PIC Microcontroller for programming and even do programming while it&#39;s still plugged into the circuit!&lt;br /&gt;&lt;br /&gt;You can either program a PIC microcontroller using assembler or a high level language and I recommend using a high level language such as C as it is much easier to use (after an initial learning curve).  Once you have learned the high level language you are not forced to use the same processor e.g. you could go to an AVR or Dallas microcontroller and still use the same high level language.&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Input / Output - I/O&lt;/span&gt;&lt;br /&gt;A PIC Microcontroller can control outputs and react to inputs e.g. you could drive a relay or read input buttons.&lt;br /&gt;&lt;br /&gt;With the larger devices it&#39;s possible to drive LCDs or seven segment displays with very few control lines as all the work is done inside the PIC Micro.&lt;br /&gt;&lt;br /&gt;Comparing a frequency counter to discrete web designs you&#39;ll find two or three chips for the microcontroller design and ten or more for a discrete design. So using them saves prototype design effort as you can use built in peripherals to take care of lots of the circuit operation.&lt;br /&gt;&lt;br /&gt;Many now have a built in ADC so you can read analogue signal levels so you don&#39;t need to add an external devices e.g. you can read an LM35 temperature sensor directly with no interface logic.&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Peripherals&lt;/span&gt;&lt;br /&gt;The PIC microcontroller has many built in peripherals and this can make using them quite daunting at first which is why I have made this introductory page with a summary of each major peripheral block.  &lt;br /&gt;&lt;br /&gt;At the end is a short summary of the main devices used in projects shown on this site.&lt;br /&gt;&lt;br /&gt;The best way to start is to learn about the main features of a chip and then begin to use each peripheral in a project.  I think learning by doing is the best way.&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Flash memory&lt;/span&gt;&lt;br /&gt;This is the program storage area and gives you the most important benefit for using a PIC microcontroller - You program the device many times. Since when does anyone get a program right first time ?&lt;br /&gt;&lt;br /&gt;Devices used in projects on this site can be re-programmed up to 100,000 times (probably more) as they use Flash memory - these have the letter F in the part name.  You can get cheaper (OTP) devices but these are One-Time-Programmable; once programmed you can&#39;t program it again!&lt;br /&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;ICSP&lt;/span&gt;&lt;br /&gt;In Circuit Serial Programming (ICSP) is the next most important benefit. Instead of transferring your chip from the programmer to the development board you just leave it in the board.  By arranging the programming connections to your circuit correctly you won&#39;t need to remove the chip!&lt;br /&gt;&lt;br /&gt;You can re-program the device while it&#39;s still in the circuit so once your programmer is setup you can leave it on the bench and test your programs without moving the chip around and it makes the whole process much easier.&lt;br /&gt;&lt;/div&gt;</description><link>http://avrmicrocontroller.blogspot.com/2008/06/pic-microcontroller-introduction.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3394238340781730306.post-8879847423015507015</guid><pubDate>Mon, 12 May 2008 04:34:00 +0000</pubDate><atom:updated>2008-05-11T21:38:34.116-07:00</atom:updated><title>Fuzzy Logic and Neural Networks</title><description>Fuzzy Logic and neural networks are two design methods that are&lt;br /&gt;coming into favor in embedded systems.  The two methods are very&lt;br /&gt;different from each other, from conception to implementation.&lt;br /&gt;However, the advantages and disadvantages of the two can complement&lt;br /&gt;each other.&lt;br /&gt;&lt;div class=&quot;fullpost&quot;&gt;&lt;br /&gt;The advantage of neural networks is that it is possible to design&lt;br /&gt;them without completely understanding the underlying logical rules by&lt;br /&gt;which they operate.  The neural network designer applies a set of&lt;br /&gt;inputs to the network and &quot;trains&quot; it to produce the required output.&lt;br /&gt;The inputs must represent the behavior of the system that is being&lt;br /&gt;programmed, and the outputs should match the desired result within&lt;br /&gt;some margin of error.  If the network&#39;s output does not agree with&lt;br /&gt;the desired result, the structure of the neural network is altered&lt;br /&gt;until it does.  After training it is assumed that the network will&lt;br /&gt;also produce the desired output, or something close to it, when it      &lt;br /&gt;presented with new and unknown data.&lt;br /&gt;&lt;br /&gt;In contrast, a fuzzy-logic system can be precisely described.  Before&lt;br /&gt;a fuzzy control system is designed, its desired logical operation&lt;br /&gt;must be analyzed and translated into fuzzy-logic rules.  This is   the&lt;br /&gt;step where neural networks technology can be helpful to the&lt;br /&gt;fuzzy-logic designer.  The designer can first train a software neural&lt;br /&gt;network to produce the desired output from a given set of inputs and&lt;br /&gt;outputs and then use a software tool to extract the underlying rules&lt;br /&gt;from the neural network.  The extracted rules are translated into&lt;br /&gt;fuzzy-logic rules.&lt;br /&gt;&lt;br /&gt;Fuzzy logic is not a complete design solution.  It supplements rather&lt;br /&gt;than replaces traditional event control and PID (proportional,&lt;br /&gt;integral, and derivate) control techniques.  Fuzzy logic relies on&lt;br /&gt;grade of membership and artifical intelligence techniques.  It works&lt;br /&gt;best when it is applied to non-linear systems with many inputs that&lt;br /&gt;cannot be easily expressed in either mathematical equations used for&lt;br /&gt;PID control or IF-THEN statements used for event control.&lt;br /&gt;&lt;br /&gt;In an effort to change fuzzy logic from a &quot;buzzword&quot; (as it is in&lt;br /&gt;most parts of the world) to a well established design method (as it&lt;br /&gt;is in Japan), most manufacturers of microcontrollers have introduced&lt;br /&gt;fuzzy logic software.  Most software generates code for specific&lt;br /&gt;microcontrollers, while other generates C code which can be compiled&lt;br /&gt;for any microcontroller.&lt;br /&gt;&lt;/div&gt;</description><link>http://avrmicrocontroller.blogspot.com/2008/05/fuzzy-logic-and-neural-networks.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3394238340781730306.post-1412393396022553681</guid><pubDate>Mon, 12 May 2008 04:32:00 +0000</pubDate><atom:updated>2008-05-11T21:34:07.793-07:00</atom:updated><title>Interpreters</title><description>An interpreter is a high level language translator that is closer to&lt;br /&gt;natural language.  The interpreter itself is a program that sits&lt;br /&gt;resident in the microcontroller.  It executes a program by reading&lt;br /&gt;each language statement one at a time and then doing what the&lt;br /&gt;statement says to do.  The two most popular interpreters for&lt;br /&gt;microcontrollers are BASIC and FORTH.&lt;br /&gt;&lt;div class=&quot;fullpost&quot;&gt;&lt;br /&gt;BASIC&#39;s popularity is due to its simplicity, readability, and of&lt;br /&gt;course just about everyone has at least played with BASIC at one time&lt;br /&gt;or another.  One common compaint about [interpreted] BASIC is that it&lt;br /&gt;is slow.  Often this can be solved by using a different technique for&lt;br /&gt;performing the desired task.  Other times it is just the price paid&lt;br /&gt;for using an interpreter.&lt;br /&gt;&lt;br /&gt;FORTH has a very loyal following due to its speed (approaching that&lt;br /&gt;of assembler language) and its incremental approach to building a&lt;br /&gt;system from reusable parts.  Many FORTH systems come with a host&lt;br /&gt;system which turns your desktop computer into a development system.&lt;br /&gt;FORTH can be quite difficult to write in (if you have no experience&lt;br /&gt;with it) and is probably even harder to read.  However, it is a very&lt;br /&gt;useful and productive language for control systems and robotics, and&lt;br /&gt;can be mastered in time.&lt;br /&gt;&lt;br /&gt;The nicest thing about developing a system with an interpreter is&lt;br /&gt;that you can build your program interactively.  You first write a&lt;br /&gt;small piece of code and then you can try it out immediately to see&lt;br /&gt;how it works.  When the results are satisfactory, you can then add&lt;br /&gt;additional components until the final product is achieved.&lt;br /&gt;&lt;/div&gt;</description><link>http://avrmicrocontroller.blogspot.com/2008/05/interpreters.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3394238340781730306.post-6148575398219939290</guid><pubDate>Mon, 28 Apr 2008 04:40:00 +0000</pubDate><atom:updated>2008-04-27T22:24:00.937-07:00</atom:updated><title>Compilers</title><description>A compiler is a high level language translator that combines the&lt;br /&gt;programming ease of an interpreter with greater speed.  This is&lt;br /&gt;accomplished by translating the program (on a host machine such as a&lt;br /&gt;desktop PC) directly into machine language.  The machine language&lt;br /&gt;program is then burned onto an EPROM or downloaded directly to the&lt;br /&gt;microcontroller.  The microcontroller then executes the translated&lt;br /&gt;program directly, without having to interpret first.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;fullpost&quot;&gt;&lt;br /&gt;The most popular microcontroller compilers are C and BASIC.  PL/M,&lt;br /&gt;from Intel, also has some popular support due to that company&#39;s&lt;br /&gt;extensive use of that language.&lt;br /&gt;&lt;br /&gt;Due to both its popularity and its slow speed, it was only logical&lt;br /&gt;that BASIC would appear as a compiled language.  A few companies&lt;br /&gt;supply a BASIC compiler for several of the more popular&lt;br /&gt;microcontrollers.  Execution speed is drastically increased over&lt;br /&gt;interpreted BASIC since the microcontroller is freed from the task of&lt;br /&gt;interpreting the statements as the program runs.&lt;br /&gt;&lt;br /&gt;While interpreted Forth approaches (and sometimes surpasses) the&lt;br /&gt;speed of many compilers, compiled Forth screams along.  Today there&lt;br /&gt;are many high performance optimizing native code Forth compilers, and&lt;br /&gt;there are also lots of very cheap or free public domain Forths.  Some&lt;br /&gt;of them like Tom Almy&#39;s ForthCMP produces optimized native code with&lt;br /&gt;less overhead and better performance than just about anything else&lt;br /&gt;out there.  Of course it still has compactness and more elegant&lt;br /&gt;factoring of functionality than in most languages.&lt;br /&gt;&lt;br /&gt;C is now the language of choice for the entire universe.  C is used&lt;br /&gt;on computers from the tiny microcontroller up to the largest Cray&lt;br /&gt;supercomputer.  Although a C program can be a bit tedious at times to&lt;br /&gt;read (due to the terse programming style followed by many C&lt;br /&gt;programmers), it is a powerful and flexible development tool.&lt;br /&gt;Although a high level language, it also gives the developer access to&lt;br /&gt;the underlying machine.  There are several very good and cheap C&lt;br /&gt;compilers available for the more popular microcontrollers.  It is&lt;br /&gt;widely used, available, supported, and produces fairly efficient code&lt;br /&gt;(fast and compact).&lt;br /&gt;&lt;/div&gt;</description><link>http://avrmicrocontroller.blogspot.com/2008/04/compilers.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3394238340781730306.post-5832542023804846689</guid><pubDate>Mon, 28 Apr 2008 04:36:00 +0000</pubDate><atom:updated>2008-04-27T22:23:17.541-07:00</atom:updated><title>Assembly language</title><description>Machine language is the program representation as the microcontroller&lt;br /&gt;understands it.  It is not easy for humans to read and is a common&lt;br /&gt;cause of migraine headaches.  Assembly language is a human-readable&lt;br /&gt;form of machine language which makes it much easier for us flesh and&lt;br /&gt;bone types to deal with.  Each assembly language statement&lt;br /&gt;corresponds to one machine language statement (not counting macros).&lt;br /&gt;&lt;div class=&quot;fullpost&quot;&gt;&lt;br /&gt;An assembly/machine language program is fast and small.  This is&lt;br /&gt;because you are in complete charge of what goes into the program.  Of&lt;br /&gt;course, if you write a slow, large, stupid program, then it will run&lt;br /&gt;slowly, be too big, and be stupid.  Assembly language (assembler)&lt;br /&gt;can&#39;t correct stupidity - although sometimes I wish it could ;-).&lt;br /&gt;&lt;br /&gt;If you are starting out learning about microcontrollers, it would be&lt;br /&gt;worth your while first learning assembler.  By programming in&lt;br /&gt;assembler, you master the underlying architecture of the chip, which&lt;br /&gt;is important if you intend to do anything significant with your&lt;br /&gt;microcontroller.&lt;br /&gt;&lt;/div&gt;</description><link>http://avrmicrocontroller.blogspot.com/2008/04/assembly-language.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3394238340781730306.post-1460315996878041935</guid><pubDate>Fri, 28 Dec 2007 04:12:00 +0000</pubDate><atom:updated>2008-04-27T22:22:18.206-07:00</atom:updated><title>Computer Interfacing Tutorial</title><description>&lt;strong&gt;&lt;/strong&gt;Parallel, Serial, and Game port is a simple and inexpensive            tool for building computer controlled devices and projects. The simplicity            and ease of programming makes Parallel, Serial, and Game port popular            in electronics hobbyist world. The Parallel, Serial, and Game port is            often used in Computer controlled robots, Atmel/PIC programmers, home            automation, ...etc... Here a simple tutorial on Parallel, Serial, and            Game port interfacing and programming with some examples. &lt;br /&gt;&lt;div class=&quot;fullpost&quot;&gt;&lt;br /&gt;Everybody knows what is Parallel, Serial, and Game            port, where it can be found, and for what it is being used. the primary            use of Parallel, Serial, and Game port is to connect printers, mouse            and joystick each to computer and is specifically designed for this            purpose. Thus it is often called as printer Port for Parallel. You can            see the Parallel, Serial, and Game port connector in the rear panel            of your PC. It is a 25 pin female (DB25), a 9 pin male ( DB9 ), and            a 15 pin famale ( DB15 ) connectoreach. On almost all the PCs only one            parallel port, two serial port and one game port are present, but you            can add more by buying and inserting ISA/PCI Parallel, Serial, and Game            port cards.&lt;br /&gt;&lt;/div&gt;</description><link>http://avrmicrocontroller.blogspot.com/2007/12/computer-interfacing-tutorial-parallel.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3394238340781730306.post-5646309391124595427</guid><pubDate>Tue, 21 Aug 2007 09:32:00 +0000</pubDate><atom:updated>2008-04-27T22:20:55.512-07:00</atom:updated><title>Programming &amp; Customizing the AVR</title><description>This reader-friendly guide shows you how to take charge of the newest, most versatile microcontrollers around, Atmel&#39;s AVR RISC chip family. Inside, Electronics World writer and astronomy instrumentation developer Dhananjay V. Gadre walks you from first meeting these exciting new computers-on-a-chip all the way through design and ready-to-launch products Programming and Customizing the AVR Microcontroller clarifies this versatile chip&#39;s basics and coaches you through sophisticated applications, using plenty of examples. &lt;br /&gt;&lt;div class=&quot;fullpost&quot;&gt;&lt;br /&gt;Even programming newcomers will be able to follow the clearly illustrated, learn-as-you-go instructions, yet professionals who need to get a project up and running quickly will find the details they need in the author&#39;s comprehensive coverage of the AVR&#39;s components and capabilities. &lt;br /&gt;Key features: &lt;br /&gt;Easy-to-use explanations of all the AVR&#39;s subsystems, with plenty of examples and experiments. &lt;br /&gt;Handfuls of ready-to-try projects, plus useful routines to plug into your own designs. &lt;br /&gt;A confusion-reducing chapter on system design, and a complete AVR system development toolkit Hardware-software interfacing help . &lt;br /&gt;AVR applications using Assembly and C. A guide to the best AVR online resources. CD-ROM loaded with all the tools and source code you need to develop applications. Whether you&#39;re designing for fun or adding intelligence to products for a paycheck, Programming and Customizing the AVR Microcontroller is the way to go for a smoother ride.&lt;br /&gt;&lt;/div&gt;</description><link>http://avrmicrocontroller.blogspot.com/2007/08/programming-customizing-avr-this-reader.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-3394238340781730306.post-1586147663152425793</guid><pubDate>Thu, 28 Jun 2007 03:49:00 +0000</pubDate><atom:updated>2008-04-27T22:16:48.163-07:00</atom:updated><title>What is Microcontroller ?</title><description>A microcontroller is an integrated chip that is often part of an embedded system.&lt;br /&gt;The microcontroller includes a CPU, RAM, ROM, I/O ports and timers like a standard computer, but because they are designed to execute only a single specific task to control a single system, they are much smaller and simplified so that they can include all the functions required on a single chip. &lt;br /&gt;&lt;div class=&quot;fullpost&quot;&gt; &lt;br /&gt;Microcontroller differs from a microprocessor,  which is a general-purpose chip that is used to create a multi-function  computer or device and requires multiple chips to handle various tasks. A microcontroller is meant to be more self-contained and independent, and functions as a tiny, dedicated computer.&lt;br /&gt;&lt;/div&gt;</description><link>http://avrmicrocontroller.blogspot.com/2007/06/microcontroller-programming.html</link><author>noreply@blogger.com (Unknown)</author><thr:total>0</thr:total></item></channel></rss>