7-segment display with P16F84


Closed Thread
Results 1 to 17 of 17

Hybrid View

  1. #1
    Join Date
    Feb 2003
    Posts
    432


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by spitfire View Post
    Hi all, I am new to PIC's but have been studying electronics for 3 years and work as a technician.

    I recently came across this site http://www.melabs.com/resources/articles/ledart.htm
    with instruction on how to run 7-segment display, i have built the circuit and programmed the PIC with this code: http://www.melabs.com/resources/samp...p/7segment.pbp
    but the numbers run really fast and display 0 runs too fast to read it, I have tried adding a PAUSE 1000 under "mainloop" and just below GOSUB display but it only make the displays flash on and off

    I am trying to get them to display a number for atleast 1 second each or atleast make it so i can read digit 0

    PS I have tried contacting the site but they never got back to me.

    Thanks is advance.
    once I get this working and learn a little more I plan on adding push buttons and making it into a stopwatch or either a countdown timer.

    Raf

    This is the section of code you should try to alter

    Code:
    display:
    	For i = 0 To 3		' Loop through 4 digits
    		n = Value Dig i	' Get digit to display
    		GoSub display1	' Display the digit
    		Pause 1		' Leave it on 1 millisecond
    	Next i			' Do next digit
    	Return
    This displays each digit for 1 millisecond. try increasing the length of the pause.

    By adding your Pause 1000 in the main loop you are adding a 1 second delay between counting. The LEDs are only lit during the display subroutine so you have 4mS of display and then a second waiting to the next 4mS.

    Try a 25mS delay (PAUSE 25) or longer to make the digits more visible but you may then notice a flicker across the digits.

    Try adding another counting loop so that you only increment the 0-9999 count once every "x" passes through the main loop.

    HTH

    Keith
    Keith

    www.diyha.co.uk
    www.kat5.tv

  2. #2
    Join Date
    Jul 2007
    Posts
    5


    Did you find this post helpful? Yes | No

    Default

    Thank alot guys, I was hardly expecting such promt replys.
    I will try your suggestions out now.

  3. #3
    Join Date
    Jul 2007
    Posts
    5


    Did you find this post helpful? Yes | No

    Thumbs up

    I got it working using your method Jerson by setting "for timedelay = 0 to 100", works great.

    I was wondering if someone could recomend some books or any other good sources of information for writing code?

    Cheers,
    Raf

  4. #4
    Join Date
    Aug 2006
    Location
    Look, behind you.
    Posts
    2,818


    Did you find this post helpful? Yes | No

    Default

    Hi Spitfire,
    I have bought several books, and without this forum, I would be using them as table levelers, I do not have one I would recommend. Keep reading this forum and the PBP manual, read the archives . . every post, thats waaay better than any book I've seen. Bruce is writing one though and when it is published, I will buy one.
    JS
    If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
    .
    Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
    .
    There simply is no "Happy Spam" If you do it you will disappear from this forum.

  5. #5
    Join Date
    Dec 2006
    Posts
    18


    Did you find this post helpful? Yes | No

    Default

    Does anyone know where i can get one of those 3 digit seven segment displays that are designed to be multiplexed. aka has 12 pins instead of well loads more.

  6. #6
    Join Date
    Dec 2006
    Posts
    18


    Did you find this post helpful? Yes | No

    Default

    quick one.
    in the 7 seg display program what does ~dcd mean in the line
    digits=~dcd i
    thanks

  7. #7
    Join Date
    Jul 2007
    Posts
    5


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by hoops2006 View Post
    quick one.
    in the 7 seg display program what does ~dcd mean in the line
    digits=~dcd i
    thanks

    ~ = NOT
    and
    DCD = it changes a bit number (0-15) into binary and set that bit to a Logic 1

    Basicly it finds out what value digits is (0 to 3, 0 being the first display on the right and so on) and converts that into binary if 0 then to 00, if 1 then to 01, if 2 - 10, if 3 - 11 and instead of applying a logic 1 like DCD is supposed to do it does the opposite because there is ~ infront of it which make it 0

    Its basicly applying a Logic 0 to pin RA0 on the PIC,completing the subroutine and then doing the same for pin RA1, RA2 and RA3. These are the pins that turn on and off each digit.
    Logic 0 normally means 0 or close to 0 Volts but in this case transisors are being used to supply the current to the display. A transistor is basicly an inverting switch so if you input logic 1 (+5V) you get 0 at the output and the opposite if you apply 0 Volts to the input.

    I got a little carried away there and have gone into more detail and answering more than you asked but it might help you understand what the code is doing a bit better. Or atleast I hope so.

Similar Threads

  1. 7 Segment Displays and MAX7219
    By Bill Legge in forum mel PIC BASIC Pro
    Replies: 13
    Last Post: - 31st October 2010, 18:30
  2. Weird compile issue 7 segment LED display
    By George in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 21st June 2006, 02:12
  3. 7 segment digit problem (using Mister E's code)
    By jmgelba in forum mel PIC BASIC Pro
    Replies: 7
    Last Post: - 9th September 2005, 20:25
  4. WRITE not working
    By servo260 in forum mel PIC BASIC Pro
    Replies: 31
    Last Post: - 29th December 2004, 02:02
  5. Multiplex two 7 segment display
    By Fernando Santos in forum mel PIC BASIC Pro
    Replies: 0
    Last Post: - 20th July 2003, 13:26

Members who have read this thread : 1

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts