<?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-4651376689756306961</id><updated>2012-02-16T07:18:05.062-08:00</updated><title type='text'>My Golden Fleece</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>37</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-3974266915159521668</id><published>2011-06-26T08:59:00.000-07:00</published><updated>2011-06-26T08:59:48.600-07:00</updated><title type='text'>Bought my guitar!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="text-align: justify;"&gt;Back again after a long time. &amp;nbsp;I just bought &amp;nbsp;a Takamine EG440C electro-acoustic guitar. &amp;nbsp;From my first trial it is definitely a great guitar. &amp;nbsp;But I just realized that I forgot most of the guitar part that I learnt long ago. &amp;nbsp;I am yet to inform my parents about my guitar. &amp;nbsp;I wanted to keep it a surprise for them when they come here down to Singapore for my graduation ceremony next month. &amp;nbsp;And more about the guitar, its a NEX cutaway black guitar. &amp;nbsp;I specifically preferred my guitar to be in black. &amp;nbsp;It has TP-4T electronics, the inbuilt tuner is mostly accurate and will really be helpful if you are new to guitar. &amp;nbsp;Its sounded really great when connected to amp. &amp;nbsp;But I do not have an amp, the opinion comes just out of my few minutes testing in the shop. &amp;nbsp;And lastly it costs SGD 425, I got mine from Davis Guitar. &amp;nbsp;If you are new to guitar, you do not need to worry, the staff in Davis guitar are very helpful. &amp;nbsp;They will definitely help you choose a guitar that you'll like. &amp;nbsp;If you wanna try out lots of song, just go to ultimate-guitar.com and get the tabs. &amp;nbsp;They have tabs for everything. &amp;nbsp;I use TUX guitar (a open source guitar tab reader) and mostly download guitar pro or some other version of guitar tabs. &amp;nbsp;As for what I have seen TUX guitar is able to open most of the formats.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Enjoy playing guitar! but sometimes it really tests my patience. &amp;nbsp;:) &amp;nbsp;Anyway that is what guitar is all about!!!&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/4651376689756306961-3974266915159521668?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/3974266915159521668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=3974266915159521668' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/3974266915159521668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/3974266915159521668'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2011/06/bought-my-guitar.html' title='Bought my guitar!'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-6099442537727466494</id><published>2011-04-17T08:37:00.000-07:00</published><updated>2011-04-17T08:38:42.147-07:00</updated><title type='text'>One cup rice, and a plate full of chicken!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="text-align: justify;"&gt;Today after church I rushed back home to go to my friends house for lunch. &amp;nbsp;Its a post engagement function. &amp;nbsp;Anyway, I have never had such a lunch in Singapore before. &amp;nbsp;Its night 11:30 now and I still taste of the chicken is in my mouth, it was finger licking good! unfortunately it will not be decent to do that in crowd... :P Woah what a lunch, I just started off with a two fried leg pieces, some chicken poriyal, few pieces of curry chicken, an egg, and quite a few pieces thrown around in the chicken biriyani itself. &amp;nbsp;At a point of time I felt that I am eating rice as side dish for rice. &amp;nbsp;My plate was full of chicken.... Out of greed I went for more chicken, two more fried leg pieces, some curry chicken and chicken poriyal all over again... with a plate full of rice this time. &amp;nbsp;Only after completing it I realized I have eaten too much more than what my body can take. &amp;nbsp;My entire body started to pain, and stomach don't need to ask... I wobbled back home, and lay down to take rest. &amp;nbsp;When I got up in the evening I really felt like my several months workout has just gone waste in one day.... &amp;nbsp;:) anyway its just one day.. &amp;nbsp;doesn't matter. &amp;nbsp;I may not get this another day....hahah &amp;nbsp; Thanks to my friend...! :)&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/4651376689756306961-6099442537727466494?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/6099442537727466494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=6099442537727466494' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/6099442537727466494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/6099442537727466494'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2011/04/one-cup-rice-and-plate-full-of-chicken.html' title='One cup rice, and a plate full of chicken!'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-1486970341322682132</id><published>2011-04-03T09:18:00.000-07:00</published><updated>2011-04-03T09:18:30.343-07:00</updated><title type='text'>India won the world cup..!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="text-align: justify;"&gt;World knows India won world cup. &amp;nbsp;ok, I am not a great fan of cricket, but when I heard that India lifted the world cup after 28 years, an&amp;nbsp;unprecedented&amp;nbsp;happiness, kind of wow feeling, and you know the happiness in sharing the greatness of our country to other country men. &amp;nbsp;I experienced it today... I shared about the fantastic game India played against all the biggies to finally lift the cup, to all my friends here. &amp;nbsp;Well done Dhoni and men.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="z19Dle" id="col-z13pjzs4rpuys1oiy04cjd1xbof1inth3jc"&gt;&lt;span class="zo"&gt;"As  I always say it's not about the result, you can't control the result.  What you can control is how you are preparing, and if you are preparing  well and if it's your day, you can get big runs and make your team win.  No point thinking about what milestone you are supposed to achieve," &lt;br /&gt;-- Dhoni.&lt;/span&gt;&lt;/span&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/4651376689756306961-1486970341322682132?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/1486970341322682132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=1486970341322682132' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/1486970341322682132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/1486970341322682132'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2011/04/india-won-world-cup.html' title='India won the world cup..!'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-191921345206716198</id><published>2011-03-31T08:20:00.000-07:00</published><updated>2011-03-31T08:20:22.712-07:00</updated><title type='text'>Are we living the google way..!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="text-align: justify;"&gt;This is something that provoked me to write this blog. &amp;nbsp;Today I was in office working on some crazy issue, when I got a text&amp;nbsp;message&amp;nbsp;saying one of my friend is not feeling well. &amp;nbsp;My immediate action was to open Firefox, goto google.com and search for get well messages. &amp;nbsp;After a moment I thought, What am I doing? can I not even think of a get well &amp;nbsp;message, should I google even for that... that was the most dumbest thing to do. &amp;nbsp;I do not know if I've become so lazy, or I am over using google. &amp;nbsp;I am not a luddite. &amp;nbsp;But the problem here is we are influenced so much that we forget even the word search and often mention "google for it", we fail to think even for some basic stuff, even if we burp and yawn we tweet, we slip and google "why did I fall", using GPS even to locate where we are now rather than asking the guy standing next to us, do all the above and finally realize something's wrong and write a blog about it... :P &amp;nbsp;My point is use technology as much as you want. &amp;nbsp;But remember to limit it to an extent where you feel it will interfere in your thinking process, or your day-to-day living. &amp;nbsp;To limit it, first we need to think before using it and know where and when to use it. &amp;nbsp;:)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Let's make this world a global village..!&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/4651376689756306961-191921345206716198?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/191921345206716198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=191921345206716198' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/191921345206716198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/191921345206716198'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2011/03/are-we-living-google-way.html' title='Are we living the google way..!'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-1542102752573866136</id><published>2011-02-17T07:10:00.000-08:00</published><updated>2011-02-17T07:11:21.486-08:00</updated><title type='text'>The 10,000 hour rule..!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="text-align: justify;"&gt;I used to travel around 2 hours a day in train and bus combined to and from my office. &amp;nbsp;For long I was thinking about doing something useful in this time. &amp;nbsp;So I thought I could read some books rather than sleeping or bird watching... &amp;nbsp;heehe. &amp;nbsp;I was wandering around in Jurong point that weekend, when i accidentally bumped into Harris. &amp;nbsp;As I was going through the books in promotion I came across "Outliers". &amp;nbsp;I remember this title was first mentioned in one of the sermons by Pst. Kong Hee and decided to give it a try. &amp;nbsp;Started with the first page on Monday morning, when I came back home that evening I completed almost 100 pages. &amp;nbsp;Wow, Outliers was really impressive. &amp;nbsp;Malcolm Gladwell has done a lot of research to come up with the book and moreover it was articulated very well. &amp;nbsp;It was one of the finest books I read. &amp;nbsp;Following this I read, "The Tipping point", it was not that great, "The leader who had no title" was a good book, and now reading "How the mighty fall". &amp;nbsp;"Out of the Harbour" in the queue. &amp;nbsp;Only "How the mighty fall" was comparable to "Outliers". &amp;nbsp;Jim Collins has done an excellent job in "How the mighty fall". &amp;nbsp;The best thing about Outliers is the examples for the 10,000 hours rule he has given. &amp;nbsp;The basic thing is, anyone to become to become world famous for something he should have done &amp;nbsp;it 10,000 hours. &amp;nbsp;The examples range from &amp;nbsp;Bill gates, Bill joy, The Beatles and the best examples I like is Mozart. &amp;nbsp;Usually, when we talk about Mozart everyone will say that he was a prodigy. &amp;nbsp;But Malcolm Gladwell in his research has proved that though Mozart began composing in the age of 6 when he became world famous he was in his early twenties, and by that time he already had 10,000 hours of exp in composing. &amp;nbsp;The stats are really impressive. &amp;nbsp;I'm sure you'll like it. &amp;nbsp;Will write about "How the might fall" when I complete it.&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/4651376689756306961-1542102752573866136?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/1542102752573866136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=1542102752573866136' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/1542102752573866136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/1542102752573866136'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2011/02/outliers.html' title='The 10,000 hour rule..!'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-7583058786274903728</id><published>2011-02-16T18:36:00.000-08:00</published><updated>2011-02-16T18:41:47.145-08:00</updated><title type='text'>Ubuntu 9.10 problem in Grub</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Hi all, I updated to Ubuntu 9.10 yesterday, Ubuntu has something thats little annoying when we upgrade the kernel. &amp;nbsp;It saves all the kernel, filesystem and other components as .old and then downloads the new kernel without deleting it when we restart the system. &amp;nbsp;We have to remove it manually. &amp;nbsp;And also I wanted to change my default OS to windows. &amp;nbsp;I searched for /boot/Grub/menu.lst. &amp;nbsp;To my surprise I couldn't find it. &amp;nbsp;I still did not find out how Grub works now. &amp;nbsp;But thought of writing down, how I managed to do what I needed.&lt;br /&gt;&lt;br /&gt;1. To change default OS, I used startup manager.&lt;br /&gt;2. This will not be available as default.&lt;br /&gt;3. To install this type in this command:&lt;br /&gt;sudo apt-get install startupmanager&lt;br /&gt;4. It will download and install.&lt;br /&gt;5. After that goto system-&amp;gt;Administration-&amp;gt;startup manager&lt;br /&gt;6. Change the default OS there. &amp;nbsp;you can also change the timeout of Grub, resolution and a couple of other things.&lt;br /&gt;7. And yeah its done.&lt;br /&gt;&lt;br /&gt;For the second thing: just go to /boot folder and you will find the components of the old kernel. &amp;nbsp;For example if your old kernel is 2.6.33.19 and youe new kernel is 2.6.33.22. &amp;nbsp;You will have two sets of components with these two extensions. &amp;nbsp;Just delete all the components with the numbering 2.6.33.19. &amp;nbsp;Be very careful when doing this. &amp;nbsp;Do not delete the working kernel. &amp;nbsp;If you do not know don't do it. &amp;nbsp;Here are the steps to do it.&lt;br /&gt;&lt;br /&gt;1. Sudo -s &amp;nbsp; --- to login as root, give your password when it asks.&lt;br /&gt;2. cd /boot&lt;br /&gt;3. rm&amp;nbsp;Component_to_be_deleted_1&amp;nbsp;Component_to_be_deleted_2&lt;br /&gt;or&lt;br /&gt;3. rm *2.6.33.19* -- be careful while using this command and your extensions. &amp;nbsp;I will suggest to use this only if you are experienced with the rm command. &amp;nbsp;Since you are in root, you will not be prompted while deleting if you are not using the interactive option of rm. &amp;nbsp;So once deleted we cannot bring it back.&lt;br /&gt;4. Once this step is over its done. &amp;nbsp;Now when you restart you will not see your old kernel. &amp;nbsp;Only the new updated kernel will be available.&lt;br /&gt;&lt;br /&gt;Enjoy using Ubuntu.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4651376689756306961-7583058786274903728?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/7583058786274903728/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=7583058786274903728' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/7583058786274903728'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/7583058786274903728'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2011/02/ubuntu-910-problem-in-grub.html' title='Ubuntu 9.10 problem in Grub'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-56436121060874327</id><published>2011-02-16T18:10:00.000-08:00</published><updated>2011-02-16T18:10:50.149-08:00</updated><title type='text'>Lotus notes - the worst mail client</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="text-align: justify;"&gt;Hey, I was very frustrated when I wrote this blog. &amp;nbsp;We use lotus notes in office as mail client. &amp;nbsp;The software is a piece of crap. &amp;nbsp;It takes 5 minutes to load completely on a quadcore machine, and most of the times end up failing to load the mails. &amp;nbsp;I think IBM should get down and do something about it or stop promoting this product. &amp;nbsp;It has so many unnecessary features, but cannot do the basic job of loading mails properly, showing notification in the systems tool bar when a new mail is received and alarms for meeting. &amp;nbsp;Everything has to be done with so much pains and difficulty. &amp;nbsp;And crap mail client will do these basic functionalities properly. &amp;nbsp;To make matters worst it hangs every other application that is opened. &amp;nbsp;I think IBM should take this seriously and get it done properly. &amp;nbsp;Else I'll say IBM is staking it reputation on a piece of crappy software.&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/4651376689756306961-56436121060874327?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/56436121060874327/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=56436121060874327' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/56436121060874327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/56436121060874327'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2011/02/lotus-notes-worst-mail-client.html' title='Lotus notes - the worst mail client'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-7182975173680127119</id><published>2011-02-13T08:09:00.000-08:00</published><updated>2011-02-13T08:09:49.043-08:00</updated><title type='text'>Explanation for a driver..!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="text-align: justify;"&gt;Hey I am back. &amp;nbsp;Don't assume from the title that I am going to talk about bus or cab drivers. &amp;nbsp;Its about device drivers. &amp;nbsp;It was few days back, we found a problem in our code. &amp;nbsp;The logical layer was giving a wrong call to the physical layer (device driver). &amp;nbsp;Since I wrote the driver layer, I was a bit annoyed. &amp;nbsp;After working on it for very around 4 hours, it came to my mind: Why not make the layer a bit intelligent to know call its answering. &amp;nbsp;Since I am not the sole owner of the module, I've got to discuss it with the other mate to come to the conclusion. &amp;nbsp;I went to him and proposed the solution. &amp;nbsp;He gave me a simple reply. &amp;nbsp;Suppose someone is knocking my door, I will of course open the door and say hello. &amp;nbsp;If the person knocking is an bad guy, he will give me a blow. &amp;nbsp;By then damage is already is done. &amp;nbsp;I stood there for a while wondering what he is talking about. &amp;nbsp;I was like: dude what am I talking about and what reply is this? &amp;nbsp;but he continued, this is what happens to software. &amp;nbsp;Driver is passive, if someone knocks it will say hello. &amp;nbsp;If its a wrong call driver can to absolutely nothing about it. &amp;nbsp;The software has already failed. &amp;nbsp;Which means the logical layer should be more intelligent enough to handle wrong calls. &amp;nbsp;Good analogy, isn't it... &amp;nbsp;:P &amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Oh, I know its doesn't make anyone laugh. &amp;nbsp;But its actually the timing of his reply that made me laugh. &amp;nbsp;I was certainly in deep thoughts how to make it work. &amp;nbsp;A sudden deep analogy like this provoked me to laugh. &amp;nbsp;I think the reader should be in the situation to actually appreciate the analogy and my reason for laughter.&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/4651376689756306961-7182975173680127119?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/7182975173680127119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=7182975173680127119' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/7182975173680127119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/7182975173680127119'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2011/02/explanation-for-driver.html' title='Explanation for a driver..!'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-3029257445093918868</id><published>2011-02-12T08:56:00.000-08:00</published><updated>2011-02-12T08:56:59.752-08:00</updated><title type='text'>Meeting the author..!</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div style="text-align: justify;"&gt;I forgot to share about the day I went to "Doulos", a&amp;nbsp;Greek&amp;nbsp;name that roughly translates to "Servant" in&amp;nbsp;English. &amp;nbsp;My friend Zorigt (Ex-Douloite) has often told me stories about how a 94 year old ship survives in vast oceans. &amp;nbsp;Ok now don't think I am little dumb, not to understand how big the ocean is. &amp;nbsp;But for a guy who has never sailed before on open ocean but has just seen huge ships, its little difficult to surmise that haunting vastness and endlessness from what I have seen. &amp;nbsp;I was thinking like such a big ship what so exciting about surviving in waters. &amp;nbsp;But it has never stroke my mind how even a mighty ship is just a speck in the vastness of the oceans. &amp;nbsp;One day he showed me videos of Doulos in rough sea, the big waves throwing her up and down. &amp;nbsp;Man I had butterflies in my stomach. &amp;nbsp;This is madness. &amp;nbsp;Why would anyone leave their home and and do things like this to make life miserable. &amp;nbsp;Though I had thought about this question before, I never had a concrete answer. &amp;nbsp;You know, this world with a population of 6.7 billion whatever we do, or however great we are, not many will know our names. &amp;nbsp;We are still one among the 6.7 billion. &amp;nbsp;There are many in this world to say most of them will not know even Einstein and Thomas Edison. &amp;nbsp;These are people who changed the way we live now. &amp;nbsp;What have we done to stay in peoples heart. &amp;nbsp;Nothing. &amp;nbsp;So whatever we do no one is going to remember us. &amp;nbsp;At the most they will keep a statue at one end of the world, still the other end will never even know there is a statue existing in some part of the earth symbolizing the work what we did in Earth. &amp;nbsp;So then whats the point spending so many days working hard and earning and toiling, getting PhD's and doing research work here in earth. &amp;nbsp;There is no point. &amp;nbsp;Actually I was stuck here. &amp;nbsp;As I am writing this I remember my roommate back in Cochin (Name not published due to copyright issues, he will kick me if I give it here) and I had a argument over this issue long back. &amp;nbsp;He once asked me what would you want the most. &amp;nbsp;Everyone should remember me. &amp;nbsp;He told me this long back "Dude, whatever we do no one will remember us, our names will erode away in the fast moving world". &amp;nbsp;So finally the point is I still don't have large part of the answer for this question. &amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I met few people today who had asked this question and found an answer for themselves. &amp;nbsp;The Ex-Douloites. &amp;nbsp;There is absolutely no necessary to come to ship and make their lives miserable. &amp;nbsp;But they do this for people. &amp;nbsp;For people who lack on knowledge not because they cannot learn, but because their situation do not allow them, for people who lack hope, for people who need help, who needs someone to support them. &amp;nbsp;To bring knowledge, hope and help. &amp;nbsp;I found them very happy, very fulfilled with what they are doing. &amp;nbsp;And for the first time I saw one such person who has pen down all her thoughts, emotions and happenings in the ship "Doulos". &amp;nbsp;I attended the book release function of "Out of the Harbour". &amp;nbsp;Its about the authors decision to go on ship, and all about the ships mission written over a period of 6 years. Check this:&amp;nbsp;&lt;a href="http://www.outoftheharbour.com/"&gt;http://www.outoftheharbour.com/&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Oh I forgot to say about Doulos and her fame. &amp;nbsp;She was the oldest ocean-going ship in the world and has her name in&amp;nbsp;Guinness&amp;nbsp;book of records. &amp;nbsp;Built in the year 1914 just two years younger to the great "Titanic". &amp;nbsp;She is now anchored in S'pore. &amp;nbsp;I got the rare opportunity to visit her. &amp;nbsp;My heart felt thanks to Zorigt for that. &amp;nbsp;She is very old now. &amp;nbsp;She looks beautiful from outside, but little bit worn out from the inside. &amp;nbsp;And no occupants makes it very sad to see. &amp;nbsp;Was very touching to be aboard her who has served so many people around the globe. &amp;nbsp;I am sure Zorigt had a nostalgic moment during our visit to Doulos. &amp;nbsp;Below are pictures of Doulos. &amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;P S. To know more about Doulos you can check out this link&amp;nbsp;&lt;a href="http://www.ssmaritime.net/"&gt;http://www.ssmaritime.net/&lt;/a&gt;&amp;nbsp;"A ship like no other" written by Reubens Goosens, complete history of MV Doulos.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;To know about OM ships international and their work check out&amp;nbsp;&lt;a href="http://www.omships.org/"&gt;http://www.omships.org/&lt;/a&gt;. &amp;nbsp;As an info, Logos Hope of OM is still sailing, serving like Doulos did before.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;And BTW, I still don't have a concrete answer for my question. &amp;nbsp;:P&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;img src="http://www.teesships.freeuk.com/tsdoud10591.jpg" /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-_mKniCsFDFw/TVa1nCkqs9I/AAAAAAAAAC0/wGHKEPRwNoE/s1600/DSC_0800.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://4.bp.blogspot.com/-_mKniCsFDFw/TVa1nCkqs9I/AAAAAAAAAC0/wGHKEPRwNoE/s320/DSC_0800.jpg" width="212" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&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/4651376689756306961-3029257445093918868?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/3029257445093918868/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=3029257445093918868' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/3029257445093918868'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/3029257445093918868'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2011/02/meeting-author.html' title='Meeting the author..!'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-_mKniCsFDFw/TVa1nCkqs9I/AAAAAAAAAC0/wGHKEPRwNoE/s72-c/DSC_0800.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-4609290254331079488</id><published>2010-12-07T07:11:00.000-08:00</published><updated>2010-12-07T07:11:48.114-08:00</updated><title type='text'>Back again with my latest FAD!!!</title><content type='html'>I think I forgot blogger for a while... &amp;nbsp;ok let me tell you the excitement that brought me in to write this blog. &amp;nbsp;Its India.... &amp;nbsp;:) &amp;nbsp;After spending painful 5 months I will be back in India for 10 days in the month of Dec to celebrate Christmas. &amp;nbsp;And almost after 3 months I visited NTU last weekend. &amp;nbsp;An exciting week. &amp;nbsp;Felt nostalgic, graduate hall,&amp;nbsp;, my room #B1-01,&amp;nbsp;can. 11 vida stall, the old Uncle there.... &amp;nbsp;:) &amp;nbsp;everything has become history now. &amp;nbsp;Its more that a year since I came to Singapore, feels like it was yesterday that I landed here.... Thanks to NTU for giving me this memorable and comfortable stay during my studies here in S'pore. &amp;nbsp;It really hurts when I think I may not pass that way again.... &amp;nbsp;its gone, its history... &amp;nbsp;but history can never be wiped out, it lingers for ever.... &amp;nbsp;:)&lt;br /&gt;&lt;br /&gt;Ok, I was about to press the publish button without telling my latest fad. &amp;nbsp;Its photography, I thought I should do something to cut-loose from the tight schedule now and then. &amp;nbsp;Music (especially guitar) has always done its part to keep me engaged during my leisure time. &amp;nbsp;But I included photography also to the list. &amp;nbsp;I feel its pretty interesting and exciting to bring out pictures as we see in posters and wallpapers.... &amp;nbsp;what if we are able to bring out images that we are able to use as our lappy's wallpaper. &amp;nbsp;That's exactly what I am trying to do. &amp;nbsp;Below are some of the image that I took.&lt;br /&gt;&lt;br /&gt;NOTE: None of the faces in the pictures are me. :)&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8y8jIhkzm20/TP5LigQN_fI/AAAAAAAAABo/0aEp8ym8w2w/s1600/DSC00379_ed.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/_8y8jIhkzm20/TP5LigQN_fI/AAAAAAAAABo/0aEp8ym8w2w/s320/DSC00379_ed.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8y8jIhkzm20/TP5Loe2j7-I/AAAAAAAAABs/-WxomMY4y7U/s1600/phot2_ed.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/_8y8jIhkzm20/TP5Loe2j7-I/AAAAAAAAABs/-WxomMY4y7U/s320/phot2_ed.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8y8jIhkzm20/TP5MCW7MlEI/AAAAAAAAABw/dxkLDhlnVCw/s1600/DSC00316_ed.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/_8y8jIhkzm20/TP5MCW7MlEI/AAAAAAAAABw/dxkLDhlnVCw/s320/DSC00316_ed.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8y8jIhkzm20/TP5MIfIG-GI/AAAAAAAAAB0/bHzkpXyuBIE/s1600/DSC00349.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://4.bp.blogspot.com/_8y8jIhkzm20/TP5MIfIG-GI/AAAAAAAAAB0/bHzkpXyuBIE/s320/DSC00349.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8y8jIhkzm20/TP5MKNGMD_I/AAAAAAAAAB4/nBnY5WhWNvU/s1600/DSC00375_ed.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/_8y8jIhkzm20/TP5MKNGMD_I/AAAAAAAAAB4/nBnY5WhWNvU/s320/DSC00375_ed.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8y8jIhkzm20/TP5MOCcaC3I/AAAAAAAAAB8/LXoMeiVad3E/s1600/DSC00376_ed.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/_8y8jIhkzm20/TP5MOCcaC3I/AAAAAAAAAB8/LXoMeiVad3E/s320/DSC00376_ed.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8y8jIhkzm20/TP5NTLI5gaI/AAAAAAAAACI/rSqR4djeaVs/s1600/DSC00459.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/_8y8jIhkzm20/TP5NTLI5gaI/AAAAAAAAACI/rSqR4djeaVs/s320/DSC00459.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_8y8jIhkzm20/TP5NW7WHFQI/AAAAAAAAACM/FFNHql6ns8k/s1600/DSC00493.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/_8y8jIhkzm20/TP5NW7WHFQI/AAAAAAAAACM/FFNHql6ns8k/s320/DSC00493.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8y8jIhkzm20/TP5NaLcGUBI/AAAAAAAAACQ/tjRa3KMP99s/s1600/DSC00531.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/_8y8jIhkzm20/TP5NaLcGUBI/AAAAAAAAACQ/tjRa3KMP99s/s320/DSC00531.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8y8jIhkzm20/TP5Nd-Mo7sI/AAAAAAAAACU/bSyhJtcSiGc/s1600/DSC00534.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://1.bp.blogspot.com/_8y8jIhkzm20/TP5Nd-Mo7sI/AAAAAAAAACU/bSyhJtcSiGc/s320/DSC00534.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8y8jIhkzm20/TP5NiguwytI/AAAAAAAAACY/TeqS5ektObE/s1600/DSC00555.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://4.bp.blogspot.com/_8y8jIhkzm20/TP5NiguwytI/AAAAAAAAACY/TeqS5ektObE/s320/DSC00555.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_8y8jIhkzm20/TP5NmE3JATI/AAAAAAAAACc/vLwGF3QMA7Y/s1600/DSC00558.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://1.bp.blogspot.com/_8y8jIhkzm20/TP5NmE3JATI/AAAAAAAAACc/vLwGF3QMA7Y/s320/DSC00558.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_8y8jIhkzm20/TP5NrjrBRYI/AAAAAAAAACg/iDfLciPHY4A/s1600/DSC00564.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="180" src="http://4.bp.blogspot.com/_8y8jIhkzm20/TP5NrjrBRYI/AAAAAAAAACg/iDfLciPHY4A/s320/DSC00564.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8y8jIhkzm20/TP5NtS5kbMI/AAAAAAAAACk/2C6HGz_QIYo/s1600/DSC00579_ed1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/_8y8jIhkzm20/TP5NtS5kbMI/AAAAAAAAACk/2C6HGz_QIYo/s320/DSC00579_ed1.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8y8jIhkzm20/TP5Nvmy1EFI/AAAAAAAAACo/TFKjg84HOdg/s1600/DSC00586+-+Copy.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/_8y8jIhkzm20/TP5Nvmy1EFI/AAAAAAAAACo/TFKjg84HOdg/s320/DSC00586+-+Copy.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_8y8jIhkzm20/TP5NMrze2aI/AAAAAAAAACA/ms15aCg-GyY/s1600/DSC00457_ed.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/_8y8jIhkzm20/TP5NMrze2aI/AAAAAAAAACA/ms15aCg-GyY/s320/DSC00457_ed.jpg" width="320" /&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/4651376689756306961-4609290254331079488?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/4609290254331079488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=4609290254331079488' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/4609290254331079488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/4609290254331079488'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2010/12/back-again-with-my-latest-fad.html' title='Back again with my latest FAD!!!'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_8y8jIhkzm20/TP5LigQN_fI/AAAAAAAAABo/0aEp8ym8w2w/s72-c/DSC00379_ed.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-3248774966534017909</id><published>2010-04-01T01:03:00.001-07:00</published><updated>2010-04-01T01:03:21.455-07:00</updated><title type='text'>Story of virtual Keyboard</title><content type='html'>&lt;p&gt;For the past few days my world is assessments and assessments alone.&amp;#160; I was struggling with the virtual keyboard display for entering text in the touch screen interface.&amp;#160; Today I surprising got everything working fine.&amp;#160; After wasting two day now moving on with other works in the&amp;#160; assessment. :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4651376689756306961-3248774966534017909?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/3248774966534017909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=3248774966534017909' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/3248774966534017909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/3248774966534017909'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2010/04/story-of-virtual-keyboard.html' title='Story of virtual Keyboard'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-4812906993917534733</id><published>2010-03-31T11:58:00.001-07:00</published><updated>2010-03-31T11:58:51.083-07:00</updated><title type='text'>My first blog from windows live writer</title><content type='html'>&lt;p&gt;Hi all, NTU did a favour by transferring our mail-ids to windows live id.&amp;#160; So I was trying out something when I was prompted to download this windows live feature, and I found this one interesting among those that were downloaded as part of that win live.&amp;#160; Hope it turns out to be good when published.&amp;#160; My first trial in writer. :)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4651376689756306961-4812906993917534733?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/4812906993917534733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=4812906993917534733' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/4812906993917534733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/4812906993917534733'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2010/03/my-first-blog-from-windows-live-writer.html' title='My first blog from windows live writer'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-5193702017352991207</id><published>2010-03-31T07:09:00.000-07:00</published><updated>2010-03-31T07:09:54.664-07:00</updated><title type='text'>Directed Reading completed..!</title><content type='html'>&lt;div style="text-align: justify;"&gt;Back after a long time. &amp;nbsp;Was totally tied up with loads of work. &amp;nbsp;Today I dropped my directed reading paper to the digital drop box, which means one subject is over for this semester. &amp;nbsp;Was really happy when my prof. nodded his head with yes, when I asked is it good enough for the final submission. &amp;nbsp;I will upload it online when the assessments are over. &amp;nbsp;It basically on scheduling algorithms for real-time systems, a survey and complete coverage of most of the famous scheduling algorithms being used in modern RTOS's which included many research based algos too. &amp;nbsp;One part where I was not satisfied was multiprocessor scheduling, here I was not able to collect much information and moreover I was not able to understand a few algorithms, many of which are still under&amp;nbsp;scrutiny&amp;nbsp;for performance though it came out long back. &amp;nbsp;Nothing much in the paper other than just a summarization of all these algorithms like RM, EDF, PIP, PCP, RM-PIP, DM, Round Robin, FIFO, multiprocessor RM, EDF, finally it touches the RTOS that use some of these algorithms. &amp;nbsp;QNX, LINUX device drivers and MIPS processor enhancement is still pending.... still tonnes of work to be done for this semester.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4651376689756306961-5193702017352991207?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/5193702017352991207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=5193702017352991207' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/5193702017352991207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/5193702017352991207'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2010/03/directed-reading-completed.html' title='Directed Reading completed..!'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-6484891915639239255</id><published>2010-02-26T21:03:00.000-08:00</published><updated>2010-02-26T21:12:01.824-08:00</updated><title type='text'>Stupid recruitment process in Indian public sectors</title><content type='html'>&lt;div style="text-align: justify;"&gt;Hi, back again after a long break. &amp;nbsp;If you do not know, let me tell you this first, its just a few month away for my final exams in masters. &amp;nbsp;I will be graduating in the month of July. &amp;nbsp;Few weeks back we had a career fair in NTU. I am sure it was just an eye wash. &amp;nbsp;I heard the main recruitment process will start somewhere in the month of May. &amp;nbsp;In the career fair I came across a lot of companies that were asking only for&amp;nbsp;Singaporeans&amp;nbsp;and PR. &amp;nbsp;Most of them that offered jobs, that I was interested in, were government sectors and&amp;nbsp;defense. &amp;nbsp;Yeah! I was pretty sure I will not be in there for security reasons. &amp;nbsp;That day I started browsing through Indian public sectors and&amp;nbsp;defense&amp;nbsp;companies. &amp;nbsp;I desperately wanted to do something in there for them. &amp;nbsp;To my surprise I saw none of the companies had direct recruitment. &amp;nbsp;They had exams,&amp;nbsp;syllabus&amp;nbsp;of which covered all the engineering subjects. &amp;nbsp;It was ridiculous. &amp;nbsp;I am doing my masters in Embedded Systems, and I am sure I can do some break through work for my country in the field I am working in, but I don't want to sit and study all those B. E stuff once again just for this exam sake. &amp;nbsp;And I feel its really stupid to take-in people like that, &amp;nbsp;if you give it a second thought, anyone who is crazy, and passionate about the work he is doing will he be ever interested in just licking around all the Engg. subjects just for the sake of these bloody exams. &amp;nbsp;If people want to master something, this means they are never willing to look back to other subject that they have left behind long back. &amp;nbsp;Why don't these public sectors and&amp;nbsp;defense&amp;nbsp;sectors of ours understand this. &amp;nbsp;I desperately wanted to do something for country and in the technology that I am working in. &amp;nbsp;Yeah! I know people will say its about salary that guys do not turn up to India after their MS. &amp;nbsp;But after contemplating for hours I understood who would ever come back to study all those thing that they left behind because they did not want to work on it again, and over all this there this funny thing called corruption in India. &amp;nbsp;I know guys who got into public sectors only through money. &amp;nbsp;You know what, I had a good job with a handsome package in India, the only reason for me to leave for MS was to do some niche work in the field that I am interested in, and I preferred to do that rather than licking around all subjects and be a jack of all trades,&amp;nbsp;&amp;nbsp;if it is for money I would have stayed there with parents, family and friends and enjoyed there rather than being here oceans away from them. &amp;nbsp;I believe we have to master something, something!!!! and try bring something to the table for humanity (I preferred my country men). &amp;nbsp;But what is the point, now I understand there is no point in scolding IITians for leaving the country with out any value-addition though they earn a lot for economy of the country via foreign ex. &amp;nbsp;These guys I am sure most of them will be geeks, they will have the passion for technology, they cannot tolerate working on other thing that does not interest them, and they cannot do what they want in India in this situation. &amp;nbsp;I believe one of the main reasons for development of the country depends on its investment on research. &amp;nbsp;We literally have nothing like that in public sectors and defence, everything is delayed, corrupted or overall collapse in plans. &amp;nbsp;Yeah this is what we get. &amp;nbsp;I am sure this will trigger things like what about coming back to India and starting a company of our own and all nonsense. &amp;nbsp;And please do not tell me get into private sector biggies... &amp;nbsp;I know that is always opened for us and they will be offering packages at no time reachable if u are in public sectors (except via corruption)....&amp;nbsp;Can a person not think of getting into some already available public resources and try doing something for the betterment of country like India, it has the potential but to a large extent left&amp;nbsp;non-utilized???&amp;nbsp;this is the question I have in mind.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4651376689756306961-6484891915639239255?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/6484891915639239255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=6484891915639239255' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/6484891915639239255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/6484891915639239255'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2010/02/stupid-recruitment-process-in-indian.html' title='Stupid recruitment process in Indian public sectors'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-6795050617316247284</id><published>2010-01-21T01:31:00.000-08:00</published><updated>2010-01-21T01:31:19.715-08:00</updated><title type='text'>Finally took ISM and dropped a subject..!</title><content type='html'>&lt;div style="text-align: justify;"&gt;Hmmm, yesterday was a great day. &amp;nbsp;The day when I decided to drop a subject and take an Independent Study Module (ISM). &amp;nbsp;In my department there in an option wherein I can drop a subject and take some topic as ISM under a professor's guidance and do a paper work on that. &amp;nbsp;Rather than studying things that I'm not interested in and then keep grunting for the entire semester, I thought of taking a topic that I am really interested in and do some research work on it. &amp;nbsp;It will be a good show-up to my resume too. &amp;nbsp;Generally guys tend to take a subject and finish it off somehow. &amp;nbsp;But problem is, subject that I was deeply interested in was considered trivial in my course, but I thought otherwise. &amp;nbsp;I always had a strong inclination to real-time systems. &amp;nbsp;I thought the strength of embedded systems is real-time systems. &amp;nbsp;So if I could ever claim that I am interested in something, I should have done some remarkable work or atleast something more on that than what others have done. &amp;nbsp;So I came to that decision. &amp;nbsp;I was petrified to take ISM first for the feedback that I got about ISM, but I felt the only way to ensure that I have done considerable work on this field is to do this. &amp;nbsp;So once and for all, good or bad, I have done it, I dropped one course that night and registered for ISM. &amp;nbsp;Tomorrow is my first meet with professor regarding ISM, hope everything goes on well and he accepts the title that I thought of proposing to him related to that. &amp;nbsp;Only God knows whether it is a good decision or not. &amp;nbsp;But what God has said is "As a man thinketh in his heart, so is he".......!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4651376689756306961-6795050617316247284?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/6795050617316247284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=6795050617316247284' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/6795050617316247284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/6795050617316247284'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2010/01/finally-took-ism-and-dropped-subject.html' title='Finally took ISM and dropped a subject..!'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-6235874722490392536</id><published>2010-01-12T00:02:00.000-08:00</published><updated>2010-01-12T00:02:52.289-08:00</updated><title type='text'>Back to reality</title><content type='html'>&lt;div style="text-align: justify;"&gt;After a sojourn of 15 days in home I had to start back to S'pore. &amp;nbsp;I forced myself reluctantly to do so for I had no option. &amp;nbsp;In my heart, I was really wanted somebody to tell me to stay back, but no one did.. :) &amp;nbsp;At the end it was my choice to do my higher studies in a foreign land and I cannot say no in-between... &amp;nbsp;I boarded rockfort (ppl travelling from try-chn often will know how famous this train is), and reached my sisters house. &amp;nbsp;The same day I met my uncle,&amp;nbsp;aunt and their children, had a nice time with them. &amp;nbsp;It was Thursday, the day that I was fearing should never come, for the past 15 days, I was getting ready to board my flight to Singapore. &amp;nbsp;I bid good bye to my dad, sister (She was there in airport despite her illness, loving and caring sis), bil and my mom (via mobile), and proceeded to the check-in counter. &amp;nbsp;Fortunately this time I got the emergency seat, so I had enough room for legs (ppl who have&amp;nbsp;traveled in Tiger airways will know how&amp;nbsp;crumpled&amp;nbsp;the seats are), easily one can get stranded between the seats, especially a big guy like me. &amp;nbsp;I heard the captain saying, welcome aboard the Tiger airways flight TR369 (Welcome aboard the black pearl -- Barbosa invites Ms. Swann in POC 1), I laughed to myself. &amp;nbsp;The next announcement I remember was we are ready to decent in the S'pore intl airport (Changi airport), I had just got up after a deep sleep. &amp;nbsp;After alighting the first work I did was to call my mom and inform her that I touched down in Singapore. &amp;nbsp;Then once again MRT, SMRT, NTU, etc.... &amp;nbsp;back again to the same life. &amp;nbsp;I miss home. :(&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Yesterday my mom called me, and she said in a sad low voice, I would really feel happy if you finish the course and come back to India to work. &amp;nbsp;You know, I said this and that to her, &amp;nbsp;loan, bond, and all, but deep down my heart I was happy, man I was damn happy to hear that from my mom, I was badly wanting for somebody to say these words. &amp;nbsp;Though nobody knows what tomorrows surprises may bring into my life, those words gave me comfort and joy in a world of loneliness, discouragement and constant dis-appointment.&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/4651376689756306961-6235874722490392536?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/6235874722490392536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=6235874722490392536' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/6235874722490392536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/6235874722490392536'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2010/01/back-to-reality.html' title='Back to reality'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-4293407424219036206</id><published>2010-01-11T23:33:00.001-08:00</published><updated>2010-01-11T23:33:36.447-08:00</updated><title type='text'>India again..!</title><content type='html'>&lt;div class="MsoNormal" style="text-align: justify;"&gt;Many days after my exams got over I was here in S’pore in the name of doing project work, often bidding good bye to my friends flying to India for vacation.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;And today it was my day.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Yes, I am flying to India to celebrate Christmas and New Year with mom, dad and sister (only if she travels down to Trichy)…. After almost 4 hours of flying I heard from the captain announcing the descent in Chennai airport.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;My heart was leaping with joy to see my dad, sister and brother-in-law (thereafter mentioned as “bil”) who were awaiting my arrival in airport.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;As I walked out after collecting my luggage I saw my bil’s hand waving out for me! I met them all and made our way to my sister’s house.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Wow, there I had a feast, I had chicken, goat and a few fishes killed and served for me….&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Hahahahha&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;Next day as per plan I came here to Trichy, the happiness and freedom I feel in Trichy I will never get anywhere else, wherever it may be.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;I reached early in the morning, hugged my mom, had tea and slept for atleast 10 hours that day.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;Then yummy mom food served hot and with love, affection and care of my mom.&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: Wingdings; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-char-type: symbol; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-symbol-font-family: Wingdings;"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings;"&gt;J&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;The funniest part is it took me 4 months to bring down my weight by 6 kgs and its just 10 days in home, I have added up 4 kgs…&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: Wingdings; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-char-type: symbol; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-symbol-font-family: Wingdings;"&gt;&lt;span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings;"&gt;J&lt;/span&gt;&lt;/span&gt; and 5 more days to go…&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;expecting 2 more to fill the gap…….. :)&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/4651376689756306961-4293407424219036206?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/4293407424219036206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=4293407424219036206' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/4293407424219036206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/4293407424219036206'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2010/01/india-again.html' title='India again..!'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-5484619400836072940</id><published>2009-12-16T22:12:00.000-08:00</published><updated>2009-12-16T22:12:16.369-08:00</updated><title type='text'>How I struggled with my Wi-Fi adapter (Intel (R) WiFi Link 5100 AGN)..!</title><content type='html'>&lt;div style="text-align: justify;"&gt;This was a peculiar problem I found in laptop. &amp;nbsp;LAN was working fine but when I enter into any place which is WiFi enabled, my laptop stops working. &amp;nbsp;The WiFi&amp;nbsp;adapter&amp;nbsp;gets disabled automatically. &amp;nbsp;Man I was struggling with it for many days... &amp;nbsp;to make things worse, when this happens even msword and acrobat reader wont open. &amp;nbsp;If I try to enable WiFi adapter windows was hanging. &amp;nbsp;Only way was to restart it and not to open my laptop in a place that is WiFi enabled. &amp;nbsp;But that does not serve the purpose of carrying a laptop that is &amp;nbsp;WiFi enabled. &amp;nbsp;So I started checking for solutions. &amp;nbsp;I took my laptop to a WiFi enabled place, made my windows crash, then restarted it. &amp;nbsp;In vista one amazing thing that I saw was when windows is not done a normal shut down, when it resumes it checks for the problem that led to an abrupt shutdown. &amp;nbsp;It was checking for solutions automatically online and came up with a pop-up that my WiFi driver is not up-to-date. &amp;nbsp;So it gave the update link from Intel's website and after installing the update everything was normal. &amp;nbsp;Now I am typing this from college library where the only source of internet is WiFi.... &amp;nbsp;:)&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;May be sometime later I will upload the driver with the WiFi adapter model (Intel(R) WiFi Link 5100 AGN) in some site, so that the users who have the same problem that I faced can find their solutions easily.&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/4651376689756306961-5484619400836072940?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/5484619400836072940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=5484619400836072940' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/5484619400836072940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/5484619400836072940'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2009/12/how-i-struggled-with-my-wi-fi-adapter.html' title='How I struggled with my Wi-Fi adapter (Intel (R) WiFi Link 5100 AGN)..!'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-6497413013960876178</id><published>2009-12-09T01:53:00.000-08:00</published><updated>2009-12-09T01:53:53.148-08:00</updated><title type='text'>Ask me how to make stupid decisions..!</title><content type='html'>&lt;div style="text-align: justify;"&gt;Project is a very important part of the masters in any college. &amp;nbsp;In my college it is like we have to select a project at the beginning of the course. &amp;nbsp;I know very well that I am interested in programming and software for embedded systems. &amp;nbsp;But when I selected my project the only thing that I had in mind was that I should complete my project within a year. &amp;nbsp;I forgot the fact that master's is for mastering a subject in which one is interested in, I forgot the fact that here it is not about how fast we finish off the course but it is about how much we learnt from the course. &amp;nbsp;I took a project which I thought I will complete it very fast, and which I did not have much idea about, I really appreciate the university for putting up such projects in the index which was not at all related to my course. &amp;nbsp;And now I am struggling to cope up with the needs of the project. &amp;nbsp;After so many bad decisions I landed up here in NTU and now once again a stupid decision. &amp;nbsp;Only God can save me..... &amp;nbsp; &amp;nbsp;:(&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/4651376689756306961-6497413013960876178?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/6497413013960876178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=6497413013960876178' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/6497413013960876178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/6497413013960876178'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2009/12/ask-me-how-to-make-stupid-decisions.html' title='Ask me how to make stupid decisions..!'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-4455790829078945229</id><published>2009-11-12T04:10:00.001-08:00</published><updated>2009-11-12T04:10:27.365-08:00</updated><title type='text'>Menu Driven program in 8051 (DS5000 microcontroller)</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;This is the menu driven code. &amp;nbsp;This has all the features integrated except the IDLE mode for SPI counter. &amp;nbsp;Those who want this code can make this enhancement and make it work.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;;----------------------------------------------------------------------&lt;/div&gt;&lt;div&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; m a i n &amp;nbsp; &amp;nbsp;p r o g r a m&lt;/div&gt;&lt;div&gt;; ----------------------------------------------------------------------&lt;/div&gt;&lt;div&gt;#include &lt;sfr51.inc&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;; 8051 SFR and ports are defined here&lt;/sfr51.inc&gt;&lt;/div&gt;&lt;div&gt;STACK &amp;nbsp; &amp;nbsp; &amp;nbsp; equ &amp;nbsp; &amp;nbsp; 40h &amp;nbsp; &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;; Stack pointer starting address(growing upward)&lt;/div&gt;&lt;div&gt;TAR &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; equ &amp;nbsp; &amp;nbsp; 0c7h &amp;nbsp; &amp;nbsp; &amp;nbsp;; Time access register&amp;nbsp;&lt;/div&gt;&lt;div&gt;ENABLE &amp;nbsp; &amp;nbsp; &amp;nbsp;bit &amp;nbsp; &amp;nbsp; P2.0 &amp;nbsp; &amp;nbsp;; Taking port 2.1 in enable&lt;/div&gt;&lt;div&gt;DATAIN &amp;nbsp; &amp;nbsp; &amp;nbsp;bit &amp;nbsp; &amp;nbsp; P2.2 &amp;nbsp; &amp;nbsp;; Taking port 2.3 in data&lt;/div&gt;&lt;div&gt;CLK &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bit &amp;nbsp; &amp;nbsp; P2.1 &amp;nbsp; &amp;nbsp;; Taking port 2.2 in clock&lt;/div&gt;&lt;div&gt;PB_INT0 &amp;nbsp; &amp;nbsp; bit &amp;nbsp; &amp;nbsp; P3.2 &amp;nbsp; &amp;nbsp;; push button port&lt;/div&gt;&lt;div&gt;LED_GREEN &amp;nbsp; bit &amp;nbsp; &amp;nbsp; P1.0&lt;/div&gt;&lt;div&gt;LED_RED &amp;nbsp; &amp;nbsp; bit &amp;nbsp; &amp;nbsp; P1.1&lt;/div&gt;&lt;div&gt;UP_DWN_SW &amp;nbsp; bit &amp;nbsp; &amp;nbsp; P3.4&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;bseg&lt;/div&gt;&lt;div&gt;data_txn: &amp;nbsp; &amp;nbsp;dbit &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; ; This is to check whether one second is reached&lt;/div&gt;&lt;div&gt;dwn_counter: dbit &amp;nbsp; &amp;nbsp;1&lt;/div&gt;&lt;div&gt;one_sec: &amp;nbsp; &amp;nbsp; dbit &amp;nbsp; &amp;nbsp;1&lt;/div&gt;&lt;div&gt;led_blink_flag: dbit &amp;nbsp; 1&lt;/div&gt;&lt;div&gt;ext_intr1_flag: &amp;nbsp;dbit &amp;nbsp;1&lt;/div&gt;&lt;div&gt;but_up_dwn_mode: &amp;nbsp; &amp;nbsp;dbit &amp;nbsp; &amp;nbsp;1&lt;/div&gt;&lt;div&gt;cont_up_dwn_mode: &amp;nbsp; dbit &amp;nbsp; &amp;nbsp;1&lt;/div&gt;&lt;div&gt;one_time_disp_flag: &amp;nbsp;dbit &amp;nbsp; 1&lt;/div&gt;&lt;div&gt;dwn_ctr_flag: &amp;nbsp; dbit &amp;nbsp; &amp;nbsp;1&lt;/div&gt;&lt;div&gt;up_ctr_flag: &amp;nbsp; &amp;nbsp;dbit &amp;nbsp; &amp;nbsp;1&lt;/div&gt;&lt;div&gt;from_rst_on: &amp;nbsp; &amp;nbsp;dbit &amp;nbsp; &amp;nbsp;1&lt;/div&gt;&lt;div&gt;end&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;dseg at 30h &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SAVESP: &amp;nbsp; &amp;nbsp; ds &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; non-volatile byte for saving stack pointer&amp;nbsp;&lt;/div&gt;&lt;div&gt;end &amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;iseg at 60h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;rxbuf: &amp;nbsp; &amp;nbsp; &amp;nbsp; DS &amp;nbsp; &amp;nbsp; &amp;nbsp;3 (0x00) &amp;nbsp; ; reserves 3 bytes in the iseg and initializes it to zero&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;inc_ptr: &amp;nbsp; &amp;nbsp;ds &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; ; this is to maintain the value of the number of line&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;sub_menu_ptr: &amp;nbsp; ds &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; ; This holds the value for the sub menu count&lt;/div&gt;&lt;div&gt;end&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;; ---- Start execution at 0000h after reset/power-up ------------------------&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;cseg at 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;; absolute code segment starting at 0000h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ajmp &amp;nbsp; Start &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;; reset vector - first instruction is to jump to user program&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;cseg at 0bh&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ljmp &amp;nbsp; timer_isr&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;cseg at 13h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ljmp &amp;nbsp; &amp;nbsp;ext_interrupt1&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;cseg at 23h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ljmp &amp;nbsp; &amp;nbsp;serial_isr&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;; ----- Start of user program --------------------------------------------&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;cseg at 0100h &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;; absolute code segment starting at 0030h&lt;/div&gt;&lt;div&gt;dec_1: &amp;nbsp;db &amp;nbsp; &amp;nbsp; &amp;nbsp;"*********************************************************************"&lt;/div&gt;&lt;div&gt;msg: &amp;nbsp; &amp;nbsp;db &amp;nbsp; &amp;nbsp; &amp;nbsp;"* &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WELCOME &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *"&lt;/div&gt;&lt;div&gt;dec_2: &amp;nbsp;db &amp;nbsp; &amp;nbsp; &amp;nbsp;"*********************************************************************"&lt;/div&gt;&lt;div&gt;menu: &amp;nbsp; db &amp;nbsp; &amp;nbsp; &amp;nbsp;"MENU"&lt;/div&gt;&lt;div&gt;sub_menu: &amp;nbsp; db &amp;nbsp; &amp;nbsp; &amp;nbsp;"SUB-MENU"&lt;/div&gt;&lt;div&gt;item_1: db &amp;nbsp; &amp;nbsp; &amp;nbsp;"1. Button press up/down count"&lt;/div&gt;&lt;div&gt;item_2: db &amp;nbsp; &amp;nbsp; &amp;nbsp;"2. Continuous up/down count"&lt;/div&gt;&lt;div&gt;sub_item_1: db &amp;nbsp;"1. Up"&lt;/div&gt;&lt;div&gt;sub_item_2: db &amp;nbsp;"2. Down"&lt;/div&gt;&lt;div&gt;sub_item_3: db &amp;nbsp;"3. Power down mode"&lt;/div&gt;&lt;div&gt;sub_item_4: db &amp;nbsp;"4. MAIN MENU"&lt;/div&gt;&lt;div&gt;cnt_msg: &amp;nbsp; &amp;nbsp;db &amp;nbsp; &amp;nbsp; &amp;nbsp;"CURRENT COUNT IS: "&lt;/div&gt;&lt;div&gt;stop_md_msg: &amp;nbsp; &amp;nbsp; db &amp;nbsp; &amp;nbsp; "In Suspend Mode"&lt;/div&gt;&lt;div&gt;arrow: &amp;nbsp; &amp;nbsp; &amp;nbsp;db &amp;nbsp; &amp;nbsp; &amp;nbsp;"-&amp;gt;"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Start: &amp;nbsp;&lt;/div&gt;&lt;div&gt;; This part is for power management&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov a, PCON&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;anl a, #40h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cjne a, #40h, its_power_on_rst&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; LED_RED&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; LED_GREEN&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov SP, SAVESP&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pop PSW&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov acc, #00h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pop acc&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov R2, acc&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov acc, #00h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pop acc&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov R1, acc&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pop P1&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov TAR, #aah&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov TAR, #55h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;anl PCON, #00h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ACALL init_timer &amp;nbsp; &amp;nbsp;; Initialize timer&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall init_serial &amp;nbsp; ; Initialize serial port&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall clear_page&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall move_to_origin&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall disp_sub_menu&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov sub_menu_ptr, #04h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall clear_rxbuf&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb from_rst_on&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ajmp for_rst_button&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;its_power_on_rst:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;SP,#STACK&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;; set up the stack pointer &amp;nbsp;– needed for calling subroutine&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;mov &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;R1,#00h &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;; E.g. Display on Bank 1&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;mov &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;R2,#00h &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;; E.g. Display on Bank 2&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;mov &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;R3,#00h &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;; E.g. Display on Bank 3&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ACALL init_timer &amp;nbsp; &amp;nbsp;; Initialize timer&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall init_serial &amp;nbsp; ; Initialize serial port&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall Disp_7SLED&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall &amp;nbsp; set_background_attr&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall clear_page&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall move_to_origin&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall disp_menu&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; LED_RED&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; LED_GREEN&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr from_rst_on&lt;/div&gt;&lt;div&gt;for_rst_button:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall Config_7SLED &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;; call the routine to configure the Configuration Register&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr data_txn&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov inc_ptr, #01h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov sub_menu_ptr, #04h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb &amp;nbsp; &amp;nbsp;TR0&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb &amp;nbsp; &amp;nbsp;UP_DWN_SW&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; dwn_counter&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; led_blink_flag&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; one_time_disp_flag&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; up_ctr_flag&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; dwn_ctr_flag&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; ext_intr1_flag&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jb &amp;nbsp; &amp;nbsp; &amp;nbsp;from_rst_on, sub_menu_ctrl&lt;/div&gt;&lt;div&gt;;==================================================================================&lt;/div&gt;&lt;div&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; THIS IS THE MAIN MENU DISPLAY&lt;/div&gt;&lt;div&gt;;==================================================================================&lt;/div&gt;&lt;div&gt;main_menu_loop:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; but_up_dwn_mode&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; cont_up_dwn_mode&lt;/div&gt;&lt;div&gt;mov R0, #rxbuf&lt;/div&gt;&lt;div&gt;cjne @R0, #0dh, chk_nxt_key&lt;/div&gt;&lt;div&gt;mov R1, #inc_ptr&lt;/div&gt;&lt;div&gt;cjne @R1, #00h, nxt_cnt_1&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb but_up_dwn_mode&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr cont_up_dwn_mode&lt;/div&gt;&lt;div&gt;ajmp sub_menu_ctrl&lt;/div&gt;&lt;div&gt;nxt_cnt_1:&lt;/div&gt;&lt;div&gt;cjne @R1, #01h, chk_nxt_key&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr but_up_dwn_mode&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb cont_up_dwn_mode&lt;/div&gt;&lt;div&gt;ajmp sub_menu_ctrl&lt;/div&gt;&lt;div&gt;chk_nxt_key:&lt;/div&gt;&lt;div&gt;cjne @R0, #1Bh, main_menu_loop&lt;/div&gt;&lt;div&gt;mov A, R0&lt;/div&gt;&lt;div&gt;inc A&lt;/div&gt;&lt;div&gt;mov R0, A&lt;/div&gt;&lt;div&gt;cjne @R0, #5Bh, main_menu_loop&lt;/div&gt;&lt;div&gt;mov A, R0&lt;/div&gt;&lt;div&gt;inc A&lt;/div&gt;&lt;div&gt;mov R0, A&lt;/div&gt;&lt;div&gt;cjne @R0, #41h, chk_nxt_arrow&lt;/div&gt;&lt;div&gt;mov R1, #inc_ptr&lt;/div&gt;&lt;div&gt;cjne @R1, #00h, goto_move_cur_up&lt;/div&gt;&lt;div&gt;acall clear_rxbuf&lt;/div&gt;&lt;div&gt;ajmp main_menu_loop&lt;/div&gt;&lt;div&gt;goto_move_cur_up:&lt;/div&gt;&lt;div&gt;acall delete_arrow &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; this is for deleting the arrow&lt;/div&gt;&lt;div&gt;acall carr_ret_al&lt;/div&gt;&lt;div&gt;acall move_cur_up&lt;/div&gt;&lt;div&gt;mov DPTR, #arrow&lt;/div&gt;&lt;div&gt;mov R7, #02h&lt;/div&gt;&lt;div&gt;acall disp_msg_ht&lt;/div&gt;&lt;div&gt;acall carr_ret_al&lt;/div&gt;&lt;div&gt;mov A, @R1&lt;/div&gt;&lt;div&gt;dec A&lt;/div&gt;&lt;div&gt;mov @R1, A&lt;/div&gt;&lt;div&gt;acall clear_rxbuf&lt;/div&gt;&lt;div&gt;ajmp main_menu_loop&lt;/div&gt;&lt;div&gt;chk_nxt_arrow:&lt;/div&gt;&lt;div&gt;cjne @R0, #42h, main_menu_loop&lt;/div&gt;&lt;div&gt;mov R1, #inc_ptr&lt;/div&gt;&lt;div&gt;cjne @R1, #01h, goto_move_cur_dwn&lt;/div&gt;&lt;div&gt;acall clear_rxbuf&lt;/div&gt;&lt;div&gt;ajmp main_menu_loop&lt;/div&gt;&lt;div&gt;goto_move_cur_dwn:&lt;/div&gt;&lt;div&gt;acall delete_arrow &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; this is for deleting the arrow&lt;/div&gt;&lt;div&gt;acall carr_ret_al&lt;/div&gt;&lt;div&gt;acall move_cur_dwn&lt;/div&gt;&lt;div&gt;mov DPTR, #arrow&lt;/div&gt;&lt;div&gt;mov R7, #02h&lt;/div&gt;&lt;div&gt;acall disp_msg_ht&lt;/div&gt;&lt;div&gt;acall carr_ret_al&lt;/div&gt;&lt;div&gt;mov A, @R1&lt;/div&gt;&lt;div&gt;inc A&lt;/div&gt;&lt;div&gt;mov @R1, A&lt;/div&gt;&lt;div&gt;acall clear_rxbuf&lt;/div&gt;&lt;div&gt;ajmp main_menu_loop&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;===========================================================================&lt;/div&gt;&lt;div&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; THIS IS THE DISPLAY LOOP FOR THE SUB-LOOP&lt;/div&gt;&lt;div&gt;;===========================================================================&lt;/div&gt;&lt;div&gt;sub_menu_ctrl:&lt;/div&gt;&lt;div&gt;clr &amp;nbsp; &amp;nbsp; from_rst_on&lt;/div&gt;&lt;div&gt;acall clear_page&lt;/div&gt;&lt;div&gt;acall move_to_origin&lt;/div&gt;&lt;div&gt;acall disp_sub_menu&lt;/div&gt;&lt;div&gt;acall clear_rxbuf&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov sub_menu_ptr, #03h&lt;/div&gt;&lt;div&gt;sub_loop:&lt;/div&gt;&lt;div&gt;mov R0, #rxbuf&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;cjne @R0, #0dh, sub_chk_nxt_key&lt;/div&gt;&lt;div&gt;mov R1, #sub_menu_ptr&lt;/div&gt;&lt;div&gt;cjne @R1, #00h, sub_nxt_cnt_1&lt;/div&gt;&lt;div&gt;setb up_ctr_flag&lt;/div&gt;&lt;div&gt;clr dwn_ctr_flag&lt;/div&gt;&lt;div&gt;ajmp F1&lt;/div&gt;&lt;div&gt;sub_nxt_cnt_1:&lt;/div&gt;&lt;div&gt;cjne @R1, #01h, sub_nxt_cnt_2&lt;/div&gt;&lt;div&gt;clr up_ctr_flag&lt;/div&gt;&lt;div&gt;setb dwn_ctr_flag&lt;/div&gt;&lt;div&gt;ajmp F1&lt;/div&gt;&lt;div&gt;sub_nxt_cnt_2:&lt;/div&gt;&lt;div&gt;cjne @R1, #02h, sub_nxt_cnt_3&lt;/div&gt;&lt;div&gt;;=========================&lt;/div&gt;&lt;div&gt;; here it is going to power down mode&lt;/div&gt;&lt;div&gt;;going_to_power_dwn_mode:&lt;/div&gt;&lt;div&gt;clr ext_intr1_flag&lt;/div&gt;&lt;div&gt;acall clear_hyp_screen&lt;/div&gt;&lt;div&gt;acall disp_stop_mode_msg&lt;/div&gt;&lt;div&gt;push P1&lt;/div&gt;&lt;div&gt;mov acc, #00h&lt;/div&gt;&lt;div&gt;mov acc, R3&lt;/div&gt;&lt;div&gt;push acc&lt;/div&gt;&lt;div&gt;mov acc, #00h&lt;/div&gt;&lt;div&gt;mov acc, R2&lt;/div&gt;&lt;div&gt;push acc&lt;/div&gt;&lt;div&gt;push PSW&lt;/div&gt;&lt;div&gt;mov SAVESP, SP&lt;/div&gt;&lt;div&gt;clr LED_GREEN&lt;/div&gt;&lt;div&gt;clr LED_RED&lt;/div&gt;&lt;div&gt;acall shut_off_disp&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;mov TAR, #aah&lt;/div&gt;&lt;div&gt;mov TAR, #55h&lt;/div&gt;&lt;div&gt;orl PCON, #42h&lt;/div&gt;&lt;div&gt;setb ext_intr1_flag&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;sub_nxt_cnt_3:&lt;/div&gt;&lt;div&gt;cjne @R1, #03h, sub_chk_nxt_key&lt;/div&gt;&lt;div&gt;ajmp goto_ret_of_sub_menu&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;sub_chk_nxt_key:&lt;/div&gt;&lt;div&gt;cjne @R0, #1Bh, sub_loop&lt;/div&gt;&lt;div&gt;mov A, R0&lt;/div&gt;&lt;div&gt;inc A&lt;/div&gt;&lt;div&gt;mov R0, A&lt;/div&gt;&lt;div&gt;cjne @R0, #5Bh, sub_loop&lt;/div&gt;&lt;div&gt;mov A, R0&lt;/div&gt;&lt;div&gt;inc A&lt;/div&gt;&lt;div&gt;mov R0, A&lt;/div&gt;&lt;div&gt;cjne @R0, #41h, sub_chk_nxt_arrow&lt;/div&gt;&lt;div&gt;mov R1, #sub_menu_ptr&lt;/div&gt;&lt;div&gt;cjne @R1, #00h, sub_goto_move_cur_up&lt;/div&gt;&lt;div&gt;acall clear_rxbuf&lt;/div&gt;&lt;div&gt;ajmp sub_loop &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; changes to jmp to loop&lt;/div&gt;&lt;div&gt;sub_goto_move_cur_up:&lt;/div&gt;&lt;div&gt;acall delete_arrow &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; this is for deleting the arrow&lt;/div&gt;&lt;div&gt;acall carr_ret_al&lt;/div&gt;&lt;div&gt;acall move_cur_up&lt;/div&gt;&lt;div&gt;mov DPTR, #arrow&lt;/div&gt;&lt;div&gt;mov R7, #02h&lt;/div&gt;&lt;div&gt;acall disp_msg_ht&lt;/div&gt;&lt;div&gt;acall carr_ret_al&lt;/div&gt;&lt;div&gt;mov A, @R1&lt;/div&gt;&lt;div&gt;dec A&lt;/div&gt;&lt;div&gt;mov @R1, A&lt;/div&gt;&lt;div&gt;acall clear_rxbuf&lt;/div&gt;&lt;div&gt;ajmp sub_loop &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; changes to jump to loop&lt;/div&gt;&lt;div&gt;sub_chk_nxt_arrow:&lt;/div&gt;&lt;div&gt;cjne @R0, #42h, sub_loop &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; changes to jump to loop&lt;/div&gt;&lt;div&gt;mov R1, #sub_menu_ptr&lt;/div&gt;&lt;div&gt;cjne @R1, #03h, sub_goto_move_cur_dwn&lt;/div&gt;&lt;div&gt;acall clear_rxbuf&lt;/div&gt;&lt;div&gt;ajmp sub_loop &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; changes to jump to loop&lt;/div&gt;&lt;div&gt;sub_goto_move_cur_dwn:&lt;/div&gt;&lt;div&gt;acall delete_arrow &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; this is for deleting the arrow&lt;/div&gt;&lt;div&gt;acall carr_ret_al&lt;/div&gt;&lt;div&gt;acall move_cur_dwn&lt;/div&gt;&lt;div&gt;mov DPTR, #arrow&lt;/div&gt;&lt;div&gt;mov R7, #02h&lt;/div&gt;&lt;div&gt;acall disp_msg_ht&lt;/div&gt;&lt;div&gt;acall carr_ret_al&lt;/div&gt;&lt;div&gt;mov A, @R1&lt;/div&gt;&lt;div&gt;inc A&lt;/div&gt;&lt;div&gt;mov @R1, A&lt;/div&gt;&lt;div&gt;acall clear_rxbuf&lt;/div&gt;&lt;div&gt;ajmp sub_loop &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; changes to jump to loop&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;goto_ret_of_sub_menu:&lt;/div&gt;&lt;div&gt;mov sub_menu_ptr, #00h&lt;/div&gt;&lt;div&gt;mov inc_ptr, #01h&lt;/div&gt;&lt;div&gt;clr up_ctr_flag&lt;/div&gt;&lt;div&gt;clr dwn_ctr_flag&lt;/div&gt;&lt;div&gt;acall clear_rxbuf&lt;/div&gt;&lt;div&gt;acall clear_page&lt;/div&gt;&lt;div&gt;acall move_to_origin&lt;/div&gt;&lt;div&gt;acall disp_menu&lt;/div&gt;&lt;div&gt;ajmp main_menu_loop&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;============================================================================&lt;/div&gt;&lt;div&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;THIS IS THE PART FOR THE COUNTERS IMPL.&lt;/div&gt;&lt;div&gt;;============================================================================&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;loop:&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp; &amp;nbsp;; display data onto the LEDs&lt;/div&gt;&lt;div&gt;F1:&lt;/div&gt;&lt;div&gt;mov R0, #rxbuf&lt;/div&gt;&lt;div&gt;cjne @R0, #65h, cont_in_this_F1_loop&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall clear_page&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall move_to_origin&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall disp_sub_menu&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov sub_menu_ptr, #03h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall clear_rxbuf&lt;/div&gt;&lt;div&gt;ajmp sub_menu_ctrl&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;cont_in_this_F1_loop:&lt;/div&gt;&lt;div&gt;jnb but_up_dwn_mode, check_cont_up_dwn_md&lt;/div&gt;&lt;div&gt;jump_without_dec:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall Disp_7SLED &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov DPTR, #cnt_msg&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov R7, #12h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall clear_page&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall move_to_origin&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall disp_msg_ht&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall txn_data&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr C&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;check_for_cont_sw_simul:&lt;/div&gt;&lt;div&gt;mov R0, #rxbuf&lt;/div&gt;&lt;div&gt;cjne @R0, #65h, cont_with_butn_press_loop&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall clear_page&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall move_to_origin&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall disp_sub_menu&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov sub_menu_ptr, #03h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall clear_rxbuf&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ajmp sub_menu_ctrl&lt;/div&gt;&lt;div&gt;cont_with_butn_press_loop:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jb PB_INT0, check_for_cont_sw_simul&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jnb PB_INT0, $ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr LED_GREEN&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr LED_RED&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ajmp check_up_or_dwn&lt;/div&gt;&lt;div&gt;check_cont_up_dwn_md: &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div&gt;jnb cont_up_dwn_mode, loop&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr one_sec&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall Disp_7SLED&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall clear_page&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall move_to_origin&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov DPTR, #cnt_msg&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov R7, #12h &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall disp_msg_ht&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall txn_data&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr C&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;led_blink_counter:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jnb led_blink_flag, set_timer_again&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cjne R6, #05h, chk_nxt_1&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb LED_RED&lt;/div&gt;&lt;div&gt;chk_nxt_1:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cjne R6, #0ah, chk_nxt_2&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr LED_RED&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb LED_GREEN&lt;/div&gt;&lt;div&gt;chk_nxt_2:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cjne R6, #0fh, chk_nxt_3&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb LED_RED &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div&gt;chk_nxt_3:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cjne R6, #14h, set_timer_again&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr LED_RED&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr LED_GREEN&lt;/div&gt;&lt;div&gt;set_timer_again:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;orl PCON, #01h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jnb one_sec, led_blink_counter&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;no_intr_cont_with_prog:&lt;/div&gt;&lt;div&gt;check_up_or_dwn: ; this check is to decide whether it is up or down counter&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jb up_ctr_flag, up_counter&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jb dwn_ctr_flag, down_counter&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div&gt;;---------------------------------------------------------------&lt;/div&gt;&lt;div&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UP COUNTER &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;&lt;/div&gt;&lt;div&gt;;---------------------------------------------------------------&lt;/div&gt;&lt;div&gt;up_counter:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;cjne R3, #01h, carry_reg_not_set&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb LED_RED&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr LED_GREEN&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr led_blink_flag&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ajmp F1&lt;/div&gt;&lt;div&gt;carry_reg_not_set:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb led_blink_flag&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr C&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R2&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;inc A&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;da A&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;jnc if_no_carry&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R3, #01h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr C&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #00h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R2, A&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ajmp F1&lt;/div&gt;&lt;div&gt;if_no_carry:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R2, A&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ajmp F1&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div&gt;;--------------------------------------------------------------------------------&lt;/div&gt;&lt;div&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DOWN COUNTER &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;&lt;/div&gt;&lt;div&gt;;--------------------------------------------------------------------------------&lt;/div&gt;&lt;div&gt;down_counter:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb dwn_counter&lt;/div&gt;&lt;div&gt;;---- to check whether it is in 000&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;cjne R2, #00h, here&lt;/div&gt;&lt;div&gt;chk_nex_reg: &amp;nbsp; &amp;nbsp;cjne R3, #00h, here&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr LED_GREEN&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb LED_RED&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr led_blink_flag&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ajmp F1&lt;/div&gt;&lt;div&gt;;------&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;here:&lt;/div&gt;&lt;div&gt;here1:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb led_blink_flag&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;cjne R3, #01h, chk_for_ovfl&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R3, #00h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R2, #99h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ajmp F1&lt;/div&gt;&lt;div&gt;chk_for_ovfl:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr C&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R2&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dec A&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall dec_adjust&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R2, A&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ajmp F1&lt;/div&gt;&lt;div&gt;ajmp loop&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;/div&gt;&lt;div&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;/div&gt;&lt;div&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;/div&gt;&lt;div&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;THIS PART CONTAINS ALL THE SUB-ROUTINES &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;&lt;/div&gt;&lt;div&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;/div&gt;&lt;div&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;/div&gt;&lt;div&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;/div&gt;&lt;div&gt;;---------------------------------------------------------&lt;/div&gt;&lt;div&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; INIT SERIAL PORT &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;&lt;/div&gt;&lt;div&gt;;---------------------------------------------------------&lt;/div&gt;&lt;div&gt;init_serial:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr ES&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov SCON,#70h&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;;set up SMOD and timer 1 for baud rate generation&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr data_txn&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;anl PCON,#7fh&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov IE, #10010010B&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb ES&lt;/div&gt;&lt;div&gt;ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;------- &amp;nbsp;serial port transmit data ---------&lt;/div&gt;&lt;div&gt;txn_data:&lt;/div&gt;&lt;div&gt;not_reached_hun:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R3&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall cal_ascii_offset&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R2&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;anl A, #f0h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;swap A&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall cal_ascii_offset&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R2&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;anl A, #0fh&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall cal_ascii_offset&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall carr_return&lt;/div&gt;&lt;div&gt;ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;transmit:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr TI&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov SBUF, a&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;jnb TI, $+0&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr TI&lt;/div&gt;&lt;div&gt;ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;cal_ascii_offset:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;add A, #30h&lt;/div&gt;&lt;div&gt;ret &amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;carr_return:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #0dh&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;/div&gt;&lt;div&gt;ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;disp_msg_ht:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr A&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;movc A, @A+DPTR&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;inc DPTR&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R7, disp_msg_ht&lt;/div&gt;&lt;div&gt;ret &amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;clear_hyp_screen:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #1Bh&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #5Bh&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #32h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #4Ah&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;/div&gt;&lt;div&gt;ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;disp_stop_mode_msg:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DPTR, #stop_md_msg&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R7, #0Fh&lt;/div&gt;&lt;div&gt;count_for_soft_mode_msg:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr A&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;movc A, @A+DPTR&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;inc DPTR&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R7, count_for_soft_mode_msg&lt;/div&gt;&lt;div&gt;ret &amp;nbsp; &amp;nbsp;&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;/div&gt;&lt;div&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; INIT TIMER &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;&lt;/div&gt;&lt;div&gt;;---------------------------------------------------------&lt;/div&gt;&lt;div&gt;init_timer:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr EA&lt;/div&gt;&lt;div&gt;;------- for timer 0---delay -------- &amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr ET0&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr TR0&lt;/div&gt;&lt;div&gt;;------- for timer 1---serial port baudrate --------&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr ET1&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr TR1&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov TH1,#FDh&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr one_sec&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R6, #14h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov TMOD, #21h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov TH0, #B7h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov TL0, #FFh&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb ET0&lt;/div&gt;&lt;div&gt;; &amp;nbsp; &amp;nbsp;clr ET1&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb TR1&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb EA&lt;/div&gt;&lt;div&gt;ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;===========================================================================&lt;/div&gt;&lt;div&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; INIT EXTERNAL INTERRUPT 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;&lt;/div&gt;&lt;div&gt;;===========================================================================&lt;/div&gt;&lt;div&gt;init_ext_interrupt1:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb EX1&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb IT1&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb PX1&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr &amp;nbsp;IE1&lt;/div&gt;&lt;div&gt;ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div&gt;;============================================================================&lt;/div&gt;&lt;div&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DECIMAL ADJUST FOR DOWN COUNTER &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;&lt;/div&gt;&lt;div&gt;;============================================================================&lt;/div&gt;&lt;div&gt;dec_adjust:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R0, A&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;anl A, #0fh&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;cjne A, #0fh, dec_adj_not_needed&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R0&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;subb A, #06h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ret&lt;/div&gt;&lt;div&gt;dec_adj_not_needed:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R0&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ret&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;/div&gt;&lt;div&gt;; This is to shut off the display when the MCU is going to the power down mode&lt;/div&gt;&lt;div&gt;shut_off_disp:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr C &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; Clearing the carry flag&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R4, #08h &amp;nbsp; &amp;nbsp;; for clock&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr ENABLE &amp;nbsp; &amp;nbsp; &amp;nbsp;; enable&amp;nbsp;&lt;/div&gt;&lt;div&gt;clk_lp_shut:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr CLK&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr C&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DATAIN, C &amp;nbsp; ; move ctrl byte bit by bit to display controller&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb CLK &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; put clock to high&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R4, clk_lp_shut ; compare 8 times to put data&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb ENABLE &amp;nbsp; &amp;nbsp; &amp;nbsp;; clear enable after 8 bits&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;ret &lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;; return from this subroutine &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;=============================================================================&lt;/div&gt;&lt;div&gt;Config_7SLED:&lt;/div&gt;&lt;div&gt;; routine to configure the configuration Register of MC14489B&lt;/div&gt;&lt;div&gt;; data code = C1h : data to be displayed is coded in hexadecimal&lt;/div&gt;&lt;div&gt;; input – none&lt;/div&gt;&lt;div&gt;; output – none&lt;/div&gt;&lt;div&gt;; destroyed – Acc (for example)&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr C &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; Clearing the carry flag&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #C1h &amp;nbsp; &amp;nbsp; ; taking the value in C1h to write it in control register&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R4, #08h &amp;nbsp; &amp;nbsp;; for clock&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr ENABLE &amp;nbsp; &amp;nbsp; &amp;nbsp;; enable&amp;nbsp;&lt;/div&gt;&lt;div&gt;clk_lp:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr CLK&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;rlc A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; rotate acc thru carry&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DATAIN, C &amp;nbsp; ; move ctrl byte bit by bit to display controller&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb CLK &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; put clock to high&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R4, clk_lp ; compare 8 times to put data&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb ENABLE &amp;nbsp; &amp;nbsp; &amp;nbsp;; clear enable after 8 bits&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;ret &lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;; return from this subroutine &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;-----------------------------------------------------------------------------&lt;/div&gt;&lt;div&gt;Disp_7SLED:&lt;/div&gt;&lt;div&gt;; routine to display the data in registers R1, R2 &amp;amp; R3 to Bank 1, Bank 3 &amp;amp; Bank 2&lt;/div&gt;&lt;div&gt;; inputs - R1, R2 and R3&lt;/div&gt;&lt;div&gt;; output – none&lt;/div&gt;&lt;div&gt;; destroyed – Acc, R1, R2, R3 (for example)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R6, #14h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #00h &amp;nbsp; &amp;nbsp;; push R1 value to acc&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R5, #0ch &amp;nbsp; ; taking 24 to R5&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr ENABLE &amp;nbsp; &amp;nbsp; ; enable&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;data_lp:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr CLK&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;rlc A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; rotate acc with carry&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DATAIN, C &amp;nbsp; ; put carry in data&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb CLK &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; set clock&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R5, data_lp; compare 24 times to get 24 bits of data&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;;;;;;;;;;;;;;;;;;;;;;;;; &amp;nbsp; &amp;nbsp;BANK 1 &amp;nbsp; &amp;nbsp;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R5, #04h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R2&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;swap A&lt;/div&gt;&lt;div&gt;data_lp1:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr CLK&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;rlc A&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DATAIN, C&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb CLK&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R5, data_lp1&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;;;;;;;;;;;;;;;;;;;;;;;;; &amp;nbsp; BANK 2 &amp;nbsp; &amp;nbsp;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R5, #04&lt;/div&gt;&lt;div&gt;data_lp2:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr CLK&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;rlc A&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DATAIN, C&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb CLK&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R5, data_lp2&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;;;;;;;;;;;;;;;;;;;;;;;;; &amp;nbsp; &amp;nbsp;BANK 3 &amp;nbsp; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R5, #04&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R3&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;swap A&lt;/div&gt;&lt;div&gt;data_lp3:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr CLK&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;rlc A&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DATAIN, C&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb CLK&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R5, data_lp3&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb ENABLE &amp;nbsp; &amp;nbsp; &amp;nbsp;; clr enable after 24 bits&lt;/div&gt;&lt;div&gt;ret &lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;; return from this subroutine&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div&gt;;-----------------------------------------------------------------------------&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;=====================================================================&lt;/div&gt;&lt;div&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; OTHER SUB-ROUTINES &amp;nbsp;&lt;/div&gt;&lt;div&gt;;=====================================================================&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;=========================================================================&lt;/div&gt;&lt;div&gt;; This is to set the background attributes like color text color and so on&lt;/div&gt;&lt;div&gt;set_background_attr:&lt;/div&gt;&lt;div&gt;mov A, #1Bh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #5Bh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #34h ;4&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #30h ;0&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #3Bh ;;&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #34h ;4&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #37h ; 7&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #3Bh ; ;&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #33h ; 3&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #30h ; 0&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #6Dh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;=========================================================================&lt;/div&gt;&lt;div&gt;; This is to change the text color when ever called&lt;/div&gt;&lt;div&gt;change_text_color:&lt;/div&gt;&lt;div&gt;mov A, #1Bh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #5Bh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #34h ;4&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #30h ;0&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #3Bh ;;&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #34h ;4&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #37h ; 7&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #3Bh ; ;&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #33h ; 3&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #35h ; 5&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #6Dh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;=========================================================================&lt;/div&gt;&lt;div&gt;; This will underline that part when called. &amp;nbsp;Do avoid continuing with&amp;nbsp;&lt;/div&gt;&lt;div&gt;; the same called unset background details&lt;/div&gt;&lt;div&gt;menu_underline:&lt;/div&gt;&lt;div&gt;mov A, #1Bh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #5Bh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #34h&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #6Dh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;=========================================================================&lt;/div&gt;&lt;div&gt;; &amp;nbsp;This is the command to make the displayed text blink.&lt;/div&gt;&lt;div&gt;text_blink_mode:&lt;/div&gt;&lt;div&gt;mov A, #1Bh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #5Bh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #35h&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #6Dh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;=========================================================================&lt;/div&gt;&lt;div&gt;; This highlights the text that is put after this call&lt;/div&gt;&lt;div&gt;text_highlight_attr:&lt;/div&gt;&lt;div&gt;mov A, #1Bh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #5Bh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #31h&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #6Dh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;=========================================================================&lt;/div&gt;&lt;div&gt;; &amp;nbsp;This is to switch off the highlight attribute off&lt;/div&gt;&lt;div&gt;text_highlight_attr_off:&lt;/div&gt;&lt;div&gt;mov A, #1Bh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #5Bh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #30h&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #6Dh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;=========================================================================&lt;/div&gt;&lt;div&gt;; &amp;nbsp;This will clear the recieve buffer, usually called after the buffer&lt;/div&gt;&lt;div&gt;; &amp;nbsp;is read&lt;/div&gt;&lt;div&gt;clear_rxbuf:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R1, #rxbuf&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov @R1, #00h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;inc R1&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov @R1, #00h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;inc R1&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov @R1, #00h&lt;/div&gt;&lt;div&gt;ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;=========================================================================&lt;/div&gt;&lt;div&gt;; This command will move the cursor position up by one line&lt;/div&gt;&lt;div&gt;move_cur_up:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #1Bh&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #5Bh&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #41h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;/div&gt;&lt;div&gt;ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;=========================================================================&lt;/div&gt;&lt;div&gt;; This command will move the cursor position down by one line&lt;/div&gt;&lt;div&gt;move_cur_dwn:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #1Bh&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #5Bh&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #42h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;/div&gt;&lt;div&gt;ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;=========================================================================&lt;/div&gt;&lt;div&gt;; This command will move the cursor position right by one line&lt;/div&gt;&lt;div&gt;move_cur_right:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #1Bh&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #5Bh&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #43h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;/div&gt;&lt;div&gt;ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;=========================================================================&lt;/div&gt;&lt;div&gt;; This function is used to display the main menu&lt;/div&gt;&lt;div&gt;disp_menu:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall change_text_color&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DPTR, #dec_1&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R7, #45h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall disp_msg_ht&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall carriage_ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall text_blink_mode&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DPTR, #msg&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R7, #45h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall disp_msg_ht&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall carriage_ret&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall text_highlight_attr_off&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DPTR, #dec_2&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R7, #45h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall disp_msg_ht&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall carriage_ret&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall set_background_attr&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall menu_underline&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DPTR, #menu&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R7, #04h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall disp_msg_ht&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall carriage_ret&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall text_highlight_attr_off&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall move_cur_right&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall move_cur_right&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DPTR, #item_1&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R7, #1Dh&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall disp_msg_ht&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall carriage_ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DPTR, #arrow&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R7, #02h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall disp_msg_ht&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DPTR, #item_2&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R7, #1Bh&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall disp_msg_ht&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #0dh&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;/div&gt;&lt;div&gt;ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;=========================================================================&lt;/div&gt;&lt;div&gt;; This function is used to display the sub menu&lt;/div&gt;&lt;div&gt;disp_sub_menu:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall change_text_color&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DPTR, #dec_1&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R7, #45h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall disp_msg_ht&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall carriage_ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall text_blink_mode&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DPTR, #msg&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R7, #45h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall disp_msg_ht&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall carriage_ret&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall text_highlight_attr_off&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DPTR, #dec_2&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R7, #45h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall disp_msg_ht&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall carriage_ret&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall set_background_attr&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall menu_underline&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DPTR, #sub_menu&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R7, #08h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall disp_msg_ht&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall carriage_ret&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall text_highlight_attr_off&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall move_cur_right&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall move_cur_right&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DPTR, #sub_item_1&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R7, #05h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall disp_msg_ht&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall carriage_ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall move_cur_right&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall move_cur_right&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DPTR, #sub_item_2&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R7, #07h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall disp_msg_ht&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall carriage_ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall move_cur_right&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall move_cur_right&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DPTR, #sub_item_3&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R7, #12h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall disp_msg_ht&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall carriage_ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DPTR, #arrow&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R7, #02h&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall disp_msg_ht&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DPTR, #sub_item_4&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R7, #0ch&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall disp_msg_ht&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #0dh&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;/div&gt;&lt;div&gt;ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;=========================================================================&lt;/div&gt;&lt;div&gt;; This is used to delete the arrow pointer whenever it need to be&lt;/div&gt;&lt;div&gt;delete_arrow:&lt;/div&gt;&lt;div&gt;mov A, #20h&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #20h&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;=========================================================================&lt;/div&gt;&lt;div&gt;; This is the ascii command to give a carriage return a new line&lt;/div&gt;&lt;div&gt;carriage_ret:&lt;/div&gt;&lt;div&gt;mov A, #0dh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #0ah&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;=========================================================================&lt;/div&gt;&lt;div&gt;; This is the ascii command to give a carriage return&lt;/div&gt;&lt;div&gt;carr_ret_al:&lt;/div&gt;&lt;div&gt;mov A, #0dh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;=========================================================================&lt;/div&gt;&lt;div&gt;; This is the VT100 command to clear the page&lt;/div&gt;&lt;div&gt;clear_page:&lt;/div&gt;&lt;div&gt;mov A, #1Bh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #5Bh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #32h&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #4Ah&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;=========================================================================&lt;/div&gt;&lt;div&gt;; The VT100 command to move the cursor to origin of the page&lt;/div&gt;&lt;div&gt;move_to_origin:&lt;/div&gt;&lt;div&gt;mov A, #1Bh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #5Bh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #3Bh&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;mov A, #48h&lt;/div&gt;&lt;div&gt;acall transmit&lt;/div&gt;&lt;div&gt;ret&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;/div&gt;&lt;div&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;/div&gt;&lt;div&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;/div&gt;&lt;div&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FOR INTERRUPT SERVICE ROUTINES &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;&lt;/div&gt;&lt;div&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;/div&gt;&lt;div&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;/div&gt;&lt;div&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;/div&gt;&lt;div&gt;;---------------------------------------&lt;/div&gt;&lt;div&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp;timer ISR&lt;/div&gt;&lt;div&gt;;---------------------------------------&lt;/div&gt;&lt;div&gt;timer_isr:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr TR0&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov TH0, #4Bh&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov TL0, #FDh&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R6, not_one_sec&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb one_sec&lt;/div&gt;&lt;div&gt;not_one_sec:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb TR0&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;reti &amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;---------------------------------------&lt;/div&gt;&lt;div&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; serial ISR&lt;/div&gt;&lt;div&gt;;---------------------------------------&lt;/div&gt;&lt;div&gt;serial_isr:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;jb &amp;nbsp;RI, rx&lt;/div&gt;&lt;div&gt;reti&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;rx:&lt;/div&gt;&lt;div&gt;clr RI&lt;/div&gt;&lt;div&gt;mov R1, #rxbuf&lt;/div&gt;&lt;div&gt;cjne @R1, #1Bh, rxning_data&lt;/div&gt;&lt;div&gt;mov A, R1&lt;/div&gt;&lt;div&gt;inc A&lt;/div&gt;&lt;div&gt;mov R1, A&lt;/div&gt;&lt;div&gt;cjne @R1, #5Bh, dec_ptr_fst&lt;/div&gt;&lt;div&gt;ajmp rxn_arr&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;dec_ptr_fst:&lt;/div&gt;&lt;div&gt;mov A, R1&lt;/div&gt;&lt;div&gt;dec A&lt;/div&gt;&lt;div&gt;mov R1, A&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;rxn_arr:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R1&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;inc A&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R1, A&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr A&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, SBUF&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov @R1, A&lt;/div&gt;&lt;div&gt;normal_pro:&lt;/div&gt;&lt;div&gt;reti&lt;/div&gt;&lt;div&gt;rxning_data:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R1, #rxbuf&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, SBUF &amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov @R1, A&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb data_txn&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr RI&lt;/div&gt;&lt;div&gt;reti&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;;--------------------------------------------&lt;/div&gt;&lt;div&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXTERNAL INTERRUPT 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;&lt;/div&gt;&lt;div&gt;;--------------------------------------------&lt;/div&gt;&lt;div&gt;ext_interrupt1:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;jb ext_intr1_flag, if_ext_intr_already_set&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr IE1&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb ext_intr1_flag&lt;/div&gt;&lt;div&gt;reti&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div&gt;if_ext_intr_already_set:&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr LED_RED&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr ext_intr1_flag&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr IE1&lt;/div&gt;&lt;div&gt;reti&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;end ; This is the end of the program&lt;/div&gt;&lt;div&gt;;======================================================================================&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;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4651376689756306961-4455790829078945229?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/4455790829078945229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=4455790829078945229' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/4455790829078945229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/4455790829078945229'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2009/11/menu-driven-program-in-8051-ds5000_12.html' title='Menu Driven program in 8051 (DS5000 microcontroller)'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-4427035064577171134</id><published>2009-11-06T23:18:00.000-08:00</published><updated>2009-11-06T23:18:27.786-08:00</updated><title type='text'>Space invaders game in 8051 (DS5000 board NTU SCE)</title><content type='html'>&lt;div style="text-align: justify;"&gt;This implements everything except the movement of aliens here and there.... &amp;nbsp;that is a very small enhancement. &amp;nbsp;I will not be able to put up the code here because it was tooo huge somewhere around 3000 lines. &amp;nbsp;You can check out my youtube video on how this actually works. &amp;nbsp;One thing that is not in the video is, it has implemented power down mode also.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.youtube.com/watch?v=0STKAvKVikM"&gt;http://www.youtube.com/watch?v=0STKAvKVikM&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;check this out...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4651376689756306961-4427035064577171134?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/4427035064577171134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=4427035064577171134' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/4427035064577171134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/4427035064577171134'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2009/11/space-invaders-game-in-8051-ds5000.html' title='Space invaders game in 8051 (DS5000 board NTU SCE)'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-7580065500329016552</id><published>2009-11-06T22:54:00.000-08:00</published><updated>2009-11-12T04:13:35.696-08:00</updated><title type='text'>Power management in 8051 [Third assignment code on DS5000 (8051) on NTU SCE board]</title><content type='html'>This integrates both 1 and 2 and also includes suspend mode over both the programs. &amp;nbsp;The selection on which counter is based on switch P3.7. &amp;nbsp;Here is the code.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;;----------------------------------------------------------------------&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; m a i n &amp;nbsp; &amp;nbsp;p r o g r a m&lt;br /&gt;; ----------------------------------------------------------------------&lt;br /&gt;#include &lt;sfr51.inc&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;; 8051 SFR and ports are defined here&lt;/sfr51.inc&gt;&lt;br /&gt;STACK &amp;nbsp; &amp;nbsp; &amp;nbsp; equ &amp;nbsp; &amp;nbsp; 70h &amp;nbsp; &lt;span style="white-space: pre;"&gt; &lt;/span&gt;; Stack pointer starting address(growing upward)&lt;br /&gt;TAR &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; equ &amp;nbsp; &amp;nbsp; 0c7h &amp;nbsp; &amp;nbsp;; TAR register that is to be written before power-down mode&lt;br /&gt;ENABLE &amp;nbsp; &amp;nbsp; &amp;nbsp;bit &amp;nbsp; &amp;nbsp; P2.0 &amp;nbsp; &amp;nbsp;; Taking port 2.1 in enable&lt;br /&gt;DATAIN &amp;nbsp; &amp;nbsp; &amp;nbsp;bit &amp;nbsp; &amp;nbsp; P2.2 &amp;nbsp; &amp;nbsp;; Taking port 2.3 in data&lt;br /&gt;CLK &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bit &amp;nbsp; &amp;nbsp; P2.1 &amp;nbsp; &amp;nbsp;; Taking port 2.2 in clock&lt;br /&gt;PB_INT0 &amp;nbsp; &amp;nbsp; bit &amp;nbsp; &amp;nbsp; P3.2 &amp;nbsp; &amp;nbsp;; push button port&lt;br /&gt;LED_GREEN &amp;nbsp; bit &amp;nbsp; &amp;nbsp; P1.0&lt;br /&gt;LED_RED &amp;nbsp; &amp;nbsp; bit &amp;nbsp; &amp;nbsp; P1.1&lt;br /&gt;UP_DWN_SW &amp;nbsp; bit &amp;nbsp; &amp;nbsp; P3.4&lt;br /&gt;BUT_UP_DWN_SW &amp;nbsp; bit &amp;nbsp; &amp;nbsp; P3.6 &amp;nbsp; &amp;nbsp;; This is the port to be selected for press button up/down count&lt;br /&gt;CONT_UP_DWN_SW &amp;nbsp;bit &amp;nbsp; &amp;nbsp; P3.7 &amp;nbsp; &amp;nbsp;; This is the port to be selected for continuous up/down count&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;bseg&lt;br /&gt;data_txn: &amp;nbsp; &amp;nbsp;dbit &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; ; This is to check whether one second is reached&lt;br /&gt;dwn_counter: dbit &amp;nbsp; &amp;nbsp;1&lt;br /&gt;one_sec: &amp;nbsp; &amp;nbsp; dbit &amp;nbsp; &amp;nbsp;1&lt;br /&gt;led_blink_flag: dbit &amp;nbsp; 1&lt;br /&gt;but_up_dwn_mode: &amp;nbsp; &amp;nbsp;dbit &amp;nbsp; &amp;nbsp;1&lt;br /&gt;cont_up_dwn_mode: &amp;nbsp; dbit &amp;nbsp; &amp;nbsp;1&lt;br /&gt;one_time_disp_flag: &amp;nbsp;dbit &amp;nbsp; 1&lt;br /&gt;&lt;br /&gt;dwn_ctr_flag: &amp;nbsp; dbit &amp;nbsp; &amp;nbsp;1&lt;br /&gt;up_ctr_flag: &amp;nbsp; &amp;nbsp;dbit &amp;nbsp; &amp;nbsp;1&lt;br /&gt;ext_intr1_flag: &amp;nbsp;dbit &amp;nbsp;1&lt;br /&gt;&lt;br /&gt;rxbuf &amp;nbsp; &amp;nbsp; &amp;nbsp; equ &amp;nbsp; &amp;nbsp; 00h&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;dseg at 30h &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SAVESP: &amp;nbsp; &amp;nbsp; ds &amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; non-volatile byte for saving stack pointer&lt;br /&gt;end &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;; ---- Start execution at 0000h after reset/power-up ------------------------&lt;br /&gt;&lt;br /&gt;cseg at 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="white-space: pre;"&gt;  &lt;/span&gt;; absolute code segment starting at 0000h&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ajmp &amp;nbsp; Start &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="white-space: pre;"&gt; &lt;/span&gt;; reset vector - first instruction is to jump to user program&lt;br /&gt;&lt;br /&gt;cseg at 0bh&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ljmp &amp;nbsp; timer_isr&lt;br /&gt;&lt;br /&gt;cseg at 13h&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ljmp &amp;nbsp; &amp;nbsp;ext_interrupt1&lt;br /&gt;&lt;br /&gt;cseg at 23h&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ljmp &amp;nbsp; &amp;nbsp;serial_isr&lt;br /&gt;&lt;br /&gt;; ----- Start of user program --------------------------------------------&lt;br /&gt;&lt;br /&gt;cseg at 0030h &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="white-space: pre;"&gt;  &lt;/span&gt;; absolute code segment starting at 0030h&lt;br /&gt;msg: &amp;nbsp; &amp;nbsp;db &amp;nbsp; &amp;nbsp; &amp;nbsp;"CURRENT COUNT IS: "&lt;br /&gt;stop_md_msg: &amp;nbsp; &amp;nbsp; db &amp;nbsp; &amp;nbsp; "In Suspend Mode"&lt;br /&gt;&lt;br /&gt;Start: &lt;br /&gt;; This part is for power management&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov a, PCON&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;anl a, #40h&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cjne a, #40h, its_power_on_rst&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;jz its_power_on_rst&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; LED_RED&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; LED_GREEN&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov SP, SAVESP&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pop PSW&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov acc, #00h&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pop acc&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov R2, acc&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov acc, #00h&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pop acc&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov R1, acc&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pop acc&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pop P1&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov TAR, #aah&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov TAR, #55h&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;anl PCON, #00h&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;mov A, R3&lt;br /&gt;&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pop R2&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pop R1&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pop P1&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ajmp for_rst_button&lt;br /&gt;&lt;br /&gt;its_power_on_rst:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov&lt;span style="white-space: pre;"&gt; &lt;/span&gt;SP,#STACK&lt;span style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;; set up the stack pointer &amp;nbsp;– needed for calling subroutine&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;mov &lt;span style="white-space: pre;"&gt; &lt;/span&gt;R1,#00h &lt;span style="white-space: pre;"&gt; &lt;/span&gt;; E.g. Display on Bank 1&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;mov &lt;span style="white-space: pre;"&gt; &lt;/span&gt;R2,#00h &lt;span style="white-space: pre;"&gt; &lt;/span&gt;; E.g. Display on Bank 2&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;mov &lt;span style="white-space: pre;"&gt; &lt;/span&gt;R3,#00h &lt;span style="white-space: pre;"&gt; &lt;/span&gt;; E.g. Display on Bank 3&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr LED_RED&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr LED_GREEN&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;for down count&lt;br /&gt;for_rst_button:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall Config_7SLED &lt;span style="white-space: pre;"&gt; &lt;/span&gt;; call the routine to configure the Configuration Register&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ACALL init_timer &amp;nbsp; &amp;nbsp;; Initialize timer&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall init_serial &amp;nbsp; ; Initialize serial port&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall init_ext_interrupt1&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb &amp;nbsp; &amp;nbsp;TR0&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb &amp;nbsp; &amp;nbsp;UP_DWN_SW&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;clr &amp;nbsp; &amp;nbsp; LED_GREEN&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; dwn_counter&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; led_blink_flag&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; LED_RED&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; LED_GREEN&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; one_time_disp_flag&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr up_ctr_flag&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr dwn_ctr_flag&lt;br /&gt;&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall &amp;nbsp; disp_msg_ht&lt;br /&gt;&lt;br /&gt;loop:&lt;span style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;&lt;span style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp; &amp;nbsp;; display data onto the LEDs&lt;br /&gt;acall clear_hyp_screen&lt;br /&gt;;acall disp_msg_ht&lt;br /&gt;;acall txn_data&lt;br /&gt;&lt;br /&gt;;--------- to detect botton press ------------&lt;br /&gt;F1:&lt;br /&gt;jb ext_intr1_flag, going_to_power_dwn_mode&lt;br /&gt;;no_intr_cont_with_prog:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; clear the flag whenever it enters the loop.&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; but_up_dwn_mode&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; cont_up_dwn_mode&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jb BUT_UP_DWN_SW, check_next&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jnb CONT_UP_DWN_SW, F1&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb but_up_dwn_mode&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr cont_up_dwn_mode&lt;br /&gt;jump_without_dec:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr LED_GREEN&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall Disp_7SLED &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall disp_msg_ht&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall txn_data&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr C&lt;br /&gt;&lt;br /&gt;check_for_cont_sw_simul:&lt;br /&gt;&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb one_time_disp_flag&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb LED_GREEN&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jnb CONT_UP_DWN_SW, F1&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jb PB_INT0, check_for_cont_sw_simul&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jnb PB_INT0, $ &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr LED_GREEN&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr LED_RED&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ajmp check_up_or_dwn&lt;br /&gt;check_next: ; next condition that is the one which checks for cont switch &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb LED_GREEN&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jb CONT_UP_DWN_SW, F1&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jnb BUT_UP_DWN_SW, F1&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr one_time_disp_flag&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr but_up_dwn_mode&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb cont_up_dwn_mode&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr one_sec&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall Disp_7SLED &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall disp_msg_ht&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall txn_data&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr C&lt;br /&gt;clr LED_GREEN&lt;br /&gt;led_blink_counter:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jnb led_blink_flag, set_timer_again&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cjne R6, #05h, chk_nxt_1&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb LED_RED&lt;br /&gt;chk_nxt_1:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cjne R6, #0ah, chk_nxt_2&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr LED_RED&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb LED_GREEN&lt;br /&gt;chk_nxt_2:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cjne R6, #0fh, chk_nxt_3&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb LED_RED &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;chk_nxt_3:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cjne R6, #14h, set_timer_again&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr LED_RED&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr LED_GREEN&lt;br /&gt;set_timer_again:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;orl PCON, #01h&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jnb one_sec, led_blink_counter&lt;br /&gt;&lt;br /&gt;jnb ext_intr1_flag, no_intr_cont_with_prog&lt;br /&gt;going_to_power_dwn_mode:&lt;br /&gt;clr ext_intr1_flag&lt;br /&gt;acall clear_hyp_screen&lt;br /&gt;acall disp_stop_mode_msg&lt;br /&gt;push P1&lt;br /&gt;;push acc&lt;br /&gt;mov acc, #00h&lt;br /&gt;mov acc, R1&lt;br /&gt;push acc&lt;br /&gt;mov acc, #00h&lt;br /&gt;mov acc, R2&lt;br /&gt;push acc&lt;br /&gt;push PSW&lt;br /&gt;mov SAVESP, SP&lt;br /&gt;clr LED_GREEN&lt;br /&gt;clr LED_RED&lt;br /&gt;acall shut_off_disp&lt;br /&gt;&lt;br /&gt;mov TAR, #aah&lt;br /&gt;mov TAR, #55h&lt;br /&gt;orl PCON, #42h&lt;br /&gt;&lt;br /&gt;no_intr_cont_with_prog:&lt;br /&gt;check_up_or_dwn: ; this check is to decide whether it is up or down counter&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jnb UP_DWN_SW, up_counter&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jb UP_DWN_SW, down_counter&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov C, UP_DWN_SW&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jc &amp;nbsp;down_counter&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;;---------------------------------------------------------------&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UP COUNTER &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;&lt;br /&gt;;---------------------------------------------------------------&lt;br /&gt;up_counter:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr up_ctr_flag&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr dwn_ctr_flag&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;cjne R1, #01h, carry_reg_not_set&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb LED_RED&lt;br /&gt;; &amp;nbsp; &amp;nbsp;clr LED_GREEN&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr led_blink_flag&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ajmp F1&lt;br /&gt;carry_reg_not_set:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb led_blink_flag&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr C&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R2&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;inc A&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;da A&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;jnc if_no_carry&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R1, #01h&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr C&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #00h&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R2, A&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ajmp F1&lt;br /&gt;if_no_carry:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R2, A&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ajmp F1&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;;--------------------------------------------------------------------------------&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DOWN COUNTER &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;&lt;br /&gt;;--------------------------------------------------------------------------------&lt;br /&gt;down_counter:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr up_ctr_flag&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr dwn_ctr_flag&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb dwn_counter&lt;br /&gt;;---- to check whether it is in 000&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;cjne R2, #00h, here&lt;br /&gt;chk_nex_reg: &amp;nbsp; &amp;nbsp;cjne R1, #00h, here&lt;br /&gt;; &amp;nbsp; &amp;nbsp;clr LED_GREEN&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb LED_RED&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr led_blink_flag&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ajmp F1&lt;br /&gt;;------&lt;br /&gt;&lt;br /&gt;here:&lt;br /&gt;here1:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb led_blink_flag&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;cjne R1, #01h, chk_for_ovfl&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R1, #00h&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R2, #99h&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ajmp F1&lt;br /&gt;chk_for_ovfl:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr C&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R2&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dec A&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall dec_adjust&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R2, A&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ajmp F1&lt;br /&gt;ajmp loop&lt;br /&gt;&lt;br /&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;THIS PART CONTAINS ALL THE SUB-ROUTINES &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;&lt;br /&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;;---------------------------------------------------------&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; INIT SERIAL PORT &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;&lt;br /&gt;;---------------------------------------------------------&lt;br /&gt;init_serial:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr ES&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov SCON,#70h&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;;set up SMOD and timer 1 for baud rate generation&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr data_txn&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;anl PCON,#7fh&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov IE, #10010010B&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb ES&lt;br /&gt;ret&lt;br /&gt;&lt;br /&gt;;------- &amp;nbsp;serial port transmit data ---------&lt;br /&gt;txn_data:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;;cjne R1, #01h, not_reached_hun&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;;mov A, R1&lt;br /&gt;not_reached_hun:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R1&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall cal_ascii_offset&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R2&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;anl A, #f0h&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;swap A&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall cal_ascii_offset&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R2&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;anl A, #0fh&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall cal_ascii_offset&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall carr_return&lt;br /&gt;ret&lt;br /&gt;&lt;br /&gt;transmit:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr TI&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov SBUF, a&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;jnb TI, $+0&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr TI&lt;br /&gt;ret&lt;br /&gt;&lt;br /&gt;cal_ascii_offset:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;add A, #30h&lt;br /&gt;ret &amp;nbsp; &lt;br /&gt;&lt;br /&gt;carr_return:&lt;br /&gt;; &amp;nbsp; &amp;nbsp;mov A, #08h&lt;br /&gt;; &amp;nbsp; &amp;nbsp;acall transmit&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #0dh&lt;br /&gt;; &amp;nbsp; &amp;nbsp;acall transmit&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;br /&gt;ret&lt;br /&gt;&lt;br /&gt;disp_msg_ht:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DPTR, #msg&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R7, #12h&lt;br /&gt;count_for_disp_msg:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr A&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;movc A, @A+DPTR&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;inc DPTR&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R7, count_for_disp_msg&lt;br /&gt;ret &amp;nbsp; &lt;br /&gt;&lt;br /&gt;clear_hyp_screen:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #1Bh&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #5Bh&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #32h&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #4Ah&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;br /&gt;ret&lt;br /&gt;&lt;br /&gt;disp_stop_mode_msg:&lt;br /&gt;; &amp;nbsp; &amp;nbsp;clr A&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DPTR, #stop_md_msg&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R7, #0Fh&lt;br /&gt;count_for_soft_mode_msg:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr A&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;movc A, @A+DPTR&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;inc DPTR&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R7, count_for_soft_mode_msg&lt;br /&gt;ret &amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;;---------------------------------------------------------&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; INIT TIMER &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;&lt;br /&gt;;---------------------------------------------------------&lt;br /&gt;init_timer:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr EA&lt;br /&gt;;------- for timer 0---delay -------- &amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr ET0&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr TR0&lt;br /&gt;;------- for timer 1---serial port baudrate --------&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr ET1&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr TR1&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov TH1,#FDh&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr one_sec&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R6, #14h&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov TMOD, #21h&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov TH0, #B7h&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov TL0, #FFh&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb ET0&lt;br /&gt;; &amp;nbsp; &amp;nbsp;clr ET1&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb TR1&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb EA&lt;br /&gt;ret&lt;br /&gt;&lt;br /&gt;;===========================================================================&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; INIT EXTERNAL INTERRUPT 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;&lt;br /&gt;;===========================================================================&lt;br /&gt;init_ext_interrupt1:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb EX1&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb IT1&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb PX1&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr &amp;nbsp;IE1&lt;br /&gt;ret&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;;============================================================================&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DECIMAL ADJUST FOR DOWN COUNTER &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;&lt;br /&gt;;============================================================================&lt;br /&gt;dec_adjust:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R0, A&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;anl A, #0fh&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;cjne A, #0fh, dec_adj_not_needed&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R0&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;subb A, #06h&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ret&lt;br /&gt;dec_adj_not_needed:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R0&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ret&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;;=============================================================================&lt;br /&gt;; This is to shut off the display when the MCU is going to the power down mode&lt;br /&gt;shut_off_disp:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr C &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; Clearing the carry flag&lt;br /&gt;; &amp;nbsp; &amp;nbsp;mov A, #00h &amp;nbsp; &amp;nbsp; ; taking the value in C1h to write it in control register&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R4, #08h &amp;nbsp; &amp;nbsp;; for clock&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr ENABLE &amp;nbsp; &amp;nbsp; &amp;nbsp;; enable&lt;br /&gt;clk_lp_shut:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr CLK&lt;br /&gt;; &amp;nbsp; &amp;nbsp;rlc A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; rotate acc thru carry&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr C&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DATAIN, C &amp;nbsp; ; move ctrl byte bit by bit to display controller&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb CLK &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; put clock to high&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R4, clk_lp_shut ; compare 8 times to put data&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb ENABLE &amp;nbsp; &amp;nbsp; &amp;nbsp;; clear enable after 8 bits&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;ret &lt;span style="white-space: pre;"&gt;   &lt;/span&gt;; return from this subroutine &amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;br /&gt;;=============================================================================&lt;br /&gt;Config_7SLED:&lt;br /&gt;; routine to configure the configuration Register of MC14489B&lt;br /&gt;; data code = C1h : data to be displayed is coded in hexadecimal&lt;br /&gt;; input – none&lt;br /&gt;; output – none&lt;br /&gt;; destroyed – Acc (for example)&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr C &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; Clearing the carry flag&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #C1h &amp;nbsp; &amp;nbsp; ; taking the value in C1h to write it in control register&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R4, #08h &amp;nbsp; &amp;nbsp;; for clock&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr ENABLE &amp;nbsp; &amp;nbsp; &amp;nbsp;; enable&lt;br /&gt;clk_lp:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr CLK&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;rlc A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; rotate acc thru carry&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DATAIN, C &amp;nbsp; ; move ctrl byte bit by bit to display controller&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb CLK &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; put clock to high&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R4, clk_lp ; compare 8 times to put data&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb ENABLE &amp;nbsp; &amp;nbsp; &amp;nbsp;; clear enable after 8 bits&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;ret &lt;span style="white-space: pre;"&gt;   &lt;/span&gt;; return from this subroutine &amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;br /&gt;;-----------------------------------------------------------------------------&lt;br /&gt;Disp_7SLED:&lt;br /&gt;; routine to display the data in registers R1, R2 &amp;amp; R3 to Bank 1, Bank 3 &amp;amp; Bank 2&lt;br /&gt;; inputs - R1, R2 and R3&lt;br /&gt;; output – none&lt;br /&gt;; destroyed – Acc, R1, R2, R3 (for example)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R6, #14h&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #00h &amp;nbsp; &amp;nbsp;; push R1 value to acc&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R5, #0ch &amp;nbsp; ; taking 24 to R5&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr ENABLE &amp;nbsp; &amp;nbsp; ; enable&lt;br /&gt;&lt;br /&gt;data_lp:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr CLK&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;rlc A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; rotate acc with carry&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DATAIN, C &amp;nbsp; ; put carry in data&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb CLK &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; set clock&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R5, data_lp; compare 24 times to get 24 bits of data&lt;br /&gt;&lt;br /&gt;;;;;;;;;;;;;;;;;;;;;;;;;; &amp;nbsp; &amp;nbsp;BANK 1 &amp;nbsp; &amp;nbsp;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R5, #04h&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R2&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;swap A&lt;br /&gt;data_lp1:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr CLK&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;rlc A&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DATAIN, C&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb CLK&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R5, data_lp1&lt;br /&gt;&lt;br /&gt;;;;;;;;;;;;;;;;;;;;;;;;;; &amp;nbsp; BANK 2 &amp;nbsp; &amp;nbsp;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R5, #04&lt;br /&gt;data_lp2:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr CLK&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;rlc A&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DATAIN, C&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb CLK&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R5, data_lp2&lt;br /&gt;&lt;br /&gt;;;;;;;;;;;;;;;;;;;;;;;;;; &amp;nbsp; &amp;nbsp;BANK 3 &amp;nbsp; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R5, #04&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R1&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;swap A&lt;br /&gt;data_lp3:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr CLK&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;rlc A&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DATAIN, C&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb CLK&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R5, data_lp3&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb ENABLE &amp;nbsp; &amp;nbsp; &amp;nbsp;; clr enable after 24 bits&lt;br /&gt;ret &lt;span style="white-space: pre;"&gt;   &lt;/span&gt;; return from this subroutine&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;;-----------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FOR INTERRUPT SERVICE ROUTINES &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;&lt;br /&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;;---------------------------------------&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp;timer ISR&lt;br /&gt;;---------------------------------------&lt;br /&gt;timer_isr:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr TR0&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov TH0, #4Bh&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov TL0, #FDh&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R6, not_one_sec&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb one_sec&lt;br /&gt;not_one_sec:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb TR0&lt;br /&gt;&lt;br /&gt;reti &amp;nbsp; &lt;br /&gt;&lt;br /&gt;;---------------------------------------&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; serial ISR&lt;br /&gt;;---------------------------------------&lt;br /&gt;serial_isr:&lt;br /&gt;; &amp;nbsp; &amp;nbsp;acall delay&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;jb &amp;nbsp;RI, rx&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;reti&lt;br /&gt;&lt;br /&gt;rx:&lt;br /&gt;; &amp;nbsp; &amp;nbsp;clr LED_GREEN&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov a, SBUF&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R3, a&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb data_txn&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr RI&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;reti&lt;br /&gt;&lt;br /&gt;;--------------------------------------------&lt;br /&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXTERNAL INTERRUPT 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;&lt;br /&gt;;--------------------------------------------&lt;br /&gt;ext_interrupt1:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;jb ext_intr1_flag, if_ext_intr_already_set&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr IE1&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb ext_intr1_flag&lt;br /&gt;reti&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;if_ext_intr_already_set:&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr LED_RED&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr ext_intr1_flag&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr IE1&lt;br /&gt;reti&lt;br /&gt;end&lt;span style="white-space: pre;"&gt; &lt;/span&gt;;End of Program code&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4651376689756306961-7580065500329016552?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/7580065500329016552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=7580065500329016552' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/7580065500329016552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/7580065500329016552'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2009/11/third-assignment-code-on-ds5000-8051-on.html' title='Power management in 8051 [Third assignment code on DS5000 (8051) on NTU SCE board]'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-8500606205440625570</id><published>2009-11-06T22:51:00.000-08:00</published><updated>2009-11-12T04:14:12.312-08:00</updated><title type='text'>Timer up/down counter in 8051 [Second assignment on DS5000 (8051) NTU SCE board]</title><content type='html'>&lt;div style="text-align: justify;"&gt;The second one is the timer code where for every one second the counter increments, the rest of the conditions are same as the SPI counter in the previous post.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;----------------------------------------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; SPI.asm&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; Driver for the DS5000 to display data on the three 7-Segments LEDs&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;----------------------------------------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; m a i n &amp;nbsp; &amp;nbsp;p r o g r a m&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; ----------------------------------------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;#include &lt;sfr51.inc&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;; 8051 SFR and ports are defined here&lt;/sfr51.inc&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;STACK &amp;nbsp; &amp;nbsp; &amp;nbsp; equ &amp;nbsp; &amp;nbsp; 70h &amp;nbsp; &lt;span style="white-space: pre;"&gt; &lt;/span&gt;; Stack pointer starting address(growing upward)&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;ENABLE &amp;nbsp; &amp;nbsp; &amp;nbsp;bit &amp;nbsp; &amp;nbsp; P2.0 &amp;nbsp; &amp;nbsp;; Taking port 2.1 in enable&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;DATAIN &amp;nbsp; &amp;nbsp; &amp;nbsp;bit &amp;nbsp; &amp;nbsp; P2.2 &amp;nbsp; &amp;nbsp;; Taking port 2.3 in data&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;CLK &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bit &amp;nbsp; &amp;nbsp; P2.1 &amp;nbsp; &amp;nbsp;; Taking port 2.2 in clock&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;PB_INT0 &amp;nbsp; &amp;nbsp; bit &amp;nbsp; &amp;nbsp; P3.2 &amp;nbsp; &amp;nbsp;; push button port&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;LED_GREEN &amp;nbsp; bit &amp;nbsp; &amp;nbsp; P1.0&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;LED_RED &amp;nbsp; &amp;nbsp; bit &amp;nbsp; &amp;nbsp; P1.1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;UP_DWN_SW &amp;nbsp; bit &amp;nbsp; &amp;nbsp; P3.4&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;bseg&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;data_txn: &amp;nbsp; &amp;nbsp;dbit &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; ; This is to check whether one second is reached&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;dwn_counter: dbit &amp;nbsp; &amp;nbsp;1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;one_sec: &amp;nbsp; &amp;nbsp; dbit &amp;nbsp; &amp;nbsp;1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;led_blink_flag: dbit &amp;nbsp; 1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;dwn_ctr_flag: &amp;nbsp; dbit &amp;nbsp; &amp;nbsp;1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;up_ctr_flag: &amp;nbsp; &amp;nbsp;dbit &amp;nbsp; &amp;nbsp;1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;rxbuf &amp;nbsp; &amp;nbsp; &amp;nbsp; equ &amp;nbsp; &amp;nbsp; 00h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;end&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; ---- Start execution at 0000h after reset/power-up ------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;cseg at 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="white-space: pre;"&gt;  &lt;/span&gt;; absolute code segment starting at 0000h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ajmp &amp;nbsp; Start &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="white-space: pre;"&gt; &lt;/span&gt;; reset vector - first instruction is to jump to user program&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;cseg at 0bh&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ljmp &amp;nbsp; timer_isr&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;cseg at 23h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ljmp &amp;nbsp; &amp;nbsp;serial_isr&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;cseg at 03h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ljmp &amp;nbsp; &amp;nbsp;ext_interrupt0&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; ----- Start of user program --------------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;cseg at 0030h &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="white-space: pre;"&gt;  &lt;/span&gt;; absolute code segment starting at 0030h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;msg: &amp;nbsp; &amp;nbsp;db &amp;nbsp; &amp;nbsp; &amp;nbsp;"CURRENT COUNT IS: "&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Start: &amp;nbsp;mov&lt;span style="white-space: pre;"&gt; &lt;/span&gt;SP,#STACK&lt;span style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;; set up the stack pointer &amp;nbsp;– needed for calling subroutine&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall Config_7SLED &lt;span style="white-space: pre;"&gt; &lt;/span&gt;; call the routine to configure the Configuration Register&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ACALL init_timer &amp;nbsp; &amp;nbsp;; Initialize timer&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall init_serial &amp;nbsp; ; Initialize serial port&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall init_ext_interrupt0 &amp;nbsp; ; call routine to initialize external interrupt&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb &amp;nbsp; &amp;nbsp;TR0&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;mov &lt;span style="white-space: pre;"&gt; &lt;/span&gt;R1,#00h &lt;span style="white-space: pre;"&gt; &lt;/span&gt;; E.g. Display on Bank 1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;mov &lt;span style="white-space: pre;"&gt; &lt;/span&gt;R2,#00h &lt;span style="white-space: pre;"&gt; &lt;/span&gt;; E.g. Display on Bank 2&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp;&lt;span style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;mov &lt;span style="white-space: pre;"&gt; &lt;/span&gt;R3,#00h &lt;span style="white-space: pre;"&gt; &lt;/span&gt;; E.g. Display on Bank 3&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;for down count&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb &amp;nbsp; &amp;nbsp;UP_DWN_SW&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;clr &amp;nbsp; &amp;nbsp; LED_GREEN&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; dwn_counter&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; led_blink_flag&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; LED_RED&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; LED_GREEN&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb &amp;nbsp; &amp;nbsp;UP_DWN_SW&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall clear_page&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall &amp;nbsp; disp_msg_ht&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;loop:&lt;span style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;&lt;span style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp; &amp;nbsp;; display data onto the LEDs&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;--------- to detect botton press ------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;F1: &amp;nbsp; &amp;nbsp; clr one_sec&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall Disp_7SLED &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall disp_msg_ht&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall txn_data&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;led_blink_counter:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jnb led_blink_flag, set_timer_again&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cjne R6, #05h, chk_nxt_1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb LED_RED&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;chk_nxt_1:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cjne R6, #0ah, chk_nxt_2&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr LED_RED&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb LED_GREEN&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;chk_nxt_2:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cjne R6, #0fh, chk_nxt_3&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb LED_RED &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;chk_nxt_3:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cjne R6, #14h, set_timer_again&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr LED_RED&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr LED_GREEN&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;set_timer_again:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;orl PCON, #01h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jnb one_sec, led_blink_counter&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov C, UP_DWN_SW&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jc down_counter&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;---------------------------------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UP COUNTER &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;---------------------------------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;up_counter:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr up_ctr_flag&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr dwn_ctr_flag&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;cjne R1, #01h, carry_reg_not_set&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr LED_RED&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr led_blink_flag&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ajmp F1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;carry_reg_not_set:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb led_blink_flag&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr C&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R2&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;inc A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;da A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;jnc if_no_carry&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R1, #01h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr C&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #00h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R2, A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ajmp F1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;if_no_carry:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R2, A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ajmp F1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;--------------------------------------------------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DOWN COUNTER &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;--------------------------------------------------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;down_counter:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr up_ctr_flag&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr dwn_ctr_flag&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb dwn_counter&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;---- to check whether it is in 000&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;cjne R2, #00h, here&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;chk_nex_reg: &amp;nbsp; &amp;nbsp;cjne R1, #00h, here&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr LED_RED&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr led_blink_flag&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ajmp F1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;here:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;here1:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb led_blink_flag&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;cjne R1, #01h, chk_for_ovfl&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R1, #00h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R2, #99h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ajmp F1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;chk_for_ovfl:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr C&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R2&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dec A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall dec_adjust&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R2, A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ajmp F1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;ajmp loop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;THIS PART CONTAINS ALL THE SUB-ROUTINES &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;---------------------------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; INIT SERIAL PORT &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;---------------------------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;init_serial:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr ES&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov SCON,#70h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;;set up SMOD and timer 1 for baud rate generation&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr data_txn&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;anl PCON,#7fh&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov IE, #10010010B&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb ES&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;ret&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;------- &amp;nbsp;serial port transmit data ---------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;txn_data:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;;cjne R1, #01h, not_reached_hun&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;;mov A, R1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;not_reached_hun:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall cal_ascii_offset&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R2&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;anl A, #f0h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;swap A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall cal_ascii_offset&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R2&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;anl A, #0fh&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall cal_ascii_offset&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall carr_return&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;ret&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;transmit:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr TI&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov SBUF, a&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;jnb TI, $+0&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr TI&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;ret&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;cal_ascii_offset:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;add A, #30h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;ret &amp;nbsp; &lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;carr_return:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp;mov A, #08h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp;acall transmit&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #0dh&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp;acall transmit&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;ret&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;disp_msg_ht:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DPTR, #msg&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R7, #12h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;count_for_disp_msg:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;movc A, @A+DPTR&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;inc DPTR&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall transmit&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R7, count_for_disp_msg&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;ret &amp;nbsp; &lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;clear_page:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;mov A, #0Ch&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;acall transmit&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;ret&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;---------------------------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; INIT TIMER &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;---------------------------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;init_timer:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr EA&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;------- for timer 0---delay -------- &amp;nbsp; &lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr ET0&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr TR0&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;------- for timer 1---serial port baudrate --------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr ET1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr TR1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov TH1,#FDh&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr one_sec&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R6, #14h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov TMOD, #21h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov TH0, #B7h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov TL0, #FFh&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb ET0&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp;clr ET1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb TR1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb EA&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;ret&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;=============================================================================&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EXTERNAL INTERRUPT &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;=============================================================================&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;init_ext_interrupt0:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb EX0&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb IT0&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr &amp;nbsp;PX0&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr &amp;nbsp;IE0&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb EA&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;ret&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;============================================================================&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DECIMAL ADJUST FOR DOWN COUNTER &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;============================================================================&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;dec_adjust:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R0, A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;anl A, #0fh&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;cjne A, #0fh, dec_adj_not_needed&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R0&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;subb A, #06h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ret&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;dec_adj_not_needed:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R0&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ret&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;=============================================================================&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Config_7SLED:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; routine to configure the configuration Register of MC14489B&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; data code = C1h : data to be displayed is coded in hexadecimal&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; input – none&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; output – none&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; destroyed – Acc (for example)&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr C &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; Clearing the carry flag&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #C1h &amp;nbsp; &amp;nbsp; ; taking the value in C1h to write it in control register&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R4, #08h &amp;nbsp; &amp;nbsp;; for clock&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr ENABLE &amp;nbsp; &amp;nbsp; &amp;nbsp;; enable&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;clk_lp:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr CLK&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;rlc A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; rotate acc thru carry&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DATAIN, C &amp;nbsp; ; move ctrl byte bit by bit to display controller&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb CLK &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; put clock to high&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R4, clk_lp ; compare 8 times to put data&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb ENABLE &amp;nbsp; &amp;nbsp; &amp;nbsp;; clear enable after 8 bits&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;ret &lt;span style="white-space: pre;"&gt;   &lt;/span&gt;; return from this subroutine &amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;-----------------------------------------------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Disp_7SLED:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; routine to display the data in registers R1, R2 &amp;amp; R3 to Bank 1, Bank 3 &amp;amp; Bank 2&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; inputs - R1, R2 and R3&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; output – none&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; destroyed – Acc, R1, R2, R3 (for example)&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R6, #14h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #00h &amp;nbsp; &amp;nbsp;; push R1 value to acc&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R5, #0ch &amp;nbsp; ; taking 24 to R5&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr ENABLE &amp;nbsp; &amp;nbsp; ; enable&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;data_lp:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr CLK&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;rlc A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; rotate acc with carry&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DATAIN, C &amp;nbsp; ; put carry in data&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb CLK &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; set clock&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R5, data_lp; compare 24 times to get 24 bits of data&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;; &amp;nbsp; &amp;nbsp;BANK 1 &amp;nbsp; &amp;nbsp;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R5, #04h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R2&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;swap A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;data_lp1:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr CLK&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;rlc A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DATAIN, C&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb CLK&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R5, data_lp1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;; &amp;nbsp; BANK 2 &amp;nbsp; &amp;nbsp;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R5, #04&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;data_lp2:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr CLK&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;rlc A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DATAIN, C&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb CLK&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R5, data_lp2&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;; &amp;nbsp; &amp;nbsp;BANK 3 &amp;nbsp; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R5, #04&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;swap A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;data_lp3:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr CLK&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;rlc A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DATAIN, C&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb CLK&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R5, data_lp3&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb ENABLE &amp;nbsp; &amp;nbsp; &amp;nbsp;; clr enable after 24 bits&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;ret &lt;span style="white-space: pre;"&gt;   &lt;/span&gt;; return from this subroutine&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;-----------------------------------------------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FOR INTERRUPT SERVICE ROUTINES &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;---------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp;timer ISR&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;---------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;timer_isr:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr TR0&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov TH0, #4Bh&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov TL0, #FDh&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R6, not_one_sec&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb one_sec&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;not_one_sec:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb TR0&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;reti &amp;nbsp; &lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;---------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; serial ISR&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;---------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;serial_isr:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp;acall delay&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;jb &amp;nbsp;RI, rx&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;reti&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;rx:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov a, SBUF&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R3, a&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb data_txn&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr RI&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;reti&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;end&lt;span style="white-space: pre;"&gt; &lt;/span&gt;;End of Program code&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&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/4651376689756306961-8500606205440625570?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/8500606205440625570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=8500606205440625570' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/8500606205440625570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/8500606205440625570'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2009/11/second-assignment-on-ds5000-8051-ntu.html' title='Timer up/down counter in 8051 [Second assignment on DS5000 (8051) NTU SCE board]'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-8497581859477074120</id><published>2009-11-06T22:49:00.000-08:00</published><updated>2009-11-12T04:14:38.194-08:00</updated><title type='text'>SPI up/down counter [First assignment on DS5000 (8051) board from NTU SCE]</title><content type='html'>&lt;div style="text-align: justify;"&gt;My first assignment was just to&amp;nbsp;increment&amp;nbsp;and decrement the count. &amp;nbsp;count goes from 000 - 100. At 000 and 100 RED LED will glow showing the&amp;nbsp;boundaries. within this&amp;nbsp;boundary&amp;nbsp;RED LED will be in off state. &amp;nbsp;The up/down is selected from the DIP switch.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;This program works in IDLE mode and draws a current of less than 5mA.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;It was done and compiled in Reads51 IDE and the tool chain it provided.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Happy coding.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;----------------------------------------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; m a i n &amp;nbsp; &amp;nbsp;p r o g r a m&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; ----------------------------------------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;#include &lt;sfr51.inc&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;; 8051 SFR and ports are defined here&lt;/sfr51.inc&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;STACK &amp;nbsp; &amp;nbsp; &amp;nbsp; equ &amp;nbsp; &amp;nbsp; 70h &amp;nbsp; &lt;span style="white-space: pre;"&gt; &lt;/span&gt;; Stack pointer starting address(growing upward)&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;ENABLE &amp;nbsp; &amp;nbsp; &amp;nbsp;bit &amp;nbsp; &amp;nbsp; P2.0 &amp;nbsp; &amp;nbsp;; Taking port 2.1 in enable&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;DATAIN &amp;nbsp; &amp;nbsp; &amp;nbsp;bit &amp;nbsp; &amp;nbsp; P2.2 &amp;nbsp; &amp;nbsp;; Taking port 2.3 in data&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;CLK &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bit &amp;nbsp; &amp;nbsp; P2.1 &amp;nbsp; &amp;nbsp;; Taking port 2.2 in clock&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;PB_INT0 &amp;nbsp; &amp;nbsp; bit &amp;nbsp; &amp;nbsp; P3.2 &amp;nbsp; &amp;nbsp;; push button port&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;LED_GREEN &amp;nbsp; bit &amp;nbsp; &amp;nbsp; P1.0&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;LED_RED &amp;nbsp; &amp;nbsp; bit &amp;nbsp; &amp;nbsp; P1.1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;UP_DWN_SW &amp;nbsp; bit &amp;nbsp; &amp;nbsp; P3.4&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;bseg&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;data_txn: &amp;nbsp; &amp;nbsp;dbit &amp;nbsp; &amp;nbsp;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; ; This is to check whether one second is reached&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;dwn_counter: dbit &amp;nbsp; &amp;nbsp;1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;dwn_ctr_flag: &amp;nbsp; dbit &amp;nbsp; &amp;nbsp;1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;up_ctr_flag: &amp;nbsp; &amp;nbsp;dbit &amp;nbsp; &amp;nbsp;1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;rxbuf &amp;nbsp; &amp;nbsp; &amp;nbsp; equ &amp;nbsp; &amp;nbsp; 00h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;end&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; ---- Start execution at 0000h after reset/power-up ------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;cseg at 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="white-space: pre;"&gt;  &lt;/span&gt;; absolute code segment starting at 0000h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ajmp &amp;nbsp; Start &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="white-space: pre;"&gt; &lt;/span&gt;; reset vector - first instruction is to jump to user program&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;cseg at 03h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ljmp &amp;nbsp; &amp;nbsp;ext_interrupt0&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; ----- Start of user program --------------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;cseg at 0030h &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="white-space: pre;"&gt;  &lt;/span&gt;; absolute code segment starting at 0030h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Start: &amp;nbsp;mov&lt;span style="white-space: pre;"&gt; &lt;/span&gt;SP,#STACK&lt;span style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;; set up the stack pointer &amp;nbsp;– needed for calling subroutine&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall Config_7SLED &lt;span style="white-space: pre;"&gt; &lt;/span&gt;; call the routine to configure the Configuration Register&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall init_ext_interrupt0 &amp;nbsp; ; call routine to initialize external interrupt&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;mov &lt;span style="white-space: pre;"&gt; &lt;/span&gt;R1,#00h &lt;span style="white-space: pre;"&gt; &lt;/span&gt;; E.g. Display on Bank 1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;mov &lt;span style="white-space: pre;"&gt; &lt;/span&gt;R2,#00h &lt;span style="white-space: pre;"&gt; &lt;/span&gt;; E.g. Display on Bank 2&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp;&lt;span style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;mov &lt;span style="white-space: pre;"&gt; &lt;/span&gt;R3,#00h &lt;span style="white-space: pre;"&gt; &lt;/span&gt;; E.g. Display on Bank 3&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;for down count&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb &amp;nbsp; &amp;nbsp;UP_DWN_SW&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; LED_GREEN&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; dwn_counter&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; dwn_ctr_flag&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr &amp;nbsp; &amp;nbsp; up_ctr_flag&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb &amp;nbsp; &amp;nbsp;LED_RED&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb &amp;nbsp; &amp;nbsp;UP_DWN_SW&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;loop:&lt;span style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;&lt;span style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp; &amp;nbsp;; display data onto the LEDs&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;--------- to detect botton press ------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;F1: &amp;nbsp; &lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall Disp_7SLED &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;acall delay&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr C&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jb PB_INT0, $&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jnb PB_INT0, $&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov C, UP_DWN_SW&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;orl PCON, #01h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jb &amp;nbsp;dwn_ctr_flag, down_counter&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jb &amp;nbsp;up_ctr_flag, up_counter&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr up_ctr_flag&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr dwn_ctr_flag&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ajmp F1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr dwn_ctr_flag&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr LED_RED&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;--------------- counting logic ---------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;---------------------------------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UP COUNTER &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;---------------------------------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;up_counter:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr up_ctr_flag&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr dwn_ctr_flag&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;cjne R1, #01h, carry_reg_not_set&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb LED_RED&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ajmp F1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;carry_reg_not_set:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr C&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr LED_RED&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R2&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;inc A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;da A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;jnc if_no_carry&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R1, #01h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr C&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #00h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R2, A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb LED_RED&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ajmp F1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;if_no_carry:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R2, A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ajmp F1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;--------------------------------------------------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DOWN COUNTER &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;--------------------------------------------------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;down_counter:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr dwn_ctr_flag&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr up_ctr_flag&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb dwn_counter&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;---- to check whether it is in 000&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;cjne R2, #00h, here&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;chk_nex_reg: &amp;nbsp; &amp;nbsp;cjne R1, #00h, here&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb LED_RED&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ajmp F1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;here:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;here1:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;cjne R1, #01h, chk_for_ovfl&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R1, #00h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R2, #99h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ajmp F1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;chk_for_ovfl:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr LED_RED&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr C&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R2&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;dec A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall dec_adjust&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R2, A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ajmp F1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;ajmp loop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;============================================================================&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DECIMAL ADJUST FOR DOWN COUNTER &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;============================================================================&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;dec_adjust:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R0, A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;anl A, #0fh&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;cjne A, #0fh, dec_adj_not_needed&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R0&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;subb A, #06h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ret&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;dec_adj_not_needed:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R0&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ret&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;=============================================================================&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EXTERNAL INTERRUPT &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;=============================================================================&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;init_ext_interrupt0:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb EX0&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb IT0&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr &amp;nbsp;PX0&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr &amp;nbsp;IE0&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb EA&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;ret&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;=============================================================================&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Config_7SLED:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; routine to configure the configuration Register of MC14489B&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; data code = C1h : data to be displayed is coded in hexadecimal&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; input – none&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; output – none&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; destroyed – Acc (for example)&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr C &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; Clearing the carry flag&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #C1h &amp;nbsp; &amp;nbsp; ; taking the value in C1h to write it in control register&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R4, #08h &amp;nbsp; &amp;nbsp;; for clock&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr ENABLE &amp;nbsp; &amp;nbsp; &amp;nbsp;; enable&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;clk_lp:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr CLK&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;rlc A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; rotate acc thru carry&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DATAIN, C &amp;nbsp; ; move ctrl byte bit by bit to display controller&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb CLK &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; put clock to high&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R4, clk_lp ; compare 8 times to put data&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb ENABLE &amp;nbsp; &amp;nbsp; &amp;nbsp;; clear enable after 8 bits&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;ret &lt;span style="white-space: pre;"&gt;   &lt;/span&gt;; return from this subroutine &amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;-----------------------------------------------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Disp_7SLED:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; routine to display the data in registers R1, R2 &amp;amp; R3 to Bank 1, Bank 3 &amp;amp; Bank 2&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; inputs - R1, R2 and R3&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; output – none&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; destroyed – Acc, R1, R2, R3 (for example)&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, #00h &amp;nbsp; &amp;nbsp;; push R1 value to acc&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R5, #0ch &amp;nbsp; ; taking 24 to R5&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr ENABLE &amp;nbsp; &amp;nbsp; ; enable&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;data_lp:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr CLK&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;rlc A &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ; rotate acc with carry&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DATAIN, C &amp;nbsp; ; put carry in data&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb CLK &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;; set clock&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R5, data_lp; compare 24 times to get 24 bits of data&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;; &amp;nbsp; &amp;nbsp;BANK 1 &amp;nbsp; &amp;nbsp;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R5, #04h&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R2&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;swap A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;data_lp1:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr CLK&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;rlc A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DATAIN, C&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb CLK&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R5, data_lp1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;; &amp;nbsp; BANK 2 &amp;nbsp; &amp;nbsp;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R5, #04&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp;mov A, R2&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp;swap A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;data_lp2:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr CLK&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;rlc A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DATAIN, C&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb CLK&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R5, data_lp2&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;;;;;;;;;;;;;;;;;;;;;;;;; &amp;nbsp; &amp;nbsp;BANK 3 &amp;nbsp; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R5, #04&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov A, R1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;swap A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;data_lp3:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr CLK&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;rlc A&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov DATAIN, C&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb CLK&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;nop&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R5, data_lp3&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb ENABLE &amp;nbsp; &amp;nbsp; &amp;nbsp;; clr enable after 24 bits&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;------------ to toggle LED for a moment ------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;setb LED_GREEN&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;acall delay&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;clr LED_GREEN&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ret &lt;span style="white-space: pre;"&gt;   &lt;/span&gt;; return from this subroutine&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;-----------------------------------------------------------------------------&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;====================================================================&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; This is the delay routine used to toggle LED&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;delay:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;mov R7, #ffh&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;L2: mov R6, #ffh&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;L1: djnz R6, L1&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;djnz R7, L2&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ret&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;========================================================================&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EXTERNAL INTERRUPT 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;;========================================================================&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;ext_interrupt0:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr IE0 &amp;nbsp; &lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr C&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;jb PB_INT0, $&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;jnb PB_INT0, $&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov C, UP_DWN_SW&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jc &amp;nbsp;dwn_ctr_en&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr dwn_ctr_flag&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb up_ctr_flag&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;reti&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;dwn_ctr_en:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setb dwn_ctr_flag&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clr up_ctr_flag&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;jc &amp;nbsp;down_counter&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;reti&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;end&lt;span style="white-space: pre;"&gt; &lt;/span&gt;;End of Program code&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&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/4651376689756306961-8497581859477074120?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/8497581859477074120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=8497581859477074120' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/8497581859477074120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/8497581859477074120'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2009/11/first-assignment-on-ds5000-8051-board.html' title='SPI up/down counter [First assignment on DS5000 (8051) board from NTU SCE]'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-5740548010622329256</id><published>2009-11-06T22:42:00.000-08:00</published><updated>2009-11-06T22:42:31.930-08:00</updated><title type='text'>Disappointment with the assessment results..!</title><content type='html'>&lt;div style="text-align: justify;"&gt;Today is a day I want to forget forever. &amp;nbsp;The day I started working with 8051 and the DS5000 board form NTU SCE I was totally taken away by all the work that a simple micro controller can do. &amp;nbsp;I started implementing all my assignments on by one spending nights, there were days when I&amp;nbsp;haven't&amp;nbsp;slept at all. &amp;nbsp;I was totally crazy and wanted to master this one before moving to other advanced controllers next semester. &amp;nbsp;Today was the judgement day. &amp;nbsp;I was devastated, despised, distressed and what not. &amp;nbsp;My staff gave me marks which I never imagined even it my worst dream. &amp;nbsp;All my struggle and nights work came crumbling down. &amp;nbsp;So I thought of releasing the source code. &amp;nbsp;I can do all the improvements that he asked me to do, nothing difficult in that. &amp;nbsp;But since I dont have the DS5000 board with me now, I am putting up the code here... &amp;nbsp;anyone who wants it can download it, learn from it, and make few enhancements on this to make it work perfectly as required. &amp;nbsp;But I really don't what gave me such a keen interest in this simple assignment. &amp;nbsp; &amp;nbsp;I was so interested and taken away that I was not interested in any other subject as I was in this one. &amp;nbsp;Nothing in life is worth such a great concern, so who ever needs this code, do not spent your entire time on the things that you are interested alone. &amp;nbsp;Try to make all subjects as equal when you are in a university like NTU. &amp;nbsp;I thought masters is something where you gain a command over everyone else in one subject that you really are interested but that is not the case in NTU. &amp;nbsp;Check for my following posts for the code one-by-one. &amp;nbsp;If possible I will put up my space invader game video on youtube.&lt;/div&gt;&lt;div style="text-align: justify;"&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/4651376689756306961-5740548010622329256?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/5740548010622329256/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=5740548010622329256' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/5740548010622329256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/5740548010622329256'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2009/11/disappointment-with-assessment-results.html' title='Disappointment with the assessment results..!'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-5033208407071619700</id><published>2009-10-25T08:51:00.001-07:00</published><updated>2009-10-25T09:05:29.560-07:00</updated><title type='text'>Two problems in ubuntu 9.04 release...!</title><content type='html'>&lt;div style="text-align: justify;"&gt;In my latest Ubuntu 9.04 installation I tried installing it with the option "keep vista and ubuntu side-by-side".  But after installing ubuntu I realized it was installed without partitioning even a small amount of extra space other than that required for the typical OS installation.  I was not able to install even my nvidia graphics driver over that...  it said no space available.  So I had to go to windows create a new partition and then install again in this new partition and do everything all the way from the first...  Ubuntu developers actually tried to make the installation simple even thou and additional OS is already installed but it ended up as a total failure...  It would really be good if it asks for the partition as in Red Hat installation.  To make matter worse it also overwrote my windows bootloader with grub... it would have been better it by default it can just override the win bootloader rather than overwriting it with grub....  these are two thing I found that caused real problem in Ubuntu 9.04 release installation...  If any Ubuntu developer comes across this you can just write a patch to correct this... this will help a lot of ubuntu newbies like me...!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4651376689756306961-5033208407071619700?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/5033208407071619700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=5033208407071619700' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/5033208407071619700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/5033208407071619700'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2009/10/two-problems-in-ubuntu-904-release.html' title='Two problems in ubuntu 9.04 release...!'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-4592195175765169841</id><published>2009-10-02T02:43:00.000-07:00</published><updated>2009-10-02T03:03:31.247-07:00</updated><title type='text'>How to get "Atheros AR8131" working in ubuntu 9.04</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;I happened to face this problem with my newly installed ubuntu 9.04 on acer 4736G.  I thought many of you may have the same problem, so thought of writing down a step-by-step approach for this... Acer actually had a next generation network card Aetheros AR8131 PCI-E gigabit ethernet controller.  The first problem for me was to find the driver in internet.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;step 1: Download the driver from your windows or you can copy in to ubuntu via thumbdrive, from the aetheros website or some other linux forums. One such download link is here: &lt;/span&gt;&lt;a href="http://www.chipdrivers.com/chipset/network-adapter/atheros/ar8131/linux/"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;http://www.chipdrivers.com/chipset/network-adapter/atheros/ar8131/linux/&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;or http://www.chipdrivers.com/download-get/785/191/36/ &lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;one among this should work...  you agree to the terms and conditions and start downloading.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;step 2: Untar/unzip archive:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;tar xvf arl1e-x.x.x.x.tar.gz&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Step 3: Change to the driver src directory to the directory where you have untarred the file.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;e.g.     cd arl1e-x.x.x.x/src/&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Step 4: Compile the driver module:  make install&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;The binary will be installed as:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;     /lib/modules/&lt;kernel&gt;/kernel/drivers/net/arl1e.ko&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;Step 5: Insert the module in the kernel:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;e.g.   insmod arl1e.ko&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span"  style="font-family:georgia;"&gt;That will have you network card working in ubuntu 9.04.  You can also see the Readme file for a good installation guide.&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/4651376689756306961-4592195175765169841?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/4592195175765169841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=4592195175765169841' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/4592195175765169841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/4592195175765169841'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2009/10/how-to-get-atheros-ar8131-working-in.html' title='How to get &quot;Atheros AR8131&quot; working in ubuntu 9.04'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-2135086788620706431</id><published>2009-10-02T02:21:00.000-07:00</published><updated>2009-10-02T02:43:12.998-07:00</updated><title type='text'>My new website hosted on NTU server</title><content type='html'>&lt;div style="text-align: justify;"&gt;When I was searching for "how to create web page" in google...  it gave some weird links like WYSWYG...   it looked so funny some kind of unrelated stuff.. I thought until very late I realized it is nothing but What You See is What You Get, the principle over which many web designing s/w's are designed...  Accidentally I slipped into one such software called MS publisher... I think it is designed for beginners of web designing like me...   for experienced ppl this one will be a mere waste of money, but for me it was an amazing piece of s/w...  Thanks to microsoft... however strong open source community may be MS stands distinct with these kind of easy-to-use s/ws... (I tried out seamonkey too, a open source web designing s/w from mozilla, it was no where near publisher). It took just a day for me to design my entire website and publish it with that... though it doesn't look so great a mere static web page by design, but I am fully satiafied with what I have done...  too much for a beginner of web designing... &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;here is the link for my first web-site.. take a look at it...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;www3.ntu.edu.sg/home2009/asho0003&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4651376689756306961-2135086788620706431?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/2135086788620706431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=2135086788620706431' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/2135086788620706431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/2135086788620706431'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2009/10/my-new-website-hosted-on-ntu-server.html' title='My new website hosted on NTU server'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-5383893391858892306</id><published>2009-10-01T11:53:00.000-07:00</published><updated>2009-10-01T11:58:53.903-07:00</updated><title type='text'>Hurray... got the output</title><content type='html'>&lt;div style="text-align: justify;"&gt;So finally after a days struggle I found that getting the perspective view is nothing but turning the object around and the camera position.  So finally done exactly with what was given to me to do.  here is the code and final output image.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;                                                                            &lt;/div&gt;&lt;div&gt;#include "colors.inc"&lt;/div&gt;&lt;div&gt;#include "textures.inc"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;/*&lt;/div&gt;&lt;div&gt; * Here we fix the camera position&lt;/div&gt;&lt;div&gt; */&lt;/div&gt;&lt;div&gt;camera {&lt;/div&gt;&lt;div&gt;   location &lt;-5, 10, -15&gt;&lt;/div&gt;&lt;div&gt;   direction &lt;0,&gt;&lt;/div&gt;&lt;div&gt;   right x*1.33&lt;/div&gt;&lt;div&gt;   look_at &lt;0,0,0&gt;&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;/* here the first component is for the x-axis rotation &lt;/div&gt;&lt;div&gt; * The third component is for y-axis rotation&lt;/div&gt;&lt;div&gt; * The middle component gives the brightness of light&lt;/div&gt;&lt;div&gt; */&lt;/div&gt;&lt;div&gt;light_source {&lt;&gt; color White&lt;/div&gt;&lt;div&gt;} &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;/*&lt;/div&gt;&lt;div&gt; * Here we declare the checker variable&lt;/div&gt;&lt;div&gt; * We create a box with 0 height to make it a sqaure&lt;/div&gt;&lt;div&gt; * In the pigment we give the checker pattern with color &lt;/div&gt;&lt;div&gt; * specified as black and white.&lt;/div&gt;&lt;div&gt; * Then we rotate it to get it to the center of the axis&lt;/div&gt;&lt;div&gt; */&lt;/div&gt;&lt;div&gt;#declare mychecker = &lt;/div&gt;&lt;div&gt;box { &lt;-3.75,0,-3.75&gt;,&lt;3.75,0,3.75&gt;&lt;/div&gt;&lt;div&gt;  pigment { checker rgb &lt;0,0,0&gt;, rgb &lt;1,1,1&gt;}// scale 0.3 }&lt;/div&gt;&lt;div&gt;  rotate -y*(-18)&lt;/div&gt;&lt;div&gt;}   &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;/*&lt;/div&gt;&lt;div&gt; * Here we declare the stick that is to be kept above the checker &lt;/div&gt;&lt;div&gt; * Parameters for all the six sides are given&lt;/div&gt;&lt;div&gt; * The pigment gives the color to be painted on the cube&lt;/div&gt;&lt;div&gt; */  &lt;/div&gt;&lt;div&gt;#declare stick=&lt;/div&gt;&lt;div&gt;box {&lt;0,0,0&gt;,&lt;0.1,2.5,0.1&gt; pigment {rgb&lt;1,1,0&gt;}&lt;/div&gt;&lt;div&gt;translate &lt;1.10,&gt;&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;/*&lt;/div&gt;&lt;div&gt; * This union will give all the shapes that should be displayed&lt;/div&gt;&lt;div&gt; */&lt;/div&gt;&lt;div&gt;union {&lt;/div&gt;&lt;div&gt;        object {mychecker} &lt;/div&gt;&lt;div&gt;        object {stick}&lt;/div&gt;&lt;div&gt;}        &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;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_8y8jIhkzm20/SsT7StRR6HI/AAAAAAAAABY/vl9ozTTJOg8/s1600-h/checker_3d_perspective.jpg"&gt;&lt;img src="http://2.bp.blogspot.com/_8y8jIhkzm20/SsT7StRR6HI/AAAAAAAAABY/vl9ozTTJOg8/s320/checker_3d_perspective.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5387707353050245234" style="cursor: pointer; width: 320px; height: 250px; " /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;To add to this happiness today I got the idle mode and power down mode in the 8051 code working for the up_down counter program I had written already.  I will put up the code as soon as my assignments get over.  Got to do a few more in that A menu driven program and a space invaders game....  hope I will be completing it soon....&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/4651376689756306961-5383893391858892306?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/5383893391858892306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=5383893391858892306' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/5383893391858892306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/5383893391858892306'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2009/10/hurray-got-output.html' title='Hurray... got the output'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_8y8jIhkzm20/SsT7StRR6HI/AAAAAAAAABY/vl9ozTTJOg8/s72-c/checker_3d_perspective.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-1793507343223161608</id><published>2009-09-29T12:42:00.000-07:00</published><updated>2009-09-29T12:58:25.376-07:00</updated><title type='text'>After hours of struggle its done...</title><content type='html'>&lt;div style="text-align: justify;"&gt;Last time when I met my project prof. he asked me to start with the construction of the compound eye image with POV-ray.  Since I was a novice to POV-ray, he gave me a task to be done using that(A checker board with a stick standing vertically on it).  After struggling for an entire week finally I got the output today.  Here is the code.  I made sure that I inserted as many comments as possible because, next time when I see this code I may find it difficult to understand.  It will be very simple for those who know POV-ray, but for me this was an accomplishment. hurray.....&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;/***********************************************************************************&lt;/div&gt;&lt;div style="text-align: justify;"&gt;*&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;CODE TO CONSTRUCT A CHECKER BOARD WITH A STICK ON IT&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;      *&lt;/div&gt;&lt;div style="text-align: justify;"&gt;***********************************************************************************/&lt;/div&gt;&lt;div style="text-align: justify;"&gt;#include "colors.inc"&lt;/div&gt;&lt;div style="text-align: justify;"&gt;#include "textures.inc"&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;/*&lt;/div&gt;&lt;div style="text-align: justify;"&gt; * Here we fix the camera position&lt;/div&gt;&lt;div style="text-align: justify;"&gt; */&lt;/div&gt;&lt;div style="text-align: justify;"&gt;camera {&lt;/div&gt;&lt;div style="text-align: justify;"&gt;   location &lt;-5, 10, -15&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;   direction &lt;0,&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;   right x*1.33&lt;/div&gt;&lt;div style="text-align: justify;"&gt;   look_at &lt;0,0,0&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;}&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;/* here the first component is for the x-axis rotation &lt;/div&gt;&lt;div style="text-align: justify;"&gt; * The third component is for y-axis rotation&lt;/div&gt;&lt;div style="text-align: justify;"&gt; * The middle component gives the brightness of light&lt;/div&gt;&lt;div style="text-align: justify;"&gt; */&lt;/div&gt;&lt;div style="text-align: justify;"&gt;light_source {&lt;&gt; color White&lt;/div&gt;&lt;div style="text-align: justify;"&gt;} &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;/*&lt;/div&gt;&lt;div style="text-align: justify;"&gt; * Here we declare the checker variable&lt;/div&gt;&lt;div style="text-align: justify;"&gt; * We create a box with 0 height to make it a sqaure&lt;/div&gt;&lt;div style="text-align: justify;"&gt; * In the pigment we give the checker pattern with color &lt;/div&gt;&lt;div style="text-align: justify;"&gt; * specified as black and white.&lt;/div&gt;&lt;div style="text-align: justify;"&gt; * Then we rotate it to get it to the center of the axis&lt;/div&gt;&lt;div style="text-align: justify;"&gt; */&lt;/div&gt;&lt;div style="text-align: justify;"&gt;#declare mychecker = &lt;/div&gt;&lt;div style="text-align: justify;"&gt;box { &lt;-3.75,0,-3.75&gt;,&lt;3.75,0,3.75&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;  pigment { checker rgb &lt;0,0,0&gt;, rgb &lt;1,1,1&gt;}// scale 0.3 }&lt;/div&gt;&lt;div style="text-align: justify;"&gt;  rotate -y*35&lt;/div&gt;&lt;div style="text-align: justify;"&gt;}   &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;/*&lt;/div&gt;&lt;div style="text-align: justify;"&gt; * Here we declare the stick that is to be kept above the checker &lt;/div&gt;&lt;div style="text-align: justify;"&gt; * Parameters for all the six sides are given&lt;/div&gt;&lt;div style="text-align: justify;"&gt; * The pigment gives the color to be painted on the cube&lt;/div&gt;&lt;div style="text-align: justify;"&gt; */  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;#declare stick=&lt;/div&gt;&lt;div style="text-align: justify;"&gt;box {&lt;0,0,0&gt;,&lt;0.15,4,0.15&gt; pigment {rgb&lt;1,1,0&gt;}}&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;/*&lt;/div&gt;&lt;div style="text-align: justify;"&gt; * This union will give all the shapes that should be displayed&lt;/div&gt;&lt;div style="text-align: justify;"&gt; */&lt;/div&gt;&lt;div style="text-align: justify;"&gt;union {&lt;/div&gt;&lt;div style="text-align: justify;"&gt;        object {mychecker} &lt;/div&gt;&lt;div style="text-align: justify;"&gt;        object {stick}&lt;/div&gt;&lt;div style="text-align: justify;"&gt;}        &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_8y8jIhkzm20/SsJlNAEUkYI/AAAAAAAAABQ/fJJKMLorfQc/s1600-h/Untitled1.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_8y8jIhkzm20/SsJlNAEUkYI/AAAAAAAAABQ/fJJKMLorfQc/s320/Untitled1.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5386979378319364482" style="cursor: pointer; width: 320px; height: 250px; " /&gt;&lt;/a&gt;          &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_8y8jIhkzm20/SsJlM27JrBI/AAAAAAAAABI/-HtAnKVQfCs/s1600-h/Untitled.jpg"&gt;&lt;img src="http://1.bp.blogspot.com/_8y8jIhkzm20/SsJlM27JrBI/AAAAAAAAABI/-HtAnKVQfCs/s320/Untitled.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5386979375864982546" style="cursor: pointer; width: 320px; height: 180px; " /&gt;&lt;/a&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/4651376689756306961-1793507343223161608?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/1793507343223161608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=1793507343223161608' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/1793507343223161608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/1793507343223161608'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2009/09/after-hours-of-struggle-its-done.html' title='After hours of struggle its done...'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_8y8jIhkzm20/SsJlNAEUkYI/AAAAAAAAABQ/fJJKMLorfQc/s72-c/Untitled1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-4120754387358514504</id><published>2009-09-29T10:30:00.000-07:00</published><updated>2009-09-29T10:43:21.565-07:00</updated><title type='text'>How days get wasted...</title><content type='html'>&lt;div style="text-align: justify;"&gt;Today was one of the most boring day after I came here to Singapore.  I was woken up by the unpleasant sound of the fire-alarm.  It was already 9:30 AM, but I was fast asleep.  They were conducting some fire drill today in Graduate Hall.  And then I went for breakfast, the same one, two eggs, one butter sugar toast and a cup of tea.  We chatted for around one hour and came back room by 11:30 AM.  As usual entered room with high resolutions to complete an entire course today.  I would have hardly gone through 20 pages, I fell asleep, got up to have lunch and started off with an e-book but again I slept.  Until at 6:00 PM when I got up I never realized that I was sleeping on my laptop :-)....   since nothing went wrong with my laptop, it was just a funny incident.  Its already evening, I went out to buy some rice and curd in the shensiong super-market nearby.  Came back, completed the web-site building assignment from my project prof. and now here I am writing this.  Not even half of what I planned to do today really worked out...  very bad and very sad....  one more day in the recess week has gone.....&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4651376689756306961-4120754387358514504?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/4120754387358514504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=4120754387358514504' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/4120754387358514504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/4120754387358514504'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2009/09/how-days-get-wasted.html' title='How days get wasted...'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-6063677307532314912</id><published>2009-09-27T13:17:00.000-07:00</published><updated>2009-09-27T13:44:58.783-07:00</updated><title type='text'>Battered with disappoinments again and again</title><content type='html'>&lt;div style="text-align: justify;"&gt;After my unsuccessful trial of computer architecture assignment, POV-ray and that web page creation, today I sat with the old 8051 micro-controller assignment.  I am sure, I would have been with it for around 5 hours.  I started at 11:30 PM and when I started writing this, time was around 4:30 AM.  I couldn't even get a bit of improvement from what I left with when I last did that.  It really pains a lot when I think of the other two questions, which are to create a game in a bloody 8051 board (I really donno why ppl still hold on to these legacy systems), I have absolutely no clue where to start and how to proceed.  I feel like totally lost in a labyrinth.  With so many assignments in hand and just 5 more days to go for the deadlines.... WOHHHH I donno how many more sleepless nights I'll have....&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4651376689756306961-6063677307532314912?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/6063677307532314912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=6063677307532314912' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/6063677307532314912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/6063677307532314912'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2009/09/battered-with-disappoinments-again-and.html' title='Battered with disappoinments again and again'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-5783977437537266445</id><published>2009-09-26T07:32:00.001-07:00</published><updated>2009-09-26T08:08:31.701-07:00</updated><title type='text'>My short introduction to POV-ray</title><content type='html'>&lt;div style="text-align: justify;"&gt;As part of my project yesterday I was introduced to a new software for image rendering.  I have to use this, to construct an image that we get from a compound eye lens system.  After getting it installed in my lappy, I started off with examples and simple images, I did not even manage to create a square properly.  Though I hope in the coming days I will get something out of it.  But one thing that was amazing about POV-ray is, it is a very powerful software for image rendering.  Open-source often provides alternatives to proprietary s/w but nowhere compared to their performance, but this one was good.  If at all anyone is searching for a free image rendering software, this open-source software POV-ray will come handy to you.  Though a few options that are available in other proprietary s/w might be missing, this will serve as a efficient alternative to those.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;below is the download link for POV-ray:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;a href="http://www.povray.org/download/"&gt;http://www.povray.org/download/&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;they have POV-ray 3.6 and POV-ray 3.7 beta version.  Those who own a dual core CPU it is better to go for the 3.7 beta one.  Check out POV-ray site for other details.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4651376689756306961-5783977437537266445?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/5783977437537266445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=5783977437537266445' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/5783977437537266445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/5783977437537266445'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2009/09/my-short-introduction-to-pov-ray.html' title='My short introduction to POV-ray'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-1314199988205871569</id><published>2009-09-24T08:49:00.001-07:00</published><updated>2009-09-24T08:59:00.718-07:00</updated><title type='text'>And finally done with computer architecture assignment</title><content type='html'>&lt;div style="text-align: justify;"&gt;I was waiting for this day when I will complete my Advanced computer architecture assignment.  After long hours of struggle I managed to bring out two little improvements to my tinyCPU.  Additional Input/output ports and the call/ret instructions.  I tried implementing registers and addressing modes till late night, sorry early morning today (4:00 A. M) but ended in vain. I just never wanted to extend it any more, so I submitted it today.  And now have to continue with the 8051 assignment in which I have to design a game(Space Invaders).  May be once my assessments are over I will release the code.  It will be helpful for many who are trying their hands in 8051.  I believe "human knowledge is for the world", knowledge you posses should not die with you.  Let us pass it on to our future generations.  &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4651376689756306961-1314199988205871569?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/1314199988205871569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=1314199988205871569' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/1314199988205871569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/1314199988205871569'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2009/09/and-finally-done-with-computer.html' title='And finally done with computer architecture assignment'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-7316683456591623123</id><published>2009-09-22T21:41:00.000-07:00</published><updated>2009-09-22T22:07:01.421-07:00</updated><title type='text'>Tied up to singapore</title><content type='html'>&lt;div style="text-align: justify;"&gt;Today I signed my service obligation, which says I should stay here and work in some Singapore registered company for the next three years, and they will cut down my tuition fees by half.  Though I have an advantage, I somehow felt today that I should not have signed that,  but it was too late for that.  I couldn't imagine myself married to another country where I cannot enjoy any rights equal to a citizen.  And moreover I feel, if anyone ever thinks they should enjoy real freedom, they should be in India, not in a place like Singapore where you have to ask governments permission even to yawn and burp.  Nobody will realize this when they are in India, neither did I when I was there.  I was told the same thing when I left India (that I will be missing my stay and freedom as I had in India), and I now say this to everyone.  Before coming to a foreign nation for studies realize one thing, just because you say that you graduated from NTU or even stanford nobody is going to give you money.  If you can make good money where ever you are be happy and enjoy life.  At the end everyone strives for money, and if you look around, many reach people did not even graduate.  It is all about bringing out your talent and how you can advertise and monetize your ideas.  Nobody ever needs or expects to have your talents and ideas certified with degrees at times running even longer than your name.  All what you can do with degrees is to go around telling people that I have a Phd, I graduated from NTU, I graduated from stanford and so on, and have a big name board stuck in front of your house will all the degrees you earned throughout your life.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4651376689756306961-7316683456591623123?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/7316683456591623123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=7316683456591623123' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/7316683456591623123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/7316683456591623123'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2009/09/tied-up-to-singapore.html' title='Tied up to singapore'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-8303301576640847121</id><published>2009-09-15T09:42:00.000-07:00</published><updated>2009-09-15T10:34:29.793-07:00</updated><title type='text'>And finally in NTU</title><content type='html'>&lt;div align="justify"&gt;Back again after a long break..... &lt;/div&gt;&lt;p align="justify"&gt;&lt;br /&gt;Hope this is my first post after I resigned from wipro and after I reached singapore.&lt;/p&gt;&lt;p align="justify"&gt;&lt;br /&gt;A lot of changed in between. I had to forgo my plans of taking sabbatical leave since my leave was not approved. I resigned from wipro with a heavy heart (though period in wipro was not that great, itwas my first job, wipro introduced me to the corporate world). It was 25th, July evening, it was very sunny as usual in Trichy... myself, dad, mom and my cousin(Anlee John) started to the airport. I was a very sad but unfortunately showing even a pinch of it outside will agonize my parents. So I had to hide everything. I donno when I will see them again. Flight took off at 9:00 PM reached chennai and then to singapore at 6:30 AM 26th morning. I found no problem in immigration clearance and other baggage stuff. everything went on smooth. The first thing that came to my mind was to call my parents. From there my friend and me took a taxi and reached NTU.... It was a huge campus. Finally, first step in my dream of pursuing masters has come true. I owe all my thanks to my parents. They have made even my stupidest dream come true. And now its my turn, I should do all that I can to make them happy. And all of this would not have been reality without God's help. I remember my school when I missed one of the finest colleges in Tamil Nadu just to stay in home. Now I am here courageous and all alone in a foreign land, miles and miles away from home to pursue my masters. I am tremendously blessed  and happy, coz I feel somebody else has brought me to this position, and he is not going to leave me astray.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4651376689756306961-8303301576640847121?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/8303301576640847121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=8303301576640847121' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/8303301576640847121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/8303301576640847121'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2009/09/and-finally-in-ntu.html' title='And finally in NTU'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4651376689756306961.post-9060936270407439337</id><published>2008-12-09T02:22:00.000-08:00</published><updated>2008-12-09T02:46:03.615-08:00</updated><title type='text'>An update on reco...!</title><content type='html'>I was eagerly waiting for reply from my staff to get my reco done.  Yesterday I got a mail from him asking me to remind him in next two or three days to draft the reco.  I was very happy that day for my first step of getting my thing ready to go for ms is working out.  Hope he replies me with the reco draft.  Will be back again after getting my reco signed by him.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4651376689756306961-9060936270407439337?l=wonkymind.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://wonkymind.blogspot.com/feeds/9060936270407439337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4651376689756306961&amp;postID=9060936270407439337' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/9060936270407439337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4651376689756306961/posts/default/9060936270407439337'/><link rel='alternate' type='text/html' href='http://wonkymind.blogspot.com/2008/12/update-on-reco.html' title='An update on reco...!'/><author><name>cron-o-mancer</name><uri>http://www.blogger.com/profile/03923191672758257234</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://2.bp.blogspot.com/_8y8jIhkzm20/ST4-vzi2YhI/AAAAAAAAAAM/KX5MEzq1gMQ/S220/confusion_sc2.jpg'/></author><thr:total>0</thr:total></entry></feed>
