Problem with Disp7sPort

  • 1
  • 2
  • 3
  • Page 1 of 3
3xcs
 
Avatar
 
Subject:

Problem with Disp7sPort

 · 
Posted: 04.02.2015 - 13:42  ·  #1
Hello, i have a problem with Disp7sPort.
I´m running two 7seg digits nonmuxed with one TPIC6B595 Shift-register on each digit. The IC is equal , similar to 74HC595 but it can run big loads. I have connected the hardware like the example in DocuStdDriver.pdf. The problem is i only got one digit to work. always the second one in the chain, when i connect the Shift-registers the other way, swap the serial input and output between the shiftregisters the other digit works. So the hardware must be ok. Have i forgot something in the code? Or does the TPIC6B595 Shift-register not work with this Disp7sPort? Have anyone tried that IC?

My testprogram.

program test;

{$NOSHADOW}
{ $WG} {global Warnings off}

Device = mega168, VCC=5;
{ $BOOTRST $01C00} {Reset Jump to $01C00}

Define_Fuses
// Override_Fuses;
NoteBook = A;
COMport = USB;
LockBits0 = [];
FuseBits0 = [];
FuseBits1 = [];
FuseBits2 = [];

Import SysTick, Disp7sPort;

From System Import ;


Define
ProcClock = 16000000; {Hertz}
SysTick = 10; {msec}
StackSize = $0032, iData;
FrameSize = $0032, iData;
Disp7sPort = PortC, nonMux; {not multiplexed, Portbit}
DispMode = ShiftRight ;
DispDigits = 2, iData;

Implementation

{$IDATA}

{--------------------------------------------------------------}
{ Type Declarations }

type


{--------------------------------------------------------------}
{ Const Declarations }

{--------------------------------------------------------------}
{ Var Declarations }
{$IDATA}

{--------------------------------------------------------------}
{ functions }



{--------------------------------------------------------------}
{ Main Program }
{$IDATA}

begin
EnableInts;
DISPclear;
mDelay(1000);
Write(DISPout,'12');
loop

endloop;
end test.


Kindest regards
Thomas
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: Problem with Disp7sPort

 · 
Posted: 04.02.2015 - 15:19  ·  #2
Hello Thomas,

do you have a wiring diagram ?

Greetings
Harry
3xcs
 
Avatar
 
Subject:

Re: Problem with Disp7sPort

 · 
Posted: 05.02.2015 - 11:35  ·  #3
Hello Harry! Many thanks for the answer. Yes i have a very simple schematics on a piece of paper, i have scanned and attached it to this reply, hope it´s not to blurry. I have connected all the thing on a piece of veroboard so i don´t have a CAD schematics to share.

Kindest Regards Thomas
Attachments
Problem with Disp7sPort
Filename: schematics013.jpg
Filesize: 3.79 MB
Title:
Download counter: 116
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: Problem with Disp7sPort

 · 
Posted: 05.02.2015 - 13:14  ·  #4
Hello Thomas,

connect PortC,3 to RCK (not PortC,2). I think RCK is an Input for segment-driver.

Greetings
Harry
3xcs
 
Avatar
 
Subject:

Re: Problem with Disp7sPort

 · 
Posted: 05.02.2015 - 14:02  ·  #5
Hello! Thanks for the answer, and many thanks for the patience with me and taking of your time on my problem.

I tried to connect RCK to PortC,3 But then the both digits went dark.

I explored something now with my old PortC,2 - RCK-connection, when i define with use of only one digit with the same two digit hardware configuration i use.

Disp7sPort = PortC, nonMux; {not multiplexed, Portbit}
DispDigits = 1, iData;

and run this in loop

for i:=0 to 20 do
Write(DISPout,BytetoStr(i));
mDelay(700);
endfor;

the result from the first forloop shows "0" on digit one and digit two is dark.
the loops that follows in the forloop shows this result.

digit one "1" digit two "0"
digit one "2" digit two "1"
digit one "3" digit two "2"
digit one "4" digit two "3"
digit one "5" digit two "4"
digit one "6" digit two "5"

and so on. So now is the both digits working but not the way it should. Strange.

Kindest Regards.
Thomas
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: Problem with Disp7sPort

 · 
Posted: 05.02.2015 - 14:28  ·  #6
With 1-Digit-configuration the displayed numbers are ok. The data are shifted from the first display in the second Display.But the driver knows nothing of the second display.

Do you have a oscilloscope ? With one display (DispDigits = 1, iData;) you should see 8 pulses on PortC,0 - with two displays (DispDigits = 2, iData;) 16 pulses. If not, is something wrong with the driver.

Sorry: Google-english :D

Greetings
Harry
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: Problem with Disp7sPort

 · 
Posted: 05.02.2015 - 14:47  ·  #7
so with

DispDigits = 1, iData;

the second digit will never be shown.

rolf
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: Problem with Disp7sPort

 · 
Posted: 05.02.2015 - 14:53  ·  #8
Doch Rolf, wenn du ein weiteres Zeichen schickst, schiebt dieses das alte in das 2. Schieberegister weiter.
Es ist kein Clear angeschlossen.
  • 1
  • 2
  • 3
  • Page 1 of 3
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 16 · Cache Hits: 15   135   150 · Page-Gen-Time: 0.024047s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI