please dont rip this site

PIC JAL IO Routine

'84 4 digit 22925/22926 LED display driver in JAL

by Vasile Surducan

...a library wich I used it for x84 to control a 22925/22926, 4 digit multiplexed display driver for LED's. Hardware and one example will be presented soon into my page.

--
-- file      : 22925.jal
-- author    : Surducan Vasile 
-- date      : march 2000
-- purpose   : procedures for 4 digit multiplexed display 22925/6/ family
-- includes  : none
-- pins      : b0 clock, ( 22926 pin 12 )
--             b1 reset, ( 22926 pin 13 )
--             a4 memory, ( 22926 pin 5 and pin 6 ) must be used to avoid
--             flicker in count/egg/clock down display mode
-- Jal       : 04.18, 04.22, 04.24
-- copyleft  : V.Surducan............hi-hi..........copyright :V.Surducan
-- email     : vasile@l30.itim-cj.ro
-- URL       : http://www.geocities.com/vsurducan/pic.htm ( for hardware )
             
-- configure port_b

var byte count = 0
var byte seconds = 0
var byte hundred = 0
var byte minutes = 0
var bit clock is pin_b0
var bit reset is pin_b1
var bit memo is pin_a4
pin_b0_direction = output
pin_b1_direction = output
pin_a4_direction = output

-- initialize input levels

procedure _22926_init is
clock = high
reset = low
end procedure

-- reset will clear all 4 digits

procedure _22926_reset is
 reset = high
 asm nop
 reset = low
end procedure


-- writing ( nr_1 * nr_2 ) counts, up to 255 * 255

procedure _22926_write ( byte in nr_1, byte in nr_2 ) is
 for nr_1 loop
  for nr_2 loop
   clock = high
   clock = low
  end loop
 end loop
end procedure

-- increment less then n (<255) counts

procedure _22926_up ( byte in n ) is
-- _22926_init
 if count < n then
  count = count + 1
  clock = high
  clock = low
 end if
end procedure

-- increment less then (cicle +1)*n counts, example: 
-- ( 3 + 1 ) * 250 = 1000 counts
-- ( 9 + 1 ) * 100 = 10000 counts

procedure _22926_full_up ( byte in cycle, byte in n )  is
 if hundred <= cycle  then
  if count == n then
   count = 0
   hundred = hundred + 1
  elsif count < n then
   count = count + 1
   clock = high
   clock = low
  end if
 end if
end procedure


-- decrement less then 255 counts using a trick: reset and increment
-- ( count - 1 ) pulses

procedure _22926_down is
-- _22926_init
 if count > 0 then
  count = count - 1
  memo = low
  _22926_reset
   for count loop
    clock = high
    clock = low
   end loop
  memo = high
 end if
end procedure

-- decrement in decimal (less then 1000 counts)
 
procedure _22926_full_down ( byte in n )is
-- _22926_init
 if hundred >= 1 then
   count = count - 1
   if count == 0 then
      count = n
      hundred = hundred - 1
   end if
   memo = low
   _22926_reset
    for count loop
    clock = high
    clock = low
   end loop
 _22926_write ( hundred, n )
 memo = high
 elsif hundred == 0 then
  _22926_down
 end if
end procedure


-- clock increment procedure (seconds incremented in main program)

procedure _22926_clock_up ( byte in minutes_max ) is
if minutes < minutes_max then
 if seconds == 60 then
      seconds = 0
      minutes = minutes + 1
 end if

-- for a rollover clock_up procedure these lines should be added
-- and first if...end if condition should be removed

-- if minutes == minutes_max then
-- minutes = 0
-- end if

memo = low
 _22926_reset
 for seconds loop
  clock = high
  clock = low
 end loop
_22926_write ( minutes, 100 )
memo = high
end if
end procedure

-- clock decrement procedure, at 0.00 decrement stops
-- (seconds must be incremented in main program,
-- minutes must be defined before use)

procedure _22926_clock_down is
 if ( minutes > 0 ) | ( seconds < 60 )  then
   if seconds == 60 then
      minutes = minutes - 1
      seconds = 0
   end if  
   memo = low
   _22926_reset
    for ( 59 - seconds ) loop
     clock = high
     clock = low
    end loop
   _22926_write ( minutes, 100 )
   memo = high
 end if
end procedure

  


file: /Techref/piclist/jal/led4dmux22925-vs.htm, 4KB, , updated: 2003/4/2 23:40, local time: 2024/11/13 21:24,
TOP NEW HELP FIND: 
18.191.225.216:LOG IN

 ©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions?
Please DO link to this page! Digg it! / MAKE!

<A HREF="http://sxlist.com/techref/piclist/jal/led4dmux22925-vs.htm"> PIC JAL IO Routine '84 4 digit 22925/22926 LED display driver in JAL by Vasile Surducan</A>

After you find an appropriate page, you are invited to your to this massmind site! (posts will be visible only to you before review) Just type a nice message (short messages are blocked as spam) in the box and press the Post button. (HTML welcomed, but not the <A tag: Instead, use the link box to link to another page. A tutorial is available Members can login to post directly, become page editors, and be credited for their posts.


Link? Put it here: 
if you want a response, please enter your email address: 
Attn spammers: All posts are reviewed before being made visible to anyone other than the poster.
Did you find what you needed?

 

Welcome to sxlist.com!


Site supported by
sales, advertizing,
& kind contributors
just like you!

Please don't rip/copy
(here's why

Copies of the site on CD
are available at minimal cost.
 

Welcome to sxlist.com!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  .