-[[.:start]]
====== DM16L Progs ======
** Some Programming aids... **
===== 65C22 Timer values =====
To calculate T1CH & T1CL values for an audio frequency tone generator (akin to the DM41X Ladybug version [[public:calculator:progs:dm41x_progs|]])
==== Counter calculation ====
The required count is calculated from ''Φ2'' and the audio frequency required.
Count (decimal)
{ Φ2 / ( 2 x F ) } - 2
for 1000Hz and a 1MHz Φ2 :
Count = { 1,000,000 / ( 2 X 1000 ) } - 2 = 498
498d -> $01F2
Start in DEC mode (and ''UNSIGNED'' integers)
put required audio tone frequency in X
GSB'A'
Result is shown in ''hex''
e.g.
DEC
1000
GSB'A'
Result ''001F2 H''
$01F2
T1CH = $01
T1CL = $F2
The Program Listing
43,22,A | g LBL A
44 0 | STO 0
2 | 20
0
42 44 | f WSIZE (i.e. WSIZE = 20)
1 | 1000000
0
0
0
0
0
0
45 0 | RCL 0
2 | 2
20 | x
10 | /
2 | 2
30 | -
23 | HEX
43 21 | g RTN
===== Version 2 =====
To calculate VIA T1 values with different CPU Φ2 clock frequencies.
Switch to DEC mode. Set word size to 24.
Put required CPU Φ2 in Y and required audio freq. in X
GSBB
Answer is in HEX.
e.g 1MHz CPU Φ2 and 1000Hz Audio
1000000
Enter
1000
GSBB
0001F2 H
Timer values T1CL -> $F2 and T1CH -> $01
or for 4MHz and 100Hz (e.g. for a 10ms TICK)
4000000
Enter
100
GSBB
4E1E H
Timer values T1CL -> $1E and T1CH -> $4E
* Routine B
42,22, B
44 0
34
44 1
2
4
42 44
45 1
45 0
2
20
10
2
30
23
43 21
--- //John Pumford-Green 07/08/22 07:14//
===== Further Information =====
{{tag>}}
--- //John Pumford-Green 24/04/23 16:06//
===== Further Information =====
{{tag>}}