coundown problem on LCD


Closed Thread
Results 1 to 7 of 7
  1. #1
    Join Date
    May 2005
    Posts
    49

    Red face coundown problem on LCD

    Hi everybody.
    i again have problem with pic
    i am trying to countdown the hours minutes and seconds
    like 01:19:49 and lcd will show the countdown
    if i press button1 i want to add 30 minute
    i start like this
    second VAR BYTE [59] 'I WANT TO LIMIT THE TIME
    minute VAR BYTE[59]
    hour VAR BYTE[59]
    second=0 'start with 0
    minute=0 'start with 0
    hour=0 'start with 0
    button porta.4 ,0,0,0,b1,1,plus_the_count
    simlpy my codes re like these but the compiler allways give error
    (unable to fit second)
    after then i try it basicly
    '''''''''''''''''''''''''''''''''''''''''''''''''r eal codes for 16F628'''''''''''''''''''''''''''''''''''''''''''' '
    DEFINE LCD_DREG PORTB
    DEFINE LCD_DBIT 4
    DEFINE LCD_RSREG PORTB
    DEFINE LCD_RSBIT 0
    DEFINE LCD_EREG PORTB
    DEFINE LCD_EBIT 3
    DEFINE LCD_BITS 4
    DEFINE LCD_LINES 2
    DEFINE LCD_COMMANDUS 2000
    DEFINE LCD_DATAUS 50
    saniye var byte[59]
    dakika var byte[59]
    saat var byte[59]
    saniye=0
    dakika=0
    saat=0
    loop:
    saniye = saniye -1
    if dakika =00 then saat= saat-1
    LCDOut $FE,1 'ekranı temizle
    lcdout "KALAN SURE"
    LCDOut $Fe,$C0
    LCDOUT #saat,":",#dakika,":",#saniye
    pause 1000
    goto loop
    end
    '''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''end'''''''' ''''''''''''''''''''''''''''''''''''
    and still have problem "unable to fit variable saniye"
    how can i limit the numbers when reverse counting?
    Last edited by SuB-ZeRo; - 6th June 2005 at 15:39.
    Asking is not a shame but not learning is a SHAME!!!

  2. #2
    Join Date
    Mar 2003
    Location
    Commerce Michigan USA
    Posts
    1,166


    Did you find this post helpful? Yes | No

    Default

    SuB-ZeRo, You are using almost all of the available ram with the 3 arrays you are trying to declare. The processor you are using only has 192 bytes available and you are declaring 180 of them. Why?

    Dave Purola,
    N8NTA

  3. #3
    Join Date
    Mar 2003
    Location
    Commerce Michigan USA
    Posts
    1,166


    Did you find this post helpful? Yes | No

    Default

    SuB-ZeRo,
    I beleive you want to do something like this:
    DEFINE LCD_DREG PORTB
    DEFINE LCD_DBIT 4
    DEFINE LCD_RSREG PORTB
    DEFINE LCD_RSBIT 0
    DEFINE LCD_EREG PORTB
    DEFINE LCD_EBIT 3
    DEFINE LCD_BITS 4
    DEFINE LCD_LINES 2
    DEFINE LCD_COMMANDUS 2000
    DEFINE LCD_DATAUS 50
    saniye var byte
    dakika var byte
    saat var byte
    saniye=59
    dakika=59
    saat=59
    loop:
    LCDOut $FE,1 'ekranı temizle
    lcdout "KALAN SURE"
    LCDOut $Fe,$C0
    LCDOUT #saat,":",#dakika,":",#saniye
    saniye = saniye - 1
    if saniye > 59 then
    saniye = 59
    dakika = dakika - 1
    if dakika > 59 then
    dakika = 59
    saat = saat - 1
    if saat > 59 then
    saat = 59
    endif
    endif
    endif
    pause 1000
    goto loop
    end

  4. #4
    Join Date
    Jun 2005
    Location
    Wisconsin
    Posts
    382


    Did you find this post helpful? Yes | No

    Default

    Are you sure you are using the following line correctly?

    second VAR BYTE [59] 'I WANT TO LIMIT THE TIME

    This doesn't limit the byte to 59 it creates an array of 59 bytes. It sounds like you want 1 byte that doesn't go any higher than 59. I would do the following within a loop:

    IF UP=0 Then ' Button Up command
    While UP=0:Wend
    second = v+1
    IF second > 59 Then second = 1
    LCDOut $FE,1
    EndIF

  5. #5
    Join Date
    May 2005
    Posts
    49


    Did you find this post helpful? Yes | No

    Unhappy Hmmm everybody understand me wrong :(

    i thing every body understand me wrong coz i want to set i timer that start with 00:00:00 and if i push the button that connected to the RA4 it will plus the reverse timer 30 minute 00:00:00 will become 00:30:00 after than countdown beguns 00:29:59 .......00:28:59...... till 00:00:00 but when the countdown starts or continues if i push the button again for example when the time 00:25:19 it will plus 30 minute again and the time will become 00:55:19 every push will plus 30 minute 01:25:19 ... 01:55:19 and goes.My problem is when i try to start the time from 00:00:00 on the LCD i see 0:0:0 if i push the button it becomes 0:30:0 after than it goes 0:29:1=>0:29:0=>0:28:1=>0:28:0 i really cant find the problem
    Asking is not a shame but not learning is a SHAME!!!

  6. #6
    Join Date
    Jun 2005
    Location
    Wisconsin
    Posts
    382


    Did you find this post helpful? Yes | No

    Default

    try:
    LCDOUT DEC2 saat,":",DEC2 dakika,":",DEC2 saniye

    DEC2 will always print two digits to your display.

  7. #7
    Join Date
    May 2005
    Posts
    49


    Did you find this post helpful? Yes | No

    Talking everything works no problem

    ok i resolve the problem the real problem is putting the codes to the right place i am getting to learn programming in pic basic
    Last edited by SuB-ZeRo; - 7th June 2005 at 01:15. Reason: I edit coz i resolve some problems
    Asking is not a shame but not learning is a SHAME!!!

Similar Threads

  1. LCD problem with 16F628
    By ngeronikolos in forum mel PIC BASIC Pro
    Replies: 25
    Last Post: - 19th September 2016, 08:28
  2. Newbie? Problem with LCD
    By lew247 in forum mel PIC BASIC Pro
    Replies: 10
    Last Post: - 7th December 2009, 19:48
  3. LCD problem
    By Andre_Pretorius in forum General
    Replies: 8
    Last Post: - 27th January 2009, 15:47
  4. LCD Problem
    By karenhornby in forum General
    Replies: 3
    Last Post: - 19th June 2008, 11:43
  5. Need help with LCD number display.
    By Steve Matson in forum mel PIC BASIC
    Replies: 8
    Last Post: - 26th June 2007, 23:07

Members who have read this thread : 0

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