<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1930368717405026694</id><updated>2012-01-24T23:00:21.476+02:00</updated><category term='ATmega2560'/><category term='RPM Auto'/><category term='AVR Dopper'/><category term='2*16'/><category term='MicroSD'/><category term='Motors'/><category term='2x16'/><category term='MokroMMB'/><category term='boot loader'/><category term='DIY'/><category term='Microcontroller'/><category term='Software Driver'/><category term='AVR 32'/><category term='Kernel'/><category term='Minidriver'/><category term='Display'/><category term='Programator'/><category term='Test Board'/><category term='ATXmega64A1'/><category term='RPM'/><category term='4x20'/><category term='Xmega'/><category term='I2C'/><category term='Storage Memory'/><category term='64KB Ram'/><category term='AVR Studio'/><category term='2x20'/><category term='GCC'/><category term='Amplifier'/><category term='Fat32'/><category term='Hex'/><category term='Rx/Tx'/><category term='Computer controll'/><category term='LED'/><category term='2x40'/><category term='Temperature'/><category term='Display Driver'/><category term='MikroMedia'/><category term='4*20'/><category term='Display Nokia6100'/><category term='utility'/><category term='ATmega640'/><category term='FM Radio'/><category term='RDS'/><category term='Samsung E700 color Display'/><category term='Sd/Mmc'/><category term='Player'/><category term='ATXmega'/><category term='Nokia6100'/><category term='FT232'/><category term='7x5 Matrix Led'/><category term='Driver'/><category term='Tiny Programator'/><category term='MP3 Player'/><category term='BinHex'/><category term='USB'/><category term='Windows Smartphone'/><category term='Power amplifier'/><category term='2*20'/><category term='Nand Flash'/><category term='320x240 Display'/><category term='Usart'/><category term='USB host'/><category term='Bluetooth'/><category term='Converter'/><category term='IntelHex'/><category term='Spi'/><category term='Avr'/><category term='ATmega'/><category term='VS1053'/><category term='ATXmega128A1'/><category term='RFM12BP'/><category term='ATmega8'/><category term='1GB'/><category term='4*40'/><category term='Program'/><category term='Explorer'/><category term='Analyzer'/><category term='Bitmap'/><category term='4x40'/><category term='ULN2003'/><category term='Comm'/><category term='Spectrum'/><category term='Audio'/><category term='MiniExplorer'/><category term='sdk'/><category term='Gass Monitor'/><category term='Moror Steper'/><category term='TFT Display'/><category term='EEProm'/><category term='Terminal'/><category term='ATmega64'/><category term='K9K8G08U0A'/><category term='PPC'/><category term='VS1011'/><category term='24c'/><category term='2*40'/><category term='HDD'/><category term='ATmega1280'/><category term='Ethernet'/><category term='Bipolar Moror Steper'/><category term='Library'/><category term='MP3'/><category term='SD'/><category term='asm'/><category term='Development Board'/><category term='Display Samsung e700'/><category term='Samsung e700'/><category term='Nokia3310'/><category term='Serial'/><category term='USB Client'/><category term='Controller'/><category term='Remote control'/><category term='tolchain'/><category term='NGW100'/><category term='Unipolar Moror Steper'/><category term='Led Cross'/><title type='text'>Digital electronics and programing</title><subtitle type='html'>On this blog I try to do projects and post the most visited projects can be found on the Internet ( Only my creation )</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>51</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-2785809273777186236</id><published>2012-01-24T21:58:00.002+02:00</published><updated>2012-01-24T23:00:21.484+02:00</updated><title type='text'>Stereo digital audio spectrum analyzer V4.0</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;This is a stereo upgrade of previous version 3.x.&lt;br /&gt;&lt;br /&gt;This version has multiple changes from the previous version, like:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Can handle stereo signals.&lt;/li&gt;&lt;li&gt;Display format is 18+1+1( to display 18 bands of frequencies and Left Right signal level) .&lt;/li&gt;&lt;li&gt;USB adapter for easy upgrade.&lt;/li&gt;&lt;li&gt;Dedicated RTC with battery back-up.&lt;/li&gt;&lt;li&gt;Added two usart connectors to create cascade spectrum analyzers( to create large display from boards like this ).&lt;/li&gt;&lt;li&gt;A microcontroller twice faster that previous and multiple hardware advantages that increase velocity of signal processing and rendering to display.&lt;/li&gt;&lt;/ol&gt;Down I posted two photos with new board design.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-rHWVpivbrGA/Tx8NCWAzksI/AAAAAAAAAfU/5eRTdVylm2s/s1600/DigitalSpectrumAnalyzerV4_Top.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="118" src="http://2.bp.blogspot.com/-rHWVpivbrGA/Tx8NCWAzksI/AAAAAAAAAfU/5eRTdVylm2s/s400/DigitalSpectrumAnalyzerV4_Top.JPG" width="400" /&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-3OSsHgKVG2w/Tx8KL204h1I/AAAAAAAAAfI/aXUstDVFQbE/s1600/DigitalSpectrumAnalyzerV4_Bot.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="121" src="http://2.bp.blogspot.com/-3OSsHgKVG2w/Tx8KL204h1I/AAAAAAAAAfI/aXUstDVFQbE/s400/DigitalSpectrumAnalyzerV4_Bot.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-2785809273777186236?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/2785809273777186236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=2785809273777186236' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/2785809273777186236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/2785809273777186236'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2012/01/digital-audio-spectrum-analyzer-v40.html' title='Stereo digital audio spectrum analyzer V4.0'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-rHWVpivbrGA/Tx8NCWAzksI/AAAAAAAAAfU/5eRTdVylm2s/s72-c/DigitalSpectrumAnalyzerV4_Top.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-4138671896679371406</id><published>2011-09-11T13:42:00.008+03:00</published><updated>2011-10-08T18:00:31.132+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VS1053'/><category scheme='http://www.blogger.com/atom/ns#' term='MP3 Player'/><category scheme='http://www.blogger.com/atom/ns#' term='ATXmega'/><category scheme='http://www.blogger.com/atom/ns#' term='TFT Display'/><category scheme='http://www.blogger.com/atom/ns#' term='MikroMedia'/><category scheme='http://www.blogger.com/atom/ns#' term='MP3'/><category scheme='http://www.blogger.com/atom/ns#' term='MokroMMB'/><category scheme='http://www.blogger.com/atom/ns#' term='MicroSD'/><category scheme='http://www.blogger.com/atom/ns#' term='Xmega'/><category scheme='http://www.blogger.com/atom/ns#' term='Sd/Mmc'/><category scheme='http://www.blogger.com/atom/ns#' term='Fat32'/><category scheme='http://www.blogger.com/atom/ns#' term='Player'/><title type='text'>MikroMMB for Xmega MP3 Player</title><content type='html'>This project is created in AVR GCC with 100% my own drivers and libraries , this player can play MP3, WMA and OGG files from micro SD/SDHC memory card fat16/32 formatted.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red; font-size: x-large;"&gt;&lt;b&gt;V1.3&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;On this firmware I made some bug fixes and I adding some functions to player:&lt;br /&gt;&lt;br /&gt;Bug fixes:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The previous versions has a bug that forces user to put on first location of root directory the volume ID or a file or folder with the short name only.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Function's added:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;A progress bar to track the melody, with the same progress bar the user can force the audio player to play file from a specified point.&lt;/li&gt;&lt;li&gt;Player can run now like a thread "Open player" "Close Player" when card is inserted is automatically opened the player, when SD card is removed all resources used by Audio Player will be freed.&lt;/li&gt;&lt;li&gt;Now you can play music from SD/SDHC card's formatted in FAT16 or FAT32(The FAT16 has a little bug, on root directory is displayed only files and&amp;nbsp;directory's&amp;nbsp;from first Page(512Bytes).&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;On this version you can play: MP3, AAC, OGG, WAV and WMA.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/MikroMedia_Media_PlayerV1.3.rar?attredirects=0&amp;amp;d=1"&gt;Download V1.3 demo version of this player.&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: red; font-size: x-large;"&gt;&lt;b&gt;V1.2&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;On this version I made some changes:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;I change the navigation from the "next" "previous" button to a list box.&lt;/li&gt;&lt;li&gt;On this version is not capable to display bitmap's because I want to design another interface to view bitmap photo. &lt;/li&gt;&lt;li&gt;The VS chip data is send by a service that work inside the RTC interrupt service, in this case has a high priority to send data to VS chip.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;object height="360" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/NKBscQ37nMU?version=3&amp;amp;hl=en_US&amp;amp;rel=0"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/NKBscQ37nMU?version=3&amp;amp;hl=en_US&amp;amp;rel=0" type="application/x-shockwave-flash" width="480" height="360" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/MikroMedia_Media_PlayerV1.2.rar?attredirects=0&amp;amp;d=1"&gt;Download V1.2 demo version of this player.&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red; font-size: x-large;"&gt;&lt;b&gt;V1.1&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On this version I made huge improvements.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Now you can navigate through the directories when you listen music, you can choose another melody when you listen another melody.&lt;/li&gt;&lt;li&gt;The player has change the listen melody with the next from the current directory, the payback is stopped after the last melody is played.&lt;/li&gt;&lt;li&gt;Now you can see bitmaps images in 8, 24 and 32 bit/pixel with some limitations, maximum size 240x200pixels, the maximum file size 140KB (140000bytes), the 240x200 pixels limitation is implemented to no interference with the player interface, the 140KB limitation is made because I have a bug in the bitmap library, that can't read files bigger than this value.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;This version is limited to play only MP3 files, the core clock is 32Mhz.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="390" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/2WJSdD_50So?version=3&amp;amp;hl=en_US&amp;amp;rel=0"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/2WJSdD_50So?version=3&amp;amp;hl=en_US&amp;amp;rel=0" type="application/x-shockwave-flash" width="480" height="390" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/MikroMedia_Media_PlayerV1.1.rar?attredirects=0&amp;amp;d=1"&gt;Download V1.1 demo version of this player.&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: red; font-size: x-large; font-weight: normal;"&gt;&lt;b&gt;V1.0&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The controller is running at 16Mhz.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On this version can't manage the power consumption.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This version can play MP3, WMA and OGG.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="390" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/XFdk6vVVcMQ?version=3&amp;amp;hl=en_US"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/XFdk6vVVcMQ?version=3&amp;amp;hl=en_US" type="application/x-shockwave-flash" width="480" height="390" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/MikroMedia_Media_PlayerV1.0.rar?attredirects=0&amp;amp;d=1"&gt;Download V1.0&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-4138671896679371406?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/4138671896679371406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=4138671896679371406' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/4138671896679371406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/4138671896679371406'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2011/09/mikromedia-for-xmega-media-audio-player.html' title='MikroMMB for Xmega MP3 Player'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-799769273573494907</id><published>2011-08-16T20:34:00.009+03:00</published><updated>2011-08-26T14:48:18.893+03:00</updated><title type='text'>Mikro Media for Xmega simple Lcd Touch Paint</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is made with 100% my library's developed in AVR GCC because free source code for LCD display and touch screen can't be found on internet.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When you power up the board with this firmware, the board enter to touch screen calibrate, in four points, after the last point is touched the display is painted with white back ground and you can scribe through touch screen with chosen color touching the colors rectangles from right up of display. &lt;/div&gt;&lt;div&gt;Chosen color will appear like a rectangle painted with the same chosen color on right down of display. &lt;/div&gt;&lt;div&gt;If you want to clear the display, touch the black rectangle from right down of screen. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 29px; font-weight: normal; line-height: 40px; background-color: rgb(255, 255, 255); "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); font-weight: normal; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;V1.1&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;In this firmware I add function to choose ink color and to clear display.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;img src="http://1.bp.blogspot.com/-dtmuWXgKDIE/TleBm4UoARI/AAAAAAAAAeI/VzmoJmQAiAo/s320/DSCF1933.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5645123162886111506" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 320px; height: 240px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On this version is eliminated the previous described bug.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/MikroMediaBoard_TouchPaint_AvrGcc_1.1.rar?attredirects=0&amp;amp;d=1"&gt;Download demo firmware V1.1.&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 29px; font-weight: normal; line-height: 40px; background-color: rgb(255, 255, 255); "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); font-weight: normal; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;V1.0&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;a href="http://3.bp.blogspot.com/-5jXhE1tVpH0/TkqsHo2g6zI/AAAAAAAAAd8/SvJdRjy5XnU/s1600/MikroMediaCimpleTouchPaint.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://3.bp.blogspot.com/-5jXhE1tVpH0/TkqsHo2g6zI/AAAAAAAAAd8/SvJdRjy5XnU/s320/MikroMediaCimpleTouchPaint.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5641510730460097330" /&gt;&lt;/a&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-style-span"&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;On the 1.0 firmware version is a bug caused by the capacitors connected in parallel with Q5 and Q9 that is not filtered by the firmware, but for the current work is not a critical bug :D.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center; "&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/MikroMediaBoard_TouchPaint_AvrGcc_1.0.rar?attredirects=0&amp;amp;d=1"&gt;Download demo firmware V1.0.&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-799769273573494907?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/799769273573494907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=799769273573494907' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/799769273573494907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/799769273573494907'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2011/08/mikro-media-for-xmega-simple-lcd-touch.html' title='Mikro Media for Xmega simple Lcd Touch Paint'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-dtmuWXgKDIE/TleBm4UoARI/AAAAAAAAAeI/VzmoJmQAiAo/s72-c/DSCF1933.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-6070220551067497943</id><published>2011-08-16T16:38:00.010+03:00</published><updated>2011-08-28T23:57:17.004+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='boot loader'/><category scheme='http://www.blogger.com/atom/ns#' term='ATXmega'/><category scheme='http://www.blogger.com/atom/ns#' term='ATXmega128A1'/><category scheme='http://www.blogger.com/atom/ns#' term='Xmega'/><category scheme='http://www.blogger.com/atom/ns#' term='Microcontroller'/><title type='text'>ATxmega boot loader</title><content type='html'>Currently I bought a Micromedia Board ( microMMB for XMEGA ) from &lt;a href="http://www.mikroe.com/eng/products/view/688/mikromedia-for-xmega/"&gt;mikroEelektronika&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This board is perfect for general developing because can be used by programmers that don't have a programmer, because is coming with a bootloader pre-installed.&lt;/div&gt;&lt;div&gt;I mentioned only the bootloader because this bootloader is the problem&lt;/div&gt;&lt;div&gt;To upload a flash with 64KB size is taken about 10-15 minutes, or to develop a firmware is a very very  long time to wait, visualizing this I developed  a very fast bootloader to write only Flash and EEProm memory, only strictly necessary memories because all of other ATxmega features can be set from uploaded firmware.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In this stage I compiled eight bootloader firmwares only for ATxmega128A1 for each used hardware usart, and each firmware work with a 256000 baud transfer rate, this baud rate is set like default baud rate for the up-loader when is opened, I want to mention that the up-loader can work with atmega bootloader firmwares found &lt;a href="http://digitalelectronicsandprograming.blogspot.com/2010/05/micro-hex-bootloader-for-atmega.html"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;Version 1.0 of firmwares:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/Xmega128A1_BootLoader_Usart0_256000Baud_V1.0.rar?attredirects=0&amp;amp;d=1"&gt;For usart 0 ( usart C0 ).&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/Xmega128A1_BootLoader_Usart1_256000Baud_V1.0.rar?attredirects=0&amp;amp;d=1"&gt;For usart 1 ( usart C1 ).&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/Xmega128A1_BootLoader_Usart2_256000Baud_V1.0.rar?attredirects=0&amp;amp;d=1"&gt;For usart 2 ( usart D0 ).&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/Xmega128A1_BootLoader_Usart3_256000Baud_V1.0.rar?attredirects=0&amp;amp;d=1"&gt;For usart 3 ( usart D1 ).&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/Xmega128A1_BootLoader_Usart4_256000Baud_V1.0.rar?attredirects=0&amp;amp;d=1"&gt;For usart 4 ( usart E0 ).&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/Xmega128A1_BootLoader_Usart5_256000Baud_V1.0.rar?attredirects=0&amp;amp;d=1"&gt;For usart 5 ( usart E1 ).&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/Xmega128A1_BootLoader_Usart6_256000Baud_V1.0.rar?attredirects=0&amp;amp;d=1"&gt;For usart 6 ( usart F0 ).&lt;/a&gt; can be used for Micromedia Board for XMEGA.&lt;/div&gt;&lt;div&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/Xmega128A1_BootLoader_Usart7_256000Baud_V1.0.rar?attredirects=0&amp;amp;d=1"&gt;For usart 7 ( usart F1 ).&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/HexBootLoaderV1.2.rar?attredirects=0&amp;amp;d=1"&gt;Download PC uploader program.&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-6070220551067497943?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/6070220551067497943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=6070220551067497943' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/6070220551067497943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/6070220551067497943'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2011/08/atxmega-boot-loader.html' title='ATxmega boot loader'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-786436601487125935</id><published>2011-05-17T16:25:00.008+03:00</published><updated>2011-10-07T18:45:23.770+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ATXmega'/><category scheme='http://www.blogger.com/atom/ns#' term='ATXmega64A1'/><category scheme='http://www.blogger.com/atom/ns#' term='ATXmega128A1'/><category scheme='http://www.blogger.com/atom/ns#' term='Development Board'/><title type='text'>Multipurpose development board with ATxmega64A1/ATxmega128A1</title><content type='html'>&lt;span style="font-size: 100%;"&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/--7CKtKiIjlg/TdJ32URh1wI/AAAAAAAAAdE/ZLOsUTDWj00/s1600/MultipurposeDevelopmentBoardATxmegaA1_Top.JPG"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5607676261068560130" src="http://3.bp.blogspot.com/--7CKtKiIjlg/TdJ32URh1wI/AAAAAAAAAdE/ZLOsUTDWj00/s320/MultipurposeDevelopmentBoardATxmegaA1_Top.JPG" style="cursor: hand; cursor: pointer; display: block; height: 178px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;/a&gt;&lt;span style="font-size: 100%;"&gt;&lt;a href="http://2.bp.blogspot.com/-t6Fe_bB2woM/TdJ35xM6L5I/AAAAAAAAAdM/V53FH7DZEgw/s1600/MultipurposeDevelopmentBoardATxmegaA1_Bot.JPG"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5607676320373419922" src="http://2.bp.blogspot.com/-t6Fe_bB2woM/TdJ35xM6L5I/AAAAAAAAAdM/V53FH7DZEgw/s320/MultipurposeDevelopmentBoardATxmegaA1_Bot.JPG" style="cursor: hand; cursor: pointer; display: block; height: 165px; margin: 0px auto 10px; text-align: center; width: 320px;" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;Features:&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;li style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;Main processing unit ATxmega64A1 or ATxmega128A1.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;Audio decoder VS1011,1033,1053 with stereo jack 3.5mm female connector &amp;amp; external speakers 3 pin connector(optional).&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;DS1307 real time clock with battery pads.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;PDI &amp;amp; JTAG connectors.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;LB1936 dual driver for asynchronous motors (optional).&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;AD7414 temperature sensor for motor driver (optional).&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;External motors driver connector with I2C bus.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;Two micro SD connectors ( one is optional ).&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;Four connectors with 2x3 pin to control eight servo motors, two servomotors for each connector, each connector is power interruption to minimize power consumption.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;Two power jack  connector 5.5/2.1mm put in series to connect two photovoltaic panels and with static commutator controlled by software to charge main accumulator.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;High power step down stabilizer from accumulator voltage to 3.3V.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;On-board 512KB static ram for minimizing power consumption in sleep mode.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;BTM-222 Bluetooth for communication with PC or mobile phones (optional).&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;RFM12BP at 434Mhz for communication with one remote control for huge distance up to 5Km (optional).&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;RFM12BS at 868Mhz to control other wireless modules (optional).&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;All modules from point 13, 14 &amp;amp; 15 can work at the same time without interferences.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;Five connectors with four pins with I2C bus and 3.3V power for future extensions.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;External extension bus connector to connect future external modules to ATxmega parallel data bus, such as Displays, more motors controllers, image sensors etc.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;Possibility to monitor power consumption from main accumulator.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;Possibility to monitor generated power by the photovoltaic panels.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;Possibility to monitor voltage of the main accumulator.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;Possibility to monitor power consumption of each motor powered by on-board driver.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;Applications:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;Robots:  contain on-board dual asynchronous  motor driver and four connectors to control eight servomotors, powered from an Li-Ion accumulator and support to charge the accumulator from two photovoltaic cells or from an external source, several communication modules: Bluetooth Class1, EFM12BP for long distance communication up to 5Km and RFM12BS for low power and short distance communication up to 300m.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;Audio player: contain on-board VS1011, VS1033 or VS1053, single or dual micro-SD memory card connectors with push.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;Audio/Video(low quality) player.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;General development application because has all possibility to connect with another controller or another peripherals  to the expansion bus, the &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;expansion &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;connector work to speed of the external ram memory, because the expansion peripherals is mapped to address space 524288 to 1048576, maximum number of expansion peripherals is 65536.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div face="Arial, Helvetica, sans-serif" style="margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;Power supply input between 3.4V and 9.5V&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;Maximum supported input voltage on photovoltaic connectors and the main accumulator: 9.5V, Maximum absolute 10.5V.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;Board dimension: 66.83 x 130.78mm.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font-family: Arial, Helvetica, sans-serif; margin-top: 0px;"&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: black; font-family: Arial, Helvetica, sans-serif; font-size: 100%; font-style: normal; font-variant: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;"&gt;&lt;span class="Apple-style-span" style="text-align: left;"&gt;&lt;span style="color: #3366ff; font-size: 130%; font-weight: bold;"&gt;This board can be bought from &lt;a href="http://virtualelectron.com/shop/index.php?route=product/product&amp;amp;product_id=63"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-786436601487125935?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/786436601487125935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=786436601487125935' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/786436601487125935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/786436601487125935'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2011/05/multipurpose-development-board-with.html' title='Multipurpose development board with ATxmega64A1/ATxmega128A1'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/--7CKtKiIjlg/TdJ32URh1wI/AAAAAAAAAdE/ZLOsUTDWj00/s72-c/MultipurposeDevelopmentBoardATxmegaA1_Top.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-1996442976309400214</id><published>2011-02-25T22:32:00.026+02:00</published><updated>2011-03-24T14:28:02.377+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='BinHex'/><category scheme='http://www.blogger.com/atom/ns#' term='IntelHex'/><category scheme='http://www.blogger.com/atom/ns#' term='AVR Studio'/><category scheme='http://www.blogger.com/atom/ns#' term='Converter'/><category scheme='http://www.blogger.com/atom/ns#' term='utility'/><title type='text'>Intel HEX to binary HEX converter</title><content type='html'>This is an utility for programmers to convert Intel .hex files generated by AVR studio for example to binary hex data file, to create static or dynamic library like image of flash ROM and can be imported like data file to a project.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"  style="font-size:29px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); font-weight: normal; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;V1.0.5&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;In this version the files that is not modified ,is not recompiled, in this case if you work on memory stick &lt;span id="result_box" class="" lang="en"&gt;&lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;not&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;take&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;the&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;number&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;of&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;writings&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;/&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;deletions&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;of&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;memory&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;stick for files that is not modified,&lt;/span&gt;&lt;/span&gt; or if you work with many files &lt;span id="result_box" class="" lang="en"&gt;&lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;will not&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;be&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;useless&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;to&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;compile&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;the files&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;were&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;not&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;changed&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;This version can be downloaded from &lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/IntelHexToBinHexConverterV1.0.5.rar?attredirects=0&amp;amp;d=1"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"  style="font-size:29px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); font-weight: normal; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;V1.0.4&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;In this version I added to automatically put the "#ifndef FileName" to include only one time a library if is declared on multiple files.&lt;br /&gt;This version can be downloaded from &lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/IntelHexToBinHexConverterV1.0.4.rar?attredirects=0&amp;amp;d=1"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"  style="font-size:29px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); font-weight: normal; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;&lt;br /&gt;V1.0.3&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Added:&lt;br /&gt;Now  can include header file with definition constants in hex image file, in  this case is no longer case to include hex image file and header file  separately, you can include only hex image file, if the name of .hex file is "AA.hex" the name of header file is necessary to be "AA_Headers.inc".&lt;br /&gt;&lt;br /&gt;When hi finish  to compile all files, auto close the thread, this feature allow to  include this compiler on Pre Assembling section of AVR Studio, in this  case before the compilation of AVR studio, AVR Studio can launch this  compiler to actualize the images of libraries, and after can compile the  project with updated libraries.&lt;br /&gt;&lt;br /&gt;Fix:&lt;br /&gt;On start up auto load the path where is.&lt;br /&gt;&lt;br /&gt;This version can be downloaded from &lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/IntelHexToBinHexConverterV1.0.3.rar?attredirects=0&amp;amp;d=1"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"  style="font-size:29px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); font-weight: normal; "&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;V1.0.2&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;br /&gt;Fix: no filter to .hex in 1.0.1 version.&lt;/span&gt;The last version of this utility can be downloaded from &lt;a href="http://zenn.ro/Ws/Update/IntelHexToBinHexConverter/publish.htm"&gt;here&lt;/a&gt; (Internet explorer only).&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"  style="font-size:29px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;V1.0.1&lt;/span&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;New:&lt;br /&gt;Added:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;On program open you can choose  the base directory where is the source folder.&lt;/li&gt;&lt;li&gt;&lt;span id="result_box" class="short_text" lang="en"&gt;&lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;You can&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;always&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;change the&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;working directory.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span id="result_box" class="short_text" lang="en"&gt;&lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;Automatic checking and downloading updates.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"  style="font-size:29px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;V1.0.0&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;This utility get all of the .hex files from directory that the utility has been opened /source and put converted files include directory structure to /bin.&lt;br /&gt;&lt;br /&gt;For example the project is placed to C:/source/, and the utility in C:/&lt;br /&gt;&lt;br /&gt;The directory structure is this:&lt;br /&gt;C:/source/Math.hex&lt;br /&gt;C:/source/IO_Port_Driver.hex&lt;br /&gt;C:/source/IO_Uart_Driver.hex&lt;br /&gt;&lt;br /&gt;After running of the utility all files is compiled on C:/bin/ and well see like that:&lt;br /&gt;&lt;br /&gt;C:/bin/Math.asm&lt;br /&gt;C:/bin/IO_Port_Driver.asm&lt;br /&gt;C:/bin/IO_Uart_Driver.asm&lt;br /&gt;&lt;br /&gt;The result is files .asm with data in hex format.&lt;br /&gt;&lt;br /&gt;To create static or dynamic library's is necessary to put links to the integrated functions on top of the library, for example:&lt;br /&gt;&lt;br /&gt;File:  Math.asm&lt;br /&gt;&lt;br /&gt;.Org 0&lt;br /&gt;MathLibrary: &lt;span style="color: rgb(0, 153, 0);"&gt;// This is the base address of the links&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Rjmp&lt;/span&gt; Add8x8_8&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Rjmp&lt;/span&gt; Add16x16_16&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Rjmp&lt;/span&gt; Add 32x32_32&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Rjmp&lt;/span&gt; Sub 8x8_8&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Rjmp&lt;/span&gt; Sub 16x16_16&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Rjmp&lt;/span&gt; Sub 32x32_32&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;;--------------------------------//End of links&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;//Begin of routines&lt;/span&gt;&lt;br /&gt;Add8x8_8:&lt;br /&gt;Code......&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Ret&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;;--------&lt;/span&gt;&lt;br /&gt;Add16x16_16:&lt;br /&gt;Code......&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Ret&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;;--------&lt;/span&gt;&lt;br /&gt;Add32x32_32:&lt;br /&gt;Code......&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Ret&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;;--------&lt;/span&gt;&lt;br /&gt;Sub8x8_8:&lt;br /&gt;Code......&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Ret&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;;--------&lt;/span&gt;&lt;br /&gt;Sub16x16_16:&lt;br /&gt;Code......&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Ret&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;;--------&lt;/span&gt;&lt;br /&gt;Sub32x32_32:&lt;br /&gt;Code......&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Ret&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;;--------&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;//End of library&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To define the offsets of links you can create another file with this, for example:&lt;br /&gt;&lt;br /&gt;File: Math.inc&lt;br /&gt;&lt;br /&gt;#define _MathLibrary (0)&lt;span style="color: rgb(0, 153, 0);"&gt;  //Offset of base of links&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;#define _Add8x8_8 (0) &lt;span style="color: rgb(51, 204, 0);"&gt; &lt;span style="color: rgb(0, 153, 0);"&gt;//Link 1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;#define _Add16x16_16 (1)&lt;span style="color: rgb(0, 153, 0);"&gt;  //Link 2&lt;/span&gt;&lt;br /&gt;#define _Add32x32_32 (2)&lt;span style="color: rgb(0, 153, 0);"&gt;  //Link 3&lt;/span&gt;&lt;br /&gt;#define _Sub8x8_8 (3)&lt;span style="color: rgb(0, 153, 0);"&gt;  //Link 4&lt;/span&gt;&lt;br /&gt;#define _Sub16x16_16 (4)&lt;span style="color: rgb(0, 153, 0);"&gt;  //Link 5&lt;/span&gt;&lt;br /&gt;#define _Sub32x32_32 (5)&lt;span style="color: rgb(0, 153, 0);"&gt;  //Link 6&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;&lt;/span&gt;&lt;br /&gt;To import a library, on end of main file include "Math.asm" file from bin directory.&lt;br /&gt;&lt;br /&gt;For example:&lt;br /&gt;&lt;br /&gt;_MathLibrary_:&lt;br /&gt;.Include "Math.asm"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;All of the function from this library can be called like that:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Rcall&lt;/span&gt; _MathLibrary_ + _MathLibrary + _Sub8x8_8&lt;br /&gt;Or if "_MathLibrary" base address of links is &lt;span style="color: rgb(204, 102, 204);"&gt;0&lt;/span&gt;:&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;Rcall&lt;/span&gt; _MathLibrary_ + _Sub8x8_8&lt;br /&gt;&lt;br /&gt;"_MathLibrary_" is address of the imported library assigned by the compiler when you build the project, and "_Sub8x8_8" is the offset of the link of the included routine in library defined in&lt;br /&gt;"Math.inc"&lt;br /&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"&gt;&lt;span class="Apple-style-span"  style="font-size:29px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="color: rgb(255, 0, 0); "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-1996442976309400214?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/1996442976309400214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=1996442976309400214' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/1996442976309400214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/1996442976309400214'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2011/02/intel-hex-to-binary-hex-converter.html' title='Intel HEX to binary HEX converter'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-689222680102994069</id><published>2011-02-20T11:52:00.004+02:00</published><updated>2011-03-06T19:24:50.201+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ATXmega'/><category scheme='http://www.blogger.com/atom/ns#' term='ATXmega128A1'/><category scheme='http://www.blogger.com/atom/ns#' term='Development Board'/><title type='text'>Development board 1 for ATXMEGA A1 microcontrollers</title><content type='html'>This is a very simple board to test and develop firmwares for ATXMEGA A1 micro-controllers.&lt;br /&gt;&lt;br /&gt;This board contains only strictly necessary components for the ATXMEGA A1 micro-controller and only one extra module is added, the USB to serial adapter, the rest of modules can be added to a mother board.&lt;br /&gt;&lt;br /&gt;This board has 89x74mm.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-Qp1z6X9rmUg/TWDn4eCTO4I/AAAAAAAAAbM/hT6qn5lGhXo/s1600/AtxMega_A1DevBoard1Bot.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 258px;" src="http://3.bp.blogspot.com/-Qp1z6X9rmUg/TWDn4eCTO4I/AAAAAAAAAbM/hT6qn5lGhXo/s320/AtxMega_A1DevBoard1Bot.JPG" alt="" id="BLOGGER_PHOTO_ID_5575711296006077314" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/--TEipL7Blfk/TWDn4AM1uHI/AAAAAAAAAbE/812h05W_fk0/s1600/AtxMega_A1DevBoard1Top.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 117px;" src="http://4.bp.blogspot.com/--TEipL7Blfk/TWDn4AM1uHI/AAAAAAAAAbE/812h05W_fk0/s320/AtxMega_A1DevBoard1Top.JPG" alt="" id="BLOGGER_PHOTO_ID_5575711287997216882" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This is a very simple board to test and develop firmwares for ATXMEGA A1 micro-controllers.&lt;br /&gt;&lt;br /&gt;This board contains only strictly necessary components for the ATXMEGA A1 micro-controller and only one extra module is added, the USB to serial adapter, the rest of modules can be added to a mother board.&lt;br /&gt;&lt;br /&gt;This board has 89x74mm.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can download gerber files and schematic from &lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/AtxMega128A1DevBoard1.rar?attredirects=0&amp;amp;d=1"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-689222680102994069?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/689222680102994069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=689222680102994069' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/689222680102994069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/689222680102994069'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2011/02/development-board-1-for-atxmega-a1.html' title='Development board 1 for ATXMEGA A1 microcontrollers'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Qp1z6X9rmUg/TWDn4eCTO4I/AAAAAAAAAbM/hT6qn5lGhXo/s72-c/AtxMega_A1DevBoard1Bot.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-5021202369874660876</id><published>2011-02-12T16:53:00.007+02:00</published><updated>2011-02-14T17:07:45.826+02:00</updated><title type='text'>ASM Compiler</title><content type='html'>This is an utility for assembler programmers that allocate ram variable automatically.&lt;br /&gt;&lt;br /&gt;With this compiler the ram memory is divided in two section:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Public variables.&lt;/li&gt;&lt;li&gt;Private variables.&lt;/li&gt;&lt;/ol&gt;Private variable section is started at end of public variable section.&lt;br /&gt;In public variable section this compiler allocate all variables with no &lt;span id="result_box" class="long_text short_text" lang="en"&gt;&lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;overlaps&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;between&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;them&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;But in private variable section, at beginning of each functions the variable is overlapped.&lt;br /&gt;&lt;br /&gt;&lt;span id="result_box" class="long_text short_text" lang="en"&gt;&lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;an&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;example&lt;/span&gt;&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;If beginning of public variables section is 0x100, and end of this section is 0x1FF.&lt;br /&gt;All function has beginning of private variables at 0x200.&lt;br /&gt;&lt;br /&gt;This is good because at exit from a private function in no longer needed for allocated variables by this function, in this case the next function overlaps his variables &lt;span id="result_box" class="long_text short_text" lang="en"&gt;&lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;over&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;variables&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;allocated&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;by&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;the function above&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;V1.0.0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;All of the next functions is macros instead functions 55,56,57,58 that is definitions.&lt;br /&gt;&lt;br /&gt;In this version can be used the next function:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;public char,Var1,null&lt;span style="color: rgb(51, 204, 0);"&gt;;alloc char variable in public section but is not initiated.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;public char,Var1,100&lt;span style="color: rgb(51, 204, 0);"&gt;;alloc char variable in public section initiated with 100 value.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;public uchar,Var1,null&lt;span style="color: rgb(51, 204, 0);"&gt;;alloc uchar variable in public section but is not initiated.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;public uchar,Var1,100&lt;span style="color: rgb(51, 204, 0);"&gt;;alloc uchar variable in public section initiated with 100 value.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;public short,Var1,null&lt;/span&gt;;alloc short variable in public section but is not initiated.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;public short,Var1,100&lt;/span&gt;;alloc short variable in public section &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;initiated with 100 value.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;public ushort,Var1,null&lt;/span&gt;;alloc ushort variable in public section but is not initiated.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;public ushort,Var1,100&lt;/span&gt;;alloc ushort variable in public section &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;initiated with 100 value.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;public long,Var1,null&lt;/span&gt;;alloc long variable in public section but is not initiated.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;public long,Var1,100&lt;/span&gt;;alloc long variable in public section &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;initiated with 100 value.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;public ulong,Var1,null&lt;/span&gt;;alloc ulong variable in public section but is not initiated.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;public ulong,Var1,100&lt;/span&gt;;alloc ulong variable in public section &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;initiated with 100 value.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;public long_long,Var1,null&lt;/span&gt;;alloc long_long&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt; variable in public section but is not initiated&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;public long_long,Var1,100&lt;/span&gt;;alloc long_long variable in public section &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;initiated with 100.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;public ulong_long,Var1,null&lt;/span&gt;;alloc long_long&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt; variable in public section but is not initiated.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;public ulong_long,Var1,100&lt;/span&gt;;alloc long_long variable in public section &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;initiated with 100variable.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;public array,char,Var1,64&lt;/span&gt;;alloc array with 64 char variables in public section.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;public array,uchar,Var1,64&lt;/span&gt;;alloc array with 64 uchar variables in public section.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;public array,short,Var1,64&lt;/span&gt;;alloc array with 64 short variables in public section.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;public array,ushort,Var1,64&lt;/span&gt;;alloc array with 64 ushort variables in public section.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;public array,long,Var1,64&lt;/span&gt;;alloc array with 64 long variables in public section.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;public array,ulong,Var1,64&lt;/span&gt;;alloc array with 64 ulong variables in public section.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;public array,long_long,Var1,64&lt;/span&gt;;alloc array with 64 long_long variables in public section.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;public array,ulong_long,Var1,64&lt;/span&gt;;alloc array with 64 ulong_long variables in public section.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;public string,Var1,256,"Hello"&lt;/span&gt;;alloc string variable in public section and initiate with "Hello" string.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private char,Var1,null&lt;span style="color: rgb(51, 204, 0);"&gt;;alloc char variable in private section but is not initiated.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private char,Var1,100&lt;span style="color: rgb(51, 204, 0);"&gt;;alloc char variable in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;section initiated with 100 value.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private uchar,Var1,null&lt;span style="color: rgb(51, 204, 0);"&gt;;alloc uchar variable in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;section but is not initiated.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private uchar,Var1,100&lt;span style="color: rgb(51, 204, 0);"&gt;;alloc uchar variable in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;section initiated with 100 value.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private &lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;short,Var1,null&lt;/span&gt;;alloc short variable in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;section but is not initiated.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private &lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;short,Var1,100&lt;/span&gt;;alloc short variable in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;section &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;initiated with 100 value.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private &lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;ushort,Var1,null&lt;/span&gt;;alloc ushort variable in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;section but is not initiated.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private &lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;ushort,Var1,100&lt;/span&gt;;alloc ushort variable in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;section &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;initiated with 100 value.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private &lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;long,Var1,null&lt;/span&gt;;alloc long variable in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;section but is not initiated.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private &lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;long,Var1,100&lt;/span&gt;;alloc long variable in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;section &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;initiated with 100 value.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private &lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;ulong,Var1,null&lt;/span&gt;;alloc ulong variable in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;section but is not initiated.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private &lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;ulong,Var1,100&lt;/span&gt;;alloc ulong variable in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;section &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;initiated with 100 value.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private &lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;long_long,Var1,null&lt;/span&gt;;alloc long_long&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt; variable in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;section but is not initiated.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private &lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;long_long,Var1,100&lt;/span&gt;;alloc long_long variable in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;section &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;initiated with 100.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private &lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;ulong_long,Var1,null&lt;/span&gt;;alloc long_long&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt; variable in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;section but is not initiated.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private &lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;ulong_long,Var1,100&lt;/span&gt;;alloc long_long variable in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;section &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;initiated with 100variable.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private &lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;array,char,Var1,64&lt;/span&gt;;alloc array with 64 char variables in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;section&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private &lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;array,uchar,Var1,64&lt;/span&gt;;alloc array with 64 uchar variables in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;section.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private &lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;array,short,Var1,64&lt;/span&gt;;alloc array with 64 short variables in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;section.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private &lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;array,ushort,Var1,64&lt;/span&gt;;alloc array with 64 ushort variables in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;section.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private &lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;array,long,Var1,64&lt;/span&gt;;alloc array with 64 long variables in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;section.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private &lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;array,ulong,Var1,64&lt;/span&gt;;alloc array with 64 ulong variables in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;section.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private &lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;array,long_long,Var1,64&lt;/span&gt;;alloc array with 64 long_long variables in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;section.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private &lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;array,ulong_long,Var1,64&lt;/span&gt;;alloc array with 64 ulong_long variables in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;section.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;private &lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;string,Var6,256,"Hello"&lt;/span&gt;;alloc string variable in &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;private &lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;section and initiate with "Hello" string.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;write_low Var1&lt;span style="color: rgb(51, 204, 0);"&gt;;If is not array or string this write R16 if is char or uchar,R16:R17 if is short or ushort, R16:R17:R18:R19 if is long or ulong, &lt;/span&gt;&lt;/span&gt;R16:R17:R18:R19:R20:R21:R22:R23 if is long_long or ulong_long to Var1(type of variable is autodetected).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;write_high Var1&lt;span style="color: rgb(51, 204, 0);"&gt;;If is not array or string this write R0 if is char or uchar,R0:R1 if is short or ushort, R0:R1:R2:R3 if is long or ulong, &lt;/span&gt;&lt;/span&gt;R0:R1:R2:R3:R4:R5:R6:R7 if is long_long or ulong_long to Var1(type of variable is autodetected).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;read_low Var1&lt;span style="color: rgb(51, 204, 0);"&gt;;If is not array or string this read from Var1 to R16 if is char or uchar,R16:R17 if is short or ushort, R16:R17:R18:R19 if is long or ulong, &lt;/span&gt;&lt;/span&gt;R16:R17:R18:R19:R20:R21:R22:R23 if is long_long or ulong_long(type of variable is autodetected).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;read_high Var1&lt;span style="color: rgb(51, 204, 0);"&gt;;If is not array or string this read from Var1 to R0 if is char or uchar,R0:R1 if is short or ushort, R0:R1:R2:R3 if is long or ulong, &lt;/span&gt;&lt;/span&gt;R0:R1:R2:R3:R4:R5:R6:R7 if is long_long or ulong_long(type of variable is autodetected).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;function(NameOfFunction)&lt;span style="color: rgb(51, 204, 0);"&gt;;with this is declased one function(is absolute necessarily to declare like that the function because this will be reset the private variable pointer.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;end_function; &lt;span style="color: rgb(51, 204, 0);"&gt;in this version this can be replaced by &lt;span style="color: rgb(51, 102, 255);"&gt;Ret&lt;/span&gt; instruction.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;call_func(function,null)&lt;/span&gt;;this calls a private function with no transferred variable to him.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;call_func(function,Var1)&lt;/span&gt;;this calls a private function with Var1 transfered to function, in Z is the address of Var1, this variable can be one char, uchar, short, ushort, long, ulong, array or one string, in Y is the base address function that called this function(not yet completed).&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;Var1 is the name of variable.&lt;br /&gt;&lt;br /&gt;All of your stuff can be between ".include "Sys/Compiler.inc"" and ".include "Sys/Compiler_End.inc""&lt;br /&gt;&lt;br /&gt;This compiler is at firs version 1.0.0 and can be downloaded from &lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/Avr_CompilerV1.0.0.rar?attredirects=0&amp;amp;d=1"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-5021202369874660876?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/5021202369874660876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=5021202369874660876' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/5021202369874660876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/5021202369874660876'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2011/02/asm-compiler.html' title='ASM Compiler'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-3903640764014128254</id><published>2010-07-05T13:41:00.006+03:00</published><updated>2011-03-06T19:25:37.128+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tolchain'/><category scheme='http://www.blogger.com/atom/ns#' term='NGW100'/><category scheme='http://www.blogger.com/atom/ns#' term='AVR 32'/><category scheme='http://www.blogger.com/atom/ns#' term='sdk'/><title type='text'>NGW100 AVR32 SDK modified from tolchain216</title><content type='html'>&lt;span id="result_box" class="long_text"&gt;&lt;span style="" title=""&gt;I recently started programming for avr32, for this reason I bought a motherboard NGW100, searching the internet for AVr32 AP7000 documentation I found the package libraries and drivers tolchain216, looking through it I noticed that this is not too arranged, so i begin to arrange &lt;/span&gt;&lt;span style="" title=""&gt;libraries and drivers by category and the result can be downloaded below.&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/NGW100_AVR32_SDK%28tolchain216%29V1.0.rar?attredirects=0&amp;amp;d=1"&gt;&lt;br /&gt;NGW100 AVR32 SDK from tolchain216 V1.0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-3903640764014128254?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/3903640764014128254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=3903640764014128254' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/3903640764014128254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/3903640764014128254'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2010/07/ngw100-avr32-sdk-modified-from.html' title='NGW100 AVR32 SDK modified from tolchain216'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-8397934361057928812</id><published>2010-05-20T12:04:00.039+03:00</published><updated>2011-10-07T18:46:10.706+03:00</updated><title type='text'>Mp3 player with ATmega64, Vs1011 &amp; Samsung E700 display</title><content type='html'>This MP3 player is an upgrade to &lt;a href="http://digitalelectronicsandprograming.blogspot.com/2009/04/mp3-player-with-atmega64-vs1011a-and.html"&gt;this player&lt;/a&gt; . New in this player is a new nice  interface with bitmaps from media player  windows 7 and windows 7 battery icons.&lt;br /&gt;&lt;br /&gt;&lt;object height="405" width="500"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ptbefOZtsGU&amp;amp;hl=en_US&amp;amp;fs=1?rel=0&amp;amp;border=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/ptbefOZtsGU&amp;amp;hl=en_US&amp;amp;fs=1?rel=0&amp;amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="405"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I preferred to use bitmaps for interface because in future i want to be possible to change the skin interface from SD card, in this case  is more simple to create skins for this player.&lt;br /&gt;&lt;br /&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: #e6ecf9; color: black;" title=""&gt;This player can be bought from&lt;/span&gt;&lt;/span&gt;&lt;span class="short_text" id="result_box"&gt;&lt;span style="background-color: #e6ecf9; color: black;" title=""&gt; &lt;a href="http://virtualelectron.com/Shop/index.php?main_page=product_info&amp;amp;cPath=1_5&amp;amp;products_id=1"&gt;here&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 180%; font-weight: bold;"&gt;&lt;span style="color: red;"&gt;V1.0.1A&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class="hps" title="Faceti click pentru traducerea alternativa"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;A little correction for used times for back light, keyboard and battery showing.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/Mp3PlayerV1.0.1A_WithSDK_1.0.4.rar?attredirects=0&amp;amp;d=1"&gt;Download MP3 PlayerV1.0.1A&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 180%; font-weight: bold;"&gt;&lt;span style="color: red;"&gt;V1.0.1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This version player is made to use ASM_SDK V1.0.4 and prepared to work with multiple opened files.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/Mp3PlayerV1.0.1_WithSDK_1.0.4.rar?attredirects=0&amp;amp;d=1"&gt;Download MP3_PlayerV1.0.1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;From here you can download &lt;a href="http://digitalelectronicsandprograming.blogspot.com/2010/05/asm-sdk.html"&gt;ASM_SDK.&lt;/a&gt;&lt;br /&gt;With &lt;a href="http://digitalelectronicsandprograming.blogspot.com/2010/05/asm-sdk.html"&gt;&lt;span style="text-decoration: underline;"&gt;ASM_SDK 1.0.5&lt;/span&gt;&lt;/a&gt; or &lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class="hps" title="Faceti click pentru traducerea alternativa"&gt;newest version you can play from SDHC high capacity &amp;gt; 4GB, at &lt;/span&gt;&lt;/span&gt;&lt;span class="short_text" id="result_box" lang="en"&gt;&lt;span class="hps" title="Faceti click pentru traducerea alternativa"&gt;the&lt;/span&gt; &lt;span class="hps" title="Faceti click pentru traducerea alternativa"&gt;frequency&lt;/span&gt; &lt;span class="hps" title="Faceti click pentru traducerea alternativa"&gt;of only&lt;/span&gt; &lt;span class="hps" title="Faceti click pentru traducerea alternativa"&gt;6&lt;/span&gt; &lt;span class="hps" title="Faceti click pentru traducerea alternativa"&gt;MHz&lt;/span&gt;&lt;/span&gt; you can play 320Kb/s bit rate melody's.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 180%; font-weight: bold;"&gt;&lt;span style="color: red;"&gt;V1.0.0&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;From &lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/Mp3PlayerATmega64LcdSamsungE700_V2.0.rar?attredirects=0&amp;amp;d=1"&gt;here&lt;/a&gt;  you can download the first  source code for this player.To compile this  player is necessarily to download and include ASM  SDK from &lt;a href="http://digitalelectronicsandprograming.blogspot.com/2010/05/asm-sdk.html"&gt;here&lt;/a&gt;, this version is made to use ASM_SDK V1.0.3.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-8397934361057928812?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/8397934361057928812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=8397934361057928812' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/8397934361057928812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/8397934361057928812'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2010/05/mp3-player-with-atmega162-vs1011.html' title='Mp3 player with ATmega64, Vs1011 &amp; Samsung E700 display'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-3062789097567724353</id><published>2010-05-06T15:30:00.018+03:00</published><updated>2011-03-06T19:20:30.784+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='boot loader'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega'/><category scheme='http://www.blogger.com/atom/ns#' term='utility'/><title type='text'>Micro Hex Bootloader for ATmega microcontrollers</title><content type='html'>&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;&lt;b&gt;New in 1.1  version:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The boot loader from microcontroller can report 5  different errors:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;LineDefError  = One line is not have the  defined destination.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;SecondHexCharNotFound = If first hex  char is found but second hex char is not found or is not one hex char.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;CheckSum  = If in one line is detected one check sum error.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;LineMismach  = After conversion from hex to bin If total length line - 5 is not  equal to data bytes contained by that line.&lt;/li&gt;&lt;li&gt;NoMemorySelected =  If user is trying to write in memory but the user is not sends the  command to select Flash or EEProm memory.&lt;/li&gt;&lt;/ol&gt;Resources:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Flash = 852 Bytes For Atmega8( The fusible for jumping in boot loader is  necessarily to set to 512 Words ).&lt;/li&gt;&lt;li&gt; Flash = 860 Bytes For Uart0 Atmega64-128( The fusible for jumping in boot loader is  necessarily to set to 512 Words ).&lt;/li&gt;&lt;li&gt; Flash = 878 Bytes For Uart1 Atmega64-128( The fusible for jumping in boot loader is  necessarily to set to 512 Words ).&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;From this moment the source code is ready to download for free.&lt;br /&gt;To compile this boot loader is necessarily to use last &lt;a href="http://digitalelectronicsandprograming.blogspot.com/2010/05/asm-sdk.html"&gt;ASM SDK&lt;/a&gt;.&lt;br /&gt;This Bootloader has maximum 512Words(1KB) of flash and can work on controllers listened down:&lt;br /&gt;&lt;br /&gt;ATmega48         &lt;span style="color: rgb(255, 0, 0);"&gt;Not Tested&lt;/span&gt;&lt;br /&gt;ATmega48P         &lt;span style="color: rgb(255, 0, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Tested&lt;/span&gt;&lt;br /&gt;Atmega8         &lt;span style="color: rgb(255, 0, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Tested&lt;/span&gt;&lt;br /&gt;Atmega8A         &lt;span style="color: rgb(255, 0, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Tested&lt;/span&gt;&lt;br /&gt;ATmega88         &lt;span style="color: rgb(255, 0, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Tested&lt;/span&gt;&lt;br /&gt;ATmega88A         &lt;span style="color: rgb(255, 0, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Tested&lt;/span&gt;&lt;br /&gt;ATmega88PA         &lt;span style="color: rgb(255, 0, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Tested&lt;/span&gt;&lt;br /&gt;ATmega16         &lt;span style="color: rgb(255, 0, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Tested&lt;/span&gt;&lt;br /&gt;ATmega16A         &lt;span style="color: rgb(255, 0, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Tested&lt;/span&gt;&lt;br /&gt;ATmega162         &lt;span style="color: rgb(255, 0, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Tested&lt;/span&gt;&lt;br /&gt;ATmega168         &lt;span style="color: rgb(255, 0, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Tested&lt;/span&gt;&lt;br /&gt;ATmega168A         &lt;span style="color: rgb(255, 0, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Tested&lt;/span&gt;&lt;br /&gt;ATmega168PA         &lt;span style="color: rgb(255, 0, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Tested&lt;/span&gt;&lt;br /&gt;ATmega32         &lt;span style="color: rgb(255, 0, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Tested&lt;/span&gt;&lt;br /&gt;ATmega32A         &lt;span style="color: rgb(255, 0, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Tested&lt;/span&gt;&lt;br /&gt;ATmega64         &lt;span style="color: rgb(51, 255, 51);"&gt;OK&lt;/span&gt;&lt;br /&gt;ATmega64A         &lt;span style="color: rgb(255, 0, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Tested&lt;/span&gt;&lt;br /&gt;ATmega640         &lt;span style="color: rgb(255, 0, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Tested&lt;/span&gt;&lt;br /&gt;ATmega128         &lt;span style="color: rgb(51, 255, 51);"&gt;OK&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;/span&gt;&lt;br /&gt;ATmega128A         &lt;span style="color: rgb(255, 0, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Tested&lt;/span&gt;&lt;br /&gt;ATmega1281         &lt;span style="color: rgb(255, 0, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Tested&lt;/span&gt;&lt;br /&gt;ATmega1280         &lt;span style="color: rgb(255, 0, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Tested&lt;/span&gt;&lt;br /&gt;ATmega2561         &lt;span style="color: rgb(255, 0, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Tested&lt;/span&gt;&lt;br /&gt;ATmega2560         &lt;span style="color: rgb(255, 0, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;Tested&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/BootLoaderSourceCodeV1.1.rar?attredirects=0&amp;amp;d=1"&gt;Download Bootloader V1.1 ASM Source code and PC uploader C# source code.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;&lt;b&gt;First version V1.0&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is   an utility that eliminate the ISP programmer for ATmega   Microcontrollers and he work even on Windows Vista and Windows 7.&lt;br /&gt;&lt;br /&gt;This  boot loader is created to upload data in hex format no bin like others  boot loaders, to convert from hex to bin is used an function integrated  in boot loader not in up loader.&lt;br /&gt;&lt;br /&gt;Version ( V1.0 ) is capable to write flash and  eeprom (.hex and .eep) generated by AVR Studio and AVR GCC.&lt;br /&gt;&lt;br /&gt;The   .eep file is detected automatically by the program from the name of  .hex  file, for this reason is necessarily to select only .hex file.&lt;br /&gt;&lt;br /&gt;When   this boot loader is present on an ATmega microcontroller ,at reset is   booting in boot loader and is programed to stay and wait for "BootInit"  +  Cr for entering in programed mode for 2 seconds, if "BootInit" + Cr  is  not received the boot loader jumps to address 0 in flash.&lt;br /&gt;&lt;br /&gt;If  communication is interrupted more than 2 seconds this boot loader jump  to address 0 of flash.&lt;br /&gt;&lt;br /&gt;The boot loader from microcontroller can  report 4 different errors that can be appear:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;LineDefError  =  One line is not have the defined destination.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;SecondHexCharNotFound  = If first hex char is found but second hex char is not found or is not  one hex char.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;CheckSum = If in one line is detected one  check sum error.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;LineMismach = After conversion from hex to  bin If total length line - 5 is not equal to data bytes contained by  that line.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Resources:&lt;br /&gt;Flash = 952 Bytes For Uart1 ( The  fusible for jumping in boot loader is necessarily to set to 512 Words  ).&lt;br /&gt;&lt;br /&gt;Down  is ready to download 2 Hex demo files  that contain the boot loader for  ATmega64 at 16Mhz and 8Mhz at Baud rate  19200b/s for Uart1&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/PC_HexBootLoaderV1.0.zip?attredirects=0&amp;amp;d=1"&gt;Download PC uploader V1.0&lt;/a&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/m64_8Mhz_Baut19200_Uart1_HexBootLoaderV1.0.hex?attredirects=0&amp;amp;d=1"&gt;Download  BootLoader for ATmega64 8Mhz Uart1 19200b/s V1.0&lt;/a&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/m64_16Mhz_Baut19200_Uart1_HexBootLoaderV1.0.hex?attredirects=0&amp;amp;d=1"&gt;Download BootLoader for ATmega64 16Mhz Uart1 19200b/s V1.0&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-3062789097567724353?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/3062789097567724353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=3062789097567724353' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/3062789097567724353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/3062789097567724353'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2010/05/micro-hex-bootloader-for-atmega.html' title='Micro Hex Bootloader for ATmega microcontrollers'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-1106573312897638002</id><published>2010-05-06T15:17:00.013+03:00</published><updated>2011-08-16T21:58:31.013+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GCC'/><category scheme='http://www.blogger.com/atom/ns#' term='Converter'/><category scheme='http://www.blogger.com/atom/ns#' term='asm'/><category scheme='http://www.blogger.com/atom/ns#' term='Bitmap'/><category scheme='http://www.blogger.com/atom/ns#' term='Hex'/><title type='text'>Complete File to Hex converter</title><content type='html'>I've made this converter because I've searched on the internet looking for a converter that converts one file.bmp with header in decimal or hex and i didn't find it. This converter convert a file.bmp in a file.asm with all the additions ".db" for declaration constants.&lt;br /&gt;&lt;br /&gt;The result file contains all the bytes converted without exception.&lt;br /&gt;The name of the result file is: 'name of file converted.asm'  for AvrASM  ex: test.bmp is saved test.bmp.asm&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_ZlBzpWAhs1E/S-KzgGPS6hI/AAAAAAAAAV4/TV53vGMYZYw/s1600/FileConverterToHexAvrASM.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 295px; height: 86px;" src="http://3.bp.blogspot.com/_ZlBzpWAhs1E/S-KzgGPS6hI/AAAAAAAAAV4/TV53vGMYZYw/s320/FileConverterToHexAvrASM.JPG" alt="" id="BLOGGER_PHOTO_ID_5468130261593156114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Because I've been asked about a AvrGcc converter, i have created a  program for converting in .h files&lt;br /&gt;The name of the result file is:  'the name of file converted.h'  for AvrGCC ex: test.bmp is saved  test.bmp.h&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_ZlBzpWAhs1E/S-KzshsrdnI/AAAAAAAAAWA/nndHZrDU4t4/s1600/FileConverterToHexAvrGCC.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 295px; height: 86px;" src="http://2.bp.blogspot.com/_ZlBzpWAhs1E/S-KzshsrdnI/AAAAAAAAAWA/nndHZrDU4t4/s320/FileConverterToHexAvrGCC.jpg" alt="" id="BLOGGER_PHOTO_ID_5468130475122587250" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is the result for AvrASM:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_ZlBzpWAhs1E/S-K0Rn7JM4I/AAAAAAAAAWI/GIRrkpgxPvw/s1600/FileConverterToHexAvrASM_Result.GIF" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 214px;" src="http://4.bp.blogspot.com/_ZlBzpWAhs1E/S-K0Rn7JM4I/AAAAAAAAAWI/GIRrkpgxPvw/s320/FileConverterToHexAvrASM_Result.GIF" alt="" id="BLOGGER_PHOTO_ID_5468131112449028994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is the result for AvrGCC:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_ZlBzpWAhs1E/S-K0bTKdiJI/AAAAAAAAAWQ/_iz_MF5WDbc/s1600/Result_FileConverterToHexAvGCC.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 214px;" src="http://3.bp.blogspot.com/_ZlBzpWAhs1E/S-K0bTKdiJI/AAAAAAAAAWQ/_iz_MF5WDbc/s320/Result_FileConverterToHexAvGCC.jpg" alt="" id="BLOGGER_PHOTO_ID_5468131278674823314" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/FileConverterToHexAvGCC.rar?attredirects=0&amp;amp;d=1"&gt;FileConverterToHexAvGCC_V1.1.zip&lt;/a&gt;&lt;div&gt;&lt;br /&gt;&lt;div class="name_detail"&gt;&lt;a class="link" href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/FileConverterToHexAvrASM.zip?attredirects=0&amp;amp;d=1" title="FileConverterToHexAvrASM.zip"&gt;FileConverterToHexAvrASM_V1.0.zip&lt;/a&gt;&lt;/div&gt;&lt;a class="link" href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/FileConverterToHexAvGCC.zip?attredirects=0&amp;amp;d=1" title="FileConverterToHexAvGCC.zip"&gt;FileConverterToHexAvGCC_V1.0.zip&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-1106573312897638002?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/1106573312897638002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=1106573312897638002' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/1106573312897638002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/1106573312897638002'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2010/05/complete-bitmap-to-hex-converter.html' title='Complete File to Hex converter'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ZlBzpWAhs1E/S-KzgGPS6hI/AAAAAAAAAV4/TV53vGMYZYw/s72-c/FileConverterToHexAvrASM.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-8862272978548591523</id><published>2010-05-06T13:39:00.038+03:00</published><updated>2011-06-05T10:25:38.734+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='LED'/><category scheme='http://www.blogger.com/atom/ns#' term='Audio'/><category scheme='http://www.blogger.com/atom/ns#' term='Analyzer'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega64'/><category scheme='http://www.blogger.com/atom/ns#' term='Spectrum'/><category scheme='http://www.blogger.com/atom/ns#' term='Avr'/><title type='text'>Multifunctional 20 Band Audio Spectrum Analyzer V3.0.x</title><content type='html'>This project is a version 3 firmware and hardware upgrade spectrum analyzer  with 20 audio band of 20 levels each and includes other functions and  utilities improvements.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/lh/photo/1WPMqqk8IxFBANuAmfJqtg?feat=embedwebsite"&gt;&lt;img src="http://lh5.ggpht.com/_ZlBzpWAhs1E/TEA6DVkjfgI/AAAAAAAAAYs/-Oxsr_6cKwA/s288/Spectrum%20Analyzer%20V3.0%20%20TOP.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;"&gt;From &lt;a href="http://picasaweb.google.com/morgoth2600/DigitalElectronicsAndPrograming?feat=embedwebsite"&gt;Digital electronics and programing&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;  &lt;table style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/lh/photo/8e9yCQGqn6o9l4s24I8whQ?feat=embedwebsite"&gt;&lt;img src="http://lh3.ggpht.com/_ZlBzpWAhs1E/TEA6DlH4PJI/AAAAAAAAAZA/eoguHtrsCoc/s288/Spectrum%20Analyzer%20V3.0%20%20BOOT.jpg" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;"&gt;From &lt;a href="http://picasaweb.google.com/morgoth2600/DigitalElectronicsAndPrograming?feat=embedwebsite"&gt;Digital electronics and programing&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;iframe src="http://www.youtube.com/embed/n0XLpmqLYcw?rel=0" allowfullscreen="" frameborder="0" height="390" width="480"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;On future:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Option to put five, ten or more of this boards, each board filtering one frequency, rotated by &lt;span id="result_box" class="short_text" lang="en"&gt;&lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;ninety&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;degrees&lt;/span&gt;&lt;/span&gt; to obtain large size of panel for disco or other purposes.&lt;/li&gt;&lt;li&gt;Ability to display a text message received on the serial unit.&lt;/li&gt;&lt;li&gt;Ability to display time during sleep.&lt;/li&gt;&lt;li&gt;Function to adjust the signal level manually or automatically.&lt;/li&gt;&lt;li&gt;Ability to wake up from standby function if signal input is detected.&lt;/li&gt;&lt;li&gt;Ability to enter standby mode in the absence of input signal.&lt;/li&gt;&lt;li&gt;Ability to export using the serial unit, the levels displayed on the local display.&lt;/li&gt;&lt;/ol&gt;&lt;span id="result_box" class="short_text" lang="en"&gt;&lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;And&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;many&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;many&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;other&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;functions&lt;/span&gt;&lt;/span&gt;...........&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;V3.1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Is renamed because is one big step from filters combined (digital &amp;amp; analog) to completely digital filtering.&lt;br /&gt;&lt;br /&gt;Added functions:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Ability to enter in standby from menu.&lt;/li&gt;&lt;li&gt;Change from help of analog circuits to filter audio bands to completely digital filtering bands,  without the help of analog filtering circuits ( this improve the stability of the displayed bands ) .&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;V3.0.3&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Added functions:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Improve speed of way to display levels of frequencies 0,1 &amp;amp; 2.&lt;/li&gt;&lt;li&gt;Ability to set the start-up light when is connected to power supply.&lt;/li&gt;&lt;li&gt;Ability to set-up the horizontal way to display the levels of frequencies, normal or mirrored for stereo use, the way is memorized for start-up config.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;V3.0.2&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Functions:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Eleven different ways of displaying the levels of frequencies.&lt;/li&gt;&lt;li&gt;Five modes(ways) of display luminance.&lt;/li&gt;&lt;li&gt;Ability to set the star-up mode when is connected the power supply.&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;V3.0.0 &amp;amp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold; color: rgb(255, 0, 0);"&gt;V3.0.1&lt;/span&gt;&lt;/span&gt; generic versions( discarded ).&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;This spectrum analyzer can be bought from &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://devboardshop.servehttp.com/shop/index.php?route=product/category&amp;amp;path=38_50"&gt;here&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-8862272978548591523?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/8862272978548591523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=8862272978548591523' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/8862272978548591523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/8862272978548591523'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2010/05/multifunctional-20-band-audio-spectrum.html' title='Multifunctional 20 Band Audio Spectrum Analyzer V3.0.x'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_ZlBzpWAhs1E/TEA6DVkjfgI/AAAAAAAAAYs/-Oxsr_6cKwA/s72-c/Spectrum%20Analyzer%20V3.0%20%20TOP.jpg' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-5040040422347848494</id><published>2010-05-05T19:58:00.032+03:00</published><updated>2011-04-30T15:28:40.141+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sdk'/><category scheme='http://www.blogger.com/atom/ns#' term='asm'/><title type='text'>ASM SDK</title><content type='html'>&lt;span id="result_box" class="short_text"&gt;&lt;span title=""&gt;&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;V1.0.5&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;Added functions:&lt;br /&gt;&lt;/span&gt; &lt;ol&gt;&lt;li&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;"IO_Driver_20x20LedDisplay.asm" Added  function "_PaintVerticalBarToVideoRamDnLeft" display one bar with R16  col pozition and R18 Length.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;"IO_Driver_20x20LedDisplay.asm" Added  function "_PaintVerticalBarToVideoRamUpLeft" display one bar with R16  col pozition and R18 Length.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;"IO_Driver_20x20LedDisplay.asm" Added function "_SleepDisplay" to sleep display to deactivate scanning of matriceal display.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;"IO_Driver_20x20LedDisplay.asm" Added function "_WeekDisplay to resume from sleep.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;"IO_Driver_20x20LedDisplay.asm" Added  function "_DisplaySecondaryRam" I added a secondary ram buffer to  prevent flicker when you write to video ram.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;"IO_Driver_20x20LedDisplay.asm" Added  function "_Display_TransferDataToDisplay_True" This allow to transfer  data from secondary buffer to video ram buffer.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;"IO_Driver_20x20LedDisplay.asm" Added  function "_Display_TransferDataToDisplay_False" This block transfersof  data from secondary buffer to video ram buffer.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;"IO_Adc.inc" Added function ".Macro _Macro_Adc_Sleep" to sleep internal ADC.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;"IO_Adc.inc" Added function "_Macro_Adc_Week" to resume from sleep internal ADC.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt; &lt;span style="font-family:arial;font-size:85%;"&gt;Optimizations:&lt;br /&gt;&lt;/span&gt; &lt;ol&gt;&lt;li&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;"IO_SdDriver.asm" Added support for SDHC High capacity &amp;gt; 4GB&lt;/span&gt; ( tested with one Kingston SDC4/16GB 02, MicroSD 16GB Class 4)&lt;/li&gt;&lt;/ol&gt; &lt;span id="result_box" class="short_text"&gt;&lt;span title=""&gt;&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;V1.0.4&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;Added functions:&lt;br /&gt;-In "Drivers/IO_Driver_20x20LedDisplay.asm" non multiplexed 20x20 led display.&lt;br /&gt;&lt;br /&gt;Options:&lt;br /&gt;-In "Lib/Util.inc" Option to eliminate non used memory type.&lt;br /&gt;&lt;br /&gt;Optimizations:&lt;br /&gt;-In "System/SoftTimers.asm" optimized tick function.&lt;br /&gt;-One important optimization on Fat32 FFS &lt;/span&gt;&lt;span id="result_box" class="short_text"   lang="en" style="font-family:arial;font-size:85%;"&gt;&lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;may&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;allow&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;  programmers to work with allocation table management library and data  management library fully dynamic, now with this optimization the use can  mount infinite discs on single microcontroller,  the limit is only the  ram memory.&lt;br /&gt;&lt;br /&gt;Added library:&lt;br /&gt;-"System/Vectors.inc"is a macro functions to help programmers to place vectors more simply.&lt;br /&gt;-"Drivers/IO_ADC.asm" and "IO_ADC.inc"is a generic driver to work with internal hardware ADC.&lt;br /&gt;&lt;br /&gt;Bug fix:&lt;br /&gt;-"IO_VS1011a.asm"  fix an error that "VS1011GetBitrate" function return's 0 if the table  of bitrate constant is called one part on Zh and another part on Zh+1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;An example to use Fat32 FFS with multiple disks:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-family:arial;font-size:85%;"  &gt;    _Fat32_IndexManagement_RamAlloc IndexManagementLibraryRamDisk1&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-family:arial;font-size:85%;"  &gt;     _Fat32_IndexManagement_RamAlloc IndexManagementLibraryRamDisk2&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-family:arial;font-size:85%;"  &gt;     _Fat32_DataManagement_RamAlloc RamToFat32DataPlayerDisk1&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style="font-weight: bold; font-family:arial;font-size:85%;"  &gt;    _Fat32_DataManagement_RamAlloc RamToFat32DataPlayerDisk2&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style="font-weight: bold; font-family:arial;font-size:85%;"  &gt;    _Fat32_Mount IndexManagementLibraryRamDisk1&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-family:arial;font-size:85%;"  &gt;     _Fat32_Mount IndexManagementLibraryRamDisk2&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-family:arial;font-size:85%;"  &gt;     _Fat32_SesionInit IndexManagementLibraryRamDisk1,RamToFat32DataPlayerDisk1&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style="font-weight: bold; font-family:arial;font-size:85%;"  &gt;    _Fat32_SesionInit IndexManagementLibraryRamDisk2,RamToFat32DataPlayerDisk2&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;On every change of working disks is necessary to point in Zl:Zh the data management library allocated ram like that:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-family:arial;font-size:85%;"  &gt;     _Fat32_DataManagement_GetRamAddress RamToFat32DataPlayerDisk1&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-family:arial;font-size:85%;"  &gt;      Code to work with this disk...................&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;  &lt;span style="font-weight: bold; font-family:arial;font-size:85%;"  &gt;     _Fat32_DataManagement_GetRamAddress RamToFat32DataPlayerDisk2&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-family:arial;font-size:85%;"  &gt;      Code to work with this disk...................&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;This is cool because you can copy one file from one disk to another.&lt;br /&gt;&lt;br /&gt;With this new optimization you can open two or more files on same disk, one example is this:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-family:arial;font-size:85%;"  &gt;    _Fat32_IndexManagement_RamAlloc IndexManagementLibraryRamDisk1&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-family:arial;font-size:85%;"  &gt;      _Fat32_DataManagement_RamAlloc RamToFat32DataPlayerDisk1&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-family:arial;font-size:85%;"  &gt;      _Fat32_DataManagement_RamAlloc RamToFat32DataPlayerDisk2&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;    &lt;span style="font-weight: bold; font-family:arial;font-size:85%;"  &gt;    _Fat32_Mount IndexManagementLibraryRamDisk1&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-family:arial;font-size:85%;"  &gt;      _Fat32_SesionInit IndexManagementLibraryRamDisk1,RamToFat32DataPlayerDisk1&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-family:arial;font-size:85%;"  &gt;      _Fat32_SesionInit IndexManagementLibraryRamDisk1,RamToFat32DataPlayerDisk2&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;span style="font-weight: bold; font-family:arial;font-size:85%;"  &gt;     _Fat32_DataManagement_GetRamAddress RamToFat32DataPlayerDisk1&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt; Code to work with this disk................... Get byte from file 1&lt;br /&gt;&lt;/span&gt;  &lt;span style="font-weight: bold; font-family:arial;font-size:85%;"  &gt;     _Fat32_DataManagement_GetRamAddress RamToFat32DataPlayerDisk2&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;&lt;br /&gt; Code to work with this disk................... Write byte to file 2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/MorgothAvrAsmSdkV1.0.4.rar?attredirects=0&amp;amp;d=1"&gt;Download SDK 1.0.4&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="result_box" class="short_text"&gt;&lt;span title=""&gt;&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span id="result_box" class="short_text"&gt;&lt;span title=""&gt;&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;V1.0.3&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;-Added  battery paint with 9 bitmap levels and charge bitmap,this function can  be called from Dx.asm, before calling this function in R16 is  necessarily to lead level:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;BatteryEmpty&lt;/li&gt;&lt;li&gt;Battery1&lt;/li&gt;&lt;li&gt;Battery2&lt;/li&gt;&lt;li&gt;Battery3&lt;/li&gt;&lt;li&gt;Battery4&lt;/li&gt;&lt;li&gt;Battery5&lt;/li&gt;&lt;li&gt;Battery6&lt;/li&gt;&lt;li&gt;Battery7&lt;/li&gt;&lt;li&gt;BatteryFull&lt;/li&gt;&lt;li&gt;BatteryCharge&lt;/li&gt;&lt;/ol&gt;-Verified  software timers from one hardware timer: this function is like timers  from C,C++,C#,Delphi and others programing languages, example:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;.Dseg&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;TimeToEsantionBattery:             .Byte 8&lt;span style="color: rgb(51, 204, 0);"&gt;; Reserve ram for this timer&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;TimeToTurnOffLight:                    .Byte 8&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;; Reserve ram for this timer&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;.Cseg&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span style="color: rgb(51, 204, 255);"&gt;Ldi&lt;/span&gt; R16,Low(1000); &lt;span style="color: rgb(51, 204, 0);"&gt;Hardware timer tick /1000&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;   &lt;span style="color: rgb(51, 255, 255);"&gt; &lt;span style="color: rgb(51, 204, 255);"&gt;Ldi&lt;/span&gt;&lt;/span&gt; R17,Byte2(1000)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span style="color: rgb(51, 204, 255);"&gt;Ldi&lt;/span&gt; R18,Byte3(1000)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span style="color: rgb(51, 204, 255);"&gt;Ldi&lt;/span&gt; R19,Byte4(1000)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span style="color: rgb(51, 204, 255);"&gt;Ldi&lt;/span&gt; Yl,Low(TimeToEsantionBattery)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span style="color: rgb(51, 204, 255);"&gt;Ldi&lt;/span&gt; Yh,High(TimeToEsantionBattery)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    CallLib _SoftTimer,_SoftTimer_Init&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;   &lt;span style="color: rgb(51, 204, 255);"&gt; Ldi&lt;/span&gt; R16,Low(10000); &lt;span style="color: rgb(51, 204, 0);"&gt;Hardware timer tick /10000&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span style="color: rgb(51, 204, 255);"&gt;Ldi &lt;/span&gt;R17,Byte2(10000)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span style="color: rgb(51, 204, 255);"&gt;Ldi&lt;/span&gt; R18,Byte3(10000)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span style="color: rgb(51, 204, 255);"&gt;Ldi&lt;/span&gt; R19,Byte4(10000)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span style="color: rgb(51, 204, 255);"&gt;Ldi&lt;/span&gt; Yl,Low(TimeToTurnOffLight)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span style="color: rgb(51, 204, 255);"&gt;Ldi&lt;/span&gt; Yh,&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;High&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;(TimeToTurnOffLight)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    CallLib _SoftTimer,_SoftTimer_Init&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Main:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span style="color: rgb(51, 204, 255);"&gt;Wdr&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span style="color: rgb(51, 204, 255);"&gt;Ldi&lt;/span&gt; Yl,Low(TimeToTurnOffLight)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span style="color: rgb(51, 204, 255);"&gt;Ldi&lt;/span&gt; Yh,&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;High&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;(TimeToTurnOffLight)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    CallLib _SoftTimer,_SoftTimer_Tick&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span style="color: rgb(51, 204, 255);"&gt;Rcall&lt;/span&gt; TurnOffLight&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;   &lt;span style="color: rgb(51, 204, 255);"&gt; Ldi&lt;/span&gt; Yl,Low(TimeToEsantionBattery)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span style="color: rgb(51, 204, 255);"&gt; Ldi&lt;/span&gt; Yh,&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;High&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;(TimeToEsantionBattery)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;     CallLib _SoftTimer,_SoftTimer_Tick&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span style="color: rgb(51, 204, 255);"&gt;Rcall&lt;/span&gt; EsantionBattery&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span style="color: rgb(51, 204, 255);"&gt;Rjmp&lt;/span&gt; Main&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;TurnOffLight:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    ; Routine to execute tick&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span style="color: rgb(51, 204, 255);"&gt;Ret&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;EsantionBattery:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;     ; Routine to execute tick&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span style="color: rgb(51, 204, 255);"&gt;Ret&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;To disable one timer use this example:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;   &lt;span style="color: rgb(51, 204, 255);"&gt; Ldi&lt;/span&gt; Yl,Low(TimeToTurnOffLight)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span style="color: rgb(51, 204, 255);"&gt; Ldi&lt;/span&gt; Yh,&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;High&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;(TimeToTurnOffLight)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    CallLib _SoftTimer,_SoftTimer_Disable&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;To enable one timer use this example:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    &lt;span style="color: rgb(51, 204, 255);"&gt;Ldi&lt;/span&gt; Yl,Low(TimeToTurnOffLight)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;      &lt;span style="color: rgb(51, 204, 255);"&gt;Ldi&lt;/span&gt; Yh,&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;High&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;(TimeToTurnOffLight)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;      CallLib _SoftTimer,_SoftTimer_Enabled&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This timers is enabled when is initiated.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/MorgothAvrAsmSdkV1.0.3.rar?attredirects=0&amp;amp;d=1"&gt;Download SDK 1.0.3&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="result_box" class="short_text"&gt;&lt;span title=""&gt;&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span id="result_box" class="short_text"&gt;&lt;span title=""&gt;&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;V1.0.2&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;-Added SDHC support in SD card driver,&lt;br /&gt;-Added support for dynamically MBR location in Fat32 Filesystem library.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/MorgothAvrAsmSdkV1.0.2.rar?attredirects=0&amp;amp;d=1"&gt;Download SDK 1.0.2&lt;/a&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span id="result_box" class="short_text"&gt;&lt;span title=""&gt;&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;V1.0.1A&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;This litle update is a modification in Internal EEProm Driver file to work with more microcontrollers.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/MorgothAvrAsmSdkV1.0.1A.rar?attredirects=0&amp;amp;d=1"&gt;Download SDK 1.0.1A&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="result_box" class="short_text"&gt;&lt;span title=""&gt;&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;V1.0.1&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;Fat32file system Read and write with 3 modes of ram allocation. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;/span&gt; &lt;a href="http://download.avrdevboardshop.hostzi.com/ASM_SDK/Fat32%20FFS-Rev1.0.pdf"&gt;Doc RO&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;BTM bluetooth driver. &lt;span style="color: rgb(255, 153, 0);"&gt;Not finished ( Some functions not proved )&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Samsung E700 TFT color display driver. &lt;span style="color: rgb(51, 204, 0);"&gt;OK &lt;a href="http://download.avrdevboardshop.hostzi.com/ASM_SDK/IO_E700Driver-Rev1.0.pdf"&gt;Doc RO&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Nokia 6100 display driver. &lt;span style="color: rgb(255, 153, 0);"&gt;Not completed (No 24Bit ink support )&lt;/span&gt; &lt;a href="http://download.avrdevboardshop.hostzi.com/ASM_SDK/IO_N6100Driver-Rev1.0.pdf"&gt;Doc RO&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;HD44780 display driver. &lt;span style="color: rgb(255, 153, 0);"&gt;Not completed ( no optimization )&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;External I2C EEProm driver. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Internal eeprom driver. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Macro eeprom driver. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Joystick 5 direction driver. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;/span&gt;&lt;/li&gt;&lt;li&gt;General IO utility driver. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;/span&gt;&lt;/li&gt;&lt;li&gt;SD card driver in SPI mode. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Hardware SPI driver Macro mode. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Software SPI driver macro mode. &lt;span style="color: rgb(255, 153, 0);"&gt;Not tested&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Uart hardware driver in macro mode. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;/span&gt;&lt;/li&gt;&lt;li&gt;VS 10xx driver. &lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;OK&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(255, 204, 51);"&gt;(Added)&lt;/span&gt; 20x20 multiplexed matrix led display with 5 x 74hc574.&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;Library:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Variable conversion library. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Direct X library to work with display drivers included in this SDK. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Mathematics library. &lt;span style="color: rgb(255, 153, 0);"&gt;Not finished ( Some functions not proved ) &lt;/span&gt;&lt;/li&gt;&lt;li&gt;Utility library. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;a href="http://download.avrdevboardshop.hostzi.com/ASM_SDK/Lib_Util-Rev1.0.pdf"&gt; Doc RO&lt;/a&gt; &lt;a href="http://download.avrdevboardshop.hostzi.com/ASM_SDK/Lib_Util-Rev1.0-EN.pdf"&gt;Doc EN&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;System:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Internal EEProm file system. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Software ram disk file system. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Software timers created from one hardware timer. &lt;span style="color: rgb(255, 153, 0);"&gt;Not tested&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;Dx.asm is more important graphic management file from this sdk, because this file has an numerous utility functions to display:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Function to display characters in 8x6 pix format with variable weight.&lt;/li&gt;&lt;li&gt;Function to display strings using function from point 1.&lt;/li&gt;&lt;li&gt;Function to create menu bar with catted corners full or empty, one color for margins and one for internal.&lt;/li&gt;&lt;li&gt;Function to paint an line with an color (not finished).&lt;/li&gt;&lt;li&gt;Function  to paint an bitmap in 8 or 24 bit format, stored in Internal Ram  memory, Internal EEProm memory, Internal Flash memory, external serial  flash memory(not finished), external serial EEprom memory(not finished)  or SD memory card(not finished), is necessary to store entire bitmap not  converted to bin or others formats( one utility to convert an entire  bitmap to hex asm or c for avr can be found &lt;a href="http://digitalelectronicsandprograming.blogspot.com/2010/05/complete-bitmap-to-hex-converter.html"&gt;here&lt;/a&gt; ).&lt;/li&gt;&lt;li&gt;Function  to display an progress bar created only from bitmaps stored in one of  memories from point 5, this progress bar looks like progress from last  MP3 player created by me and found &lt;a href="http://digitalelectronicsandprograming.blogspot.com/2010/05/mp3-player-with-atmega162-vs1011.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/MorgothAvrAsmSdkV1.0.1.rar?attredirects=0&amp;amp;d=1"&gt;Download SDK 1.0.1&lt;/a&gt;&lt;br /&gt;&lt;span id="result_box" class="short_text"&gt;&lt;span title=""&gt;&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;V1.0.0&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;This ASM SDK created by me is a group of library and drivers that contain:&lt;br /&gt;Version 1.0&lt;br /&gt;Drivers:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Fat32 file system Read and write with 3 modes of ram allocation. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;/span&gt; &lt;a href="http://download.avrdevboardshop.hostzi.com/ASM_SDK/Fat32%20FFS-Rev1.0.pdf"&gt;Doc RO&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;BTM bluetooth driver. &lt;span style="color: rgb(255, 153, 0);"&gt;Not finished ( Some functions not proved )&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Samsung E700 TFT color display driver. &lt;span style="color: rgb(51, 204, 0);"&gt;OK &lt;a href="http://download.avrdevboardshop.hostzi.com/ASM_SDK/IO_E700Driver-Rev1.0.pdf"&gt;Doc RO&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Nokia 6100 display driver. &lt;span style="color: rgb(255, 153, 0);"&gt;Not completed (No 24Bit ink support )&lt;/span&gt; &lt;a href="http://download.avrdevboardshop.hostzi.com/ASM_SDK/IO_N6100Driver-Rev1.0.pdf"&gt;Doc RO&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;HD44780 display driver. &lt;span style="color: rgb(255, 153, 0);"&gt;Not completed ( no optimization )&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;External I2C EEProm driver. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Internal eeprom driver. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Macro eeprom driver. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Joystick 5 direction driver. &lt;span style="color: rgb(255, 153, 0);"&gt;Not tested&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;General IO utility driver. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;/span&gt;&lt;/li&gt;&lt;li&gt;SD card driver in SPI mode. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Hardware SPI driver Macro mode. &lt;span style="color: rgb(255, 153, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;tested&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Software SPI driver macro mode. &lt;span style="color: rgb(255, 153, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;tested&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Uart hardware driver in macro mode. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;/span&gt;&lt;/li&gt;&lt;li&gt;VS 10xx driver. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;Library:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Variable conversion library. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;/span&gt;&lt;span style="color: rgb(51, 204, 0);"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Direct X library to work with display drivers included in this SDK. &lt;span style="color: rgb(255, 153, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;tested&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Mathematics library. &lt;span style="color: rgb(255, 153, 0);"&gt;Not finished ( Some functions not &lt;/span&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;tested &lt;/span&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;) &lt;/span&gt;&lt;/li&gt;&lt;li&gt;Utility library. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;a href="http://download.avrdevboardshop.hostzi.com/ASM_SDK/Lib_Util-Rev1.0.pdf"&gt; Doc RO&lt;/a&gt; &lt;a href="http://download.avrdevboardshop.hostzi.com/ASM_SDK/Lib_Util-Rev1.0-EN.pdf"&gt;Doc EN&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;System:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Internal EEProm file system. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Software ram disk file system. &lt;span style="color: rgb(51, 204, 0);"&gt;OK&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Software timers created from one hardware timer. &lt;span style="color: rgb(255, 153, 0);"&gt;Not &lt;/span&gt;&lt;span style="color: rgb(255, 153, 0);"&gt;tested&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/MorgothAvrAsmSdk_V1.0.0.zip?attredirects=0&amp;amp;d=1"&gt;Download SDK 1.0.0&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span id="result_box" class="short_text"&gt;&lt;span title=""&gt;&lt;span style="color: rgb(255, 0, 0);font-size:180%;" &gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-5040040422347848494?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/5040040422347848494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=5040040422347848494' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/5040040422347848494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/5040040422347848494'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2010/05/asm-sdk.html' title='ASM SDK'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-3843777408549761642</id><published>2009-04-29T12:35:00.047+03:00</published><updated>2011-05-08T12:03:02.549+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MP3 Player'/><category scheme='http://www.blogger.com/atom/ns#' term='TFT Display'/><category scheme='http://www.blogger.com/atom/ns#' term='Samsung E700 color Display'/><category scheme='http://www.blogger.com/atom/ns#' term='MP3'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega64'/><category scheme='http://www.blogger.com/atom/ns#' term='MicroSD'/><category scheme='http://www.blogger.com/atom/ns#' term='Sd/Mmc'/><category scheme='http://www.blogger.com/atom/ns#' term='Fat32'/><category scheme='http://www.blogger.com/atom/ns#' term='Player'/><category scheme='http://www.blogger.com/atom/ns#' term='VS1011'/><title type='text'>MP3 player with ATmega64 VS1011a and Samsung E700 color Display</title><content type='html'>This is my new mp3 player.&lt;br /&gt;&lt;br /&gt;For this MP3 player is new: the display and a new graphical interface explorer.&lt;br /&gt;&lt;br /&gt;Knowing that the display of the Nokia 6100 is an old and extremely poor quality, I thought to exchange it with one TFT display ( higher quality ) , by doing this I thought I make an new interface, and this is the result:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 153, 153);"&gt;-File type played  (VS1011):&lt;/span&gt; &lt;span style="color: rgb(255, 204, 102);"&gt;Decodes MPEG 1.0 &amp;amp; 2.0 audio layer III&lt;br /&gt;(CBR, VBR, ABR); layers I &amp;amp; II optional;&lt;br /&gt;WAV (PCM + IMA ADPCM)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;-File type played  (VS1033):&lt;/span&gt; &lt;span style="color: rgb(255, 204, 102);"&gt;Decodes MPEG 1 &amp;amp; 2 audio layer III (CBR&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 102);"&gt;+VBR +ABR); layers I &amp;amp; II optional;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 102);"&gt;MPEG4 / 2 AAC-LC-2.0.0.0 (+PNS);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 102);"&gt;WMA4.0/4.1/7/8/9 all profiles (5-384 kbps);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 102);"&gt;WAV (PCM + IMA ADPCM);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 102);"&gt;General MIDI / SP-MIDI format 0 files&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;-File type played  (VS1053):&lt;/span&gt; &lt;span style="color: rgb(255, 204, 102);"&gt;Decodes Ogg Vorbis;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 102);"&gt;MPEG 1 &amp;amp; 2 audio layer III (CBR +VBR&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 102);"&gt;+ABR); layers I &amp;amp; II optional;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 102);"&gt;MPEG4 / 2 AAC-LC(+PNS),&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 102);"&gt;HE-AAC v2 (Level 3) (SBR + PS);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 102);"&gt;WMA4.0/4.1/7/8/9 all profiles (5-384 kbps);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 102);"&gt;WAV (PCM + IMA ADPCM);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 102);"&gt;General MIDI 1 / SP-MIDI format 0 files&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;For bitrate higher than 320Kb/s is necessary to increase the CPU frequency from fuses for 4Mhz to fuses for 8Mhz internal RC&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;This project is under develop.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;Last update 14-06-2009&lt;/span&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/Mp3PlayerAtmega64E700DisplaySourceFiles.zip?attredirects=0&amp;amp;d=1"&gt;Download  source code&lt;/a&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/Mp3PlayerAtmega64E700DisplayMaxFile.zip?attredirects=0&amp;amp;d=1"&gt;Download the board .max and gerber files&lt;/a&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/Mp3PlayerAtmega64E700DisplaySchematick.zip?attredirects=0&amp;amp;d=1"&gt;Download orcad schematick&lt;/a&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/Mp3PlayerAtmega64E700DisplayOld.pdf?attredirects=0&amp;amp;d=1"&gt;Download PDF schematick&lt;/a&gt;&lt;br /&gt;&lt;span id="result_box" class="" lang="en"&gt;&lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;Several&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;variants&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;of&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;this&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;player&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;can be&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;found&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;for&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;purchase&lt;/span&gt; &lt;a href="http://devboardshop.servehttp.com/shop"&gt;&lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span class="" title="Faceti click pentru traducerea alternativa"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZlBzpWAhs1E/Sfx02oqd90I/AAAAAAAAARo/mQBMf1bEL9w/s1600-h/MP3WithE700.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 395px; height: 400px;" src="http://2.bp.blogspot.com/_ZlBzpWAhs1E/Sfx02oqd90I/AAAAAAAAARo/mQBMf1bEL9w/s400/MP3WithE700.bmp" alt="" id="BLOGGER_PHOTO_ID_5331264540877125442" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SfwoA9LSYEI/AAAAAAAAARQ/UZasGv53Q8k/s1600-h/Mp3PlayerWithATmega64Vs1011aAndE700ColorDisplay.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SfwoA9LSYEI/AAAAAAAAARQ/UZasGv53Q8k/s400/Mp3PlayerWithATmega64Vs1011aAndE700ColorDisplay.JPG" alt="" id="BLOGGER_PHOTO_ID_5331180055786840130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SfwpG1mEtSI/AAAAAAAAARY/rGzFf1j55dE/s1600-h/Mp3PlayerWithATmega64Vs1011aAndE700ColorDisplay1.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SfwpG1mEtSI/AAAAAAAAARY/rGzFf1j55dE/s400/Mp3PlayerWithATmega64Vs1011aAndE700ColorDisplay1.JPG" alt="" id="BLOGGER_PHOTO_ID_5331181256342549794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZlBzpWAhs1E/Sf8m9xsVzqI/AAAAAAAAARw/GMRXZ2rGUS4/s1600-h/Mp3PlayerWinampSkin.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_ZlBzpWAhs1E/Sf8m9xsVzqI/AAAAAAAAARw/GMRXZ2rGUS4/s400/Mp3PlayerWinampSkin.JPG" alt="" id="BLOGGER_PHOTO_ID_5332023326583148194" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 102, 255); font-weight: bold;"&gt;Mp3 Player with Winamp skin&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZlBzpWAhs1E/Sf8u2IW2xyI/AAAAAAAAAR4/QgrsCDWDgw0/s1600-h/Mp3PlayerSinteticSkin.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_ZlBzpWAhs1E/Sf8u2IW2xyI/AAAAAAAAAR4/QgrsCDWDgw0/s400/Mp3PlayerSinteticSkin.JPG" alt="" id="BLOGGER_PHOTO_ID_5332031991321118498" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 102, 255); font-weight: bold;"&gt;Mp3 Player with &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255); font-weight: bold;"&gt;Synthetic&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255); font-weight: bold;"&gt; skin&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZlBzpWAhs1E/Sf85idPQ3_I/AAAAAAAAASA/jiIl8Yn6Irs/s1600-h/Mp3PlayerVLCSkin.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_ZlBzpWAhs1E/Sf85idPQ3_I/AAAAAAAAASA/jiIl8Yn6Irs/s400/Mp3PlayerVLCSkin.JPG" alt="" id="BLOGGER_PHOTO_ID_5332043747956940786" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 102, 255); font-weight: bold;"&gt;Mp3 Player with &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255); font-weight: bold;"&gt;Media Player&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255); font-weight: bold;"&gt; skin  &lt;a href="http://download.avrdevboardshop.hostzi.com/MP3PlayerWithATmega8Vs1011AndNokia6100ColorDisplay.zip"&gt;Download demo hex file&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;The fuse bit  be set for 4Mhz Internal RC Oscillator&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255); font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZlBzpWAhs1E/Sf9L_tFZvKI/AAAAAAAAASI/Fterwm9PaRI/s1600-h/Mp3PlayerHalfLifeSkin.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_ZlBzpWAhs1E/Sf9L_tFZvKI/AAAAAAAAASI/Fterwm9PaRI/s400/Mp3PlayerHalfLifeSkin.JPG" alt="" id="BLOGGER_PHOTO_ID_5332064041636052130" border="0" /&gt;&lt;/a&gt;&lt;span style="color: rgb(51, 102, 255); font-weight: bold;"&gt;Mp3 Player with &lt;/span&gt;&lt;span style="color: rgb(51, 102, 255); font-weight: bold;"&gt;Half Life&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255); font-weight: bold;"&gt; skin&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This player run 2 threads , one for navigating and one for serving data to VS1011.&lt;br /&gt;&lt;br /&gt;The last rectify of compatibility of Fat32 filesystem library and Player data service library has increase the transfer rate , in this moment the player is capable to read 256Kbit/s melody at 4Mhz internal RC clock with osccal=199(default), and 320Kbit/s at 4Mhz and osccal=255 (approximately 5Mhz) internal RC clock.&lt;br /&gt;&lt;br /&gt;Now i work to one explorer configured from skin file like XML file.&lt;br /&gt;&lt;br /&gt;This navigator display the short filename if the long file name is not writed on the name of file.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;For support post a comment&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe title="YouTube video player" src="http://www.youtube.com/embed/_GcHHgpJN04?rel=0" allowfullscreen="" width="480" frameborder="0" height="390"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://digitalelectronicsandprograming.blogspot.com/2010/05/mp3-player-with-atmega162-vs1011.html"&gt;&lt;span id="result_box" class="long_text" lang="en"&gt;&lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;This&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;project&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;was&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;abandoned&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;for&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;another&lt;/span&gt; &lt;span title="Faceti click pentru traducerea alternativa" class="hps"&gt;more powerful.&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-3843777408549761642?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/3843777408549761642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=3843777408549761642' title='18 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/3843777408549761642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/3843777408549761642'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2009/04/mp3-player-with-atmega64-vs1011a-and.html' title='MP3 player with ATmega64 VS1011a and Samsung E700 color Display'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ZlBzpWAhs1E/Sfx02oqd90I/AAAAAAAAARo/mQBMf1bEL9w/s72-c/MP3WithE700.bmp' height='72' width='72'/><thr:total>18</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-4741930380798393661</id><published>2009-04-23T20:51:00.020+03:00</published><updated>2011-10-07T18:47:39.960+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MP3 Player'/><category scheme='http://www.blogger.com/atom/ns#' term='DIY'/><category scheme='http://www.blogger.com/atom/ns#' term='MP3'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega'/><category scheme='http://www.blogger.com/atom/ns#' term='MicroSD'/><category scheme='http://www.blogger.com/atom/ns#' term='SD'/><category scheme='http://www.blogger.com/atom/ns#' term='Player'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega8'/><category scheme='http://www.blogger.com/atom/ns#' term='VS1011'/><title type='text'>DiY: most tiny MP3 player with ATmega8 VS1011a and Nokia6100 Display</title><content type='html'>This is a complete mobile MP3 player and first mp3-player with ATmega8 and Nokia 6100 color display.&lt;br /&gt;&lt;br /&gt;An demo firmware and gerber file for board will be available soon.&lt;br /&gt;&lt;br /&gt;This player has capability to play wav and mp3 files and view BMP files on 8 or 24 bits/pixel from a MicroSD card with maximum capacity 2GB, the format of the SD is FAT32 with clusters from 512 Bytes to 32768Bytes, the filesystem has no limits in number of directories  and files.&lt;br /&gt;For future i want to adapting the SD driver for SDHC because the filesystem is designed to use all capacity of fat32 ( 2TB in 512Bytes/sector)&lt;br /&gt;&lt;br /&gt;List of features:&lt;br /&gt;Play Wav and MP3 Files because the VS1011a only this files is capable to decode( but for future in this project i want to include the VS1053 chip to play more file formats.&lt;br /&gt;View Bitmap files on 8Bit and 24 bit/pixel&lt;br /&gt;&lt;br /&gt;This project is in asm language and my 100% own libraries&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SfCr0zfZrVI/AAAAAAAAAQM/71gu2LIh7xU/s1600-h/DSCF2303.JPG"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5327947282842758482" src="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SfCr0zfZrVI/AAAAAAAAAQM/71gu2LIh7xU/s400/DSCF2303.JPG" style="cursor: pointer; display: block; height: 300px; margin: 0px auto 10px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SfCr0ul8_YI/AAAAAAAAAQE/N0LScIsw5L0/s1600-h/DSCF2302.JPG"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5327947281528061314" src="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SfCr0ul8_YI/AAAAAAAAAQE/N0LScIsw5L0/s400/DSCF2302.JPG" style="cursor: pointer; display: block; height: 300px; margin: 0px auto 10px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SfCr0gthPMI/AAAAAAAAAP8/cB-AJdP5Eug/s1600-h/DSCF2301.JPG"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5327947277801700546" src="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SfCr0gthPMI/AAAAAAAAAP8/cB-AJdP5Eug/s400/DSCF2301.JPG" style="cursor: pointer; display: block; height: 300px; margin: 0px auto 10px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SfCr0XTqPBI/AAAAAAAAAP0/CktH3D-RmPE/s1600-h/DSCF2298.JPG"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5327947275277319186" src="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SfCr0XTqPBI/AAAAAAAAAP0/CktH3D-RmPE/s400/DSCF2298.JPG" style="cursor: pointer; display: block; height: 300px; margin: 0px auto 10px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;a href="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SfIQskjhrPI/AAAAAAAAAQU/DKnj7gjlsds/s1600-h/TopOfMp3PlayerWithAtmega8.bmp"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5328339667045690610" src="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SfIQskjhrPI/AAAAAAAAAQU/DKnj7gjlsds/s400/TopOfMp3PlayerWithAtmega8.bmp" style="cursor: pointer; display: block; height: 213px; margin: 0px auto 10px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;a href="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SfIQsrcY7-I/AAAAAAAAAQc/ZRzymadkbaM/s1600-h/BotOfMp3PlayerWithAtmega8.bmp"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5328339668894805986" src="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SfIQsrcY7-I/AAAAAAAAAQc/ZRzymadkbaM/s400/BotOfMp3PlayerWithAtmega8.bmp" style="cursor: pointer; display: block; height: 212px; margin: 0px auto 10px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen="" frameborder="0" height="390" src="http://www.youtube.com/embed/mgDNDDh7P0E" title="YouTube video player" width="480"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;For the moment the project has 5172Bytes of Flash , 663Bytes of Ram and 0Bytes of EEprom&lt;br /&gt;&lt;span class="" id="result_box" lang="en"&gt;&lt;span class="hps" title="Faceti click pentru traducerea alternativa"&gt;Several&lt;/span&gt; &lt;span class="hps" title="Faceti click pentru traducerea alternativa"&gt;variants&lt;/span&gt; &lt;span class="hps" title="Faceti click pentru traducerea alternativa"&gt;of&lt;/span&gt; &lt;span class="hps" title="Faceti click pentru traducerea alternativa"&gt;this&lt;/span&gt; &lt;span class="hps" title="Faceti click pentru traducerea alternativa"&gt;player&lt;/span&gt; &lt;span class="hps" title="Faceti click pentru traducerea alternativa"&gt;can be&lt;/span&gt; &lt;span class="hps" title="Faceti click pentru traducerea alternativa"&gt;found&lt;/span&gt; &lt;span class="hps" title="Faceti click pentru traducerea alternativa"&gt;for&lt;/span&gt; &lt;span class="hps" title="Faceti click pentru traducerea alternativa"&gt;purchase&lt;/span&gt; &lt;a href="http://virtualelectron.com/shop"&gt;&lt;span class="hps" title="Faceti click pentru traducerea alternativa"&gt;here&lt;/span&gt;&lt;/a&gt;&lt;span class="" title="Faceti click pentru traducerea alternativa"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I work to another MP3 player:&lt;br /&gt;&lt;a href="http://digitalelectronicsandprograming.blogspot.com/2009/04/mp3-player-with-atmega64-vs1011a-and.html"&gt;New MP3 Player Link&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-4741930380798393661?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=539d212eae68b880&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/4741930380798393661/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=4741930380798393661' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/4741930380798393661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/4741930380798393661'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2009/04/most-tiny-mp3-player-with-atmega8.html' title='DiY: most tiny MP3 player with ATmega8 VS1011a and Nokia6100 Display'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ZlBzpWAhs1E/SfCr0zfZrVI/AAAAAAAAAQM/71gu2LIh7xU/s72-c/DSCF2303.JPG' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-3816639599523887074</id><published>2009-04-17T12:31:00.004+03:00</published><updated>2011-03-06T19:34:07.370+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DIY'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Board'/><category scheme='http://www.blogger.com/atom/ns#' term='VS1011'/><title type='text'>VS1011a board ( MP3 decoder )</title><content type='html'>This is a simple board for VS1011a MP3 decoder&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SehNHNj4ujI/AAAAAAAAAPU/L9Kj2iKAKfg/s1600-h/MP3DecoderWithVS1011a.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 300px; height: 400px;" src="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SehNHNj4ujI/AAAAAAAAAPU/L9Kj2iKAKfg/s400/MP3DecoderWithVS1011a.JPG" alt="" id="BLOGGER_PHOTO_ID_5325591345660213810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SehNHOchC_I/AAAAAAAAAPM/pQx1cQ46Zyo/s1600-h/MP3DecoderWithVS1011a.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 301px;" src="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SehNHOchC_I/AAAAAAAAAPM/pQx1cQ46Zyo/s400/MP3DecoderWithVS1011a.bmp" alt="" id="BLOGGER_PHOTO_ID_5325591345897737202" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;Soon available for buy &lt;a href="http://avrdevboardshop.hostzi.com/"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-3816639599523887074?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/3816639599523887074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=3816639599523887074' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/3816639599523887074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/3816639599523887074'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2009/04/vs1011a-board-mp3-decoder.html' title='VS1011a board ( MP3 decoder )'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ZlBzpWAhs1E/SehNHNj4ujI/AAAAAAAAAPU/L9Kj2iKAKfg/s72-c/MP3DecoderWithVS1011a.JPG' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-4038448297275263037</id><published>2009-03-26T10:15:00.009+02:00</published><updated>2011-03-06T19:35:33.370+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='USB host'/><category scheme='http://www.blogger.com/atom/ns#' term='MP3 Player'/><category scheme='http://www.blogger.com/atom/ns#' term='RDS'/><category scheme='http://www.blogger.com/atom/ns#' term='ATXmega'/><category scheme='http://www.blogger.com/atom/ns#' term='FM Radio'/><category scheme='http://www.blogger.com/atom/ns#' term='MP3'/><category scheme='http://www.blogger.com/atom/ns#' term='Ethernet'/><category scheme='http://www.blogger.com/atom/ns#' term='ATXmega128A1'/><category scheme='http://www.blogger.com/atom/ns#' term='HDD'/><category scheme='http://www.blogger.com/atom/ns#' term='USB Client'/><title type='text'>ATXmega.....A1 ,Mp3Player ,RadioFm ,Rds ,Hdd ,Sd ,Ethernet ,2UsbHost</title><content type='html'>Here i present you orcad capture schematic:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZlBzpWAhs1E/Sc5EqARwe2I/AAAAAAAAAN8/8NLFZm17eIs/s1600-h/Mother+board.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 345px;" src="http://1.bp.blogspot.com/_ZlBzpWAhs1E/Sc5EqARwe2I/AAAAAAAAAN8/8NLFZm17eIs/s400/Mother+board.bmp" alt="" id="BLOGGER_PHOTO_ID_5318263698390809442" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/Mp3Player-RadioFm-Rds-Hdd-Sd-Ethernet-2UsbHost.pdf?attredirects=0&amp;amp;d=1"&gt;PDF Schematic&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-4038448297275263037?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/4038448297275263037/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=4038448297275263037' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/4038448297275263037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/4038448297275263037'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2009/03/atxmegaa1-mp3player-radiofm-rds-hdd-sd.html' title='ATXmega.....A1 ,Mp3Player ,RadioFm ,Rds ,Hdd ,Sd ,Ethernet ,2UsbHost'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ZlBzpWAhs1E/Sc5EqARwe2I/AAAAAAAAAN8/8NLFZm17eIs/s72-c/Mother+board.bmp' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-2148595943606434904</id><published>2009-02-28T19:59:00.032+02:00</published><updated>2011-02-11T13:02:50.060+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Storage Memory'/><category scheme='http://www.blogger.com/atom/ns#' term='Library'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega'/><category scheme='http://www.blogger.com/atom/ns#' term='Fat32'/><title type='text'>Fat32 complete library in asm language</title><content type='html'>Observing that the file system created by me is almost identical to FAT32, i decided to convert to FAT32, this library work with clusters from 256 bytes to 32768 bytes autodetect from storage device.&lt;br /&gt;&lt;br /&gt;This library is in asm language.&lt;br /&gt;&lt;br /&gt;This file system is designed for double buffered (a buffer to the Allocation Table and a data buffer) this method of using separate buffers increase the rate of transfer to the storage device.&lt;br /&gt;&lt;br /&gt;The buffer’s separation between allocation table and the data, makes that at each change of the data cluster not to charge the next cluster index from storage device. In this case, the index is token from allocation table’s buffer, if this is inside the sector memorized inside buffer. If this is not inside the sector of the buffer, then will be saved the buffer in allocation table (in case that inside the buffer has been made a modification), and then will be loaded in the sector where the index is.&lt;br /&gt;&lt;br /&gt;In this way can be made with the data buffer. The pointer can be putted at an particular offset from open file, and then, from the address of the pointer can be read byte with byte, the pointer been incremented automatically. The same will be the sectors inside the buffer, those will be changed automatically. It doesn’t matter for user which cluster or bit must be read, because everything is done automatically. User must set the address of the file needed and the pointer of the address of the byte inside the file.&lt;br /&gt;&lt;br /&gt;Done functions:&lt;br /&gt;-Go to file/folder ( address in clusters )&lt;br /&gt;-Go to next file/folder in current directory ( this function return Flag T in Sreg = 0 if the pointer is on bottom of the list else return 1)&lt;br /&gt;-Go to forward file folder in current directory ( this function return Flag T in Sreg = 0 if the pointer is on top of the list else return 1)&lt;br /&gt;-Read address on pointed file/folder ( in clusters )&lt;br /&gt;-Read short name of pointed file/folder ( string 11 char )&lt;br /&gt;-Read full name of pointed file/folder ( string max 128 char )&lt;br /&gt;-Read byte by byte the file opened ( offset of byte in file ) with autoincrement pointer&lt;br /&gt;-Write byte by byte in the file opened ( offset of byte in file ) with autoincrement pointer ( this function work with append in file and have property to enlarge the size of file )&lt;br /&gt;-Read pointed file size (in bytes)&lt;br /&gt;-Write pointed file size = current pointer&lt;br /&gt;-Read pointed file attribute&lt;br /&gt;-Write pointed file attribute&lt;br /&gt;-Read pointer in opened file&lt;br /&gt;-Write pointer in opened file&lt;br /&gt;-Create file with short name converted from long name( Creating with long name not completed )&lt;br /&gt;-CloseFile ( when the file is closed if the pointer in file is bigger to actual size of file , the actual size of file  =  pointer position in file  ( in read mode is not possible to point to an byte address bigger to file size but in write mode this is possible because the file is auto enlarged )&lt;br /&gt;&lt;br /&gt;The terminal have next functions:&lt;br /&gt;+ :&lt;br /&gt;Go Down one file folder and read short and long file name.&lt;br /&gt;- :&lt;br /&gt;Go Up one file folder and read short and long file name.&lt;br /&gt;Enter :&lt;br /&gt;1) Go to selected folder,&lt;br /&gt;2) Open selected file,&lt;br /&gt;3) Close opened file.&lt;br /&gt;Esc :&lt;br /&gt;Close opened file&lt;br /&gt;p :&lt;br /&gt;Enter in write long file name, and Enter will convert from long filename to short filename&lt;br /&gt;c :&lt;br /&gt;Create file with converted short filename&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Performance obtained with ATmega640 at 16 Mhz and SPI hardware at 8Mhz:&lt;br /&gt;&lt;br /&gt;Write SD Card with 512 Bytes/cluster = 48659 Bytes/s&lt;br /&gt;Write SD Card with 4096 Bytes/cluster = 40163 Bytes/s&lt;br /&gt;Read SD Card with 512 Bytes/cluster = 70286 Bytes/s&lt;br /&gt;Read SD Card with 4096 Bytes/cluster = 56229 Bytes/s&lt;br /&gt;&lt;br /&gt;Transfer rate depends on the device storage and on fragmentation.&lt;br /&gt;The flash used not include the terminal&lt;br /&gt;&lt;br /&gt;Resources for maxim 512 bytes/cluster:&lt;br /&gt;Flash= 3220 Bytes ( Only read section )&lt;br /&gt;Flash= 5042 Bytes ( Read and write sections )&lt;br /&gt;Ram for allocation table management= 542&lt;br /&gt;Ram for data management= 629 (512Bytes (Data Buffer)+ 64 (Bytes String Long Name) + 11Bytes (String Short Name) + Variables )&lt;br /&gt;Total Ram= 1171Bytes&lt;br /&gt;&lt;br /&gt;Resources for maxim 4096 bytes/cluster:&lt;br /&gt;Flash= 3220 Bytes ( Only read section )&lt;br /&gt;Flash= 5042 Bytes ( Read and write sections )&lt;br /&gt;Ram for allocation table management= 542&lt;br /&gt;Ram for data management= 4213 (4096Bytes (Data Buffer)+ 64 Bytes (String Long Name) + 11Bytes (String Short Name) + Variables )&lt;br /&gt;Total Ram=   4755 Bytes&lt;br /&gt;&lt;br /&gt;The ram size is set by user because the maximum size of cluster is set by ram buffer data cluster&lt;br /&gt;&lt;br /&gt;The data management library is a dynamic library ( That means this library can be open multiple times, and when you call the library in Z must be the beginning address of RAM to work with ) for this  i wrote the ram size table occupied by allocation library and data management library separately&lt;br /&gt;&lt;br /&gt;In conclusion we can work with multiple open files using a single library written in flash that can work with multiple sections of ram&lt;br /&gt;&lt;br /&gt;Operating principle:&lt;br /&gt;This block function is one example only for 512 Bytes/Cluster Fat32 formats for other cluster dimension the ram allocation is different.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SeHh7YbvDcI/AAAAAAAAAPA/taL_bss0CGE/s1600-h/MyOwnFat32Library.bmp"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 345px;" src="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SeHh7YbvDcI/AAAAAAAAAPA/taL_bss0CGE/s400/MyOwnFat32Library.bmp" alt="" id="BLOGGER_PHOTO_ID_5323784644815949250" border="0" /&gt;&lt;/a&gt;                                                                            Fig1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In this moment i work to create and allocation table library from static library to dynamic library&lt;br /&gt;&lt;br /&gt;These two libraries ( allocation table and data section ) will be in 2 variants:&lt;br /&gt;1) A library will have only buffer for data which can be put on the controllers with ram more than 655Bytes&lt;br /&gt;2) A library that does not include buffers (will lose the stats of dynamic library) but which can be put on the controllers that have the minimum 128Bytes of ram&lt;br /&gt;____________________________________________________________________&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;This library is concept to work with only one buffer and work fine to my MP3 players at 5Mhz with 320Kb/s melody&lt;/span&gt;&lt;span style="color: rgb(255, 204, 0);"&gt; with one artifice, and from this moment this library is open source&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;This library use 3016Bytes of flash and 655Bytes of ram memory&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;The up bloc description in Fig1 can by applied and for this library&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;1)Fat32_DataInit&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;2)Fat32_ReadByte&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;3)Fat32_GoToRoot&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;4)Fat32_GoToFile&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;5)Fat32_ResetDirPointer&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;6)Fat32_IncrementDirPointer&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;7)Fat32_DecrementDirPointer&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;8)Fat32_GetShortFileName&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;9)Fat32_GetLongFileName&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;10)Fat32_GetFileAdress&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;11)Fat32_ReadFileSize&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;12)Fat32_ReadFileAttr&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;13)Fat32_WritePointerInFile&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;14)Fat32_ReadPointerInFile&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;15)Fat32_OpenPointedFileFolder&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;16)Fat32_CloseFile&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 0);"&gt;Last update 17-06-2009&lt;/span&gt;&lt;br /&gt;&lt;a href="http://fbx.ro/97nk5hyotpshotbo"&gt;Download fat32 read only library for atmega64&lt;/a&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/Fat32ATmega8AsmLibraryReadOnly.zip?attredirects=0&amp;amp;d=1"&gt;Download fat32 read only library for atmega8&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now this driver is updated and included in my ASM_SDK &lt;a href="http://digitalelectronicsandprograming.blogspot.com/2010/05/asm-sdk.html"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 0);"&gt;For support post a comment&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-2148595943606434904?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/2148595943606434904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=2148595943606434904' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/2148595943606434904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/2148595943606434904'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2009/02/fat32-complete-library-in-asm-linguage.html' title='Fat32 complete library in asm language'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SeHh7YbvDcI/AAAAAAAAAPA/taL_bss0CGE/s72-c/MyOwnFat32Library.bmp' height='72' width='72'/><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-2993468047897475217</id><published>2009-02-13T15:57:00.012+02:00</published><updated>2009-02-28T19:47:37.485+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Storage Memory'/><category scheme='http://www.blogger.com/atom/ns#' term='Library'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega'/><title type='text'>My own filesystem for non volatile storage devices</title><content type='html'>This is a very fast file system for all memory devices ( SD/MMC, HDD, and others memory storage ) and is created in ASM language.&lt;br /&gt;This file system is double buffered ( One buffer for index and one buffer for data )this method was adopted to maximize performance in the event that more files are open at the same time.&lt;br /&gt;Support maximum capacity between 2^40 Bytes in 256 Bytes per page and 2^48 Bytes in 65536 Bytes per page.&lt;br /&gt;For moment at 16 Mhz and SPI = 8Mhz transfer rate between Controller and SD Card is: Read = 86,036KBytes/S, Write = 52,675KBytes/S in 512 Bytes per page and Read = 86,036KBytes/s, Write = 71,697KBytes/s in 2048Bytes per page.&lt;br /&gt;&lt;br /&gt;For now this file system has the following features included:&lt;br /&gt;1) FastFormatDriveMemory&lt;br /&gt;2) ModifyFileDimension (From 1 do Maxim Storage support dimension )&lt;br /&gt;3) ReadOneByteFromFile ( With autoincrement pointer )&lt;br /&gt;4) WriteOneByteToFile ( With autoincrement pointer )&lt;br /&gt;5) Create Folder (The name is maxim 48 Char )(Normal folder,Read Only Folder,System Folder,Hidden Folder)&lt;br /&gt;6) Create File (The name is maxim 48 Char )(Normal File,Read Only File,System File,Hidden File)&lt;br /&gt;7) Back &lt;-   8) Rename File/Folder (ex: point "file/folder name",rename "new file/folder name"       For writing method is a special feature to enlarge the size of file while writing it (for example if the file is originally created by 512 bytes (one page) and would write in 700 byte will automatically extend the file size 1024 Bytes ( 2 pages ),(If a file is created for 512Bytes long and i want to write 1MBytes linear the Write function enlarge file page by page to 1MByte size), if one file have 512 bytes dimension and i want to read one byte from 513 address the read function return error.  Section of indexes on the storage is separate from the data, such is accessed 128 less pages if a page has 512 Bytes and 512 times in case a page has 2048 bytes, for navigating through the files or in the file( for example: In 512 bytes/page, one page in index sections contain indexes for 65536 Data Bytes, in 2048 Bytes/page ( maximum length of one page for SD/MMC card ) one page in index section contain indexes for 1048576 Data Bytes ).     For moment the terminal contain next commands:    1) ls ( List files and folders from current folder ) 2) mkfil ( make a file with name max 48 char in current director ) 3) mkdir ( make a folder with name max 48 char in current director ) 4) cd .. ( go back ) 5) cd director ( go up one directory ) 6) format 7) point file/folder 8) rename new name of pointed file/folder       &lt;object width="445" height="364"&gt;&lt;param name="movie" value="http://www.youtube.com/v/K0t_lcZXt4M&amp;amp;hl=en&amp;amp;fs=1&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999&amp;amp;border=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/K0t_lcZXt4M&amp;amp;hl=en&amp;amp;fs=1&amp;amp;color1=0x3a3a3a&amp;amp;color2=0x999999&amp;amp;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="445" height="364"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;The Board is this:&lt;br /&gt;&lt;br /&gt;&lt;table style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/morgoth2600/DigitalElectronicsAndPrograming?authkey=Qa46M-OdX-c&amp;amp;feat=embedwebsite#5253380522113199138"&gt;&lt;img src="http://lh3.ggpht.com/_ZlBzpWAhs1E/SOfBwFKDbCI/AAAAAAAAAEY/xTj7Jk_PiuE/s288/MySecondDevelopmentBoardForATmega640%2C1280%2C2560.JPG" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;"&gt;From &lt;a href="http://picasaweb.google.com/morgoth2600/DigitalElectronicsAndPrograming?authkey=Qa46M-OdX-c&amp;amp;feat=embedwebsite"&gt;Digital electronics and programing&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-2993468047897475217?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/2993468047897475217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=2993468047897475217' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/2993468047897475217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/2993468047897475217'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2009/02/my-own-filesystem-for-non-volatile.html' title='My own filesystem for non volatile storage devices'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_ZlBzpWAhs1E/SOfBwFKDbCI/AAAAAAAAAEY/xTj7Jk_PiuE/s72-c/MySecondDevelopmentBoardForATmega640%2C1280%2C2560.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-6699736382933902973</id><published>2009-01-29T22:22:00.006+02:00</published><updated>2011-03-06T19:36:37.146+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Audio'/><category scheme='http://www.blogger.com/atom/ns#' term='Controller'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega'/><category scheme='http://www.blogger.com/atom/ns#' term='Amplifier'/><category scheme='http://www.blogger.com/atom/ns#' term='Power amplifier'/><category scheme='http://www.blogger.com/atom/ns#' term='Microcontroller'/><title type='text'>4x25W amplifier with internal usb control</title><content type='html'>This is a 4x22W amplifier 4Ohm which is young for a PCI Desktop slot and can be diagnosed and controlled by an internal USB connector.&lt;br /&gt;This project is still in development stage&lt;br /&gt;This card is made with a specialized circuit in Class D with I2C control interface produced by &lt;a href="http://www.ti.com/"&gt;TexasInstruments&lt;/a&gt; &lt;a href="http://focus.ti.com/lit/ds/symlink/tas5414.pdf"&gt;TAS5414 QFP64&lt;/a&gt; and a &lt;a href="http://atmel.com/dyn/resources/prod_documents/doc2486.pdf"&gt;ATmega8&lt;/a&gt; controller&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SYH_9CdXznI/AAAAAAAAALc/Purnn275Cfo/s1600-h/TAS5414+%26+Usb+Control+PCI+Board.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SYH_9CdXznI/AAAAAAAAALc/Purnn275Cfo/s320/TAS5414+%26+Usb+Control+PCI+Board.JPG" alt="" id="BLOGGER_PHOTO_ID_5296796060861582962" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-6699736382933902973?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/6699736382933902973/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=6699736382933902973' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/6699736382933902973'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/6699736382933902973'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2009/01/4x25w-amplifier-with-internal-usb.html' title='4x25W amplifier with internal usb control'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ZlBzpWAhs1E/SYH_9CdXznI/AAAAAAAAALc/Purnn275Cfo/s72-c/TAS5414+%26+Usb+Control+PCI+Board.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-4850881818361135106</id><published>2009-01-14T12:17:00.011+02:00</published><updated>2011-10-07T18:49:24.303+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Controller'/><category scheme='http://www.blogger.com/atom/ns#' term='USB'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega8'/><category scheme='http://www.blogger.com/atom/ns#' term='USB Client'/><category scheme='http://www.blogger.com/atom/ns#' term='Unipolar Moror Steper'/><title type='text'>USB Unipolar 3 in 1 Motor Stepper Controller</title><content type='html'>This is a usb controller for 3 engines unipolar step by step, you can move completely independent, and in terms of speed of rotation sense and the coordinated which should be.&lt;br /&gt;&lt;br /&gt;The position of engine can take value between  -2147483648 and 2147483647&lt;br /&gt;Minim velocity = 0.015 steps/second&lt;br /&gt;Maximum velocity = 1000 steps/second&lt;br /&gt;&lt;br /&gt;Here i posted a brief presentation of the controller in the prototype phase, it will arrive in stores in a short period.&lt;br /&gt;&lt;br /&gt;It is designed around an &lt;a href="http://atmel.com/dyn/resources/prod_documents/doc2486.pdf"&gt;ATmega8&lt;/a&gt; microcontroller with USB1.1 software interface and  drivers that are used is &lt;a href="http://www.datasheetcatalog.org/datasheet2/f/0c6x6a46ig46qlxf3j2qsaii8o3y.pdf"&gt;ULN2003&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is the interface for the PC, to control in real-time the controller:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SWy9QoqklXI/AAAAAAAAAKo/m5BinqoOe4Y/s1600-h/UsbUnipolarMotorSteperController3In1.bmp"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5290811755745023346" src="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SWy9QoqklXI/AAAAAAAAAKo/m5BinqoOe4Y/s320/UsbUnipolarMotorSteperController3In1.bmp" style="cursor: pointer; float: left; height: 48px; margin: 0pt 10px 10px 0pt; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And this is the prototype controller board:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SWy9LSQqfWI/AAAAAAAAAKg/h9aNKBjYXCs/s1600-h/UsbUnipolarMotorSteperController3In1Foto2Detalied.JPG"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5290811663831432546" src="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SWy9LSQqfWI/AAAAAAAAAKg/h9aNKBjYXCs/s320/UsbUnipolarMotorSteperController3In1Foto2Detalied.JPG" style="cursor: pointer; float: left; height: 240px; margin: 0pt 10px 10px 0pt; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In the next image is described command method :&lt;br /&gt;&lt;br /&gt;&lt;table style="width: auto;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://picasaweb.google.com/lh/photo/8NoP1UYTmVIcl6GMakbFwg?authkey=Qa46M-OdX-c&amp;amp;feat=embedwebsite"&gt;&lt;img src="http://lh5.ggpht.com/_ZlBzpWAhs1E/SOfV7Z9s_QI/AAAAAAAAAFA/pYzMCin8s-0/s144/both.gif" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="font-family: arial,sans-serif; font-size: 11px; text-align: right;"&gt;From &lt;a href="http://picasaweb.google.com/morgoth2600/DigitalElectronicsAndPrograming?authkey=Qa46M-OdX-c&amp;amp;feat=embedwebsite"&gt;Digital electronics and programing&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Update for PC program, add new function:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SW3xCSbyYaI/AAAAAAAAALM/fomshptFhJg/s1600-h/FourthDevBoardATmega640-1280-2560.bmp"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5291150158840619426" src="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SW3xCSbyYaI/AAAAAAAAALM/fomshptFhJg/s320/FourthDevBoardATmega640-1280-2560.bmp" style="cursor: pointer; float: left; height: 279px; margin: 0pt 10px 10px 0pt; width: 320px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: 180%;"&gt;&lt;span style="color: red; font-weight: bold;"&gt;Soon available for buy &lt;a href="http://virtualelectron.com/shop/index.php?route=product/product&amp;amp;product_id=54"&gt;here&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-4850881818361135106?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/4850881818361135106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=4850881818361135106' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/4850881818361135106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/4850881818361135106'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2009/01/usb-unipolar-3-in-1-motor-stepper.html' title='USB Unipolar 3 in 1 Motor Stepper Controller'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ZlBzpWAhs1E/SWy9QoqklXI/AAAAAAAAAKo/m5BinqoOe4Y/s72-c/UsbUnipolarMotorSteperController3In1.bmp' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-6776005119932621627</id><published>2008-11-20T20:39:00.010+02:00</published><updated>2011-03-06T19:37:16.418+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DIY'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega64'/><category scheme='http://www.blogger.com/atom/ns#' term='Development Board'/><title type='text'>ATmega64 simple Board</title><content type='html'>This is a very simple board for &lt;a href="http://atmel.com/dyn/resources/prod_documents/doc2490.pdf"&gt;ATmega64&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SSWxA-YEyVI/AAAAAAAAAJo/sbhYG7r8b34/s1600-h/ATmega64SampleBoardBotom.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SSWxA-YEyVI/AAAAAAAAAJo/sbhYG7r8b34/s320/ATmega64SampleBoardBotom.JPG" alt="" id="BLOGGER_PHOTO_ID_5270813569209125202" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SSWxHJ6qrlI/AAAAAAAAAJw/h7yiBcp28PI/s1600-h/ATmega64SampleBoardTop.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SSWxHJ6qrlI/AAAAAAAAAJw/h7yiBcp28PI/s320/ATmega64SampleBoardTop.JPG" alt="" id="BLOGGER_PHOTO_ID_5270813675386220114" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/ATmega64SimpleDevBoard.zip?attredirects=0&amp;amp;d=1"&gt;Download .MAX project and Gerber files&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-6776005119932621627?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/6776005119932621627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=6776005119932621627' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/6776005119932621627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/6776005119932621627'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/11/atmega64-simple-board.html' title='ATmega64 simple Board'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ZlBzpWAhs1E/SSWxA-YEyVI/AAAAAAAAAJo/sbhYG7r8b34/s72-c/ATmega64SampleBoardBotom.JPG' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-5304746857113944003</id><published>2008-11-12T14:46:00.009+02:00</published><updated>2011-03-06T19:37:36.299+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Usart'/><category scheme='http://www.blogger.com/atom/ns#' term='Bipolar Moror Steper'/><category scheme='http://www.blogger.com/atom/ns#' term='Controller'/><category scheme='http://www.blogger.com/atom/ns#' term='Serial'/><title type='text'>3in1 unipolar motor steper controller</title><content type='html'>This project is designed for control 3 motors stepper independently with only one &lt;a href="http://atmel.com/dyn/resources/prod_documents/doc2486.pdf"&gt;ATmega8&lt;/a&gt; mocrocontroller&lt;br /&gt;&lt;br /&gt;This project has been designed for unipolar engines&lt;br /&gt;&lt;br /&gt;The interface is Serial 19200b/s&lt;br /&gt;&lt;br /&gt;&lt;a href="http://digitalelectronicsandprograming.blogspot.com/2008/10/3-in-1-motor-steper-controller-with.html"&gt;For Bipolar engines&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SOdD9o_RidI/AAAAAAAAAAw/F_xGMXyuK0c/s1600-h/interface-for-motor-driver.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SOdD9o_RidI/AAAAAAAAAAw/F_xGMXyuK0c/s320/interface-for-motor-driver.jpg" alt="" id="BLOGGER_PHOTO_ID_5253242216604862930" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SOdEIwmIt_I/AAAAAAAAAA4/jCD6U33UyHM/s1600-h/TabelaComenziPentruContrellerul3Motoare.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SOdEIwmIt_I/AAAAAAAAAA4/jCD6U33UyHM/s320/TabelaComenziPentruContrellerul3Motoare.JPG" alt="" id="BLOGGER_PHOTO_ID_5253242407625471986" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SRrZl8FO85I/AAAAAAAAAJY/b5g0YrW3GeQ/s1600-h/3in1MotorStepperControllerForUnipolar.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 314px;" src="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SRrZl8FO85I/AAAAAAAAAJY/b5g0YrW3GeQ/s320/3in1MotorStepperControllerForUnipolar.JPG" alt="" id="BLOGGER_PHOTO_ID_5267761959969682322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/MotorSteperUnipolarUartAt8ULN2803.zip?attredirects=0&amp;amp;d=1"&gt;Download entire project&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-5304746857113944003?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/5304746857113944003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=5304746857113944003' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/5304746857113944003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/5304746857113944003'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/11/3in1-unipolar-motor-steper-controller.html' title='3in1 unipolar motor steper controller'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ZlBzpWAhs1E/SOdD9o_RidI/AAAAAAAAAAw/F_xGMXyuK0c/s72-c/interface-for-motor-driver.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-7676675148625561800</id><published>2008-11-09T11:41:00.011+02:00</published><updated>2009-01-05T23:19:58.655+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ATmega2560'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega640'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega1280'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega'/><category scheme='http://www.blogger.com/atom/ns#' term='Development Board'/><title type='text'>My fourth micro development board for atmega 640-1280-2560</title><content type='html'>It developed this board for commercial use , so do not you publish the file    .MAX ,&lt;br /&gt;We developed by removing certain modules that are present on &lt;a href="http://digitalelectronicsandprograming.blogspot.com/2008/10/my-thirt-development-board-for.html"&gt;this&lt;/a&gt; board development&lt;br /&gt;&lt;br /&gt;This board is designed to be able to connect on data bus and addresses up to 6 extension modules, besides memory and external display Samsung E700.&lt;br /&gt;&lt;br /&gt;This development board is in this stage:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SWJ5bT7m4sI/AAAAAAAAAKY/LY8PRPIiZbc/s1600-h/FourthDevBoardATmega640-1280-2560.bmp"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 309px;" src="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SWJ5bT7m4sI/AAAAAAAAAKY/LY8PRPIiZbc/s320/FourthDevBoardATmega640-1280-2560.bmp" alt="" id="BLOGGER_PHOTO_ID_5287922422600098498" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SRa2jwgnhRI/AAAAAAAAAJQ/uUobqm3PoAY/s1600-h/MyFouthDevelopmentBoardForATmega640-1280-2560.JPG"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-7676675148625561800?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/7676675148625561800/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=7676675148625561800' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/7676675148625561800'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/7676675148625561800'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/11/my-fourth-micro-development-board-for.html' title='My fourth micro development board for atmega 640-1280-2560'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SWJ5bT7m4sI/AAAAAAAAAKY/LY8PRPIiZbc/s72-c/FourthDevBoardATmega640-1280-2560.bmp' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-8688231423837109365</id><published>2008-11-06T16:57:00.008+02:00</published><updated>2009-06-18T16:14:32.695+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ATmega2560'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega640'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega1280'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega'/><category scheme='http://www.blogger.com/atom/ns#' term='Kernel'/><title type='text'>Kernel V0.4 for atmega microcontrollers</title><content type='html'>This is an upgrade of the &lt;a href="http://digitalelectronicsandprograming.blogspot.com/2008/10/kernel-v03-for-atmega-microcontrollers.html"&gt;Kernel V0.3&lt;/a&gt; &lt;a href="http://digitalelectronicsandprograming.blogspot.com/2008/10/kernel-v02-for-atmega-microcontrollers.html"&gt;Kernel V0.2&lt;/a&gt; and brings with him besides the possibility that programs running What could have direct access to physical memory directly without the intermediate certain routines included in the kernel, and the possibility that a program can open multiple libraries who will perform in the assigned to the program what these libraries open.&lt;br /&gt;&lt;br /&gt;Major modifications are:&lt;br /&gt;&lt;br /&gt;I changed how to access the RAM allocated program for the program or library.&lt;br /&gt;&lt;br /&gt;I changed the style of training the virtual ram.&lt;br /&gt;-Changing the virtualization of RAM, programs can not change the size of the RAM went&lt;br /&gt;-The size of ram ocupied will be declared in the head.&lt;br /&gt;unless otherwise create virtualized file and copy the old file in the new file, then delete the old file&lt;br /&gt;&lt;br /&gt;I changed how to open other programs and to include libraries in the program.&lt;br /&gt;&lt;br /&gt;And we designed in such a way as to be compiled for all types of products ATmega.&lt;br /&gt;&lt;br /&gt;This kernel runs programs like .exe programs.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZlBzpWAhs1E/Sjo8OhsO2bI/AAAAAAAAATk/g8chKiXgK-A/s1600-h/KernelV0.4Description.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 322px;" src="http://1.bp.blogspot.com/_ZlBzpWAhs1E/Sjo8OhsO2bI/AAAAAAAAATk/g8chKiXgK-A/s400/KernelV0.4Description.JPG" alt="" id="BLOGGER_PHOTO_ID_5348653727715613106" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://fbx.ro/vyof6x6aq0h9pgyd"&gt;Example of how to open,close and include libraries .PDF&lt;/a&gt; &lt;br /&gt;&lt;/div&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;All kernel routines utilities:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;1)ReadHeaderOfProgramOrLibrary&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;2)HeaderProgram&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;3)HeaderLibrary&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;4)RDEEPROM&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;5)RWEEPROM&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;6)ReserveRamMemoryForProgram&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;7)CalculateStringAdressInHeadOfProgramOrLibrary&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;8)SearchProgramOrLibrary&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;9)SearchProgramAndLauch&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;10)TransmitComandToOneLibraryOrOneProgram&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;11)ConvertFromRamBytesInRamPages&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;12)FreeRamForCurentProgramOrLibrary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;Routines for user uses is inly:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;1)HeaderProgram&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;2)HeaderLibrary&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt; 3)RDEEPROM&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt; 4)RWEEPROM&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt; 5)ReserveRamMemoryForProgram&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;6)SearchProgramAndLauch&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;7)TransmitComandToOneLibraryOrOneProgram&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 204, 0);"&gt;8)FreeRamForCurentProgramOrLibrary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In this stage the nucleus of the kernel has 1018Bytes of flash memory, and is not designet to work with threads&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-8688231423837109365?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/8688231423837109365/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=8688231423837109365' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/8688231423837109365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/8688231423837109365'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/11/kernel-v04-for-atmega-microcontrollers.html' title='Kernel V0.4 for atmega microcontrollers'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ZlBzpWAhs1E/Sjo8OhsO2bI/AAAAAAAAATk/g8chKiXgK-A/s72-c/KernelV0.4Description.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-8331166227713119833</id><published>2008-10-22T11:59:00.010+03:00</published><updated>2011-10-07T18:50:31.235+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ATmega'/><category scheme='http://www.blogger.com/atom/ns#' term='MicroSD'/><category scheme='http://www.blogger.com/atom/ns#' term='SD'/><category scheme='http://www.blogger.com/atom/ns#' term='Sd/Mmc'/><title type='text'>Real schematik to interface a SD/MMC card to atmega microcontrollers</title><content type='html'>Because many sites operate a scheme to connect an SD/MMC card to a ATmega microcontroller that is non functional, I mean scheme with dividing resistive to the ground, I decided to post an overall scheme real functional and will post and parameters operation of a card at different voltages, everything after more probe:&lt;br /&gt;&lt;br /&gt;We know that most cards SD/MMC operates in a voltage between 2.7 and 3.6 V, I will recommend one to use the minimum operating voltage.&lt;br /&gt;However such a card works at 5V supply voltage without any risk of failure, but a voltage across the card manufacturer's specifications will work only read data and read CID etc. Write delete functions will not work&lt;br /&gt;&lt;br /&gt;SD/MMC card and ATmega at diferent voltages:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SjoAdfCvGRI/AAAAAAAAASw/ncWbQ9QPx50/s1600-h/Connecting+SD+card+to+ATmega+Microcontrollers.jpg"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5348588014005066002" src="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SjoAdfCvGRI/AAAAAAAAASw/ncWbQ9QPx50/s400/Connecting+SD+card+to+ATmega+Microcontrollers.jpg" style="display: block; height: 236px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SD/MMC card and ATmega at same voltages:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SjoAncMqv8I/AAAAAAAAAS4/Ncj4-5Dglqk/s1600-h/SchematikForInterconectSd-MmcToAtmegaAtSameVoltage.JPG"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5348588185040109506" src="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SjoAncMqv8I/AAAAAAAAAS4/Ncj4-5Dglqk/s400/SchematikForInterconectSd-MmcToAtmegaAtSameVoltage.JPG" style="cursor: pointer; display: block; height: 221px; margin: 0px auto 10px; text-align: center; width: 400px;" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SRV5rrND-CI/AAAAAAAAAJA/jQ2lbQBOk2I/s1600-h/SchematikForInterconectSd-MmcToAtmegaAtSameVoltage.JPG"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-8331166227713119833?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/8331166227713119833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=8331166227713119833' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/8331166227713119833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/8331166227713119833'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/real-schematik-for-interfacing-one.html' title='Real schematik to interface a SD/MMC card to atmega microcontrollers'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ZlBzpWAhs1E/SjoAdfCvGRI/AAAAAAAAASw/ncWbQ9QPx50/s72-c/Connecting+SD+card+to+ATmega+Microcontrollers.jpg' height='72' width='72'/><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-4821580241928912088</id><published>2008-10-12T14:49:00.010+03:00</published><updated>2011-02-10T14:09:32.983+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Spi'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Driver'/><title type='text'>Spi Software for all atmega microcontrollers</title><content type='html'>This is a simple library for software SPI compatible with all ATmega microcontrollers according to specifications 45DB SPI interface&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;( is not proved yet )&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/SpiSoftware.zip?attredirects=0&amp;amp;d=1"&gt;Download ASM Library&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-4821580241928912088?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/4821580241928912088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=4821580241928912088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/4821580241928912088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/4821580241928912088'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/spi-software-for-all-atmega.html' title='Spi Software for all atmega microcontrollers'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-7014684038967118662</id><published>2008-10-10T20:58:00.014+03:00</published><updated>2011-03-06T19:40:31.260+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Nand Flash'/><category scheme='http://www.blogger.com/atom/ns#' term='Driver'/><category scheme='http://www.blogger.com/atom/ns#' term='1GB'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega'/><category scheme='http://www.blogger.com/atom/ns#' term='K9K8G08U0A'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Driver'/><title type='text'>Driver for Nand Flash memory chip for normal port operation</title><content type='html'>This is one driver for interfacing programs to Nand Flash Chip Memory as those used in Stik USB or SD / MMC cards&lt;br /&gt;&lt;br /&gt;It is known that a page of a nand Flash memory is 2048 +16 Bytes&lt;br /&gt;&lt;br /&gt;Nand flash memories allow delete only  a block of data or the entire chip, writing a whole page, reading a whole page, or rewriting a page keeps unchanged, but you can not edit a byte already written a page.&lt;br /&gt;&lt;br /&gt;This example is for 1GByte nand flash chip memory K9K8G08U0A&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/DriverNandFlash.zip?attredirects=0&amp;amp;d=1"&gt;Download ASM code driver&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SRWAS0mlVyI/AAAAAAAAAJI/4b0FGpkChEs/s1600-h/SchematicForInterfacingNandFlashWithATmega.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 216px;" src="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SRWAS0mlVyI/AAAAAAAAAJI/4b0FGpkChEs/s320/SchematicForInterfacingNandFlashWithATmega.JPG" alt="" id="BLOGGER_PHOTO_ID_5266256400126138146" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SO-Yf-TzPFI/AAAAAAAAAIQ/VhNwAfLKJaw/s1600-h/DSCF1369.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SO-Yf-TzPFI/AAAAAAAAAIQ/VhNwAfLKJaw/s320/DSCF1369.JPG" alt="" id="BLOGGER_PHOTO_ID_5255586965234072658" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SPEly1zCtjI/AAAAAAAAAIo/Q6byS0F_d90/s1600-h/FlashMemoryAdapter.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SPEly1zCtjI/AAAAAAAAAIo/Q6byS0F_d90/s320/FlashMemoryAdapter.JPG" alt="" id="BLOGGER_PHOTO_ID_5256023795482932786" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/DriverNandFlashMaxFile.zip?attredirects=0&amp;amp;d=1"&gt;Download .Max Orcad Project&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;Soon  a test board available for buy.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-7014684038967118662?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/7014684038967118662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=7014684038967118662' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/7014684038967118662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/7014684038967118662'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/driver-for-nand-flash-memory-chip.html' title='Driver for Nand Flash memory chip for normal port operation'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SRWAS0mlVyI/AAAAAAAAAJI/4b0FGpkChEs/s72-c/SchematicForInterfacingNandFlashWithATmega.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-875111981468140071</id><published>2008-10-10T20:17:00.008+03:00</published><updated>2011-02-10T14:22:20.484+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Comm'/><category scheme='http://www.blogger.com/atom/ns#' term='PPC'/><category scheme='http://www.blogger.com/atom/ns#' term='Terminal'/><category scheme='http://www.blogger.com/atom/ns#' term='Program'/><title type='text'>PPC terminal for Com ports</title><content type='html'>This is one Com terminal for poket PC for Windows Mobyle 2003 or later&lt;br /&gt;&lt;br /&gt;For runing this terminal is necesary .Net Framework 2.0&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SO-W_qTq-kI/AAAAAAAAAII/3yzMeRfzqIU/s1600-h/DSCF1373.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SO-W_qTq-kI/AAAAAAAAAII/3yzMeRfzqIU/s320/DSCF1373.JPG" alt="" id="BLOGGER_PHOTO_ID_5255585310597380674" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/Mobyle_Terminal.zip?attredirects=0&amp;amp;d=1"&gt;Download .Exe Program&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-875111981468140071?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/875111981468140071/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=875111981468140071' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/875111981468140071'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/875111981468140071'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/ppc-terminal-for-com-ports.html' title='PPC terminal for Com ports'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ZlBzpWAhs1E/SO-W_qTq-kI/AAAAAAAAAII/3yzMeRfzqIU/s72-c/DSCF1373.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-3538692883346521512</id><published>2008-10-10T20:10:00.011+03:00</published><updated>2011-02-10T14:23:02.923+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Comm'/><category scheme='http://www.blogger.com/atom/ns#' term='Terminal'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Smartphone'/><title type='text'>Smartphone terminal for Com ports</title><content type='html'>This is one sample com terminal for Windows mobile Smartphone edition 5.0 or later&lt;br /&gt;&lt;br /&gt;For runing this terminal is necesary .Net Framework 2.0&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SO-e43Lj64I/AAAAAAAAAIY/J4srMNsEdmU/s1600-h/DSCF1374.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SO-e43Lj64I/AAAAAAAAAIY/J4srMNsEdmU/s320/DSCF1374.JPG" alt="" id="BLOGGER_PHOTO_ID_5255593989886962562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/Smartphone_Terminal.zip?attredirects=0&amp;amp;d=1"&gt;Download .Exe program&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-3538692883346521512?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/3538692883346521512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=3538692883346521512' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/3538692883346521512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/3538692883346521512'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/smartphone-terminal-for-com-ports.html' title='Smartphone terminal for Com ports'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SO-e43Lj64I/AAAAAAAAAIY/J4srMNsEdmU/s72-c/DSCF1374.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-3810518082975997912</id><published>2008-10-10T00:01:00.011+03:00</published><updated>2011-03-06T19:42:21.840+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Driver'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega'/><category scheme='http://www.blogger.com/atom/ns#' term='24c'/><category scheme='http://www.blogger.com/atom/ns#' term='EEProm'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega8'/><category scheme='http://www.blogger.com/atom/ns#' term='I2C'/><title type='text'>I2C library for 24C.... external EEprom memory for ATmega microcontrollers</title><content type='html'>This is a driver for control one 24c... EEProm memory on Byte level for read / write and page level for complete format&lt;br /&gt;&lt;br /&gt;This driver is compatible with EEProm i2c memory between 512 and 65536 Bytes capacity.&lt;br /&gt;&lt;br /&gt;This library is made for ATmega8 but with some modifications is working on all ATmega microcontrollers&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/TwiEEpromI2CAt8.zip?attredirects=0&amp;amp;d=1"&gt;Download this library&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-3810518082975997912?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/3810518082975997912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=3810518082975997912' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/3810518082975997912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/3810518082975997912'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/i2c-library-for-24c-external-eeprom.html' title='I2C library for 24C.... external EEprom memory for ATmega microcontrollers'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-8566507603729067924</id><published>2008-10-08T14:58:00.033+03:00</published><updated>2009-06-18T16:35:56.622+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Explorer'/><category scheme='http://www.blogger.com/atom/ns#' term='Samsung e700'/><category scheme='http://www.blogger.com/atom/ns#' term='Display'/><title type='text'>New explorer for max displays resolution 244x244</title><content type='html'>&lt;span style="font-family:arial;"&gt;An explorer full display Samsung E700.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;This driver will include:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;1) Draw a text:&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:arial;"&gt;- The default color set to initiate the page or run Explorer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;- With a pre-color description in the order of drawing text&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;2) Draws a link:&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:arial;"&gt;- Link will default colors to select and clear preset to initiate or start page Explorer, calling routines click on this link will call on the name and number to order the program.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;- Link will set the colors in the description Linc to select and deselect preset to initiate or start page Explorer, calling routines click on this link will call on the name and number to order the program.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;- Link will default to select colors and clear preset to initiate or start page Explorer, calling routines click on this link will call at the number and order of the program.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;- Link will set the colors in the description Linc to select and des&lt;/span&gt;&lt;span style="font-family:arial;"&gt;elect preset to initiate or start page Explorer, calling routines click on this link will call at the numbe&lt;/span&gt;&lt;span style="font-family:arial;"&gt;r and order of the program.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;3) text editor:&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:arial;"&gt;- During the translation page and display them when there is a text e&lt;/span&gt;&lt;span style="font-family:arial;"&gt;ditor library will call the name of the program that is attached to the text and edit the command, the program can read the contents edited text of a buffer separate text content publisher to create page will be "FF", this program has to return the same string buffer that will be displayed in text editor.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;- During the translation page and display them when there is a text editor library w&lt;/span&gt;&lt;span style="font-family:arial;"&gt;ill be made by calling the program that is attached to the text and edit the command, the program can read the contents edited text of a buffer separate text content publisher to create page will be "FF", this program has to return the same string buffer that will be displayed in text editor.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;(Color color text will be declared the creation of the page or initiate Explorer, the color of the border will be declared the creation of the color page or entering into Explorer, background color of text edit initially will be white)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;4) Chek box:&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:arial;"&gt;- During the translation page and display them when there is a check box library will call the name&lt;/span&gt;&lt;span style="font-family:arial;"&gt; of the program that is attached in check box and the command, the program can read 2 = Neinitializat, 0 = We checked, 1 = ticked in the register R16 Thus creating the page will be read will be 2, this program has to return in the same register 0 = us option 1 = check, as will happen every call of that program and the routine question&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;- During the translation page and display them when there is a check box library will be made by calling the program that is attached in chek box and the command, the program can read 2 = Neinitializat, 0 = We checked, 1 = ticked in the register R1&lt;/span&gt;&lt;span style="font-family:arial;"&gt;6 Thus creating the page will be read will be 2, this program has to return in the same register 0 = us option 1 = check, as will happen every call of that program and the routine question&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The format of description page in buffer is:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;SetBacgroundColor:&lt;/li&gt;&lt;/ul&gt;- 4 | 0 | Color(Low),Color(High)&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;SetInkColor:&lt;/li&gt;&lt;/ul&gt;- 4 | 1 | Color(Low),Color(High)&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;SetBarColor:&lt;/li&gt;&lt;/ul&gt;- 4 | 2 | Color(Low),Color(High)&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;SetPointerAdress:&lt;/li&gt;&lt;/ul&gt;- 4 | 3 | X AdressForPointer,Y AdressForPointer&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;PrintStaticText:&lt;/li&gt;&lt;/ul&gt;- 4 + String length | 4 | 0 | LengthOfString | StringText&lt;br /&gt;- 6 + String length | 4 | 1 | Low(InkColor),High(InkColor) | LengthOfString | StringText&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;PrintLinkText:&lt;/li&gt;&lt;/ul&gt;- 8 + String length Link+ String Length name of program | 5 | 0=Unselected,1=Selected | 0 | 0 | Number of char in Link | String in Link | Number of function in program | LengthOfStringNameProgram | StringNameOfProgram&lt;br /&gt;&lt;br /&gt;- 12 + String length Link+ String Length name of program | 5 | 0=Unselected,1=Selected | 0 | 1 | Low(InkColorForUnSelected),High(InkColorForUnSelected) | Low(InkColorForSelected),High(InkColorForSelected) | Number of char in Link | String in Link | Number of function in program | LengthOfStringNameProgram | StringNameOfProgram&lt;br /&gt;&lt;br /&gt;- 9 + String length Link | 5 | 0=Unselected,1=Selected | 1 | 0 | Number of char in Link | String in Link | Number of function in program | Low(AdressOfProgramToCall),High(AdressOfProgramToCall)&lt;br /&gt;&lt;br /&gt;- 13 + String length Link | 5 | 0=Unselected,1=Selected | 1 | 1 | Low(InkColorForUnSelected),High(InkColorForUnSelected) | Low(InkColorForSelected),High(InkColorForSelected) Number of char in Link | String in Link | Number of function in program | Low(AdressOfProgramToCall),High(AdressOfProgramToCall)&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;PrintTextEdit:&lt;/li&gt;&lt;/ul&gt;- 8 + Max string length Text+ String Length name of program | 6 | 0=Unselected,1=Selected | 0 | Number of char in TextEdit | Max length of textEdit | String in TextEdit | NumberOfFunctionInProgram | LengthOfStringNameProgram |StringNameOfProgram&lt;br /&gt;&lt;br /&gt;- 9 + Max string length Text | 6 | 0=Unselected,1=Selected | 1 | Number of char in TextEdit | Max length of textEdit | String in TextEdit | NumberOfFunctionInProgram | Low(AdressOfProgramToCall),High(AdressOfProgramToCall)&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;PrintKeckBox:&lt;/li&gt;&lt;/ul&gt;- 7 + String Length name of program | 7 | 0=Unselected,1=Selected | 0=UnCheked,1=Cheked | 0 | NumberOfFunctionInProgram | LengthOfStringNameProgram | StringNameOfProgram&lt;br /&gt;&lt;br /&gt;- 8 | 7 | 0=Unselected,1=Selected | 0=UnCheked,1=Cheked | 1 | Low(Program name),High(Program name),Number | NumberOfFunctionInProgram&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;SetLinkColor:&lt;/li&gt;&lt;/ul&gt;- 6 | 8 | UnSelectedLinkColor(Low),UnSelectedLinkColor(High)| SelectedLinkColor(Low),SelectedLinkColor(High)&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;SetPointer:&lt;/li&gt;&lt;/ul&gt;- 4 | 9 | X Coordonate | Y Coordonate&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;PaintVerticalLine:&lt;/li&gt;&lt;/ul&gt;- 6 | 10 | 0 | X Coordonate | Y Coordonate | Y Length&lt;br /&gt;&lt;br /&gt;- 8 | 10 | 1 | Low(Color),High(Color) | X Coordonate | Y Coordonate | Y Length&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;PaintHorizontalLine:&lt;/li&gt;&lt;/ul&gt;- 6 | 11 | 0 | X Coordonate | Y Coordonate | X Length&lt;br /&gt;&lt;br /&gt;- 8 | 11 | 1 | Low(Color),High(Color) | X Coordonate | Y Coordonate | X Length&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;PaintSquare:&lt;/li&gt;&lt;/ul&gt;- 7 | 12 | 0 | X Coordonate | Y Coordonate | X Length | Y Length&lt;br /&gt;&lt;br /&gt;- 9 | 12 | 1 | Low(Color),High(Color) | X Coordonate | Y Coordonate | X Length | Y&lt;br /&gt;Length&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;SetPlotColor:&lt;/li&gt;&lt;/ul&gt;- 4 | 13 | Color(Low),Color(High)&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);font-family:arial;" &gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;Status = coming up soon&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Topics toll programs by name and was implemented for the explorer to be compatible with Kernel &lt;/span&gt;&lt;span style="font-family:arial;"&gt;V0.3  &lt;/span&gt;&lt;a style="font-family: courier new;" href="http://digitalelectronicsandprograming.blogspot.com/2008/10/kernel-v03-for-atmega-microcontrollers.html"&gt;learned here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The stage of this explorer is:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;For example for paint One label ,3 links , 1 versical bar, one horizontal bar, one rectangle , one check box ( uncheked) and one chek box (cheked) load in buffer memory this data code:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.Equ CodeForSetBacgroundColor                         = 0&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.Equ CodeForSetInkColor                               = 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.Equ CodeForSetBarColor                               = 2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.Equ CodeForSetPointerAdress                          = 3&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.Equ CodeForPrintStaticText                           = 4&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.Equ CodeForPrintLinkText                             = 5&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.Equ CodeForPrintTextEdit                             = 6&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.Equ CodeForPrintKeckBox                              = 7&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.Equ CodeForSetLinkColor                              = 8&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.Equ CodeForSetPointer                                = 9&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.Equ CodeToPaintVerticalLine                          =10&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.Equ CodeToPaintHorizontalLine                        =11&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.Equ CodeToPaintSquare                                =12&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;.Equ CodeForSetPlotColor                              =13&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;.db 4,CodeForSetBacgroundColor,Low(BLUE),High(BLUE),&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;4,CodeForSetInkColor,Low(WHITE),High(WHITE),&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;6,CodeForSetLinkColor,Low(YELLOW),High(YELLOW),Low(RED),High(RED),&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;12,CodeForPrintStaticText,0,8,"Hello!!!",&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;4,CodeForSetPointer,0,8,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;14,CodeForPrintStaticText,1,Low(RED),High(RED),8,"Hello!!!",&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;4,CodeForSetPointer,0,16,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;24,CodeForPrintLinkText,0,0,0,8,"Hello!!!",1,8,"Hello!!!",&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;4,CodeForSetPointer,0,24,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;24,CodeForPrintLinkText,1,0,0,8,"Hello!!!",1,8,"Hello!!!",&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;4,CodeForSetPointer,0,32,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;24,CodeForPrintLinkText,0,0,0,8,"Hello!!!",1,8,"Hello!!!",&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;14,CodeForPrintKeckBox,0,0,0,8,"Hello!!!",&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;14,CodeForPrintKeckBox,0,1,0,8,"Hello!!!",&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;6,CodeToPaintVerticalLine,0,50,50,30,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;6,CodeToPaintHorizontalLine,0,50,50,30,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;7,CodeToPaintSquare,0,2,60,40,10,255&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;And result this for samsung e700 display:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOzuYb64NEI/AAAAAAAAAHk/-q9EIrHemXU/s1600-h/New+explorer+Part1.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOzuYb64NEI/AAAAAAAAAHk/-q9EIrHemXU/s320/New+explorer+Part1.JPG" alt="" id="BLOGGER_PHOTO_ID_5254836968813507650" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Text edit implemented&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SO-fbACfv0I/AAAAAAAAAIg/YikmhE_RLn0/s1600-h/DSCF1375.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SO-fbACfv0I/AAAAAAAAAIg/YikmhE_RLn0/s320/DSCF1375.JPG" alt="" id="BLOGGER_PHOTO_ID_5255594576380411714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This is the complete schematic for one atmega64 and one samsung e700 display( the ram memory is not necessarily )&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SO5YwypCn7I/AAAAAAAAAHw/kag3WThN3q4/s1600-h/Schematik+for+new+explorer.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SO5YwypCn7I/AAAAAAAAAHw/kag3WThN3q4/s320/Schematik+for+new+explorer.JPG" alt="" id="BLOGGER_PHOTO_ID_5255235410438823858" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SO5advjmgaI/AAAAAAAAAH4/HpBwGqbLOyc/s1600-h/DSCF1247.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SO5advjmgaI/AAAAAAAAAH4/HpBwGqbLOyc/s320/DSCF1247.JPG" alt="" id="BLOGGER_PHOTO_ID_5255237282216444322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://zenn.ro/Ws/HD66773R.pdf"&gt;&lt;/a&gt;&lt;a href="http://zenn.ro/Ws/LTS180S3-HF1%20Samsung%20E700%20Display.pdf"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-8566507603729067924?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/8566507603729067924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=8566507603729067924' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/8566507603729067924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/8566507603729067924'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/new-explorer-for-displays-max.html' title='New explorer for max displays resolution 244x244'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOzuYb64NEI/AAAAAAAAAHk/-q9EIrHemXU/s72-c/New+explorer+Part1.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-5318504157193714386</id><published>2008-10-06T13:45:00.030+03:00</published><updated>2011-02-10T14:26:20.606+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Display Samsung e700'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega2560'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega640'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega1280'/><category scheme='http://www.blogger.com/atom/ns#' term='RFM12BP'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega'/><category scheme='http://www.blogger.com/atom/ns#' term='Bluetooth'/><category scheme='http://www.blogger.com/atom/ns#' term='Development Board'/><title type='text'>My third development board for ATmega640-1280-2560</title><content type='html'>There are modules and connectors to come on this development board.&lt;br /&gt;Point out that I did not even cable.&lt;br /&gt;&lt;br /&gt;Here is described the top face:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SOntM0gOGMI/AAAAAAAAAFQ/w021bGxdd4M/s1600-h/TopOfThirthDevelopmentBoardForATmega640.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5253991244812392642" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" alt="" src="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SOntM0gOGMI/AAAAAAAAAFQ/w021bGxdd4M/s320/TopOfThirthDevelopmentBoardForATmega640.bmp" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here is described Bottom face:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SOn0TKSOZKI/AAAAAAAAAFg/Ifpa5JZ4hIc/s1600-h/BotomOfThirthDevelopmentBoardForATmega640.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5253999050319881378" style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" alt="" src="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SOn0TKSOZKI/AAAAAAAAAFg/Ifpa5JZ4hIc/s320/BotomOfThirthDevelopmentBoardForATmega640.bmp" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/ThirdDevBoardAtmega640.zip?attredirects=0&amp;amp;d=1"&gt;Download .MAX project for orcad&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-5318504157193714386?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/5318504157193714386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=5318504157193714386' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/5318504157193714386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/5318504157193714386'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/my-thirt-development-board-for.html' title='My third development board for ATmega640-1280-2560'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ZlBzpWAhs1E/SOntM0gOGMI/AAAAAAAAAFQ/w021bGxdd4M/s72-c/TopOfThirthDevelopmentBoardForATmega640.bmp' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-6443777679370558470</id><published>2008-10-05T11:47:00.014+03:00</published><updated>2011-02-10T14:28:23.783+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ATmega'/><category scheme='http://www.blogger.com/atom/ns#' term='HDD'/><category scheme='http://www.blogger.com/atom/ns#' term='Software Driver'/><category scheme='http://www.blogger.com/atom/ns#' term='Sd/Mmc'/><title type='text'>Manage page from SD/MMC/HDD memory with page bufer</title><content type='html'>This is one driver for accessing SD/MMC/HDD drive on byte level with auto replacement  page selection&lt;br /&gt;&lt;br /&gt;This driver support drives until &lt;span&gt;up to the amount 2^41 in 512Bytes on page and 2^48 bytes in 65536Bytes per page&lt;br /&gt;&lt;br /&gt;This library is ready to serves pages from 256 to 65536Bytes&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/DataFsLibrary.zip?attredirects=0&amp;amp;d=1"&gt;Download ASM driver file&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And this driver is interface to up driver and SD card memory&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/SdDriver.zip?attredirects=0&amp;amp;d=1"&gt;Download ASM driver file&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;With this drivers on ATmega640 at 19,5Mhz the transfer rate betwen Controller and SD card is :&lt;br /&gt;-63167Bytes/s Linear write&lt;br /&gt;-111550Bytes/s Linear read&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-6443777679370558470?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/6443777679370558470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=6443777679370558470' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/6443777679370558470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/6443777679370558470'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/manage-page-from-sdmmchdd-memory-with.html' title='Manage page from SD/MMC/HDD memory with page bufer'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-2591697691235112918</id><published>2008-10-04T22:33:00.029+03:00</published><updated>2011-02-10T14:29:52.921+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programator'/><category scheme='http://www.blogger.com/atom/ns#' term='AVR Dopper'/><category scheme='http://www.blogger.com/atom/ns#' term='Tiny Programator'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega8'/><title type='text'>Most tiny AVR Dopper programator for atmega microcontrollers</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SOfFcsnKzzI/AAAAAAAAAEg/Z0BhFj4v5ts/s1600-h/CablajAvrDoperATmega8Qfn32.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SOfFcsnKzzI/AAAAAAAAAEg/Z0BhFj4v5ts/s320/CablajAvrDoperATmega8Qfn32.JPG" alt="" id="BLOGGER_PHOTO_ID_5253384587153428274" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOfFic5NUvI/AAAAAAAAAEo/_q5KdzMeEtc/s1600-h/DSCF1317.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOfFic5NUvI/AAAAAAAAAEo/_q5KdzMeEtc/s320/DSCF1317.JPG" alt="" id="BLOGGER_PHOTO_ID_5253384686013338354" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOfFojSokqI/AAAAAAAAAEw/0G7Sm6M-Px0/s1600-h/DSCF1318.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOfFojSokqI/AAAAAAAAAEw/0G7Sm6M-Px0/s320/DSCF1318.JPG" alt="" id="BLOGGER_PHOTO_ID_5253384790809809570" border="0" /&gt;&lt;/a&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/AvrDoperAt8MLF32_4066_SO14.zip?attredirects=0&amp;amp;d=1"&gt;Download .MAX board project for orcad&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.obdev.at/products/avrusb/avrdoper.html"&gt;&lt;/a&gt;&lt;a href="http://www.obdev.at/products/avrusb/avrdoper.html"&gt;Link to download AVR Doper firmware and driver&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-2591697691235112918?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/2591697691235112918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=2591697691235112918' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/2591697691235112918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/2591697691235112918'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/most-tiny-avr-doper-programator-for.html' title='Most tiny AVR Dopper programator for atmega microcontrollers'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ZlBzpWAhs1E/SOfFcsnKzzI/AAAAAAAAAEg/Z0BhFj4v5ts/s72-c/CablajAvrDoperATmega8Qfn32.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-803640525763046116</id><published>2008-10-04T22:18:00.017+03:00</published><updated>2011-02-10T14:32:18.767+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Display Samsung e700'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega640'/><category scheme='http://www.blogger.com/atom/ns#' term='FT232'/><category scheme='http://www.blogger.com/atom/ns#' term='Sd/Mmc'/><category scheme='http://www.blogger.com/atom/ns#' term='Bluetooth'/><category scheme='http://www.blogger.com/atom/ns#' term='64KB Ram'/><category scheme='http://www.blogger.com/atom/ns#' term='Development Board'/><title type='text'>Development board 2 for ATmega640</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SOfBwFKDbCI/AAAAAAAAAEY/xTj7Jk_PiuE/s1600-h/MySecondDevelopmentBoardForATmega640,1280,2560.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SOfBwFKDbCI/AAAAAAAAAEY/xTj7Jk_PiuE/s320/MySecondDevelopmentBoardForATmega640,1280,2560.JPG" alt="" id="BLOGGER_PHOTO_ID_5253380522113199138" border="0" /&gt;&lt;/a&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/DevBoard2At640_MaxFile.zip?attredirects=0&amp;amp;d=1"&gt;Download .MAX project for this development board&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/DevBoard2At640_GerberFiles.zip?attredirects=0&amp;amp;d=1"&gt;Download Gerber files for this development board&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-803640525763046116?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/803640525763046116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=803640525763046116' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/803640525763046116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/803640525763046116'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/development-board-2-for-atmega640.html' title='Development board 2 for ATmega640'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ZlBzpWAhs1E/SOfBwFKDbCI/AAAAAAAAAEY/xTj7Jk_PiuE/s72-c/MySecondDevelopmentBoardForATmega640,1280,2560.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-4814446364039346371</id><published>2008-10-04T22:15:00.018+03:00</published><updated>2011-02-10T14:33:25.143+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Display Samsung e700'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega640'/><category scheme='http://www.blogger.com/atom/ns#' term='FT232'/><category scheme='http://www.blogger.com/atom/ns#' term='Sd/Mmc'/><category scheme='http://www.blogger.com/atom/ns#' term='Bluetooth'/><category scheme='http://www.blogger.com/atom/ns#' term='64KB Ram'/><category scheme='http://www.blogger.com/atom/ns#' term='Development Board'/><title type='text'>Development board 1 for ATmega640</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOfBMmuc3AI/AAAAAAAAAEQ/TI78o0cYThQ/s1600-h/MyDevelopmentBoardForATmega640,1280,2560.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOfBMmuc3AI/AAAAAAAAAEQ/TI78o0cYThQ/s320/MyDevelopmentBoardForATmega640,1280,2560.JPG" alt="" id="BLOGGER_PHOTO_ID_5253379912648940546" border="0" /&gt;&lt;/a&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/DevBoard1At640_MaxFile.zip?attredirects=0&amp;amp;d=1"&gt;Download .MAX Project for this development board&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-4814446364039346371?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/4814446364039346371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=4814446364039346371' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/4814446364039346371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/4814446364039346371'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/development-board-1-for-atmega640.html' title='Development board 1 for ATmega640'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOfBMmuc3AI/AAAAAAAAAEQ/TI78o0cYThQ/s72-c/MyDevelopmentBoardForATmega640,1280,2560.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-3873191170445788861</id><published>2008-10-04T22:09:00.017+03:00</published><updated>2011-02-10T14:34:32.618+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ATmega64'/><category scheme='http://www.blogger.com/atom/ns#' term='Sd/Mmc'/><category scheme='http://www.blogger.com/atom/ns#' term='Display Nokia6100'/><category scheme='http://www.blogger.com/atom/ns#' term='Bluetooth'/><category scheme='http://www.blogger.com/atom/ns#' term='Development Board'/><title type='text'>Development board for ATmega64</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SOe__VD2PkI/AAAAAAAAAEI/MD5HYvdPktw/s1600-h/DSCF1203.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SOe__VD2PkI/AAAAAAAAAEI/MD5HYvdPktw/s320/DSCF1203.JPG" alt="" id="BLOGGER_PHOTO_ID_5253378585056919106" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SOpv-JDagbI/AAAAAAAAAFs/MrpIwiRyyrM/s1600-h/DSCF1345.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SOpv-JDagbI/AAAAAAAAAFs/MrpIwiRyyrM/s320/DSCF1345.JPG" alt="" id="BLOGGER_PHOTO_ID_5254135028653916594" border="0" /&gt;&lt;/a&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/DevBoard1At64_MaxFile.zip?attredirects=0&amp;amp;d=1"&gt;Download .MAX Board project for orcad&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-3873191170445788861?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/3873191170445788861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=3873191170445788861' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/3873191170445788861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/3873191170445788861'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/development-board-for-atmega64.html' title='Development board for ATmega64'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ZlBzpWAhs1E/SOe__VD2PkI/AAAAAAAAAEI/MD5HYvdPktw/s72-c/DSCF1203.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-8698575578929452199</id><published>2008-10-04T16:14:00.014+03:00</published><updated>2011-02-10T14:36:04.028+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RPM Auto'/><category scheme='http://www.blogger.com/atom/ns#' term='Display'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega8'/><title type='text'>Simple RPM Auto</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SOdsafZjT2I/AAAAAAAAADA/c-7cD9NyQJ0/s1600-h/RPM+2x16+Display+Schematik.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SOdsafZjT2I/AAAAAAAAADA/c-7cD9NyQJ0/s320/RPM+2x16+Display+Schematik.JPG" alt="" id="BLOGGER_PHOTO_ID_5253286692712042338" border="0" /&gt;&lt;/a&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/CarTachometerDisplay2x16.zip?attredirects=0&amp;amp;d=1"&gt;Download Firmware and ASM code&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-8698575578929452199?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/8698575578929452199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=8698575578929452199' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/8698575578929452199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/8698575578929452199'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/sample-rpm-auto.html' title='Simple RPM Auto'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ZlBzpWAhs1E/SOdsafZjT2I/AAAAAAAAADA/c-7cD9NyQJ0/s72-c/RPM+2x16+Display+Schematik.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-4027807841893573082</id><published>2008-10-04T15:59:00.015+03:00</published><updated>2011-02-10T14:37:33.113+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Remote control'/><category scheme='http://www.blogger.com/atom/ns#' term='Rx/Tx'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega8'/><title type='text'>A small remote controll for 8 digital channels</title><content type='html'>This is one remote control wih ATmega8 and Rx-Tx Modules&lt;br /&gt;The fuse bits be set up to work with internal RC oscillator 1Mhz&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SOdpMPxN-GI/AAAAAAAAACw/XtIK-FA0vaY/s1600-h/SampleTransmitter8Chanel.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SOdpMPxN-GI/AAAAAAAAACw/XtIK-FA0vaY/s320/SampleTransmitter8Chanel.JPG" alt="" id="BLOGGER_PHOTO_ID_5253283149463287906" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SOdpP52pVgI/AAAAAAAAAC4/cZDZSmbmeiQ/s1600-h/SampleReceiver8Chanel.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SOdpP52pVgI/AAAAAAAAAC4/cZDZSmbmeiQ/s320/SampleReceiver8Chanel.JPG" alt="" id="BLOGGER_PHOTO_ID_5253283212299949570" border="0" /&gt;&lt;/a&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/TxFirmware.zip?attredirects=0&amp;amp;d=1"&gt;Download Tx Firmware and ASM code&lt;/a&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/RxFirmware.zip?attredirects=0&amp;amp;d=1"&gt;Download Rx Firmware and ASM code&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;Soon  available for buy.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-4027807841893573082?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/4027807841893573082/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=4027807841893573082' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/4027807841893573082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/4027807841893573082'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/sample-remote-control.html' title='A small remote controll for 8 digital channels'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ZlBzpWAhs1E/SOdpMPxN-GI/AAAAAAAAACw/XtIK-FA0vaY/s72-c/SampleTransmitter8Chanel.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-1896675980803211652</id><published>2008-10-04T15:43:00.012+03:00</published><updated>2011-02-10T14:40:41.383+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Led Cross'/><category scheme='http://www.blogger.com/atom/ns#' term='7x5 Matrix Led'/><category scheme='http://www.blogger.com/atom/ns#' term='ULN2003'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega64'/><title type='text'>Mini Led Cross</title><content type='html'>&lt;div style="text-align: left;"&gt;One sample led cross&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOdl1WClO5I/AAAAAAAAACY/b9g1hSmKMCY/s1600-h/DSCF1319.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOdl1WClO5I/AAAAAAAAACY/b9g1hSmKMCY/s320/DSCF1319.JPG" alt="" id="BLOGGER_PHOTO_ID_5253279457474853778" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SOdl7dcEHUI/AAAAAAAAACg/A6Gi8FRocGE/s1600-h/DSCF1320.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SOdl7dcEHUI/AAAAAAAAACg/A6Gi8FRocGE/s320/DSCF1320.JPG" alt="" id="BLOGGER_PHOTO_ID_5253279562539998530" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SOdmAmwu13I/AAAAAAAAACo/Mhq7n3eGfkY/s1600-h/LedCrosSchematik.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SOdmAmwu13I/AAAAAAAAACo/Mhq7n3eGfkY/s320/LedCrosSchematik.JPG" alt="" id="BLOGGER_PHOTO_ID_5253279650941949810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-5093b70d46a92897" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v21.nonxt3.googlevideo.com/videoplayback?id%3D5093b70d46a92897%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330406578%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D2FAB2443401B9529F56F8B50587AB38E122806D.685F3EB326E8946AEFA2E8B61C224BA2915DEB12%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D5093b70d46a92897%26offsetms%3D5000%26itag%3Dw160%26sigh%3D6xA8h6_ewjgsfL7QtauX0l_zFWY&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v21.nonxt3.googlevideo.com/videoplayback?id%3D5093b70d46a92897%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330406578%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D2FAB2443401B9529F56F8B50587AB38E122806D.685F3EB326E8946AEFA2E8B61C224BA2915DEB12%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D5093b70d46a92897%26offsetms%3D5000%26itag%3Dw160%26sigh%3D6xA8h6_ewjgsfL7QtauX0l_zFWY&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;                                      &lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-3878c40f35897c9a" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v10.nonxt6.googlevideo.com/videoplayback?id%3D3878c40f35897c9a%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330406578%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D542301A239F02D60786683F1B134E9A6A8B1E1C8.7242DC3889E07F53EAD20A1A1C9C604D238C0A92%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D3878c40f35897c9a%26offsetms%3D5000%26itag%3Dw160%26sigh%3DEgUXnRGA0sWeIFGX3OoBeRUiWBI&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v10.nonxt6.googlevideo.com/videoplayback?id%3D3878c40f35897c9a%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330406578%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D542301A239F02D60786683F1B134E9A6A8B1E1C8.7242DC3889E07F53EAD20A1A1C9C604D238C0A92%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D3878c40f35897c9a%26offsetms%3D5000%26itag%3Dw160%26sigh%3DEgUXnRGA0sWeIFGX3OoBeRUiWBI&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/LedCross175LedsModules7x5.zip?attredirects=0&amp;amp;d=1"&gt;Download entire project&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-1896675980803211652?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=3878c40f35897c9a&amp;type=video%2Fmp4' length='0'/><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=5093b70d46a92897&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/1896675980803211652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=1896675980803211652' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/1896675980803211652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/1896675980803211652'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/mini-led-cross.html' title='Mini Led Cross'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOdl1WClO5I/AAAAAAAAACY/b9g1hSmKMCY/s72-c/DSCF1319.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-2833994107816320992</id><published>2008-10-04T14:58:00.011+03:00</published><updated>2011-02-10T14:43:28.487+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Explorer'/><category scheme='http://www.blogger.com/atom/ns#' term='MiniExplorer'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega64'/><category scheme='http://www.blogger.com/atom/ns#' term='Nokia6100'/><category scheme='http://www.blogger.com/atom/ns#' term='Display'/><title type='text'>Miniexplorer for ATmega microcontrollers and Nokia6100 Displays Philips chip</title><content type='html'>This is one minidriver and explorer for ATmega microcontrollers and Nokia6100 Displays with Philips chip&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/MiniexplorerATmegaNokia6100DisplaysPhilipsChip.zip?attredirects=0&amp;amp;d=1"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SOdbrrPXSwI/AAAAAAAAACQ/yieowXeaVdE/s1600-h/DSCF0609.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SOdbrrPXSwI/AAAAAAAAACQ/yieowXeaVdE/s320/DSCF0609.JPG" alt="" id="BLOGGER_PHOTO_ID_5253268296250641154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-ae9dba4aa53590b8" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v17.nonxt1.googlevideo.com/videoplayback?id%3Dae9dba4aa53590b8%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330406578%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D1761C906141030693AE9614AC9B898127DF0510C.64173C0A870ACDA75F52236A4FF735717C65431D%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Dae9dba4aa53590b8%26offsetms%3D5000%26itag%3Dw160%26sigh%3D8jBqKCULzq05o7MrHbNYgnVRS0U&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v17.nonxt1.googlevideo.com/videoplayback?id%3Dae9dba4aa53590b8%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330406578%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D1761C906141030693AE9614AC9B898127DF0510C.64173C0A870ACDA75F52236A4FF735717C65431D%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Dae9dba4aa53590b8%26offsetms%3D5000%26itag%3Dw160%26sigh%3D8jBqKCULzq05o7MrHbNYgnVRS0U&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-3f332cff4273ac0" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v14.nonxt7.googlevideo.com/videoplayback?id%3D03f332cff4273ac0%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330406578%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D1AC39E88278A58FD08188E3E3C42666082F6A376.7C3B25EDDF87C0823A5BFF1385A1CB118A41AC73%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D3f332cff4273ac0%26offsetms%3D5000%26itag%3Dw160%26sigh%3DBevYeZFNsVsdb3zyBHRghKBtbiI&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v14.nonxt7.googlevideo.com/videoplayback?id%3D03f332cff4273ac0%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330406578%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D1AC39E88278A58FD08188E3E3C42666082F6A376.7C3B25EDDF87C0823A5BFF1385A1CB118A41AC73%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D3f332cff4273ac0%26offsetms%3D5000%26itag%3Dw160%26sigh%3DBevYeZFNsVsdb3zyBHRghKBtbiI&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/MiniexplorerATmegaNokia6100DisplaysPhilipsChip.zip?attredirects=0&amp;amp;d=1"&gt;Download entire project&lt;/a&gt;  no logo suport ( only color )&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-2833994107816320992?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=3f332cff4273ac0&amp;type=video%2Fmp4' length='0'/><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=ad74e3ced4996249&amp;type=video%2Fmp4' length='0'/><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=ae9dba4aa53590b8&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/2833994107816320992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=2833994107816320992' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/2833994107816320992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/2833994107816320992'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/miniexplorer-for-atmega.html' title='Miniexplorer for ATmega microcontrollers and Nokia6100 Displays Philips chip'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ZlBzpWAhs1E/SOdbrrPXSwI/AAAAAAAAACQ/yieowXeaVdE/s72-c/DSCF0609.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-1182498770384262814</id><published>2008-10-04T14:45:00.012+03:00</published><updated>2011-02-10T14:45:29.942+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Driver'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega64'/><category scheme='http://www.blogger.com/atom/ns#' term='Nokia6100'/><category scheme='http://www.blogger.com/atom/ns#' term='Display'/><title type='text'>Extended driver in comand line for Nokia6100 Display Philips chip</title><content type='html'>This driver is designed to work with a display of Nokia6100 with the Philips chip and is provided with additional features from the base:&lt;br /&gt;&lt;br /&gt;This driver is double buffered to refrash's on display only characters that are modified in this way speed refrash being much improved given that SPI interface 9Biti display is done with software&lt;br /&gt;&lt;br /&gt;Positions included declared constants in the driver are:&lt;br /&gt;&lt;br /&gt;1) DisplayIdle = Idle&lt;br /&gt;2) DisplaySetup = Interface Setup&lt;br /&gt;3) DisplayWriteChar = WriteOneChar (auto increment, R16 = character writing)&lt;br /&gt;4) DisplayUpCursor Moving the cursor from the menu at a superior position&lt;br /&gt;5) DisplayDnCursor = The move cursor on the menu at a lower position&lt;br /&gt;6) DisplayGetCursor = Read position the cursor on the menu (R16 = Position)&lt;br /&gt;7) DisplayClear = Clear display&lt;br /&gt;8) DisplayWriteTxt = enter a default text from flash memory&lt;br /&gt;9) DisplayCreateProgress = Create a Progress bar&lt;br /&gt;10)DisplayProgressRfsh = Update the progress bar (yl = value between 0 and 111)&lt;br /&gt;11) DisplayCreateMenu = Create a Menu (x is adress of menu in Flash)&lt;br /&gt;12) DisplayInkColor = Set the color character (R16-R17 = color)&lt;br /&gt;13) DisplayBekgroundColor = Set the becground color  (R16-R17 = color)&lt;br /&gt;14) InteruptDriverLCD = Interupt priority&lt;br /&gt;&lt;br /&gt;To access this subrutinelor driver just called routine selection functions.&lt;br /&gt;&lt;br /&gt;EX:&lt;br /&gt;Ldi R25,(Commanda)&lt;br /&gt;Mov R15,R25&lt;br /&gt;Rcall PrimireComenziDriverLcd6100&lt;br /&gt;&lt;br /&gt;Resurse consumate:&lt;br /&gt;- Flash ...&lt;br /&gt;- EEprom  ...&lt;br /&gt;- Ram   = (2x256)+20Bytes&lt;br /&gt;&lt;br /&gt;Rfsh display is made to order InteruptPriorrity therefore it should be called the most possible and loops of delay and Idle because every call of this is rfsh a character on display, so to make everything rfsh display is need to call this with 256 times.&lt;br /&gt;I chose this method because rfsh entire rfsh display controller take quite a long time about 0.2 seconds and if it stays in a loop of 5-second delay for example in those 5 seconds is no longer able to refrash, so may resort to a contrivance: to make delay-ROMs and much shorter and every delay to send the command to rfsh such display is being updated and if the display is ADD characters and commands of interruptions&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-254634132fab77da" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v9.nonxt3.googlevideo.com/videoplayback?id%3D254634132fab77da%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330406578%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D6C128EF711C80672A1C5222B624BD3F6107DBD80.685016BBBACDDCA64E35165D8479E468E873F44C%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D254634132fab77da%26offsetms%3D5000%26itag%3Dw160%26sigh%3Di5rQOmWCjH_TTmdFszaqfEkjuzQ&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v9.nonxt3.googlevideo.com/videoplayback?id%3D254634132fab77da%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330406578%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D6C128EF711C80672A1C5222B624BD3F6107DBD80.685016BBBACDDCA64E35165D8479E468E873F44C%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D254634132fab77da%26offsetms%3D5000%26itag%3Dw160%26sigh%3Di5rQOmWCjH_TTmdFszaqfEkjuzQ&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SOdZo0oYbaI/AAAAAAAAACI/5ybPSN_Hb38/s1600-h/SchematikForDisplay6100.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SOdZo0oYbaI/AAAAAAAAACI/5ybPSN_Hb38/s320/SchematikForDisplay6100.JPG" alt="" id="BLOGGER_PHOTO_ID_5253266048208629154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/DriverForAtmega64%26DisplayNokia6100InCommandLine.zip?attredirects=0&amp;amp;d=1"&gt;Download this driver&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-1182498770384262814?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=254634132fab77da&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/1182498770384262814/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=1182498770384262814' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/1182498770384262814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/1182498770384262814'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/extended-driver-in-comand-line-for.html' title='Extended driver in comand line for Nokia6100 Display Philips chip'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ZlBzpWAhs1E/SOdZo0oYbaI/AAAAAAAAACI/5ybPSN_Hb38/s72-c/SchematikForDisplay6100.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-3072624362532706742</id><published>2008-10-04T14:05:00.012+03:00</published><updated>2011-02-10T14:46:40.778+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Driver'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega'/><category scheme='http://www.blogger.com/atom/ns#' term='Minidriver'/><category scheme='http://www.blogger.com/atom/ns#' term='Nokia3310'/><category scheme='http://www.blogger.com/atom/ns#' term='Display'/><title type='text'>Minidriver for Nokia3310 Display</title><content type='html'>This is a general driver&lt;br /&gt;&lt;br /&gt;EX:&lt;br /&gt;Ldi R25,(Command)&lt;br /&gt;Mov R15,R25&lt;br /&gt;Rcall PrimireComenziDriverLcd3310&lt;br /&gt;&lt;br /&gt;1) Idle&lt;br /&gt;2) Setup Interface&lt;br /&gt;3) No Comand&lt;br /&gt;4) WriteOneChar(auto increment, R16 = The aracter)&lt;br /&gt;5) WriteOneCharWithAdress(R16 = The caracterul,R17 = Vertical adress (0 to 13),R18 = Horizontal adress (0 to 4)&lt;br /&gt;6) Clear display(Black Color)&lt;br /&gt;7) Clear display(White Color)&lt;br /&gt;8) Print Logo (x = The adress of logo in flash memory,R17 = Orizontal adress in char (0 to 13),R18 = Vertical adress in char (0 to 4))&lt;br /&gt;The logo is in this format:&lt;br /&gt;; ------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;|Low(LogoDimension)|High(LogoDimension)|0=NonInvertingColor,1=InvertingColor|......Logo.................|&lt;br /&gt;------------------------------------------------------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/DriverLcd3310.zip?attredirects=0&amp;amp;d=1"&gt;Download driver&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-3072624362532706742?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/3072624362532706742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=3072624362532706742' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/3072624362532706742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/3072624362532706742'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/driver-for-nokia6100-display-with.html' title='Minidriver for Nokia3310 Display'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-1298662724826551746</id><published>2008-10-04T14:02:00.012+03:00</published><updated>2011-02-10T14:47:27.994+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='4*40'/><category scheme='http://www.blogger.com/atom/ns#' term='2*16'/><category scheme='http://www.blogger.com/atom/ns#' term='2*40'/><category scheme='http://www.blogger.com/atom/ns#' term='4*20'/><category scheme='http://www.blogger.com/atom/ns#' term='2x20'/><category scheme='http://www.blogger.com/atom/ns#' term='2x40'/><category scheme='http://www.blogger.com/atom/ns#' term='2x16'/><category scheme='http://www.blogger.com/atom/ns#' term='2*20'/><category scheme='http://www.blogger.com/atom/ns#' term='4x20'/><category scheme='http://www.blogger.com/atom/ns#' term='Display'/><category scheme='http://www.blogger.com/atom/ns#' term='4x40'/><title type='text'>Minidriver for 2x16 to 4x40 Char display</title><content type='html'>Driver for Hd44780 8bit data bus&lt;br /&gt;&lt;br /&gt;This driver is designed for 2x16 to 4x40 Char&lt;br /&gt;&lt;br /&gt;Include:&lt;br /&gt;Char Write&lt;br /&gt;Text write from Flash&lt;br /&gt;Clear Display&lt;br /&gt;&lt;br /&gt;Function included:&lt;br /&gt;DisplayIdle44780&lt;br /&gt;DisplaySetup44780&lt;br /&gt;DisplayWriteChar44780&lt;br /&gt;DisplayClear44780&lt;br /&gt;DisplayWriteTxt44780&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/DriverHD44780U.zip?attredirects=0&amp;amp;d=1"&gt;Download driver&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-1298662724826551746?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/1298662724826551746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=1298662724826551746' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/1298662724826551746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/1298662724826551746'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/minidriver-for-2x16-to-4x40-char.html' title='Minidriver for 2x16 to 4x40 Char display'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-3012982047917374981</id><published>2008-10-04T13:52:00.011+03:00</published><updated>2011-02-10T14:48:58.311+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ATmega'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega64'/><category scheme='http://www.blogger.com/atom/ns#' term='Display Driver'/><category scheme='http://www.blogger.com/atom/ns#' term='320x240 Display'/><title type='text'>Minidriver for Sharp displays 320x240</title><content type='html'>This is a driver for 320x240 3,5 inch Sharp display in command line mode 2,5 FPS atmega64 16 mhz&lt;br /&gt;&lt;br /&gt;To display the characters on the screen uses a buffer for ASCII characters to be displayed with the size of 1200Bytes (Xresolution / XCaracterDimension) * (Yresolution / YCaracterDimension)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SOdLka7rXVI/AAAAAAAAABw/ziPkac5Z-MQ/s1600-h/DriverForDisplay320x240NumaiCitireaDinBufferulGraficDeCaractere.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_ZlBzpWAhs1E/SOdLka7rXVI/AAAAAAAAABw/ziPkac5Z-MQ/s320/DriverForDisplay320x240NumaiCitireaDinBufferulGraficDeCaractere.JPG" alt="" id="BLOGGER_PHOTO_ID_5253250579427974482" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SOdLrSWsvsI/AAAAAAAAAB4/T6hVHE_9BNE/s1600-h/DriverForDisplay320x240PrimaProba.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SOdLrSWsvsI/AAAAAAAAAB4/T6hVHE_9BNE/s320/DriverForDisplay320x240PrimaProba.JPG" alt="" id="BLOGGER_PHOTO_ID_5253250697384476354" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SOdLwiZZlVI/AAAAAAAAACA/AUwqS3xgUbc/s1600-h/ATmega64AndSharpDisplayLQ035Q7DB02.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SOdLwiZZlVI/AAAAAAAAACA/AUwqS3xgUbc/s320/ATmega64AndSharpDisplayLQ035Q7DB02.JPG" alt="" id="BLOGGER_PHOTO_ID_5253250787590116690" border="0" /&gt;&lt;/a&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/MinidriverSharpDisplays320x240.zip?attredirects=0&amp;amp;d=1"&gt;Download entire project&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-3012982047917374981?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/3012982047917374981/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=3012982047917374981' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/3012982047917374981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/3012982047917374981'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/minidriver-for-sharp-displays-320x240.html' title='Minidriver for Sharp displays 320x240'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ZlBzpWAhs1E/SOdLka7rXVI/AAAAAAAAABw/ziPkac5Z-MQ/s72-c/DriverForDisplay320x240NumaiCitireaDinBufferulGraficDeCaractere.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-4920519448914749342</id><published>2008-10-04T13:38:00.011+03:00</published><updated>2011-02-10T14:51:11.992+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gass Monitor'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega'/><category scheme='http://www.blogger.com/atom/ns#' term='RPM'/><category scheme='http://www.blogger.com/atom/ns#' term='Temperature'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega8'/><title type='text'>RPM &amp; Temperature &amp; Gass Monitor</title><content type='html'>One simply project for ATmega Microcontrollers&lt;br /&gt;&lt;br /&gt;Function =  RPM &amp;amp; Temperature &amp;amp; Gass Monitor in Graphic mode&lt;br /&gt;&lt;br /&gt;Contain:&lt;br /&gt;One module for measurament of pulse and convert in RPM&lt;br /&gt;One module for measurament of Temperature in analogic mode&lt;br /&gt;One module for measurament of Fuel Gass in analogic mode&lt;br /&gt;One driver for LCD display Nokia 3310 including char inserting and logo paint&lt;br /&gt;This program is compiled in ASM AVRStudio 4&lt;br /&gt;&lt;br /&gt;Target core = Posted for Atmega8&lt;br /&gt;Modified    = All ATmega Core&lt;br /&gt;&lt;br /&gt;Resources :&lt;br /&gt;Data Flash  = 2114 Bytes&lt;br /&gt;Code Flash  = 1256 Bytes&lt;br /&gt;Total Flash = 3370 Bytes&lt;br /&gt;Data Ram    =    7 Bytes&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SOdJ5ORJLvI/AAAAAAAAABo/WxcSTww9uuI/s1600-h/DSCF0486.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SOdJ5ORJLvI/AAAAAAAAABo/WxcSTww9uuI/s320/DSCF0486.JPG" alt="" id="BLOGGER_PHOTO_ID_5253248737782345458" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOdJwv882nI/AAAAAAAAABg/uJx9l9u1E9c/s1600-h/PlacaRpm%26Temperatura%26GassAuto.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOdJwv882nI/AAAAAAAAABg/uJx9l9u1E9c/s320/PlacaRpm%26Temperatura%26GassAuto.gif" alt="" id="BLOGGER_PHOTO_ID_5253248592205634162" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SOdJrdWEghI/AAAAAAAAABY/ZbQQ9PIQdUE/s1600-h/SchemaRPM%26Termometru%26GassAuto.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_ZlBzpWAhs1E/SOdJrdWEghI/AAAAAAAAABY/ZbQQ9PIQdUE/s320/SchemaRPM%26Termometru%26GassAuto.gif" alt="" id="BLOGGER_PHOTO_ID_5253248501311373842" border="0" /&gt;&lt;/a&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/Tachometer%2CGasLevel%2CEngineTemperature_Monitor.zip?attredirects=0&amp;amp;d=1"&gt;Download entire project&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-4920519448914749342?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/4920519448914749342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=4920519448914749342' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/4920519448914749342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/4920519448914749342'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/rpm-temperature-gass-monitor.html' title='RPM &amp; Temperature &amp; Gass Monitor'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ZlBzpWAhs1E/SOdJ5ORJLvI/AAAAAAAAABo/WxcSTww9uuI/s72-c/DSCF0486.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-8386769740242736852</id><published>2008-10-04T13:16:00.018+03:00</published><updated>2011-02-10T14:55:47.073+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Computer controll'/><category scheme='http://www.blogger.com/atom/ns#' term='Motors'/><category scheme='http://www.blogger.com/atom/ns#' term='Controller'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega'/><category scheme='http://www.blogger.com/atom/ns#' term='RPM'/><category scheme='http://www.blogger.com/atom/ns#' term='Moror Steper'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega8'/><title type='text'>3 in 1 bipolar motor steper controller with only one controller</title><content type='html'>This project is designed for control 3 motors stepper independently with only one ATmega8 mocrocontroller&lt;br /&gt;The interface is Serial 19200b/s&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOdD1U61KMI/AAAAAAAAAAo/fzMfxc3i0WI/s1600-h/3in1motorSteperAtmega8.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOdD1U61KMI/AAAAAAAAAAo/fzMfxc3i0WI/s320/3in1motorSteperAtmega8.jpg" alt="" id="BLOGGER_PHOTO_ID_5253242073778563266" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SOdD9o_RidI/AAAAAAAAAAw/F_xGMXyuK0c/s1600-h/interface-for-motor-driver.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SOdD9o_RidI/AAAAAAAAAAw/F_xGMXyuK0c/s320/interface-for-motor-driver.jpg" alt="" id="BLOGGER_PHOTO_ID_5253242216604862930" border="0" /&gt;&lt;/a&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SR6igrWKQGI/AAAAAAAAAJg/msSe_XGHPYU/s1600-h/MotorSteper3In1Schematik.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer; width: 320px; height: 200px;" src="http://1.bp.blogspot.com/_ZlBzpWAhs1E/SR6igrWKQGI/AAAAAAAAAJg/msSe_XGHPYU/s320/MotorSteper3In1Schematik.JPG" alt="" id="BLOGGER_PHOTO_ID_5268827296345243746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/asmatmegaprograming/home/site-archive/3in1MotorStepperController%28SourceHexBoard%29.zip?attredirects=0&amp;amp;d=1"&gt;Dovnload entire project&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;Soon  available for buy.&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-8386769740242736852?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=cfafcffb230cb92a&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/8386769740242736852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=8386769740242736852' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/8386769740242736852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/8386769740242736852'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/3-in-1-motor-steper-controller-with.html' title='3 in 1 bipolar motor steper controller with only one controller'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOdD1U61KMI/AAAAAAAAAAo/fzMfxc3i0WI/s72-c/3in1motorSteperAtmega8.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-8789424827949279918</id><published>2008-10-04T13:13:00.024+03:00</published><updated>2009-06-12T20:01:46.303+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ATmega640'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega'/><category scheme='http://www.blogger.com/atom/ns#' term='Kernel'/><title type='text'>Kernel V0.3 for atmega microcontrollers</title><content type='html'>This project is a kernel initially made for ATmega 640.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://zenn.ro/Ws/KernelV03Atmega640.zip"&gt;Download project&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The number of threads maximum 254 or limited with the ram memory dimension.&lt;br /&gt;&lt;br /&gt;Description:&lt;br /&gt;- This kernel was designed to use all the processing power of an microcontroller, in the case when on a device are used more microcontrollers each one with different functions and they (microcontrollers) don't work at maximum capacity, and it can facilitate tremendously the job of an programator who wants to implement more functions in only one microcontroller.&lt;br /&gt;&lt;br /&gt;- On this kernel, more programs totally independently can work simultaneously (in the same time), the only thing that is affect is the processing power on each one.&lt;br /&gt;&lt;br /&gt;- This programs can communicate between them using the name ( string 16 Chars ) of the program and/or the address of program in Flash obtained from one ping to the name of program for idle-section of program, so if we update a program or a driver, it will replace the old one with the new one without actualizing the remaining programs (the programs who were not updated) to the new address of the new program, the address of new program is declared in the installed programs table.&lt;br /&gt;&lt;br /&gt;- When a program starts to run the kernel reads from the program haw much memory ram to give him, the kernel assigns to the program the memory ram demanded rounded of form 128 in 128 Bytes (if a program needs 0 (zero) memory ram the kernel will not assign ram memory to that program; if a program needs 1-128 Bytes memory ram the kernel will assign 128 Bytes ram memory to that program; if a program needs 129-256 Bytes memory ram the kernel will assign 256 Bytes ram memory to that program) but when the program is running it can change the dimension of the memory ram assigned, according to the memory ram he needs, by "handing in an application" to the kernel demanding a change of memory ram assigned.&lt;br /&gt;&lt;br /&gt;- If a program requests to the kernel to open a program the kernel can open it, the kernel is checking if that program is already open, if that program is open, the kernel reads if that program can be open again, if it can be open again it will be open like a new thread independently from the previous and it will give a order number (the first open program will have the number of order 0 (zero), the second program open will have the number of order 1 etc.) this value it will be return to the program who requested the open to the program to make the difference between the open threads with the same ID. If the requested program can't be open many times, the program who demanded the open of the program will receive an error the program can't be open because is already open. (This function is incomplete implemented.)&lt;br /&gt;&lt;br /&gt;- At the end of a program, the kernel is taking care of deleting the cluster of memory ram occupied by the program (the memory ram that this program occupied can be used by future open program) and immediately the kernel will compact the table in which are kept the principals dates of each open program.&lt;br /&gt;&lt;br /&gt;- A program can be force closed by the kernel if there is an stack overflow error, the program can request the kernel to be closed or the kernel receive the close command from another program, and the program who will be closed can save the working dates and after that sending the close command to the kernel.&lt;br /&gt;&lt;br /&gt;- The open programs divide the processing power equally, but there is the case when a program is in idle, in this case the program will sent to the kernel a interrupt command, the processing power remain between the time when the demand of interrupt and the time of interrupt is equally divided to the running programs.&lt;br /&gt;&lt;br /&gt;- For each program the kernel assigns an cluster of memory ram of 128 octets because when the program is interrupted the kernel to save 32 registry, stank counter and 93 Bytes from the stank occupied by the program, before returning in the interrupted program the kernel will restore the contents of 32 registry ,the stank and counter of the stank and the stank.&lt;br /&gt;&lt;br /&gt;- The memory ram for each program begins from an virtual address 0 (zero) in the registry Z where is the address of the head cluster of the memory ram assigned, if a program wants to find out the address of the head cluster memory ram assigned it can appeal a routine from the kernel to give him the address (in this way, using an artifice we can use the direct address knowing that the cluster memory ram used starts at the head address +2).&lt;br /&gt;&lt;br /&gt;- System Timers: They were integrated to can make data processing and to an exact time and for software pause in lock delays, system timer have 128 steps/sec, so we can create software with the exact time of the external Quartz of 32768Hz&lt;br /&gt;&lt;br /&gt;(Still working at kernel.)&lt;br /&gt;&lt;br /&gt;This kernel can be adapted on any microcontroller ATmega with the some little modifications.&lt;br /&gt;&lt;br /&gt;Here is an description to use this kernel&lt;br /&gt;&lt;br /&gt;This kernel is a fully dynamic kernel, all files to use this kernel is in virtual ram memory&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 0, 0);"&gt;One bug is present in this kernel because is not possible to close one program if run minimum 3 threads, if one thread is closed if is running one or two thread this kernel will freeze.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For eliminate this error please use 3 ghost threads like this:&lt;br /&gt;&lt;span style="color: rgb(255, 255, 0);"&gt;_____________________________________________________________&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;Ghost programs (&lt;/span&gt;&lt;/span&gt; &lt;span style="color: rgb(51, 255, 51);"&gt;these programs no consume processing power&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;span style="color: rgb(51, 255, 51);"&gt; )&lt;/span&gt;&lt;br /&gt;Ldi &lt;/span&gt;Yl,Low(Ghost1*2)&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Ldi &lt;/span&gt;Yh,High(Ghost1*2)&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Call &lt;/span&gt;LauchProgram&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Ldi &lt;/span&gt;Yl,Low(Ghost2*2)&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Ldi &lt;/span&gt;Yh,High(Ghost2*2)&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Call &lt;/span&gt;LauchProgram&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Ldi &lt;/span&gt;Yl,Low(Ghost2*2)&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Ldi &lt;/span&gt;Yh,High(Ghost2*2)&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Call &lt;/span&gt;LauchProgram&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 255, 51);"&gt;User programs&lt;/span&gt; &lt;span style="color: rgb(51, 255, 51);"&gt;( this programs is a user programs lached in startup )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Ldi &lt;/span&gt;Yl,Low(Program1*2)&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Ldi &lt;/span&gt;Yh,High(Program1*2)&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Call &lt;/span&gt;LauchProgram&lt;br /&gt;;**********************************************************&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Sei&lt;/span&gt;&lt;br /&gt;;**********************************************************&lt;br /&gt;IdleKernel:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Wdr&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Rjmp&lt;/span&gt; IdleKernel&lt;br /&gt;;**********************************************************&lt;br /&gt;&lt;span style="color: rgb(255, 255, 0);"&gt;---------------------------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;Ghost1:&lt;br /&gt;.Db "Ghost1",255,255,255,255,255,255,255,255,255,255&lt;br /&gt;.Dw  EndGhost1-Ghost1&lt;br /&gt;.Dw  0&lt;br /&gt;.Dw  0&lt;br /&gt;Ghost1Startup:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Call&lt;/span&gt; IntrerupereThreadLaCerere&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Rjmp&lt;/span&gt; Ghost1Startup&lt;br /&gt;EndGhost1:&lt;br /&gt;&lt;span style="color: rgb(255, 255, 0);"&gt;---------------------------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;Ghost2:&lt;br /&gt;.Db "Ghost2",255,255,255,255,255,255,255,255,255,255&lt;br /&gt;.Dw  EndGhost2-Ghost2&lt;br /&gt;.Dw  0&lt;br /&gt;.Dw  0&lt;br /&gt;Ghost2Startup:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Call&lt;/span&gt; IntrerupereThreadLaCerere&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Rjmp&lt;/span&gt; Ghost2Startup&lt;br /&gt;EndGhost2:&lt;br /&gt;&lt;span style="color: rgb(255, 255, 0);"&gt;---------------------------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;Ghost3:&lt;br /&gt;.Db "Ghost3",255,255,255,255,255,255,255,255,255,255&lt;br /&gt;.Dw  EndGhost3-Ghost3&lt;br /&gt;.Dw  0&lt;br /&gt;.Dw  0&lt;br /&gt;Ghost3Startup:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Call&lt;/span&gt; IntrerupereThreadLaCerere&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Rjmp&lt;/span&gt; Ghost3Startup&lt;br /&gt;EndGhost3:&lt;br /&gt;&lt;span style="color: rgb(255, 255, 0);"&gt;_____________________________________________________________&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;With this sequences is launched one program:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Ldi &lt;/span&gt;Yl,Low(Program1*2)&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Ldi &lt;/span&gt;Yh,High(Program1*2)&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Call &lt;/span&gt;LauchProgram&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;With this sequences is created the resources of ram but until this sequences the program is not launched, the program is launched after kernel scan the table of start programs&lt;/span&gt;.&lt;br /&gt;&lt;span style="color: rgb(255, 255, 0);"&gt;_____________________________________________________________&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here is a simple thread to run on this kernel:&lt;br /&gt;&lt;br /&gt;Program1:&lt;br /&gt;.Db "ProgramTest1",255,255,255,255;&lt;span style="color: rgb(51, 51, 255);"&gt;Here is a string with maxim 16 char ( this is the name of task )&lt;/span&gt; &lt;span style="color: rgb(51, 51, 255);"&gt;this string is necessarily to end with 255 int8&lt;/span&gt;&lt;br /&gt;.Dw  EndProgram1-Program1;&lt;span style="color: rgb(51, 51, 255);"&gt;Here is a int16 dimension of the program&lt;/span&gt;&lt;br /&gt;.Dw  63;&lt;span style="color: rgb(51, 51, 255);"&gt; Here is a int16 ( how ram to assign to this thread )&lt;/span&gt;&lt;br /&gt;.Dw  0;&lt;span style="color: rgb(51, 51, 255);"&gt;Here is a int16 constant divided in Boolean that describe the configuration thread&lt;/span&gt;&lt;br /&gt;;&lt;span style="color: rgb(51, 51, 255);"&gt;Vectors ( links ) for routines in program&lt;/span&gt;&lt;br /&gt;Program1Startup:;&lt;span style="color: rgb(51, 51, 255);"&gt;Here jump the kernel until the all resources is reserved for this thread, here is start of thread&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Rjmp&lt;/span&gt; Program1Startup_&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Until start link , is the links of routines of this thread ( for this example , no links )&lt;/span&gt;&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;;&lt;span style="color: rgb(51, 51, 255);"&gt;End of vectors and begin of program routines, no chase in this example&lt;/span&gt;&lt;br /&gt;Program1Startup_:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Lds&lt;/span&gt; R17,DDRH;\&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Sbr&lt;/span&gt; R17,1&lt;&lt;2;&lt;span style="color: rgb(51, 51, 255);"&gt;Here is the configuration section for this thread, here is configurations of all port and resources used by this thread&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Sts&lt;/span&gt; DDRH,R17;/&lt;br /&gt;Program1Startup__:; &lt;span style="color: rgb(51, 51, 255);"&gt;Here is the main of this thread&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Ldi&lt;/span&gt; R16,16&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Rcall&lt;/span&gt; SlepS&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Cli&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Lds&lt;/span&gt; R17,PORTH&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Sbr&lt;/span&gt; R17,1&lt;&lt;2;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Sts&lt;/span&gt; PORTH,R17&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Sei     &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Rcall&lt;/span&gt; SlepS&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Cli     &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Lds&lt;/span&gt; R17,PORTH&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Cbr&lt;/span&gt; R17,1&lt;&lt;2 ;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Sts&lt;/span&gt; PORTH,R17&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Sei&lt;/span&gt;     ;&lt;span style="color: rgb(51, 102, 255);"&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;If is used (&lt;/span&gt; &lt;/span&gt;Jmp CloseProgram&lt;span style="color: rgb(51, 51, 255);"&gt; &lt;span style="color: rgb(51, 51, 255);"&gt;) this thread is closed&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt; ( killed )&lt;/span&gt;&lt;br /&gt;Program1Startup___:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Call&lt;/span&gt; IntrerupereThreadLaCerere;&lt;span style="color: rgb(51, 51, 255);"&gt;Here is interrupt request from the thread, because this thread no longer needs processing power&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Rjmp&lt;/span&gt; Program1Startup___;&lt;span style="color: rgb(51, 51, 255);"&gt;After the kernel restore this thread go again to interrupt request&lt;/span&gt;&lt;br /&gt;EndProgram1:&lt;br /&gt;&lt;span style="color: rgb(255, 255, 0);"&gt;_____________________________________________________________&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For read and write to ram memory with errors capture use these sequences:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Rcall&lt;/span&gt; GetRamAdressForCurentThreadInZ;&lt;span style="color: rgb(51, 51, 255);"&gt;Read file adress ( here is the head of ram file assigned to this thread )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Ldi&lt;/span&gt; Xl,Low( Offset in file )&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Ldi &lt;/span&gt;Xh,High( Offset in file );&lt;span style="color: rgb(51, 51, 255);"&gt;In X is offset of byte in file&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Ldi &lt;/span&gt;R16,'A';&lt;span style="color: rgb(51, 51, 255);"&gt;In R16 is byte to write&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Call &lt;/span&gt;WriteToVirtualRamFile&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Rjmp &lt;/span&gt;ErrorOutOfVirtualMemory;&lt;span style="color: rgb(204, 0, 0);"&gt;This routine is return here if is a out of file error&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;this jump es used by user to capture this error&lt;/span&gt;&lt;br /&gt;;&lt;span style="color: rgb(255, 0, 0);"&gt;Or here if no error encountred&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Call &lt;/span&gt;ReadFromVirtualRamFile;&lt;span style="color: rgb(51, 51, 255);"&gt; In R16 is byte result&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Rjmp &lt;/span&gt;ErrorOutOfVirtualMemory;&lt;span style="color: rgb(204, 0, 0);"&gt;This routine is return here if is a out of file error&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;this jump es used by user to capture this error&lt;/span&gt;&lt;br /&gt;;&lt;span style="color: rgb(255, 0, 0);"&gt;Or here if no error encountred&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 0);"&gt;_____________________________________________________________&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For read and write to ram memory with no errors capture use these sequences:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Rcall &lt;/span&gt;GetRamAdressForCurentThreadInZ;&lt;span style="color: rgb(51, 51, 255);"&gt;Read file adress ( here is the head of ram file assigned to this thread )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Ldi &lt;/span&gt;Xl,Low( Offset in file )&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Ldi &lt;/span&gt;Xh,High( Offset in file );&lt;span style="color: rgb(51, 51, 255);"&gt;In X is offset of byte in file&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Ldi &lt;/span&gt;R16,'A';&lt;span style="color: rgb(51, 51, 255);"&gt;In R16 is byte to write&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Call &lt;/span&gt;WriteToVirtualRamFile&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Nop&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Call &lt;/span&gt;ReadFromVirtualRamFile;&lt;span style="color: rgb(51, 51, 255);"&gt; In R16 is byte result&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Nop&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 0);"&gt;_____________________________________________________________&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For read and write to ram memory with errors capture and autoextend ram memory space if is detected an out of file error use these sequences:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Rcall &lt;/span&gt;GetRamAdressForCurentThreadInZ;&lt;span style="color: rgb(51, 51, 255);"&gt;Read file adress ( here is the head of ram file assigned to this thread )&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Ldi &lt;/span&gt;Xl,Low( Offset in file )&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Ldi &lt;/span&gt;Xh,High( Offset in file );&lt;span style="color: rgb(51, 51, 255);"&gt;In X is offset of byte in file&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Ldi &lt;/span&gt;R16,'A';&lt;span style="color: rgb(51, 51, 255);"&gt;In R16 is byte to write&lt;/span&gt;&lt;br /&gt;ReturnFromExtendFile:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Call &lt;/span&gt;WriteToVirtualRamFile&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Rjmp &lt;/span&gt;ErrorOutOfVirtualMemoryExtendFile;&lt;span style="color: rgb(204, 0, 0);"&gt;This routine is return here if is a out of file error&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;this jump es used by user to capture this error&lt;/span&gt;&lt;br /&gt;;&lt;span style="color: rgb(255, 0, 0);"&gt;Or here if no error encountred&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Call &lt;/span&gt;ReadFromVirtualRamFile;&lt;span style="color: rgb(51, 51, 255);"&gt; In R16 is byte result&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Nop&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 0);"&gt;---------------------------------------------------------------------------------------&lt;/span&gt;&lt;br /&gt;ErrorOutOfVirtualMemoryExtendFile:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Rcall &lt;/span&gt;ModifyVirtualRamFileDimension&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Rjmp &lt;/span&gt;ReturnFromExtendFile&lt;br /&gt;&lt;span style="color: rgb(255, 255, 0);"&gt;_____________________________________________________________&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-8789424827949279918?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/8789424827949279918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=8789424827949279918' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/8789424827949279918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/8789424827949279918'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/kernel-v03-for-atmega-microcontrollers.html' title='Kernel V0.3 for atmega microcontrollers'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1930368717405026694.post-4745051585905793771</id><published>2008-10-04T12:21:00.006+03:00</published><updated>2008-11-12T14:36:42.873+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ATmega'/><category scheme='http://www.blogger.com/atom/ns#' term='Kernel'/><category scheme='http://www.blogger.com/atom/ns#' term='ATmega64'/><title type='text'>Kernel V0.2 for atmega microcontrollers</title><content type='html'>This project is a kernel initially made for ATmega 64.&lt;br /&gt;&lt;br /&gt;Description:&lt;br /&gt;- This kernel was designed to use all the processing power of an microcontroller, in the case when on a device are used more microcontrollers each one with different functions and they (microcontrollers) don't work at maximum capacity, and it can facilitate tremendously the job of an programator who wants to implement more functions in only one microcontroller.&lt;br /&gt;&lt;br /&gt;- On this kernel, more programs totally independently can work simultaneously (in the same time), the only thing that is affect is the processing power on each one.&lt;br /&gt;&lt;br /&gt;- This programs can communicate between them using the unic number id ( Integer 2Bytes ) of the program and/or the address of program in Flash obtained from one ping to the name of program for idle-section of program, so if we update a program or a driver, it will replace the old one with the new one without actualizing the remaining programs (the programs who were not updated) to the new address of the new program, the address of new program is declared in the installed programs table.&lt;br /&gt;&lt;br /&gt;- When a program starts to run the kernel reads from the program haw much memory ram to give him, the kernel assigns to the program the memory ram demanded rounded of form 64 in 64 Bytes (if a program needs 0 (zero) memory ram the kernel will not assign ram memory to that program; if a program needs 1-64 Bytes memory ram the kernel will assign 64 Bytes ram memory to that program; if a program needs 65-128 Bytes memory ram the kernel will assign 128 Bytes ram memory to that program) but when the program is running it can change the dimension of the memory ram assigned, according to the memory ram he needs, by "handing in an application" to the kernel demanding a change of memory ram assigned.&lt;br /&gt;&lt;br /&gt;- If a program requests to the kernel to open a program the kernel can open it, the kernel is checking if that program is already open, if that program is open, the kernel reads if that program can be open again, if it can be open again it will be open like a new thread independently from the previous and it will give a order number (the first open program will have the number of order 0 (zero), the second program open will have the number of order 1 etc.) this value it will be return to the program who requested the open to the program to make the difference between the open threads with the same ID. If the requested program can't be open many times, the program who demanded the open of the program will receive an error the program can't be open because is already open. (This function is incomplete implemented.)&lt;br /&gt;&lt;br /&gt;- At the end of a program, the kernel is taking care of deleting the cluster of memory ram occupied by the program (the memory ram that this program occupied can be used by future open program) and immediately the kernel will compact the table in which are kept the principals dates of each open program.&lt;br /&gt;&lt;br /&gt;- A program can be force closed by the kernel if there is an stack overflow error, the program can request the kernel to be closed or the kernel receive the close command from another program, and the program who will be closed can save the working dates and after that sending the close command to the kernel.&lt;br /&gt;&lt;br /&gt;- The open programs divide the processing power equally, but there is the case when a program is in idle, in this case the program will sent to the kernel a interrupt command, the processing power remain between the time when the demand of interrupt and the time of interrupt is equally divided to the running programs.&lt;br /&gt;&lt;br /&gt;- For each program the kernel assigns an cluster of memory ram of 64 octets because when the program is interrupted the kernel to save 32 registry, stank counter and 29 Bytes from the stank occupied by the program, before returning in the interrupted program the kernel will restore the contents of 32 registry ,the stank and counter of the stank and the stank.&lt;br /&gt;&lt;br /&gt;- The memory ram for each program begins from an virtual address 0 (zero) in the registry Z where is the address of the head cluster of the memory ram assigned, if a program wants to find out the address of the head cluster memory ram assigned it can appeal a routine from the kernel to give him the address (in this way, using an artifice we can use the direct address knowing that the cluster memory ram used starts at the head address +2).&lt;br /&gt;&lt;br /&gt;- System Timers: They were integrated to can make data processing and to an exact time and for software pause in lock delays, system timer have 128 steps/sec, so we can create software with the exact time of the external Quartz of 32768Hz&lt;br /&gt;&lt;br /&gt;This kernel can be adapted on any microcontroller ATmega with the some little modifications.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1930368717405026694-4745051585905793771?l=digitalelectronicsandprograming.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digitalelectronicsandprograming.blogspot.com/feeds/4745051585905793771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1930368717405026694&amp;postID=4745051585905793771' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/4745051585905793771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1930368717405026694/posts/default/4745051585905793771'/><link rel='alternate' type='text/html' href='http://digitalelectronicsandprograming.blogspot.com/2008/10/kernel-v02-for-atmega-microcontrollers.html' title='Kernel V0.2 for atmega microcontrollers'/><author><name>Morgoth</name><uri>http://www.blogger.com/profile/18248178114743300608</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_ZlBzpWAhs1E/SOc63oC48VI/AAAAAAAAAAM/sRL4tAb11L8/S220/artificial_intelligence.jpg'/></author><thr:total>0</thr:total></entry></feed>
