HP Forums

Full Version: (HP-97) Design one-shot multivibrators
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Designing or analyzing timing circuits that use the popular 74123 one-shot multivibrator (Fig. 1) will be much quicker on a programmable calculator. The program shown in Fig. 2 will run on either an HP-67 or HP-97 calculator. However you can easily program other calculators to solve a basic timing equation, with which you can closely approximate a one-shot's timing curve
T = 0.32 (R ÷ 0.7)C + 11.8 R0.837 where
T is the pulse duration (nS),
R is the resistance (kΩ)
C is the capacitance (pF),
as in Fig. 1. [attachment=7276]
1. A one-shot multivibrator, based on the 74123 IC
has three basic parameters. If you know two of them
you can calculate the third from an equation that
approximate the timing curve.

Given any two or the three parameters, you can calculate the third. The equation is accurate for all values of C. The calculator program employs a recursive method with three iterations to solve for resistance.
To use the program first enter known parameter, then its user-defined key. Then depress the key set aside for the unknown parameter. If any of the components are outside recommended limits, an error signal will be displayed.

Fig. 2
001*LBL E <>nS
002 STO E
003 F3?
004 RTN
005 GSB 2
006 RCL C
007 ×
008 GSB 1
009 +
010 STO E
011 SCI
012 DSP 1
013 RND
014 FIX
015 DSP 0
016 RTN
017*LBL 1
018 RCL D
019 .
020 8
021 3
022 7
023 Y^X
024 1
025 1
026 .
027 8
028 ×
029 RTN
030*LBL 2
031 .
032 7
033 RCL D <>kΩ
034 +
035 .
036 3
037 2
038 ×
039 RTN
040*LBL C
041 ENT↑
042 FRC
043 X=0?
044 GTO C
045 CLX
046 EEX
047 6
048 ×
049 ENT↑
050*LBL C <>pF
051 R↓
052 STO C
053 F3?
054 RTN
055 RCL E
056 GSB 1
057 -
058 GSB 2
059 ÷
060 STO C
061 .
062 9
063 X⇄Y
064 X≤Y?
065 GTO e
066 FIX
067 DSP 0
068 RTN
069*LBL D
070 STO D
071 F3?
072 GTO D
073 3
074 STO I
075 1
076 0
077 STO D
078*LBLd
079 GSB 2
080 RCL C
081 ×
082 GSB 1
083 +
084 RCL E
085 X⇄Y
086 ÷
087 RCL D
088 ×
089 STO D
090 DSZ I
091 GTO d
092*LBL D
093 4
094 .
095 9
096 X⇄y
097 X≤Y?
098 GTO e
099 5
100 0
101 X⇄Y
102 X>Y?
103 GTO e
104 DSP 1
105 RTN

Historical significance?

BEST!
SlideRule
Source: 400 Ideas for Design (Calculator/Computer Circuits & Software)

listing corrected, thanks mfleming.
I see a couple of errors in the listed program. In program step 18, the command should be "RCL D" (the resistor value) rather than "RCL1". For steps 31 to 33, the operations should be reversed so that you do "RCL D" first then ".7" afterwards. Finally, to match the equation, line 34 should be "/" (divide) rather than "+".

Here's the modified program listing (with keycodes) in "Teenix" format
Code:

001  f LBL E     32 25 15
002  STO E       33 15
003  h F3set?    35 71 03
004  h RTN       35 22
005  f GSB 2     31 22 02
006  RCL C       34 13
007  X           71
008  f GSB 1     31 22 01
009  +           61
010  STO E       33 15
011  g SCI       32 23
012  DSP 1       23 01
013  f RND       31 24
014  f FIX       31 23
015  DSP 0       23 00
016  h RTN       35 22
017  f LBL 1     31 25 01
018  RCL D       34 14
019  .           83
020  8           61
021  3           61
022  7           61
023  h YtoX      35 63
024  1           61
025  1           61
026  .           83
027  8           61
028  X           71
029  h RTN       35 22
030  f LBL 2     31 25 02
031  .           83
032  7           07
033  RCL D       34 14
034  +           61
035  .           83
036  3           03
037  2           02
038  X           71
039  h RTN       35 22
040  f LBL C     32 25 13
041  ENTER       41
042  g FRAC      32 83
043  f x=0?      31 51
044  GTO C       22 31 13
045  CLx         44
046  EEX         43
047  6           06
048  X           71
049  ENTER       41
050  f LBL C     32 25 13
051  h ROLDN     35 53
052  STO C       33 13
053  h F3set?    35 71 03
054  h RTN       35 22
055  RCL E       34 15
056  f GSB 1     31 22 01
057  -           51
058  f GSB 2     31 22 02
059  /           81
060  STO C       33 13
061  .           83
062  9           09
063  h X<->Y     35 52
064  g x<=y?     32 71
065  GTO e       22 31 15
066  f FIX       31 23
067  DSP 0       23 00
068  h RTN       35 22
069  f LBL D     32 25 14
070  STO D       33 14
071  h F3set?    35 71 03
072  GTO D       22 31 14
073  3           03
074  h STO I     35 33
075  1           01
076  0           00
077  STO D       33 14
078  f LBL d     32 25 14
079  f GSB 2     31 22 02
080  RCL C       34 13
081  X           71
082  f GSB 1     31 22 01
083  +           61
084  RCL E       34 15
085  h X<->Y     35 52
086  /           81
087  RCL D       34 14
088  X           71
089  STO D       33 14
090  f DSZ       31 33
091  GTO d       22 31 14
092  f LBL D     32 25 14
093  4           04
094  .           83
095  9           09
096  h X<->Y     35 52
097  g x<=y?     32 71
098  GTO e       22 31 15
099  5           05
100  0           00
101  h X<->Y     35 52
102  g x>y?      32 81
103  GTO e       22 31 15
104  DSP 1       23 01
105  h RTN       35 22
N.B. Program listing and attachment updated with corrections. Contains program card for Teenix HP67 emulator and the above listing.
Flemming
Could you please give as an example and a sequence of instructions

Thank you in advance,
Pedro
original attached
[attachment=7310]

BEST!
SlideRule
Thanks for the source SlideRule! Is it from volume 1 of the series? Abe Books only turns up volume 4 (1980) in quantity at a dizzying price, along with two that may be first edition (1964). I can remember browsing Electronic Design and other magazines at the library as an undergraduate looking for ideas like this one...

Looks like the original equation is
\$\$T = 0.32(R+0.7)C + 11.8(R^.837)\$\$

So the addition operator in step 34 is correct. Step 18 is RCL D as noted, and step 61 should be a decimal point rather than the subtraction operator. Here's a correction in "Teenix" format with key codes for the HP-67 (I have no HP-97, and given the price on TAS, I'm very likely never to have one ) The updated ZIP file from my previous post contains the same listing along with the program card to load into the Teenix HP-67 emulator.

Code:

001  f LBL E     32 25 15
002  STO E       33 15
003  h F3set?    35 71 03
004  h RTN       35 22
005  f GSB 2     31 22 02
006  RCL C       34 13
007  X           71
008  f GSB 1     31 22 01
009  +           61
010  STO E       33 15
011  g SCI       32 23
012  DSP 1       23 01
013  f RND       31 24
014  f FIX       31 23
015  DSP 0       23 00
016  h RTN       35 22
017  f LBL 1     31 25 01
018  RCL D       34 14
019  .           83
020  8           61
021  3           61
022  7           61
023  h YtoX      35 63
024  1           61
025  1           61
026  .           83
027  8           61
028  X           71
029  h RTN       35 22
030  f LBL 2     31 25 02
031  .           83
032  7           07
033  RCL D       34 14
034  +           61
035  .           83
036  3           03
037  2           02
038  X           71
039  h RTN       35 22
040  f LBL C     32 25 13
041  ENTER       41
042  g FRAC      32 83
043  f x=0?      31 51
044  GTO C       22 31 13
045  CLx         44
046  EEX         43
047  6           06
048  X           71
049  ENTER       41
050  f LBL C     32 25 13
051  h ROLDN     35 53
052  STO C       33 13
053  h F3set?    35 71 03
054  h RTN       35 22
055  RCL E       34 15
056  f GSB 1     31 22 01
057  -           51
058  f GSB 2     31 22 02
059  /           81
060  STO C       33 13
061  .           83
062  9           09
063  h X<->Y     35 52
064  g x<=y?     32 71
065  GTO e       22 31 15
066  f FIX       31 23
067  DSP 0       23 00
068  h RTN       35 22
069  f LBL D     32 25 14
070  STO D       33 14
071  h F3set?    35 71 03
072  GTO D       22 31 14
073  3           03
074  h STO (i)   33 24
075  1           01
076  0           00
077  STO D       33 14
078  f LBL d     32 25 14
079  f GSB 2     31 22 02
080  RCL C       34 13
081  X           71
082  f GSB 1     31 22 01
083  +           61
084  RCL E       34 15
085  h X<->Y     35 52
086  /           81
087  RCL D       34 14
088  X           71
089  STO D       33 14
090  f DSZ       31 33
091  GTO d       22 31 14
092  f LBL D     32 25 14
093  4           04
094  .           83
095  9           09
096  h X<->Y     35 52
097  g x<=y?     32 71
098  GTO e       22 31 15
099  5           05
100  0           00
101  h X<->Y     35 52
102  g x>y?      32 81
103  GTO e       22 31 15
104  DSP 1       23 01
105  h RTN       35 22

Pedro, an example would be something like this. You'd like a 100 nSec pulse from a one-shot, so you'd start with a one puff cap as a good guess and enter into the calculator

100 "E" (enter value of pulse time in nanoseconds)
1 "C" (enter value of capacitance in picoFarads)
"D" (calculate value of resistor in kiloOhms)
12.2 (displayed result)

Given that era, you were probably working with 10% resistor values (5% for military, 1% for NASA!). Values in the E12 series are

1.0 1.2 1.5 1.8 2.2 2.7 3.3 3.9 4.7 5.6 6.8 8.2 times a decade multiplier

So the best resistor value would be a 12 Kohm, 10% resistor. If on the other hand suppose you wanted a 250 ns pulse. Enter the known value T and a guess for C.

250 "E" (New pulse time, 250 ns)
1 "C" (starting value for C)
"D" (calculate resistor value)
Displays 36.1 (KOhms)

The calculated resistor value (36.1 Kohm,) doesn't fit well in the above E12 series. Try using the next two decade values for capacitance, 10pF and 100pF.

250 "E" (nSec)
10 "C" (pF)
"D"
Displays 24.2 (KOhm)

250 "E" (nSec)
100 "C" (pF)
"D"
Displays 5.6 (KOhm)

A 100pF capacitor gives a resistor value of 5.6KOhms and that is right on the nose in the E12 series.

Now imagine doing this trial and error process with a slide rule or non-programmable calculator!
~Mark
Dear Flemming. I always ask for a numeric example for three simple reasons: a) to check programming (my wrong keystroking or programmer failures), b) to learn about the subject and its sensitivity, and c) to get the correct units (for in and outputs) and procedure instructions (not always clear for me)
Thank you a lot,
Pedro
Reference URL's
• HP Forums: https://www.hpmuseum.org/forum/index.php
• :