Discussion in "Project Help" started by    SGH    Mar 29, 2007.
Thu Mar 29 2007, 05:02 AM
Hi all, I'm newbie in microcontroller and try to write a code for 4 digit count down counter with AT89S51.

Here are portion of the code.

mov a,count1
dec a
mov count1,a
cjne a,#-1,exit_count
mov count1,#9
mov a,count2
dec a
mov count2,a
cjne a,#-1,exit_count
mov count2,#9
mov a,count3
dec a
mov count3,a
cjne a,#-1,exit_count
mov count3,#9
mov a,count4
dec a
mov count4,a
cjne a,#-1,exit_count
mov count4,#0


The problem were if I put in following value, count1 = 0, count2 = 0, count3 = 1 and count4 = 0, it dosn't display correctly as everytime the 'dec' command was execute it fill in number 9 to previous count varible.

How to fix this problem ?. One more thing, at the end of count down, it doesn't display 0000, instead it display 9990.

Thanks all.
Thu Mar 29 2007, 12:17 PM
Well making a down counter is little tricky, i mean.. its not like simple decrement you need to check and wait till all zero and then exit.
cjne a,#-1,exit_count
mov count1,#9

this will surely make count 1 = 9 coz, after you dec count1 it will become -1 from 0. so according to statement, cjne(compare and jump if not equal) it will exit only if its not equal, but here its equal so, it will execute the next statement, so 9 is loaded in count1. so u are getting that result.

I made a program, but i want you to try it first, so giving you hint, you need to decrement the last digit, untill it become zero and when it become zero decrement the second digit, keep on doing this, utill u end up with all zeros!
i hope you got some idea, how to implement it, there are lot of compare jumps to be made i think, try it, if you don't get result, i will help you
Fri Mar 30 2007, 02:12 AM
Rickey, thanks for the hint. I'll try to rewrite the code.
Sat Apr 21 2007, 03:56 PM
I'm still trying to rewrite the code. I solved one problem but create another problem in the code.

So my progress in this code is slow. It is ok for me as this is part of the learning process.

Tags learning processsghrewrite
Sat Apr 21 2007, 05:55 PM
good keep trying.. you will reach to the target soon
for any assistance i am here.
Thu May 31 2007, 03:37 AM

More hints please.

Thu May 31 2007, 05:53 AM
you first tell me what you've done.. so i can tell you.. next..

Get Social


Powered by e107 Forum System


Fri Nov 15 2019, 08:19 AM
Allison Wink
Want to submit your business on 1000's of Advertising sites monthly? For a small monthly payment you can get virtually unlimited traffic to your site forever!For details check out: http://www.submitmyadnow.tech
Sat Oct 12 2019, 10:23 PM
Log in.. then post your code in the 8051 forum
Sat Oct 12 2019, 10:18 AM
Bhadra Sajikumar
i am doing a countdown timer with 8051 for my project, unfortunately our professor had to take a leave of absence before he could teach us most of it.. can someone explain the .asm code of it for me?
Mon Sep 23 2019, 07:37 AM
I am doing a project for my schools wireless security system with cameras,sensors and spot lights using 8051 micro controller, could you help me out with the design and its source code.
Wed Sep 18 2019, 08:48 PM
Caryn Kover
Thank you for your time,
Mon Aug 05 2019, 07:09 PM
@Ismail ..post in forum, give details
Mon Aug 05 2019, 04:33 PM
Ismail balghmi
Hello. Please I won't download
Wed Jul 24 2019, 12:47 AM
@BUSTER123 Please post in the forum
Tue Jul 23 2019, 06:13 PM
hello! newbie here. i am kind of a guy who hates using ready - made existing libraries, so this helped a lot as i was trying to control and write to a character lcd display. however, i can't figure out how to set the cursor position. for example, i want to set it to the 5th column in the first row, so position 5. so according to the table, i am sending 10000101 on the 8 data lines of the lcd (register select pulled low). the cursor does not move there however. and i cant move the cursor left or right too. is it something wrong that i am doing? thank you.
Thu Jul 11 2019, 07:55 PM
@ramos https://www.theengineeringprojects.com/2017/09/l298-motor-driver-library-proteus.html



Wed Nov 13 2019, 06:25 AM
Mon Nov 11 2019, 01:31 PM
Sun Nov 10 2019, 04:42 AM
Sat Nov 09 2019, 03:41 PM
Fri Nov 08 2019, 10:06 AM
Fri Nov 08 2019, 07:28 AM
Tue Oct 15 2019, 04:32 PM
Tue Oct 15 2019, 02:27 AM


Guests: 212, Members: 0 ...

most ever online: 182184
(Members: , Guests: 182184) on 06 Aug 2010: 05:37 AM

Members: 38103
Newest member: Casmir
Forum Activity
Jeanbusatta Avatar
Posted By Jeanbusatta
Sun Nov 10 2019, 04:43 AM
ty, really needed it
ExperimenterUK Avatar
Posted By ExperimenterUK
Tue Oct 22 2019, 05:18 AM
wimac Avatar
Posted By wimac
Mon Oct 21 2019, 09:18 AM
I’ve been following this thread and looking at the...
s_dinesh40@yahoo.com Avatar
Posted By [email protected]
Sun Oct 20 2019, 03:09 PM
s_dinesh40@yahoo.com Avatar
Posted By [email protected]
Sun Oct 20 2019, 03:02 PM
sir, when i on display ,sometime 3rd display is no...
s_dinesh40@yahoo.com Avatar
Posted By [email protected]
Sun Oct 20 2019, 02:53 PM
sir, when i on display ,sometime 3rd display is no...
ExperimenterUK Avatar
Posted By ExperimenterUK
Sun Oct 20 2019, 12:21 AM
Your code seems okay on my simulationTry my code o...
s_dinesh40@yahoo.com Avatar
Posted By [email protected]
Sat Oct 19 2019, 07:13 PM
please find video attachment. 3rd & 4th displa...
s_dinesh40@yahoo.com Avatar
Posted By [email protected]
Sat Oct 19 2019, 07:05 PM
sir, 3rd and 4th dot matrix display flickering, ...
ExperimenterUK Avatar
Posted By ExperimenterUK
Fri Oct 18 2019, 09:18 PM
Hopefully you understand some of the program.Which...