WuDavid1987

CALIFORNIA STATE UNIVERSITY, NORTHRIDGE
MICROPROCESSOR CONTROLLED WINDSHIELD WIPER
A project subaitted in partial satisfaction of the
requirements for the degree of Master of Science in
Engineering
by
DAVID D. WU
May 1987
The project of
David D. Wu
is approved:
Professor Richard Ehrgot~
Professor Mohamed Roosta
Professbr ~bert
California State University, Northridge
ii
TABLE OF CONTENTS
LIST OF FIGURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
iv
LIST OF ABBREVIATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
v
ABSTRACT • • • • • • • • • • • • • • • • • • • • • • • • • • • . • • • . • • • • • • • • • • • •
vi
INTRODUCTION
1
CHAPTER
1
SYSTEM REQUIREMENTS
2
2
HARDWARE DESGIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.1
2.2
2.2.1
2.2.2
2.2.3
2.2.4
2.2.5
2.3
3
Analog switches . . . . . . . . . . . . . . . . . . . . . . .
control circuitry .................... .
8-Bit single-chip aicrocomputer ...... .
Analog to digital (A/D) converter .... .
THOS power switches .................. .
Watch-Dog-Tiaer ...................... .
30 seconds power on/off switch ....... .
Systea description ................... .
14
17
17
17
19
SOFTW.ARK DESGIN ••••••••••••••....••••••••...•
22
Syste• clock . . . . . . . . . . . . . . . . . • . . . . . . . . . .
Memory organiztion . . . . . . . . . . . . . . . . . . . . . .
Tiaer interrupt . . . . . . . . . . . . . . . . . . . . . . . . .
ProgralllS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Controller operation suaaary ............
22
37
PROGRAMMING AND DEBUGGING ........•...........
49
Debugging -. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Programming firmware....................
Progr~ing steps . . . . . . . . . . . . . . . . . . . . . . .
4:9
3. 1
3.2
3. 3
3. 4
3.5
4.1
4.2
4. 3
5
Conclusions
5
11
11
22
28
26
50
50
54
APPENDIX
A
FLOWCHARTS OF PROGRAMS
55
B
ASSEMBLY PROGRAMS............................
71
C
PROORAM LISTING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
94
iii
LIST 01" FIGURES
Figure No.
1.1
System Functional Diagraa ................ .
2
2.1
Systea Block Diagraa ..................... .
6
2.2
NO Command ............................... .
8
2.3
M/D Conuaand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2.4:
WASH CoiiiiiUllld ............................. .
9
2.5
OFF COIIUIUllld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.6
L/H Command
10
2.7
Systea Input/Output _....................•..
13
2.8
Analog/Digital Converter ...•..............
16
2.9
Ti•ing Diagra. ...............•............
16
2.10
Power On/Off Swi tcb ..................•....
18
2.11
Systea Scheaatic Diagraa
20
2.12
Processor Board Aasembly ...............•..
21
3.1
Systea Control Flow ......... ~ ............ .
23
3.2
MCU MeJB()ry Map •..•••..•.•.•.........•••...
24
3.3
I/0 Ports Tt.er and RAH . . . . . . . . . . . . . . . . . . .
26
3.4
RAM Assisments •................•.........•
27
3.5
Flag Register .....•.....•.........•......_.
31
3.6
Flagl Register ........................... .
32
4:.1
Programming Connection Schematic Diagraa ..
51
4.2
Firmware Programmer Board Assembly ....... .
52
iv
LIST OF ABBREVIATIONS
1.
VLSI
Very Large Scale lntegratiom
2.
IGN
Ignition
3.
N/0
Normally Open
4.
IW
Innerwipe
5.
M/D
Mist/Delay
6.
N/C
Normally Close
7.
MCU
Microcomputer Unit
8.
PCB
Printed Circuit Board
9.
TTL
Transistor-Transistor Logic
10.
RTI
Return Fro• Interrupt
11.
I/0
Input/Output
12.
AID
Analog To Digital
13.
ROM
Read-Only Memory
14.
RAM
Random-Acess Memory
15.
WA
Wash
16.
LO
Low
17.
HI
High
18.
RTS
Return From Subroutine
19.
EPROM
Erasable Programmable ROH
20.
LED
Lighted Emitter Diode
v
ABSTRACT
MICROPROCESSOR CONTROLLED WINDSHIELD WIPER
BY
DAVID D. WU
MASTER OF SCIENCE IN ENGINEERING
The advent of microprocessors and VLSI supporting chips
have made possible the development of low cost process controller that is smaller in size, reliable, and adaptable to
different operation conditions.
This project involved
the
use of these devices in the desgin and development of a programmable windshield wiper controller. The low cost single
brush wiper motor is controlled by a single chip microcomputer and
performs
the same
functions
that a more costly
multi-brush wiper motor does.
In ·this report, system design requirements are specified. Hardware and software designed are described. A prototype of the system was constructed.
Test results
that the system performed as specified.
vi
indicated
INTRODUCTION
The microprocessor is one of the most exciting technological developments since the transistors appeared in 1948.
It is predicted that the device will not only revolutionize
the digital electronics field,
but will also have
a great
influence on the way of life of present and future generations.
Many designers investigated possible applications in
new products and concluded that they can be used to improve
product reliability by using
microprocessor-based
control
in place of control by mechanical parts.
A new low cost
windshield
wiper system
was
designed
using a microprocessor to generate the ca.mand signal and a
THOS
power switch to replace the mechanical relay to drive
the wiper motor and washer pump. With the electronics added
to the windshield system, it will provide:
1. New features to the driver.
2. new opportunities for dash styling.
3. A reduction of bulkhead wiring.
4. Improve reliability.
With this new advanced technology
it is believed
that the
automobile design philosophy will start a new stage.
1
,, .
CHAPTER
1
SYSTEM REQUIREMENTS
Figure 1.1 shows the functional diagram of the system.
The system consists of four aodes of operations.
These are
(1) LO/HI, (2) MIST/DELAY, (3)WASH, and (4) OFF operation.
OFF
MIST/
DELAY
LO/BI
WASH
BUCKHEAD
CONNECTION
1
1
l
WIPER &
ELECTRONICS
ANALOG
--
MULTIPLEX
WIRE
FIGURE 1.1
IGN
B+
SYSTEM FUNCTIONAL DIAGRAM
Each of the four modes of operation is activated by a
manual-control switch. Each switch is a momentary-contac·t,
low-current, noraally-open switch.
The switch information
is conveyed to the electronics over an
wire.
"analog multiplex"
At any instant there will be one of five (5) unique
voltage levels
appears on the multiplex wire.
These five
voltages are uniquely associated with:
1. A closure of any of the four (4) switches, or
2. A closure of none of the four (4) switches.
2
3
Functions activated by these four switches are:
LO/HI-The first touch of the switch starts the wiper in low
speed,
the next touch changes
the operation to high
speed. The next commands low speed, Etc.
MIST/DELAY-The first touch of tbis switch produces a single
wipping. The wiper then remains at rest until a second touch of this switch. When the second touch occurs
, the wiper again provides a single wipping. The time
between the completion of the first wipe and the second touch of this switch defines the time delay interval for all subsequent wipes. Should the second touch of the switch not occur within 16 seconds, the wipping rate is set to the maximan value of 15 seconds.
If the wiper is initially
"off"
when this switch is
closed and held closed, the wiper will run in low speed and a "MIST'' operation is perforJDed.
WASH- This switch commands two modes of operation depending
on the length of time this switch is pressed.
If the
switch closure time is less than or equal to one second, the washer applies water for 4 seconds while the
wiper runs at low speed, the glass is then dried by 4
wippings and the
opereation prior to
"WASH"
switch
closure is resumed. The mode of operation is referred
to as
"programmed wash".
If the closure of the wash
switch exceeds one second, then the wiper runs at low
4
speed and water is applied for as long as
the switch
is closed. followed by 4 wippings without water and a
resumption .of
the
previous operation.
This mode of
operation is referred to as "demand wash".
OFF - Except when the syste• is in one of the "WASH' modes,
a touch of this switch causes
the blades in a
"PARK"
the wiper to halt with
position below the hoodline.
If the switch is pressed during a wash cycle,the entire wash is completed before the wiper is parked. The
intent is that normally the wiper will return to
the
.. PARK'' position both when the "OFF" switch is pressed
and when the ignition is switched off. For blade maintanence, however, the blades should stop at whatever
arbitrary position if the closure time of .. OFF'' swi t~
ch exceeds one second.
"immediate off''.
This mode is
referred to
as
CHAPTER
HARDWARE
2.1
Figure
2
DESGIN
shows a block diagram of the system.
The
system consists of six components. They are:Analog switches
Analog to digital (A/D)
, 8-bit single-chip microcomputer,
converter,
TH0S power switches,
Watch-dog-timer,
and
30
seconds power on/off switch.
2.1
ANALOG SWITCHES
'
The four switches are located on the dash-board.
Each
of which is a aomentary-contact, low-current, normally open
switch. The four switches are connected to the power supply
BAT+ through a resistive network.
Voltage
generated
upon
closing each of the switches can be computed as follows:
(1)
The "NO COMMAND" operation is achieved by let all five
swi·tches remaind o:Pen. The equivalent circuit is shown
in Figure 2.2.
Vx = Vee ( Rref I Rref+R5 )
(2)
The
''MIST/DELAY COMMAND""
operation
closing the MIST/DELAY switch.
(1)
is
achieved
by
The equivalent circuit
is shown in Figure 2.3.
Vx
Where
= Vee
( Rmd I Rmd+R5)
Rmd = Rl II Rref
= (Rl)(Rref) I (Rref+Rl)
5
(2)
.
BAT
L/H
~
IGN
r
7
Vx.
R5
~
-
O::t>
0'-...,
Zt:::::t
::3::
H
()
trl
,...
:;d
' '-
RUN
:;d
0
(")
0
::3::
'l:J
c
t--3
R1
tx1
:;d
l
DASHBOARD
SWITCH
trl
:;:o
-o
trl
[
.Cl
0
:;o.
~C1
I
'l:J(
PARK
t--3
R2
~ )~
<:
~-))---
R3
II
v :;c
R4
BAT .
30 SECONDS
POWER SW.
WATCH
DOG
TIMER
FIG. 2.1
-
TMOS
POWER
SWITCH
DR I.
'
I
------J
SYSTEM BLOCK DIAGRAM
0:
(3)
The
NWASH COHHAND"
the
WASH
switch.
operation is
achieved by closing
The equivalent circuit is shown in
Figure 2.4.
Vx = Vee ( Rwa I Rwa+R5 )
Where
Rwa
= (Rl+R2)
(3)
II Rref
- (Rl+R2)(Rref) I (Rl+R2+Rref)
( 4)
The ""OFF COMMAND.. operation is achieved by closing the
OFF switch.
The equivalent circuit is shown in Figure
2.5.
Vx
Where
Roff
= Vee ( Roff
= (Rl+R2+R3)
I Roff+R6 )
(4)
II Rref
= (Rl+R2+R3)(Rref) I (Rl+R2+R3+Rref)
( 5)
The ••t/H Co.-and" operation is achieved by closing the
LIB switch.
The equivalent circuit is shown in Figure
2.6.
Vx
Where
Ro
= Vee ( Ro I Ro+Rref )
(5)
= (Rl+R2+R3+R4) // Rref
= (Rl+R2+R3+R4)(Rref)/(Rl+R2+R3+R4+Rref)
7
8
SW. OPEN
Vee
R5
Vx
Rref
FIG. 2.2
(
NO COHMAND
Vee
R5
M/D SW.
FIG. 2.3
Vx
M/D COMMAND
9
Vee
R5
Vx
WASH SW.
R2
Rl
FIG. 2.4
WASH COMMAND
Vee
R5
Vx
OFF SW.
CLOSED
R3
/
RJr
FIG. 2.5
OFF COMMAND
10
Vee
R5
L/H SW. CLOSED
Vx
Rref
v
FIG. 2.6
L/H COMMAND
.
'
11
2.2
CONTROL CIRCUITRY
The control ·circuitry is
mounted on a printed circuit
board (PCB). It includes an 8-bit single-chip aicrocomputer
(HCU), an analog to digital converter (A/D), the TMOS power
switches,
a 30 seconds power switch circuit,
and a watch-
dog-timer as shown in Figure 2.1. A prototype of the PCB is
shown in Figure 2.12.
2.2.1
8-BIT SINGLE-CHIP MICROCOMPUTER
Choice
of the
appliable to
12V
de
microprocessor
is dictated
by cost,
power supply of the automobile and a
substantial amount of on-board memory.
The Motorola device
MC6805P2 is chosen because it satisfies the desgin requirements. Further.ore pin assignments of the device are compa·tible
It
with
a
simulator
program available from Motorola.
eliminates the efforts to develop a new proara. for in-
circuit emulation.
The low-cost single-chip HC6805P2 microcomputer contains a Centro! Processor Unit (CPU), Clock Generator, Timer
/Counter with Interrupt, True Bit Manipulation, 20 TTL/CMOS
compatible bi-directional Inputs/Outputs lines, 1k bytes of
ROH, and 64 bytes of RAM.
The interrupts are generated by a 8-bit timer. It can
be loaded with
an initial value and counts down.
When the
counter reaches zero, an interrupt is generated and an interrupt routine is executed. At the end of interrupt routine
, a return from interrupt (RTI) is executed. The RTI execution is a sequence that restores the state of the CPU.
12
There are 8
I/0 ports used in the system as shown in
the Figure 2.7. The input ports are :
PAO, PBl,
and
PB2.
PAl, PBO, PCO, PC2, and PC3 are used as output ports.
INPUT SIGNALS
(1)
Ignition input (PAO) : The power (Vee) is connected to
the system as soon as the Ignition switch is on.
The
MPU
checks the Ignition input from PAO and
turns the system power off 30
seconds after the
Ignition input went to low (IGN turned off).
(2) Wiper command input (PBl) : The MCU receives the wiper
command
from this port
and tests it
to decide
which command has been issued.
(3) Park/Run input (PB2): If the Ignition switch is turned
off and the PB2 is in Run mode, the MCU runs the
wiper in low speed and stops at Park position.
OUTPUT SIGNALS
(1) PAl : The
HCU
detects the
position of the
Ignition
switch and turns the system power on or off from
this port.
(2) PBO
The HCU
uses this port to enable or inhibit the
wiper command.
(3) PCO
The HCU controls the low/high speed of the wiper
motor through this port.
(4) PC2
The on and off
operations of the Washer pump is
controlled from this port.
(5) PC3
The HCU starts Watch-Dog-Timer from this port.
t
XTAL
~
PAl
~
PBO
H
()
IGNITION INPUT
PAO
POWER ON/OF CONTROL
WIPER COMMAND ENABLE
0
PARK/RUN
()
MODE
0
PB2
~
WIPER MOTOR CONTROL
PCO
~
WIPER COMMAND INPUT
PBl-i
c
~
WASH PUMP CONTROl,
PC2
ti1
~
SYSTEM RESET
RST
FIG. 2.7
WATCH-DOG-TIMER ENABL E
PC3
SYSTEM INPUT/OUTPUT
,....
w
14
2.2.2
ANALOG TO DIGITAL (A/D) CONVERTER
The
analog to digital converter is used to convert the
voltage level of the wiper command
signal to 8-bit digital
word. Figure 2.8 shows the voltage levels which are conveyed to the HCU.
In Figure 2.8, the voltage across the capacitor is zero
. after the
Q1 is turned on,
the voltage across capacitor
Vc charges toward Vee through R5. The variation between the
initial
and
final values is exponential in character with
the time constant
Jr
Vc = Vee ( 1 - e
= R5 * Cl.
-t /T
Vc can be expression as:
)
(6)
During the charge of the capacitor, Q2 is turned on and
outputs a low to HCU as soon as the capacitor voltage rises
above the Vref level.
as long as
The capacitor voltage remains steady
Ql is on and the output of Q2 stays on low.
When Ql is switched from on to off, the capacitor voltage will discharge through the resistor Rref
(R
or
Rref // R
is the command resistance from the analog switch circuit)
to zero. The differential equation is as follows:
V
= Vc
e-t:/T
(7)
During the discharge of the capacitor, Q2 will be turned off as soon as the voltage drops below Vref and the output of Q2 will be logic 1 (high) to HCU.
The MCO starts a counter from T as soon as Q1 is turned
off,and stops the counter as soon as Q2 is switched to off.
From the
different counts accumulated in the counter,
HCU decides which ca.mand is to be issued.
the
Vee
< R6
I
ANALOG SWITCHES
(ON DASH-BOARD)
_L_
QlR')
R4<
l
R7
tV\,
r---
I
I
-I
I
I
~
H
a
~
0
TTL INPUT I
R2
>
+
Q2
I
a
0
:t
t'(j
c
1-3
Rl
<:
.<«rei
FIG. 2.8
Cl
I
~D1
I
l
ttj'
~
ANALOG TO DIGITAL CONVERTER
,_.
()'I
16
I
I
u- I
....~I,
-
1-
r-----I
I
;
1-1
Q
... -----
~
c.!'
zH
X:
1-1
E-t
.
.
c.!'
0)
N
1-1
141.
~
0
17
2.2.3
THOS POWER SWITCHES
TMOS -power swi·tches in this system are used in place of
mechanical relays to drive the wiper motor and washer puap.
The THOS power switch consists of a N-channel FET driving a
P-channel output FKT. THOS is so called because the structure splits the drain current into a "T" formation to reduce
the amount of current needed to control the
power HOSFETs.
The device has a breakdown voltage as high as
1000v
and a
current handling capability up to 20A, and an on-resistance
as low as 0.01 Ohm.
2.2.4
WATCH-DOG-TIHKR
The Watch-dog-timer is used to restart the program when
a malfunction
is
detected
in the software.
chosen for the design is a dual,
The
MC14528
re-triggerable monostable
multivibrator. The MCU enables the one shot when the program starts. The MCU is programmed to retrigger the multivib-
rator at a regular interval.
If the trigger does not occur
within the interval, the device resets the system and restarts the program from the beginning.
2.2.6
30 SECONDS POWER ON/OFF SWITCH
Output
of
the battery is unregulated
voltage is regulated
system. As shown in
12
down to 5v to operate the
volts. This
windshield
Fig. 2.10, when ignition switch IGN is
closed, the MCU tests the input port PAO and if it is a "1"
, then the MCU turns on Q9 and QlO.
The battery power then
goes through Q3 and the regulator converts it to 5 volts.
BAT.(12V)
06
R27
R28
DB
Q9
R26
R29
IGN
)I
•
5V
1
I REGULATOR
•
5V
'
0
C2
Q10
IGN INPUT
~
a:
PAO
PAl...
MCU
I
PWR
ON/OFF
~PB2
RUN
FIG. 2.10
POWER ON/OFF SWITCH CIRCUIT
.....
CXl
19
It is so called
·· 30
Seconds
on/off
because the regulator continues to provide
when the Ignition
switch
power switch ..
5V
supply even
This is because the HCU
is off.
tests input port PAO for a " 0 " and was programmed to wait
for 30 seconds before switches the supply off through PAl.
2.3
SYSTEM DESCRIPTION
The MCU (6806P2) turns on and off
Ql periodically. As
shown in Figure 2.11, when Ql is on (PBO =0), the capacitor
Cl charges
through
resistor R6,
and turns on Q2. The HCU
receives a logic " 0 " fro• input port PBl.
The HCO starts
the counter at TO as shown in ¥ig.2.9 when Ql is turned off
(PBO
= 1),
and the Cl capacitor discharged. After a certain
time of the delay
and Cl,
7
( the delay time depends on
= R * Cl) ,
Rc~m,
Q2 will be turned off and PBl
MCO stops the counter at time T when
content of the counter,
the
HCO
PBl
= 1.
= 1.
The
Based on the
recognizes which
switches (commands) has been pressed.
Rref,
of the
])%
(z.?V)
Ll!-1
PM
5Vo
do-,
~ }fZJ,_
r~q
, F_4.
Qfll
Imm
PA!LK
....~
~
):>
IF
~
~
P61
r?_)
()_]_
1
Q2
MC
fr. ~ ~5
P.2
MULTIPLEX
W.Irz.E
D1fttj
U7Vl
ft~
vu
")7::;:
PC!
D5
LC.7V)
FIG. 2.11
SYSTEM SCHEMATIC DIAGRAM
N
0
~l
' .
FIG. 2.9
PROCESSOR BOARD ASSEMBLY
CHAPTER
3
SOFTWARE DESIGN
Microcomputer is an EPROM
The HC68705P3
H6805 family
of low-cost
member of the
single-chip microcomputers.
programmable EPROM allows program changes. The EPROH
The
versi~
ons also reduce the development tt.e for prototype evaluat-
EPROM,
ion. This 8-bit microcomputer contains a CPU,
RAM,
bootstrap ROM, I/0, on-chip CLOCK, and a TIMER.
3.1
SYSTEM CLOCK
The system runs with the internal clock at the speed of
1MHZ when the "XTAL'' pin as shown in Figure
to Vee.
A one-microsecond
2.11 is pulled
clock is input to the prescaler
and the prescaler is progra.aed
to extend the clock to
32
microseconds to operate the counter.
3.2
MEMORY ORGAHIZTION
As shown in Figures 3.2 and 3.3,
addressing 2048 bytes of aeaory and
program counter.
The HC6805P2
These consist of:
uses
the HCU is capable of
l/0 registers with its
1288
6 bytes of port l/0,
of these bytes.
2 ti•er registers,
64 bytes of user RAM, 1100 bytes of user ROM, and 116 bytes
of self-check
ROH.
The 31 bytes stack area is used during
the processing of interrupt and subroutine call to save the
processor state, which are 31 bytes maximum.
The
controlling software
resides in the page zero ROH
area and the main ROH area. The software is 1018 byte long;
22
23
START
INITIALIZATION
VES
VES
LOOP
CHECJ<
COMMAND
ROUTINES
NO
VES
FIG.
3.~
SVSTEM CONTROL FLOW
24
7
000
.1.27
.1.28
s
6
4
3
2
.1.
0
1/0 Por-t:s TiMer
and
RAM
<.1.28 Byt:es>
S99e
$97F
$989
Page Zero
User ROM
<.1.28 Byt:es)
255
256
$9FF
$.1.99
Not: Used
<794 Byt:es>
959
969
$3BF
$3C9
Main
User
ROM
(964 Bytes)
.1.923
.1.924
$783
$784
Sel£"
Check
ROM
<.1..1.6
Byt:es>
2939
2949
TiMer- Interrupt:
294.1.
2942
Tnt:errupt:
Ext:.
2943
2944
SWI
2945
2946
RESET
2947
Fig.
3.2
MCU
MeMory
$7F7
$7F8
$7F9
$7FA
$7FB
$7FC
$7FD
$7FE
$7FF
Map
25
".
7
4
3
2
009
Por-t.
A
$000
00~
Por-t
B
$90~
002
6
~
J.
5
J.
~I
993
Not
994
995
996
~
~
997
~
Port
9
c
$992
Used
$993
Port
A
DDR
$994
Port
B
DDR
$995
~
~I
Not
Port
DDR
c
$996
$997
Used
998
TiMer Data. Reg
$998
999
TiMer- Cont
$999
Reg
$99A
9~9
Not Used
(54 Bytes>
963
964
$93F
$949
RAM
(64 Bytes)
996
997
----------------
$969
$96~
Stack
(3~
Bytes
MaxiMuM>
$97F
~27
Fig.
3.3
1/0 Ports
TiMer & RAM
26
Q
the first 120 bytes of the program are located from $080 to
$3F7 in the page zero ROH area, and the other $898 bytes of
the program
are from
$3CO
to
$741 in the main ROM area.
Figure 3.4 shows meaory locations assigned as registers.
3.3
TIMER INTERRUPT
The timer interrupt
on-chip
8-bit
is used for subroutine calls. The
timer is initialized by software,
timer mask bit in the timer control register is 0.
interrupt is
generated each time the
provided that the interrupt
register is also 0.
current state of
when the
A timer
counter reaches zero
mask bit in the condition code
When the
interrupt is recognized, the
·the system is pushed
onto the
stack and
the program counter is loaded with the tiaer interrupt vec·tor address.
also set,
The I-bit in the
condition code
register is
which masks further interrupt. At the end of the
execution of Timer Interrupt routine, a
RTI is executed to
restore the syste• and return to the aain prograa.
3. 4
PROGRAMS
The
software package
Restart routine,
Ti•e out routine,
OFF command routine,
comaand routine.
consists of six
LOIBl command routine,
WASH command routine,
Flow diagraas
main routines;
and the
and MIST/DELAY
listings of these
programs are given in Appendices A, B and C.
POWER UP
When the "IGNITION" is switched to on, the Vee will be
•
27
7
6
s
4
3
e
1
NOCOH
NOCOM1
FRAC
~64
065
966
067
FRAC~
TIME1
TIME2
TIME3
TIME4
TIME5
068
069
070
07~
072
073
074
075
T~~2
T59
T25
076
T3~
077
T~2
078
T6
T3
079
989
T7~
98~
T99
TEMP1
TEMP2
TEMP3
TEMP4
COUNT
082
083
984
085
986
087
COUNT~
FLAG
FLAG1
MD1
MD2
MD3
MD4
MD5
IGN1
IGN2
088
089
999
99~
092
093
094
095
096
FIG.
2
3.4
~
$40
$41
$42
$43
$44
$45
$46
$47
$48
$49
$4A
$4B
$4C
$4D
$4E
$4F
$59
$5~
$52
$53
$54
$55
$56
$57
$58
$59
$5A
S5B
$5C
$5D
S5E
$5F
$60
RAM ASSIGNMENTS
28
supplied to the controller. When the power is on, the controller is reset. When the reset orccurs, the vector, stored
in .amory, is loaded into the prograa counter. During reset
the 1-bit in the condition
code register
and the timer
interrupt bit are both set. Also the stack pointer is reset
to the beginning
of the stack which is $07F in the memory.
The timer and its prescaler are set to all l's and the Data
Direction Registers are cleared on all 1/0 ports.
RESTART ROUTINE
Restart is the initialization routine activated by the
controller when the power is up.
The initialization
routine begins
at the
address of
$3CO in the •ain user ROM. When the controller first starts
or the Watch-Dog-Timer resets it, the Restart routine initializes the syste•. The I/0 ports are defined, the windshield
wiper motor
and
the washer pump are
turned off, the
Watch-Dog-ti.er is enabled, and all the registers in RAM as
shown in Figure 3.4 are cleared.
The
controller enables the A/D
converter
to receive
the wiper c01111D81ld. The counter starts to count when the AID
converter is enabled.
this moment,
Since there
is no switch pressed at
the count of the counter
stands for the " No
comaand .. and is stored in the register Nocaa. The adjusted
time of the No Command
Both of these registers
next command time
is also stored in register
will be used to
in the
command is received.
compare
Nocoml.
with the
Time Out routine to decide which
29
The program then loads
timing counter with a specific
number and starts the count down. Before the counter counts
down to zero,
the program goes into the loop
to clear all
the outputs, Stack pointer, and the TLDer Control Register.
When the counter reaches zero,
and the program jumps out
the Timer Interrupt
from the loop into
occurs
the Ti.a Out
routine which is ·the main routine of deciding which command
switch is pressed.
TIME OUT ROUTINE
When Timer Interrupt occurs during the initialization,
the program goes to Time out routine to decide which command is received.
Also the 30 seconds power
off
program is
included in this routine.
Before the program checks the input signal, the Ignition switch
is detected to
see if it is on or off.
Ignition switch is off, the program goes to the
power off routine instead of
going
to the
In the 30 seconds power off routine,
on for
30
seconds befor turning off the
30 seconds
input
check.
If the
comaand
the MCU stays
syste• power
outputing a logic low to the output port PAl.
by
During these
times, The MCU starts to load the counter with 30
seconds.
The MCU then turns off the washer pump by outputing a logic
low on the output port PC2,
the flag
register
FRAGl.
then checks Ignition mode from
If it is in Immediate off mode,
the MCU puts a logic low on the output port PCO to turn off
the wiper motor.
•ode,
If Ignition off
is not in the
the controller turns on the wiper
Immediate
to park the wiper
30
at the
Park position with low speed.
counter counts down to 0,
When the 30
the controller
seconds
turns the syste•
power off by outputing a logic low on the output port PAl.
If the Ignition is on, the controller starts to proceed
through debounce logic.
ir
Once the command switch input data
letermined to be good,
th•:; command
being received
known command data.
the
by
controller decides which is
comparing this data to the
The counts of these known comaands are
as follows:
(1) Cable broken
T112
(2) No command
T90
(3)
T71
L/H co-and
(4) OFF coiUiand
(6) WASH
:
c~d
{6) Circuit short
T60
T31
T12
.. T.. is the received com.and data counts .
la. T90
> T > T71
Jump to LHC subroutine-LO/HI command.
2a. T71
> T > T60
Jump to OFFC1 subroutine-OFF co-.and.
3a. T60
> T > T31
Jump to WASHC1 subroutine-WASH command.
4a. T31
> T > T12
Jwap to HISTC subroutine-MID coaaand.
If T
> T90
or
T < Tl2, the controller tests the flag
from the flag registers FLAG and FLAGl as shown in Fig. 3.6
and Fig. 3.6.
From the proper flag set, the proper command
routine will be executed.
lb. If "WA"
flag is set, jump to WASH subroutine.
2b. If "OFF" flag is set, jump to OLOW1 subroutine.
3b. If "LO"
flag is set, jump to LOWl subroutine.
31
FIG.
3.5
7
6
FI.. AG REGISTER
5
L/H
OFF BV
PASS
BIT9
~
~
BIT3
9
:
.
9
~
9
BIT?
~
9
M/D
~ST
IMMEDIATE COMMAND
NO COMMAND
LOW SPEED COMMAND
NO COMMAND
~
WA
FIRST TOUCH OF THE L/H SWITCH
SECOND TOUCH OF THE L/H SWITCH
~
BIT4
BIT6
IMED
OFF
WASH COMMAND
NO COMMAND
9
BITS
L/H
:
~
-
LO
TOUCH OF THE MIST/DELAV SWITCH
2ND TOUCH OF THE MIST/DELAV SWITCH
9
BIT2
HI
~
:
9
BIT~
2
4
.
HIGH SPEED COMMAND
NO COMMAND
L/H SWITCH IS HELD
NO COMMAND
OFF COMMAND
NO COMMAND
32
,, .
FIG.
7
3.6
6
REGISTER
5
4
IGN
OFF
IN
I..MMED
ODE
CABLE
BRO:KE
BIT9
FLAG1
J.
9
BITJ.
J.
9
BIT2
J.
9
BIT3
J.
9
BIT4
J.
:
.
.
.
3
2
J..
L/H
WASH OFF
IN
B~
WASH B~
B~
MODE
PASS
PASS PASS
MIST
DELA~
OFF SWITCH IS HELD
NO COMMAND
WASH SWITCH
NO COMMAND
IS HELD
L/H COMMAND IN WASH MODE
NO COMMAND
MIST SWITCH
NO COMMAND
IS HELD
COMMAND
NO COMMAND
DELA~
9
9
IGNITION OFF IN IMMEDIATE OFF MODE
NO COMMAND
BIT6
J.
9
NO USED
HO USED
BIT?
J.
CABLE BRO:KEN
CABLE IS GOOD
BITS
J.
9
.
33
4b. If
"HI'"
flag is set, jump to HIGH subroutine.
5b. If "MIST" flag is set, jump to DKLAY subroutine.
At the end of those subroutines, RTS (Return From Subroutine) instruction returns
routine.
The controller then
the control back the
Time Out
loads the Timer Counter
and
returns the control to RESTART routine by inserting the RTI
( Return From Interrupt ) instruction.
When Timer
Counter
counts down to 0, the Timer Interrupt is generated and Time
Out routine re-enterred.
LOW/HIGH COMMAND ROUTINE
This routine controls the wiper motor in high
low speed.
speed or
The first touch of the switch starts
in low speed, the second touch of this
the wiper in high speed.
The third
the wiper
switch will control
touch will be
back to
low speed and the fourth is high speed ..... .
In
Time Out routine,
it tests the input
and jumps to LHC (LOW/HIGH command)
T90.
comaamd data
routine when T71
<T <
The redundancy test is perforaed to be sure it is the
correct command. It then tests the
register
to decide
whether
" L/H "
flag from flag
the switch is first
touch or
second touch. If it is first touch, the program branches to
LOW command routine and executs it.
touch,
the program
branches to
If the flag
HIGH
is second
command routine and
executs it and the wiper runs in high speed by outputting a
logic high on the output port PCO.
When " L "
flag in the flag register is set and tested
in Time Out routine,
the control jumps to
"LOWl" routine.
34
In this routine,
the program is used to
control the wiper
motor in low speed with 75% on duty cycle
and 25% off duty
cycle.
At the end of L/H command, RTS (Return From Subroutine)
is used to return the command back to Time Out routine.
OFF ROUTINE
The first touch of the " OFF "
switch causes the wiper
to halt with the blades in a "PARK" position.
If the wiper
is not in the Park position when the OFF switch is pressed,
the wiper will be parked to the Park position in low speed.
The second touch of the OFF switch causes the wiper to stop
right way.
The third touch of the
OFF
same function as the first touch,
switch repeats the
and the fourth
will be
the same as the second touch.
The
proaram
jumps to
OFFC ( OFF command routine ) by
testing the recevied command data count
routine and T is in this range
first does the
redundancy
T in the
T50 < T < T71.
check and
T~e
Out
The program
determines it is the
OFFC command. HCU stops the wiper right way by outputting a
logic low on output port PCO when it tests the
Off " flag in the flag register and
is set.
·· Immediate
this second touch flag
If this " Immediate Flag " is not set and it's the
first touch, the HCU tests the " Park " switch and halt the
wiper blades at the Park position
by tllrning off the wiper
motor from the output port PCO when the park switch is open
If the Park switch
is closed,
logic low · on the output port
PC2
the controller outputs a
to turn off
the washer
35
pump and park the wiper at Park position in low speed.
When the "OFF" flag is set and tested in the
routine,
the program jumps to
In this routine,
Time Out
"OLOWl" command subroutine.
low speed with 75% on duty cycle and
25%
off duty cycle is generated to park the wiper blade if it's
not in the Park position.
The end of "OFF" command routine
is the "RTS" instruction to return the command back to Time
Out routine.
WASH COMMAND ROU'fiNE
In the routine, the pressed time of the Wash switch is
checked,
if the Wash switch is pressed
or equals to one second,
the
pump to provide water for
wipes.
second,
If Wash
switch
washer pump
and held less than
program will
control washer
4 seconds and followed by
is pressed
4 dry
and held longer than 1
provides water as long as this switch
is pressed and follwed by 4 dry wipes.
When the received command data count T in the Time Out
routin is T31 < T <T50,
the "WASHC" subroutine is entered.
Again the redundancy check is performed in the beginning of
the routine.
In " WASB1 " routine,
calculated.
the Wash switch pressed time is
The Timer Counter and
register Templ are used
to memorize the held time of this switch.
The following is
the example of 1 second calculation:
Time
Time
= {Contents
= $D5 * $93
of Counter)
*32 usee
=1
*
(Contents of Temp!)
Second.
*
(32us)
36
The "WASH" routine is the program to generate 4 seconds
wash and 4 dry wipes.
the
4
The register Temp4
seconds dry wipes of the wiper,
Temp2 is used to count the
4
with
25%
75~
duty cycle on and
is used to count
and
the
seconds washes.
duty cycle
register
A low speed
off is used to
drive the wiper motor.
MIST/DELAY ROUTINE
The
system
required
for the
MIST/DELAY
function is
performed in this routine. It contains two main routines of
MIST5 and DELAY.
MIST function,
The MIST5 routine is used to
and the DELAY routine is used to define the
time delay interval for the wipe.
to set and
perform the
clear the proper
The HISTC routine begins
registers and flags
and then
return to Time Out routine to do the redundancy test of the
received com.and data to determine if T is Tl2
< T < T31.
Because the " Mist By Pass " flag in the flagl register
is set and tested,
the prograa branchs to MISTS routine to
perform "MIST" function.
The controller rechecks the input
switch and stays in the routine
switch is pressed and held.
speed in the
longer the
Mist
as long as the
Mist/Delay
Also the wiper will run in low
mode. If the input switch pressed is no
Mist command when the program is in the loop of
this routine, the prograa tests it and clear all the proper
register and
return the command to the Time Out routine by
RTS instruction.
If the
"Delay"
flag is set and detected, the
"Delay"
routine is entered. the Park switch is tested and the wiper
37
moves to Park
position in low speed if the Park
switch is
closed. If the wiper is already in Park position, the controller turns off the wiper motor and checks the "MID" flag.
If this flag is set,
it is the first touch of
Mist/Delay,
the program starts to wait for the second touch of the same
switch, the time will be stored in the register HD5. If the
controller waits longer than 15 seconds, 1·5 seconds will be
loaded into register HD5, the time in HD5 is the time delay
interval for all future wipes until the time delay is reprogrammed by two touches of the Mist/Delay switch.
If
"Delay"
flag is zero in the Delay register during
this routine, it is defined as the second touch of the Mist
/Delay switch.
The wiper will be turned on,
wipe in low speed and then stops.
make one more
Because the pulse
(Time
delay) time is stored in MD5, the register HD4 is incremented by one
in every second and
ca.pares to HD5.
two registers have the same number,
and makes a
single wipe in
register HD2 then is cleared
second again.
have the
If these
the wiper is turned on
low speed and then stops.
The
and incremented by 1 in every
A wi~ will be made when these two registers
same value.
This operation
continues
until any
switch is pressed or until Ignition is switched off.
3. 5
CONTROLLER OPERATION SUMMARY
On power up, the program starts from the Restart rout-
ine to initialize the system,
the $3E then loaded into the
Timer Counter and starts to count down, the Timer Interrupt
38
is generated when the value in counter reaches 0.
Time Out
routine is entered.
In Time Out routine the input switch data is tested and
the controller jumps to the
and executes it.
instuction
determined
At the end of each
which is used to
return
command subroutine
subroutine is the RTS
the command
from the
subroutine back to Time Out routine. The end of the routine
is the
RTI ( Return From Interrupt )
used to return the
command back
instruction which is
to the
Restart
The Time Out routine is reentered when the
is again generated.
command.
Timer Interrupt
The operation continues for 30 seconds
after Ignition is switched off.
Before taking data from the dashboard switches (in Time
Out routine),
the Ignition line is to be tested
the Ignition is on.
proceed through
If the Ignition is off
the logic as
proceeds
through the
microseconds.
debounce
the controller
if there were a
pressed " condition. If the Ignition is on,
logic of
Once the data is determined
to see if
M
no switch
the controller
approximately 30
to be good, the
wiper systea is to respond in the following aanner:
Case 1. System response when starting from Rest.
Case 2. Systea response when starting froaa Low speed aode.
Case 3. System response when starting from High speed mode.
Case 4. System response when starting from Mist mode.
Case 5. System response when starting from Delay mode.
Case 6. System response when starting from Progranuard wash
mode.
39
Case 7. System response when starting from Demand wash
mode.
Case 8. System response when starting from Immediate off
mode.
Case 9. System response when Ignition goes off.
Case 1. System response when start from REST.
Initial conditions: Ign on and wiper in Park position.
A. Press "'OFF'' - System status does not change.
B. Press "'LO/HI" -
Wiper runs in low speed.
C. Press "MIST/DELAY'' - For MIST aode.
1. MD2 first set to zero.
2. wiper runs in low speed.
3. The wiper will continue to run in low speed as long
as the "MIST/DELAY" switch is held down.
4. Release the "MIST/DELAY" switch.
5. If "MIST/DELAY" switch is pressed a second time,
system runs in low speed. If not, then continues.
6. Wiper stops at innerwipe position.
1. MD2 reaches 15 seconds.
8. Wiper runs in low speed.
9. Wiper goes to Park position.
D. Pressed "'WASH" and release in 1 second or less - Enter
program wash mode.
1. Wiper runs in low speed.
2. TEHP2 begins 4 seconds count until it is completed.
3. TEHP4 begins 4 dryWipe count until it is completed.
40
4. Wiper goes to Park position.
5. Wiper system is at rest - Program.ed wash mode is
completed.
E. Press "WASH" and hold more than 1 second.
1. Begin count for time "WASH'' is held down.
2. Wiper runs in low speed.
3. Washer on until "WASH" is released if time is
greater than 1 second.
4. "WASH" released after 1 second.
5. Begin 4 drywipe and it is completed.
6. Wiper goes to Park position.
7. Wiper system is at rest- Demand wash mode is
completed.
Case 2. System response when starting from lo speed.
Initial conditions: Ign on, wiper runs in low speed.
A. Press "OFF" switch.
1. Wiper goes to Park position.
2. Wiper system is at rest.
B. Press "LO/HI '' - Wiper runs in low speed.
C. Press "MIST/DELAY" - System status changes as follows:
1. Wiper runs in low speed.
2. If "MIST/DELAY" switch is pressed a second time,
systea runs in low speed. If not, then continue.
3. Wiper stops at Innerwipe position.
4. HD2 is incremented from 0 toward a max of 15 sees.
5. HD2 reaches 15 seconds.
6. HD5 is set equal to MD2.
41
D. Press "WASH" switch.
1. TEMP2 begins 4 seconds count until it is completed.
2. Begin 4 drywipe count until it is completed.
3. System runs in low speed.
E. Press "WASH'' and hold the switch.
1. Begin counting when "WASH" is held down.
2. Wash on until "WASH" is released if hold tiae is
greater than 1 sec. If less than 1 second, default
to Case 2-D.
3. "WASH" is released after 1 second.
4. Begin 4 drywipes until it is completed.
5. System runs in low speed.
Case 3. System rsponse when starting froa HI speed.
Initial conditions: lgn on, wiper runs in high speed.
A. Press "OFF" switch.
1. Wiper runs in low speed.
2. Wiper goes to Park position.
B. Press "LO/HI" - Wiper runs in low speed.
c.
Press "MIST/DELAY" - Systea status changes as follows:
1. The system enters the set pulse mode.
2. Wiper runs in low speed.
3. If
"MIST/DELAY" switch is pressed a second time,
system runs in low speed. If not, then continues.
4. Wiper stops at Innerwipe position.
5. MD2 is incremented from 0 toward a max of 15 sees.
6. If "MIST/DELAY" is pressed a second time, MD5 is
42
not equal to HD2 and the system runs in run pulse
mode. If not, then continues.
7. HD2 reaches 15 seconds.
8. HD5 is set equal to MD2.
9. System runs in run pulse mode.
E. Press "WASH"
& hold- System status changes as follows:
1 . Wiper runs in low speed.
2. Begin count for time "WASH" is held down.
3. Washer on until "WASH" is released if hold time is
greater than 1 second.
4. ''WASH" released after 1 second.
5. Begin 4 drywipes until it is completed.
6. De.and wash is completed.
7. System runs in high speed.
Case 4. System response when starting fro• MIST mode.
Initial conditions:
1. Ignition on.
2. Wiper runs in low speed.
3. The wiper will continue to run in low speed as long
as the "MIST/DELAY" switch is held down.
4. Release the "MIST/DELAY" switch.
5. If "MIST/DELAY'' switch is pressed a second time,
wiper runs in low speed. If not, then continues.
6. HD2 is incremented from 0 toward a max of 15 sees.
7. If ''MIST/DELAY" switch is pressed a second time,
system defaults to Case 4-C. If not,th en continue.
43
8. MD2 reaches to 15 seconds.
9. Wiper runs in low speed.
10. Wiper goes to Park position.
11. Wiper system is at rest-MIST mode is completed.
A. Press "OFF" - System status changes as follows:
1. Wiper runs in low speed.
2. Wiper goes to Park position.
3. Wiper system is at rest.
B. Press "LO/BI" - Wiper runs in low speed.
C. Press "MIST/DELAY" - System status changes as follows:
1. If the switch is pressed before the wiper stopped
at the Innerwipe position, the following occurs.
A. MD2 is incremented from 0 toward max of 15 sees.
B. Switch is pressed and released.
C. The syste• now in the run pulse .ode.
D. Set MD5 (memory location) equal to HD2.
E. Wiper runs in low speed.
F. Wiper stops at Innerwipe position.
G. MD2 is decreaented to 0 .
B. MD2 is set equal to MD5.
I. Wiper runs in low speed.
J. Wiper stops at Innerwipe poition.
K. Item A-J repeat--The systea is operating in the
run pulse mode.
3. If the switch is pressed after HD2 has been
inremented to 15 sec, system defaults to Case 1-C.
44.
D. Press "WASH'" - System status changes as follows:
1. Wiper runs in low speed.
2. TEMP2 begins 4 seconds count until it is completed.
3. Begin 4 drywipes until it is completed.
4. The system returns to the point of the MIST mode
operation at which the "WASH" press interrupted the
sequence, and completes the MIST mode cycle.
E. Press "WASH" & hold- System status changes as follows:
1. Begin count for time "WASH" is held down.
2. Wiper runs in low speed.
3. Washer on until '"WASH'' is released if hold tiae is
greater than 1 sec. If less than 1 second defaults
to 4-D.
4. "WASH" released after 1 second.
5. Begin 4 drywipes until it is completed.
6. The system now runs to the point of the MIST mode
operation at which the '"WASH'" press interrupted the
sequence, and completes the MIST mode cycle.
CASE 5. Syste• response when starting froa DELAY mode.
Initial conditions:
1. Iginition on.
2. Wiper run in low speed.
3. Wiper stops at Innerwipe position.
4. MD2 is cleared to 0.
5. MD5 is set equal to MD5.
6. Items 2-5 repeat - The system is opearting in the
run pulse mode.
45
A. Press "OFF" - Wiper goes to park position and system
is at rest.
B. Press "LO/HI" - Wiper runs in low speed.
C. Press "MIST/DELAY" - System status changes as follows:
1. The system enters the set pulse mode.
2. Wiper runs in low speed.
3. If "MIST/DELAY" switch is pressed a second time,
system runs in low speed. If not, then continues.
4. Wiper stops at Innerwipe position.
5. MD2 is incremented from 0 toward a max of 15 sees.
6. If "MIST/DELAY" is pressed a second time, MD5 is
set equal to MD2 and the system runs in run pulse
mode. If not, then continues.
7. MD2 reaches 15 seconds.
8. HD5 is set equal to MD2.
9. Systea runs in run pulse mode.
D. Press "WASH" - System status changes as follows:
1 . Wiper runs in low speed.
2. Counter begins 4 sec count until it is completed.
3. Begin 4 drywipes until it is completed.
4. Counter is reset to fixed delay.
5. Wiper stops at Inne.rwipe position.
6. Stored count decrements to 0.
7. Counter is reset to fixed delay.
8. Wiper runs in low speed.
9. Items 5-8 repeat untill another function is called.
46
Q
E. Press "WASH" & hold- System status changes as follows:
1. Begin count for time "WASH" is held down.
2. Wiper runs in low speed.
3. Washer on until "WASH'' is released if hold time is
gteater than 1 second. If less than 1 second,
defaults to Case 5-D.
4. "WASH" released after 1 second.
5. Begin 4 drywipes until it is completed.
6. Counter is reset to fixed delay.
7. Wiper stops at Innerwipe position.
8. Stored count decrements to 0.
9. Counter is reset to fixed delay.
10. Wiper runs in low speed.
11. Items 7-10 are repeated until another function is
called.
Case 6. System response when starting in programmed wash.
Initial condition: See Case 1-D.
A. Press "OFF" - System status does not change and system
functions the sa.e as Case 1-D.
B. Press "LO/HI" - System runs in low speed.
C. Press "MIST/DELAY'' -
Syste~a
status does not change and
system functions the same as Cae 1-D.
D. Press "WASH'' - The prograauaed WASH aaode is reset and
functions the same as Case 1-D.
E. Press "WASH" and hold - prograJIIIIled WASH is interrupted
and the demand WASH is initialized. System response
is the same as Case 1-K.
•
47
Case 7. System reponse when st,arting in demand WASH.
Initial conditions: See Case 1-R.
A. Press "OFF" - System status does not change and system
functions the same as Case 1-R.
B. Pres "LO/HI" - Wiper runs in low speed.
C. Press "HIST/DKLAY"· - System status does not change and
system functions the same as Case 1-E.
D. Press "WASH" - Demand WASH is interrupted and
programmed WASH is initialized. System response is
same as Case 1-D.
E. Press "WASH" and hold - Demand WASH is reset and
systea will function the same as Case 1-R.
Case 8. System response when starting in Immediate Off
mode. This mode is to stop the wiper regardless of the
operating mode of the wiper. When the wiper is running
the Immediate Off is initialized by pressing "OFF" and
holding it down for approximately 1 second.
After 1
second all outputs are turned off.
A. Press "OFF" - No status changes in the system.
B. Press "L0/81" - Wiper runs in low speed.
C. Press "MIST/DELAY" - System status changes as in
Case 1-C.
D. Press "WASH" - System status changes as in Case 1-D.
E. Press "WASH" and hold - System status changes as in
Case 1-E.
48
Case 9. System operation when Ignition goes off.
A. If the system is
operational and
the Ignition goes
off, the system status is retained for approximately
30 seconds. and the wiper, in low speed, goes to the
Park position.
B. If Ignition is reinstated in less than 30 seconds, the
system will return to
the mode of operation it was in
prior to the Ignition going off.
C. Items A and B are true for all modes of operarion
except Immediate Off. In Immediate Off mode the wiper
does not go to the Park position.
CHAPTER
4
PROGRAMMING AND DEBUGGING
The assembled codes are tested to purge all the defects.
There are several methods available to do this.
There
are devices that help the designer to debug the design such
as in circuit emulator.
There are also
software
packages
that allow software debugging. Whichever method is used the
debugging process involves rewriting and assembling the source file repeately until the system performs as intended.
4.1
DEBUGGING
The assembled program in this project is
tested
using
Motorola
Microsystea,
debugged and
which is a
Motorola
H6800 based development system. The programs are written on
floppy disk
EDITORM
and editted using
Resident
Editor in
the Motorola's
M6800/M6809
KXORdisk II Floppy Disk Drive
System.
The Motorola's H6800/6805 Macro Assembler is also used
to translate the source programs into object programs coapatible with the H6800/M6805 Linking Loader.The Linker links
the object file to binary file.
The binary data are loaded
to the user memory in the development system and then programmed from user memory to EPROM through PROH Programaer.
4. 2
PROGRAMMING FIRMWARE
The debugged programs are burned into MCM2716 UV EPROM
using
Motorola's
development
system.
The data has to be
copied (programmed) to the EPROM in the MC68705P3 microcom-
49
50
puter.
Figure 4.1
is the schematic
diagram of
a circuit
which is used to program the EPROM in the MC68705P3. In the
ciucuit, +26V and +5V power supplies are needed.
The
MC68705P3
bootstrap
has 115 bytes of mask ROM containing a
program which
is used to program the
HC68705P3
KPROM. The vector is fetched when Vihtp is applied to pin 7
(TIMER pin)
of the
HC68705P3 and the RESET pin is allowed
to rise above Vires+.
4. 3
PROGRAMMING STEPS
The
MCM2716
duplicate of
UV KPROH
is programmed
the infor.ation that is
with
an
exact
to be transferred to
the MC68705P3. Non-KPROH addresses are ignored by the bootstrap. Since the HC68705P3 and the MCM2716 are to be inserted and be removed from the circuit, they should be mounted
in sockets. In addition,
be sure Sl and S2 are closed, and
Vee and +26 V are not applied when inserting the
MC68705P3
and MCM2716 into their respective sockets.This ensures that
the RESET is held low while inserting the devices.
When ready to prograa the MC68705P3 it is only necessary to provide Vee AND +26V. Open switch 62
Vpp and the Vihtp ) , and then open
( to apply the
S1 ( to remove Reset ) .
Once the voltages are applied and both 62
and 61 are open,
the CLEAR output control line (PB4) goes high and then low,
then the 11-bit counter ( MC14040B ) is clocked by the
output {COUNT). The counter selects the MCM2716
PB3
EPROM byte
which is to load the equivalent MC68705P3 EPROM byte selected by the
bootstrap prograa.
Once the
EPROH location is
vee
_LOI
vee
I
0
'-L
-r-
I'
•16V
IJI'"'
··J1
E ·:1: t3
II
MrM7116
Sl
1161( EPROM!
PR'E'
PRO
II
...•
•
16
~
PHIPH1
IN«<)I ~
5.,.
lfH7.lA
•cc•
FIG. 4.1
f)<j
t6
r'J'n
1
1 IJ}
....•
•
'":"
ClEAR
Ill
,
1'1~~--~~------------'-0u--~-'------~
t>R.lr ..
f ...
' I'
t i
tE: :;•1 •
510
l)fi
rn•~~~~~--------------~~~-------t~
..!.!JreJ
I ..Q I
I} R·l
(ounlr•
vee
P86 Ill
PH..
11.4CI4WIO
vee· voo • • so v typoc.,
Vss•OV
Vpp• • ll V t IV
PROGRAMMING CONNECTION SCHEMATIC DIAGRAM
C11
~
52
FIG . 4 . 2
PROGRAMMER BOARD ASSEMBLY
53
loaded, COUNT clocks the counter to the next EPROH location
. This continues until the HC68705P3 is co•pletely prograamed at which time the programmed indicator LED is lit.
counter is cleared
programmed data.
and the loop is
The
repeated to verify the
The verified indicator LED lights
if the
prograaaing is correct.
Once the
MC68705P3
has been programmed and verified,
close switch S2 (to remove Vpp and Vihtp)
Sl ( to Reset ).
Disconnect +26V and Vee;
MC68705P3 from its socket.
and close switch
then remove the
CHAPTER
5
CONCLUSSIONS
The low cost 8-bit single chip microcomputer controlled
windshield wiper system has been developed and tested.
new system is capable of doing
new
features can
The
many functions reliably and
be added through
software.
THOS
power
switch is more compact and easy to install with no spark or
fire hazard.
The
required
wirings are :
+12V
power and
return line, and single wire carrying command signals.
54
APPENDIX
A
FLOWCHARTS OF PROGRAMS
55
56
RESTART
S'rSTEI'1
INITIALIZE
DEFINE
RAM
I/0
CLEAR
OFF
'"NO COMMAND" TIME
COUNT CALCULATION
TURN OFF
POWER
START COUNTER
WITH
$3E
'rES
LOOP
FLOJ..J
CHART
CHECH
:1..
RESTART ROUTINE
57
TIME OUT
OFF
DEBOUNCING
LOGIC TEST
I GOFF
RECEIVED COMMAND
CALCULATE
TIME=T
DEFINE ALL THE
COMMAND TIMES1
T1.1.2,
T50 ,
T90,
T31.,
T?1.,
T1.2
'z'ES
CHECJ<
FLOW
CHART
2.
TIME
OUT ROUTINE
A
58
I GOFF
TURN OFF
WASHER PUMP
'x'ES
NO
TURN OFF
POWER
TURN OFF
WIPER
LOAD TIMER
WITH $D5
TURN
ON
WIPER IN
LOW SPEED
START TIMER
RESTART
FLOW CHART 3.
TIME OUT ROUTINE B
59
LH9
'x'ES
<T71.<T<T90)
'x'ES
<T50<T<T7.1)
'x'ES
<T31.<T<T50>
'x'ES
<T1.2<T<T31.)
SET LO FLAG
LOAD TIMER
WITH $3E
CHECK
FLOW
CHART
4.
TIME
OUT ROUTINE
C
60
CLEAR THE PROPER
FLAG
REGISTERS
SET
SET
SET
SET
SET
CLEAR AND SET
PROPER FLAGS
CLEAR OUTPUTS
LOAD TIMER
WITH $3E
FLOW
CHART
5.
TIME
OUT ROUTINE D
61
LHC
=:1
REDUNDANC'%'
CHECH
SET PROPER
FLAGS
NO
SET L FLAG
CLEAR H FLAG
TURN ON
WIPER MOTOR
TURN ON
WIPER MOTOR
SET H FLAG
CLEAR L FLAG
FLOW
CHART
6.
LO/HI
ROUTINE
A
62
LOW~
~,
TUF:N
WIPEF:
ON
MOT OF:
,
WIPEF: ON ?5X
DUT'x' C'x'CLE
,,
TUF:N
WIPER
OFF
MOTOR
,,
WIPER OFF 25X
DUT'x' C'x'CLE
,,
SET L FLAG
CLEAR H FLAG
....
,,.
TUF:N
WIPEF:
ON
MOT OF:
,,
F:ETUF:N
FF:OM
SUBROUTINE
FLOW
CHAF:T ?.
LO/HI :ROUTINE B
63
OFFC
=:1
REDUNDANC~
CHECX
~ES
TURN OFF
WIPER MOTOR
STOP WIPER·
RIGHT AWA~
TURN OFF
WASHER PUMP
TURN
WIPER
ON
MOTOR
RETURN
FROM
SUBROUTINE
FLOW
CHART
8.
OFF ROUTINE
A
64
OLOW~
CLEAR PROPER
WIPER
DUT'i
FLAG
ON 75X
C'iCLE
'rES
WIPER OFF 25X
DUT'i C'iCLE
'rES
TURN
WIPER
OFF
MOTOR
TURN OFF
WIPER MOTOR
TURN ON
WIPER MOTOR
TURN OFF
WASHER PUMP
RETURN
FROM
SUBROUTINE
FLOW
O::::HART
9.
OFF ROUTINE B
65
WASHC
'l:'ES
REDUNDANC~
SET WASH
CHECH
FLAG
~ES
TURN OFF
WASHER PUMP
SET AND CLEAR
PROPER FLAGS
TURN ON
WASHER PUMP
TURN ON WIPER
IN LOW SPEED
RETURN
FROM
SUBROUTINE
FLOW
CHART
1.12'1.
WASH ROUTINE
A
66
WASHJ.
NO
SET
THE
FLAG
CLEAR
THE
FLA
IN:REMENT
TEMP1. B'i 1.
COt1PA:RE $6F
'x'ES
TURN OFF
WASHER PUI'1P
TURN ON
WASHER PUMP
'x'ES
CLEAR
TEMP1.
TURN ON WIPER
IN LOW SPEED
RETURN
FROM
SUBROUTINE
FLOW
CHART
1.1..
WASH :ROUTINE B
67
MISTC
'x'ES
REDUNDANC'x'
CHECX
SET AND CLEAR
PROPER FLAGS
'x'ES
CLEAR
REGISTERS
MD:1.-MD5
RETURN
FROM
SUBROUTINE
FLOW
CHART
:1.2.
MIST5
MIST/DELA'x' ROUTINE
A
68
MISTS
WIPER IN ?5X DUT~
Cl.t'CLE LOW SPEED
TURN
WIPER
OFF
WIPER OFF IN
DUTI.t' Cl.t'CLE
TURN
WIPER
INCREMENT
25X
ON
COUNT
liES
MIST2
FLOW
CHART
:13.
RETURN
FROM
SUBROUTINE
MIST/DELAI.t'
ROUTINE
B
69
MIST2
TURN
1-J IPER
ON
DEBOUNCING CHECH
RECEIVED COMMAND
TIME CALCULATION
'x'ES
'x'ES
CLEAR ALL OF THE
M/D FLAG REGISTER
RETURN
FROM
SUBROUTINE
FLOW
CHART·:14.
MIST5
MIST/DELA'x' ROUTINE
C
70
DELAV
NO
PARH WIPER IN LOW
SPEED
STOP THE
WIPER
RETURN
FROM
SUBROUTINE
CHECH :1.5
SECONDS
DELA'%'
'%'ES
CHECH 2ND
TOUCH OF
M/D COMMA
IS LESS
OR EQUAL
TO :1.5
SECONDS
MEMORIZE
DELA'%'
TIME IN
ORDER TO
PERFORM
THE I NSTANT WIPES
'%'ES
LOAD :1.5
SECONDS
INTO MD5
MIST2
FLOW
CHART
ADJUST
DELA'%'
TIME
LOAD TIME
DELA'%'
INTO MD5
RETURN
FROM
SUBROUTINE
:1.5.
MIST/DELA'%' ROUTINE D
APPENDIX B
ASSEMBLY PROGRAMS
71
72
RESTART
SET INTERRUPT
MASH BIT
$ 0:1--+-DDRB
$FF-+-DDRC
CLR PORTC
BCLR0, PORTB
BSET3, PORTC
LDX #$40
CLR $0,X
INX
CPX #$80
'iES
$02-+-DDRA
'iES
BSET:1,
PORTA
PORTC
BCLR:1,PORTA
CL~AR
BRANCH
TO
RESTART
P R 0 GR A t1
:1 .
RESTART
A
73
$FF_,.... TDR
BSETIZI,PORTB
BSET3.z..PORTC
INC CuUNT:1
LDA TDR
NEGA
STA NOCOM
ADD #$06
STA NOCOM:1
BCLR0 PORTB
CLR P 6 RTC
LDA COUNT!!.
CMP #$!1..5
'iES
LDA +t$3E
STA TDR
CLR TCR
CLI
$02_,.... DDRA
$ 0!1.__. DDRB
$FF__. DDRC
BSET3,PORTC
RSP
CLR TCR
CL I
LOOP
PROGRAM
2.
RESTART B
74
BCL.R
3,PO:RTC
$FF_... TD.R
CL.R I GN2
LDA TD.R
NEGA
STA TIME5
$FF-. TD.R
BSET
BSET
0,PO:RTB
3,PO:RTC
LDA TD.R
NEGA
BCL:R 0,PO.RTB
B C L R 3 l~ P 0 .R T C
STA TinE1.
SUB NOCOM
P .R 0 G.R A M 3 •
TIME
OUT
A
75
p '
LOWER
CLC
ADD
STA
LDA
SUB
CLC
ADD
STA
FRAC
FRAC
NOCOM
Tit1E:1
FRAC:1
FRAC:1
'x'ES
'x'ES
INC
NOCOM
DEC
PROCESS TO
GET COMMAND
TIMES:
T:1:12~T:100
T90, T?:1 ~
T50, T3:1
T:12.
LDA TIME:1
SUB T90
T<T90
PROGRAM
4.
Tit1E
OUT B
NOCOM
76
CMP T?:1
T90>T>T?:1
CMP
BRANCH
TO
NOACT:1
T50
T?:1>T>T50
:>--------IH
CMP
JSR LHC
BCLR
4 .z.. F L A G :1
J:oR OFFC
BRANCH
TO
NOACT1.
T3:1
T50>T>T31.
>-------...
JSR
CMP
BRANCH
TO
NOACT1.
T1.2
T31.>T>T1.2
~------....
BSET
JSR
BRANCH
TO
CHECH
5.
MISTC
BRANCH
TO
NOACT1.
4,FRAG
PROGRAM
WASHC
TIME
OUT
C
~
'
77
BCLR 6 FLAG
BCLR
FLAG1.
BCLR 1.,FLAG1.
BCLR 3,FLAG1.
0:
WA=1.
OFF=1.
--:1------......
J SR
0 L 0 W1.
CLR
TEMP1.,2,3
AND 4.
L=1.
MIST:1.
CLR
LDA
AND
STA
CLR
FLAG
FLAG1.
#$20
FLAG1.
PORTC
$3E-+-TDR
CLR TCR
PROGRAM
6.
TIME
OUT D
18
BCLR 2J..PORTC
INC
I"='N:1.
LDA
I GN:1.
CMP
#$92
CLR
INC
I GN :1.
IGN2
BSET
0.PORTC
$A0___..., TDR
LDA I GN2
CMP #$:1.A
LDA
TDR
PLUS
BCLR
:1.,PORTA
BCLR
0,PO:RTC
$35___..., TDR
BCL:R
LDA
LDA
0,PORTC
#$D5
STA
CLR
TDR
TCR
BSET
LDA
PROGRAM
TDR
7.
TIME
OUT
eJ.PORTC
#$3E
E
79
LHC
'x'ES
LOWER
BSET
CLR
LDA
EOR
STA
6z.FLAG
T1ME4
FLAG
#$08
FLAG
'x'ES
BCLR
3,PORTC
BSET
BCLR
BSET
4, FLAG
5 FLAG
e:PORTC
HIGH
0,PORTC
5,FLAG
4, FLAG
BSET
BSET
BCLR
RETURN
FROM
SUBROUTINE
PROGRAM
8.
LO/HI
ROUTINE
A
80
LOW.1
BSET
LDA
SUB
SUB
SUB
STA
0LPO:RTC
TIME:1.
#$3E
TIME5
TD:R
++~A€1
LD A TD:R
PLUS
LDA #$35
STA TD:R
CL:R PO:RTC
PR 0
G:R A tl
LDA
TD:R
9 .
LO/HI
ROUTINE B
81
OFFC
LOJ..JER
BSET
CLR
LDA
EOR
STA
IZI~FLAG:1.
T.1.ME8
FLAG
#$04
FLAG
BCLR
5~FLAG:1.
BSET
BSET
BCLR
?,FLAG
IZI. PORT(:
2,PORTC
BCLR
BCLR
BCLR
BSET
0,PORTC
2,PORTC
? FLAG
s:FLAG:1.
CLR FLAG
CLR PORTC
RETURN
FROM
SUBROUTINE
P R 0 GR A M :1. IZI •
OFF ROUTINE
A
82
OLOW~
3,FLAG
4,FLAG
S,FLAG
0,PO:RTC
BCL:R
BCL:R
BCL:R
BSET
LDA #$A0
SUB Tit1E1
SUB #$3E
SUB TIMES
STA TDR
'rES
LDA
TDR
PLUS
LDA #$35
STA TD:R
CL:R PO:RTC
LDA
TD:R
PLUS
PROGRAM
11.
OFF ROUTINE B
,, .
83
WASHC
CLR
2 3
INC
LDA
CMP
TEt1P:1.
& 4
tit·1E3
TIME3
#$el2
LOWER
BSET
:1..FLAG:1.
LDA #$Ael
STA TDR
LDA TEMP4
CMP #$eJ4
CLR
FLAG
=:1.
4, FLAG
?,FLAG
BSET
BCLR
LDA
CMP
TEMP2
#$1214
BSET
BCLR
?,FLAG
4, FLAG
RETURN
FROM
SUBROUTINE
P R 0 GR A M :1. 2 .
1.-JASH ROUTINE
A
---- ~
--- -- -
.
84
PLUS
INC TEI'1P1.
LDA TEMPi.
CMP #$6F
PLUS
BCLR
LDA
CMP
BSET
BCLR
'rES
2.PORTC
2~PORTC
CLR
CLR
2,2-PORTC
Tt:.MP1.
#:$92
INC
CL:R
TEMP2
TEMP2
INC
CLR
TEMP4
TEMP3
TEMP3
TEMP4
INC TEMP3
LDA TEMP3
CMP #$93
'rES
PROGRAM
1.3.
J..JASH ROUTINE B
85
WASH~
LDA #$A0
STA TDR
LDA FLAG
AND #$30
'r.'ES
BSET
2,FLAG.1
INC
BSET
LDA
CMP
TEMP.i
.i,FLAG
TEMP.i
#$6F
PLUS
BCL.R
2,FLAG.1
BCLR
LDA
CMP
2,z..PO.RTC
Tt:.MP.i
#$92
NO
LOWER
CL.R
P
.R 0 GF: A M .1 4 .
TEMP.i
WASH .ROUTINE
C
86
WASH5
BSET
BSET
LDA
SUB
SUB
SUB
STA
IZI,PORTC
1...z. FLAG
T.l)R
TIME1.
#$3E
TIMES
TDR
LDA
TDR
PLUS
B(:LR
BCLR
LDA
STA
3, PORTC
IZI,PORTC
#$35
TDR
LDA
TDR
PLUS
BSET
IZI,PORTC
RETURN
FROM
SUBROUTINE
P R 0 GR A M 1. 5 .
WASH ROUTINE D
87
HISTC
INC TIME2
LDA TIME2
CMP #$02
LOWER
CL:R FLAG1.
LDA FLAG
AND #$ 01.
STA FLAG
BSET
3~FLAG1.
CL:R COUNT
CL:R T I t1E2
LDA FLAG
EO:R #$ 01.
STA FLAG
BSET
4~FLAG1.
CL:R
CL:R
CL:R
CL:R
CL:R
MD1.
1"1D 2
MD3
MD4
MD5
:RETURN
FROM
SUBROUTINE
P :R 0 G:R A M 1. 6 .
MIST/DELA~
O:RUTINE
A
88
$A0_.,.. TDR
SUB Tit1E:1
SUB #$3E
SUB TIMES
STA TDR
LDA
TDR
PLUS
CLR PORTC
$35_.,.. TDR
LDA
TDR
PLUS
BSET
INC
LDA
CMP
0.z..POF:TC
CuUNT
COUNT
#$40
LDA
TDR
RETURN
FROM
SUBROUTINE,.
P R 0 GR A t·1
:1 ? •
MIST/DELA~
ROUTINE B
89
BSET
0,PORTC
$FF---.. TDR
=:1.
LDA TDR
NEG A
STA TIMES
$FF___.. TDR
BSET
0,PORTB
=0
LDA
NEG
STA
BSET
TDR
A
TIME:1.
0,PORTB
CMP
T3:1.
LOWER
CMP
T90
NO
BCLR
BCLR
BCLR
4, FLAG:1.
0 FLAG
3;FLAG:1.
RETURN
FR Ot1
SUBROUTINE
P R 0 GR A M :1. 8 •
MIST/DELA~
ROUTINE
C
90
DELAY
'x'ES
BC:L:R 0.PO:RTC
C:L:R
COUNT
$D 5-+-TD:R
INC
LDA
CMP
MD3
MD3
#$93
'x'ES
NO
LDA
CMP
CL:R
INC:
MD3
MD4
MD5
#$02
'x'ES
$03_.MD5
P :R 0 G:R A t·1
:1 9 •
MIST/DELA'x'
ROUTINE
D
Q
'
91
SD4
LDA
CMP
MD4
MDS
LDA TDR
SUB #$3E
SUB TIME1.
SUB TIMES
STA TDR
LDA
CLR
t1D4
TDR
RETURN
FROM
SUBROUTINE
PROGRAM
20.
MIST/DELA~
ROUTINE
E
92
DELAV~
INC MD1.
LDA MD1.
CMP #$93
'rES
CLF:
INC
LDA
C MP
1'1D :1.
MD2
MD2
#$1ZJE
PLUS
LDA
SUB
SUB
SUB
STA
BCLF:
LDA
$IZIF_.,MD5
CLR
MD2
TDF:
TIME:1.
#$3E
T I t1E5
TDF:
3~PORTC
TDR
'rES
PROGRAM
2:1..
LDA
STA
MIST/DELA~
MD2
MD5
ROUTINE
F
93
STOP
BSET
IZI,PORTC
LDA #$A0
SUB T I t1E:1
SUB #$3E
SUB Tit·1E5
STA TDR
LDA
TDR
PLUS
C:LR PORTC
$35_... TDR
LDA
TDR
PLUS
BSET
0,PORTC
RETURN
FROM
SUBROUTINE
PROGRAM
22.
MIST/DELAV ROUTINE
G
APPENDIX
PROGRAM
94
C
LISTINGS
95
PI'IGE
001
00010
ooo:o
000'30
000·10
ooo:;o
00060
00070
OOOBO
00090
00!00
oo::o
oo::o
00130
001·10
oo::;o
00160
oo:7o
00160
00190
oo:oo
00::!10
oo::o
00::!30
oo:-to
OO::!:iO
oo:6o
00::!70
oo:ao
00::!?0
00001
0000::!
00003
0000·1
OOOOj
00006
00007
00008
00009
00010
00011
oooz:
00013
0001·1
00~00
00310
oo::;:o
00330
00~·10
003~0
00360
00370
00~80
003?0
00·\00
00'\10
OO·t:O
00'\30
00·1·10
oo..,::;o
00·160
00'\70
00·180
OO..,'i'O
oo:oo
OO::i10
OOj:O
oo:;:;o
00:3·l0
OOj:JO
OO:i60
OO::i70
oo:so
ooo:.~
000~6
000~7
00018
000!.9
ooo:o
000::!1
ooo::
000.:!3
ooo:·1
000::!~
000:6
000::!7
ooo:s
0{)0:!9
00030
00031
ooo:;:
00033
000:!-1
ooo:;:;
00036
0()037
00038
00•:>39
000·10
000..,!
OOO·l:
000..,3
OOOH
000..,~
000·16
000'\7
000·18
000..,9
ooo:;o
000::;1
ooo:;:
OOO::iJ
000:3·1
OOOj:i
OOO::i6
OOO::i7
ooo:;a
IJ!PER:O
~6BO::iP:
.s~:l
W!NDDH!ELD
M6BO:i?::! W!HDSH!ELD U!PER CONTROL
LLEN"79
CR!::
TT~
11PT
O?T
N
+t
*
*
*
*
CONTROL
~!PER
FOR ~!HDSH!~LD U!PR CONTROL
DUTY CYCLE DRIVE
WR!TTEN BY DAV:D D. WU
GRADUI'ITE STUDENT
C~~:FURH:A DT~TE UN!V~RSITY NORTHR!DG~
OCTOBER ~ 1986
**~**~*~"~~W~S~~*******~~~**~~·***~*~~~~~~ft~""*
~*-~*ftWW~WWWWWP.*~ftftP."*•Wft~W*•P.ft*ftWP.*~ftr.~P.~P.r.~ft~
tl
*w
..*
F'!N OUT OF' 680:i
~t-------------;t
+::iV--: .!NT
+::iV
Ti-IR
I
*
+::iV--: vee
vss
..*
!GN--: PAO
Pl'll
FOR 30 SEC CON.
[IELflYl--: PBO
PB:
F'I'IRI{ SIJ!TCH
ItCLI'I\'0--: F'Bl
F'CO
.
..*
;.;
...
*
*It
*
*It
*
• GROUND
I
I
C:Of'--: PC:!
• U!F'ER
CONTROL
IJMHER CONTr:OL
Pr::
I
++-------------If
Ri::s::::T L!HE COHNECT FROI1 THE COP OUTPUT
1 : OUTPUT PI1~, CO?HRIJL 0!·
[ti:LftYO : !HF'UT PIN, CONmOLLEit ElY a:
REST :=·ws NOT USED.
r•::::..~.,
*"*~**~**~**~MWWP.~P.~*~*~*~W*MWft~**MP.*~P.r.P.~WP~~*
************~*~****~*****~**~**~**~***~~~****~*
*
++
*
*
!+
!+
++
*
*
!+
*
INTRODUCTION
Fm<CTION a PBO•=O, TURN ON a::.. f.IFTE'R : llSEC.
NM.;~ F'f.!O"l, TURN O!='F' Cl, T:~U ::RC !S THE: I•E::..:H
TIME. D!FFERENT R HAS DIFFERENT T!ME DELAY,
SO NF'U CMI RE:COGil!:~ nrE COI'i•'lf\/W.
NO tO"N~HD SITUATION;
USUnLL\' NO COHMI'IND CONDITION IS THE MAIN
CDmtAl-ID, T•iU"R(RE:FHC.,T<NOCOIO, !"r !S niE:
PflS!C REFERENCE T!ME. ALL OTHER COMMAND HAS
SOME RELATIONSHIP YITH THIS T.
CONNI't11[1;
ACT!VAT:WG THE I.J!F'ER FROi'! 1HE OrFCF·Af:l\)
!+ STriTE MJ[t IJ!PER NA!\;;: U/1;;: OR 110::-<~ lJIF'E
* CYCLES. !~ SEC LATER, MAKE THE OTHER W!PE
++ en:;_;;: IF NOT Na~l\E SEC0/1[1 TOUCH. £til r !F ii:"'KE
* SECON[t TOUCH SHOF:TER THAN 1: SECmm, THE
!+ riME INTERVAL OF 1ST AHD ~ND TOUCH ~r:..L BE
* THE REFERENCE T!ME FOR NEXT IJ!PE CYr:LES.
!+ IF THE: U!P~R !S !N LOU SPE~D OR HIGH SP~E:D,
M WHEN 1ST M/[1 OCCURS, TEE WIPER PROCEEDS AT
++
~I!ST/[t~LAY
96
P~GE
00:
OO::i90
00600
00610
006:0
00630
006·10
006:i0
00660
00670
00680
00690
00700
00710
007:0
00730
007·10
007:i0
00760
00770
007EIO
OOO:i9
00060
00061
0006:
00063
0006·1
0006:::i
00066
00067
00068
00069
00070
00071
0007:
00073
0007·1
0007:::i
00076
00077
00078
~!PER:O
M680:::iP::!
.SA:l
*
*
H
*
*
COMM~ND:(.~OVCC)
!F ANY CONDITION OF U!?C:R, RUM
**
LO/H! COHMAHDac.7:VCC)
1ST TOUCH, LOU S?~ED. ::!HD TOUCH, HIGH
++ SPEED. 3RD TOUCH, L0~ ••• 4TH, HI •••••••
*
****************~**~******~****~R~ftR~~~~*~~W~ft*
***P-*****W*******P-****~r.****W*ftft¥.r.¥r.r.r.~r.r.ftr.*P.ft*
00830 OOOR3
00840 OOOfH
~
*
ooa:::;o oooa:::;
0000
00086
00087
00088
OOOB9
00090
0009!
ooo:
ooo:
000'1
ooo::;
oo"·:o ooon
00930 00093
009·10 00094
009~0 0009:i
00960 000'76
00970 00097~ 00~0
00960 0009BA 0040
00990 00099A 00~1
0!000 00100A 001:
01010 00101A OO~J
010:0 OOlO:A 004~
01030 OOlOJA 00~:::;
01040 00104A 0046
o:o:::;o oo:o:::;A
oo~7
0!060
01070
01000
01090
01100
01110
011:0
01130
0048
0049
004A
OO~B
004C
OO~D
004E
00~~
001:4~ oo:::;o
0011:in OO::i1
0!160 001!6A OO:::i::!
011~0
OFF
FO~ LOU
SF'EEir AIID GO TO F'I":RI< F'OSITION AIID STOi'·.
BUT WASH t1011E: GOT TO BE: FINISH At'l[r Tfl::ll
++· STOP. IF THE OFF S~ITCH IS PRESSED TUICE
* UIF'i::R WILL BE OFF, TH!S SO CALL~D THi::
* !HHED!ATE MODE. 3RD TOUCH ~ILL BE BnCK
;t TO NURNI!IL OFF COI1NMID. ~TH TOUCH AGn!il
* IMMEDIATE OFF MODE ••••••••••••••••••••
~
ooe:o ooo8:
011~0
AND STOP.
WMH COI1Nf.\IIIJ: c. ::!::iVCC:: l
~HEN f'USH THIS BUTTON, IJ!F'ER F'iJi1P FOi\ ·1
* SE:C M·!D T:i:: IJIF'C:RC Ill LOlJ Si='E:':Dl LJI?i:: ~
* CYCLES AFTER THE WASHER f'IJ~IP S TOF', TI-'EI~ GO
*BACK TO TH~ OLD CONM~ND ••• PROGRf.\H WASH ••••
H DEHnND ~ASH ••• HOLD THE S~ITCH ••••••••••••
00800 OOOBO
00810 00001
00106A
00107A
0010BA
00109A
00110A
00111A
OOl!:A
OO!l3A
SP~~D
UIPER CONTROL
++
oo79o ooon
00860
OOFJ70
008130
00890
00900
00910
LO~
~:NDSHIELD
0001.
0008
0009
A
A
A
A
RE~:
l'oCU680~?::!
NE:l·IORY CONi- I GIJRAT :;:(Iii
EQUATE TABLE
* ....••••..•..••••••••..••••••••••.............
F'ORlA
F'llRTB
F'ORTC
[I[IRA
A r•r•nB
II [tDRC
ELW
EClU
ErHI
EOU
,
rnu
~
EOU
6
8
9
A TIIR
El'IIJ
II TCR
EIJU
*
0
1
T!HER
T!M~R
DAT~ REGISTER
CONTRUL REGISTER
RAH ASSIGNMENTS
++ ••••••••••••••••••••••••••••••••••••••••••••••
ORG
0001
000!
0001
0001
0001
0001
000!
0001
000!
0001
000!
0001
000!
0001
000!
0001
000!
0001
0001
A 1-!0COM
R~\B
A HOCONl
RNB
A FRf.IC
FRAC1
RNB
f.\
R~lB
f.l T!I1El
R~lB
A THIE::!
RNB
A T!11E3
R~IB
A
TU1~1
RNB
f.l T!I1E:i
A T112
RNEc
,:, T:iO
RMD
T:!~
RIIB
" r:.
RMB
A
A
R~IB
R~IB
A 1b
R~IB
A T3
(:) T71
A T90
A THIPl
RNEc
m1B
R~IB
RMB
'5'10
1
1
1
1
1
1
1
1
1
1
l
1
1
1
1
1
1
1
NO COHI~AND
FIJR A[tJUST·
C!'IB!.E: BRO:\E:N
IJI'ISH Cmii'JflH[I
OT-F' Cmli'of:IHt
LO/HI Cmi~IMID
FOR 11/D T!l'IE
97
~1680::iF'~
IJ!PE:R:o .51'1:1
F'I'%GE
003
01170
0!180
0!!90
01:00
01::!10
o1::o
01::!30
01:·t0
O!::!:iO
01:60
01::!70
01:80
01::!90
01300
01310
00l.17A
0011E!A
00!19:"1
001:0r.
OO!::!U'l
001::r.
00:!.:!3•'
OOl:·~tl
OO:i3
OO::i·~
oo:::;:;
OO::i6
OO:i7
OO::iB
OO::i9
OO::il'l
oo:;a
oo:::;c
OO::iD
OO::iE
00:-j::'
0060
ooo:
0001
0001
0001
ooo:
0001
0001
0001
000!
ooo:.
000!
0001
0001
0001
OO!::!:il'l
001:61'1
00!::!7(.'1
OOl:BA
001::!9(.'1
001301'1
00131
013:0 0013::!
01330 00133
013·10 0013·~(1 ooao
013::i0 0013:il'a 0080 00 ::i9
01360 00136
01370 00137
01390 001313
01390 00139
01·100 001·10
01.,10 001.111
0~.'1:0 001·1::!
01.1130 001.,3
O!HO 001-H
01.,::;0 0014:i
01•l60 OOH61'\ OOB~ ~c 46
01"170 00147
Ol·lBO 00148
01490 00149
O!::iOO 001::i0
o:::;:o 00!:'j1
01::;:0 001:;:
01:i30 00l::i31"1 0013J £!6 "16
01::i·10 001::i·1f.l 0087 f.\! 02
01~:i0 oo:. ~:i·~ 000? :!~ ::!1
O!::i60 001:';6(1 OOBB 10 :i9
0!~70 001 :i7tl OOBD 3::' 46
Ol::i80 001::iBI\ 008F Et6 :;a
Ol::i90 001::i9
01600 00160
0:!.6:!.0 00161
o16:o 0016::!
01630 00163
0!6·10 0016-tA 0091 l'lB 0·1
016::i0 0016:iA 0093 97 ':jfJ
0:!.660 0016M 009~ 0~ ::;a
01670 00167
0:!.680 00:!.68
0:!.690 00169
0!700 00170A 0098 a :i9
017:!.0 00171
017::!0 00172
0:!.730 00173
01740 0017·1
(.\
n
(.\
n
T::NP::!
lEI1F'3
TE:i-IF''1
CDUI·<T
IJ!IWSH!ELD IJ!F'ER CIJI-IlRUL
Rna
FniB
RNB
R~iB
A COUIITl RN£1
RMB
A Flr.G
FUlG1
r. 11II1
:"1 m•::!
l'l 11113
(.'1 ~1[14
n 111J::i
(.'1 IGiH
n !GN:
(.\
..
Ra'IB
1
1
1
1
1
WIB
!
Ra'IB
1
R~i£1
!
RHB
RMB
Ra'IB
1
R~lll
FCJR ra1::-. NOCCia'l I Hi:::
1
1
1
1
1
**HftftM**~"**~*~*~****~***~R~W~*~~*~*~*~"W~ft~~~"
..,
~
...
OFF cmmMw
***************************************~~~**~~*
..
..
009::i OFFC
Oi\G
BR5=:r
$80
O,FLf.IG1,Sl<!P1
IF Sr!LL HOLI•
RF.:IIUNI'IIICY RIJU
MID S I L!_ COUiH
o;.;E 1 llUCII (';'' L
.~t> YOU H!J'.. [I
THE: 51Hl CH.
*
*
*
*
..
*
..
INC
T:I1E3
*
FOR R<::J:IWW:"'IIC Y
*
3 l :.liES,
CHECI: HiE
*
*
+I
OOfiC
~'..()
A
BSET
CLR
A
L[ltl
..*
·!.-SO:!
W:"'!T3
O,FLI'\Gl
THIF.:3
FLt.G
I•:T ::! Ui- r:;'::
,,
FLfll3 I'"' o:·F 10
:s r:;;:n r
*
*
TUUCH
TDIJCH
*
oc
EOR
STI\
OOM SKIF'!
l:.f\CLR
l$0•\
FL:"IG
:, FLf.:G, !J1UFF
*
·-
!r
Oi\ :fill
::s ::!1W
TOUCH, r:o TO
+I
*
" It*
..*
:'I
T!l·IE:3
5"'::-
t.t
·~
OFF com1fiJW.
LDA
CJ·iP
A
.. "
:r
[ISCH•=:
(t
A
com;
... r-·,~
lH!S, li'EII liCU
I+
tl
r··:-a::.
TH=:i·l Sl\ !F'
*
A
TO 5!::E !S 5\JIT
ST!!..!.. HUL.lJ lJ:'{
Hli·iE:LI I AI E: UFF
BCLf\
:::i,FLf-1131
B!T ::; OF
FOil
FU~Gl
J'.EiiO;-~y
IJW<="F 11011:0
OF
98
PAGE
004
0!7~0
00170A 009A
00176
00177
00!79
00179
00180
00191
0019:!
00193
00!9•\
01760
01770
0!780
01790
01900
01910
0!&::!0
01830
O!S·tO
O!S:iO
01960
01870
01880
01890
01900
01910
019::!0
01930
0! 9•10
019:i0
01960
01970
01980
01990
0:!000
0:!010
020:0
0:!030
0::!0•10
O:!O:iO
0::!060
0:!070
0:%080
0:!090
02100
02110
o:1:o
0:!130
0:!!40
0:!1::i0
0:160
0:!170
02180
0:!190
o::oo
0:!210
o:::o
0:!:!30
o:z:-to
.0:!:!~0
o::60
0:!:!70
o:z:so
02:!90
02300
02310
o:z3:o
. il
~lPER20
M6BO~P2
.SAa1
0~
..
•..
..•
..•
01 10 OOAD OFF
0019~
OOA4 11 02
OOA6 10 02
1F ~B
1A :i9
81
3F :a
JF 02
81
II
OLOU
:a
II SET
iS:::T
iCLR
RTS
ooa6
0081
OOBA
008C
00~:!1A OOBE
oo:z::A ooco
00:!:!3A OOC:!
oo::-tA ooc~
OO:!:!~A OOC7
00::!:6A OOC9
00227A OOCB
OO:!:SA OOCD
00:!:!9A OOCF
OO:JOA OOD1
00231A 0003
oo:J:!A oo~o
~J!
F'ER
7,FLf.l0
O,PORTC
· :l,PDRTC
....................................................................................... ~
..
IHOF'F ROUTINE 1 :!liD TOUCH OF TH£ Ol='F CmiH
tt
~I!PER CMN STAY ON n;E UINDOIJ, :!RD TOUCH
*
YIP£R 81'1CK TO REGULAR OFF ROUT!M::, ~HZCH
tt
HEAHS USE LOU SPEED TO PI'IRK POSITION
..............................................................................
A IHDFF ICLR
O,PDRTC IHHEDIATE OFF 1-!0t•£,
*
HAK£ THE U!PER AHD
ICLR
:,PORTC UA&HER OFF
ll1HEDIATEt..Y
7,FLI'\Il
A·
liCLR
~,Ft..AG1
BSET
A
IJAIT3 RTS
FLflD
A NOACT:! Ct.~
PDRTC
CLR
RTS
•
" .....................................................................................
US£ LOU
SPE~D
TO GO BACK PARK POStTIOH
***********************************************
.•
A Ot..Dw1
SCL~
3,FLAD
S!T
..
008~
THE
PA~i<
*
II
0012 17
IF'
!il
POS!T:ON, Ti-;E::H MCK
Ti-15: Nl'l!il ~uuTmE. srAY !II
liOCOI11-I!Ii /LI 1-iODE
ELSE S~T Jc!T 7
OF FLI'IG !il O~tl
TO GO TO THE
OLDio11 ~UT!il!,
J::i'ICI\ ·TO F'Ml\
POS!TIOil
II
00166
00187
001BBA 009D 1E ~B
0018911 009F 10 0~
00190~ OOA1 1~ 0:!
00191A OOAJ &1
0019:!
00193
001 9•1
OOAI
OOAA
OOAC
OOAD
OOAF
0011
:!,PORTS,NOACT~
S~CL~
..•
..
0018~
00196
00197
0019SA
001"
00200A
00:!01
0020:!A
OO:!OlA
00:0•1A
OO:!O:iA
00:!06A
00:!07A
00::!08
00:!09
00::!10
oo211A
0021:
00:!13
0021-1
OO:!!:l
OO:Z16A
oo:Z17A
OO::!!BA
00:!19A
oo::OA
UINDSHIELD U!PER CONTROL
•
19 ~~
A
11 :;a
A
10 02
A
A6 AO
A
JO ~~
A
AO 3E
10 •\8
A
17 08
o~ 01 E6 OOAD DI.DI.O:Z
A
86 08
:n F9
OOC•1
1'16 ~~
A
17 08
JF 02
A
~6 OS
A Di.DL.IJ
00[11
:!A FC
0091\
:o CJ
"
"
"
3,·\,~
ALL
FOR LO/H!, HAY
HAVE ti::TTCR UA
TO DO THIS •
liCLR
EICL.R
II SET
Lt•A
SUB
sua
sua
STf-1
llr<CI.R
LllA
IIPL
I.N\
STA
CL.~
l.[l;'i
8?t..
iRA
4,FLf.IIJ
::i,Ft..I'ID
O,F'OitTC
UI'IO
T!KE1
DUT'f C"fC!..£ 0/i 7:i%, SUBTRA
THOSE T!HE HAS USED.
UJ£
T:HE~
TllR
:,POnrt,NOACT:Z
TI•R
Oi..0'-1~
u:;:;
Tl'R
FORTC
TI•R
o:..ouJ
OFF
DUT'f CYCLE OFF
2~%
99
P~GE
00~
UIPER:!O
0:::!:330 00:::!33.
o::HO oo::H
0:::!3~0 OO:!J:i
o:J6o oo::J6
0:::!370 00:::!37
0::3BO oo::Ja
0:::!390 00::!391!1
0::!·\00 00:!401\
0:::!1!.0 00:::!'11A
o:·t:o 00:!·\:A
0::!'130 00:!'13A
o::·\40 oo:·1·1A
0:::!<\:iO 00:::!<\:iA
o:-t60 00:!·\6A
0:!470 00:!'17A
O:HBO oo:4an
0:!<\90 002'191'1
o::::;oo oo::son
o:!:ao 00:!~1A
o:~:o oo:::;:A
H6BO~P:
.S~a1
~I~I.ISH!ELD
U!PER CONTROL
MMMHMHHHHMH*H~HHHH*HHHHHHHHHHHHHHHH~~HHHHH~HH~H
"**********************************************
*
*
~
0007 10 0:::!
00[19
00[18
OOI•D
OODF
OOE!
OOEJ
OOE~
00£7
OOE9
00£8
OOED
OOEF
OOF1
0:!~30 OO:!~JA OOF'J
o::Ho OO:!:S·1A OOF:5
O:!:i:iO OO::!:i:iA OOF7
o::s6o oo::;6
O:!:i70 OO:!:i7
o::;so oo::;s
O:!:i90 OO:!:i9
0:!600 00:!60
02610 00:::!611\ OJCO
o:6:o oo:6:A oJco
0:!630 00:::!631\ OJC1
o:640 oo:6-tA OJC3
026:i0 00:!6:i/\ OJC~
0:!660 00::!66A OJC7
0::!670 00::!671\ OJC9
o:6BO 00:6BA OJCB
0:::!690 00269A OJCD
0::!700 oo:70/\ OJCF
o:110 oo:11n 03D1
o:1:o oo:7:A oJo:
0::!730 00:!73A OJD3
0:!7-10 00::!7•11\ OJD:S
0:!7:i0 00:!7:iA OJD7
o:760 oo:76A OJD9
0:!170 00::!77
o:7BO 00:!7BA 03D8
0::!790 00:!7'P
o:aoo oo:aoA OJDE
0::!810 00::!811\ OliO
o:e:o oo:e:A o~EJ
o:a3o oo:aJ~ o:;e::;
o:a-to oo:s4A OJE7
o:a:;o OO:!B:iA OJE9
O:B60 00286A 03EB
0:::!870 OQ:::!a7A 03ED
o:aao oo:sap, OJFO
0:::!8?0 00:!89f.\ 03F:!
o:9oo oo:9on o~F3
M
80
M
80
117
86
:!A
1\6
117
.:1,.
116
.
M
..,
'ZE
..,a
09
08
FC
3:i
OB
0::!
09
F'C
:!A
18 ~B
18 :;a
10 02
81
LO/H! LOY SPEED ROUT!H~
USE 7~% I.IUTY CYCLE TO D~IV£
AROUHD 7 CYCLES/10 SEC.
T~E ~:PER
**********************************"*~~·····~···
A LOU1
A
BSET
LDf.l
O,?ORTC
151'10
OOEJ
SUB
SUB
SUB
STA
LDA
EIPL
f.\
LIJA
H3:i
A
STA
CLR
TN~
A
A
A
n
(.\
f.\
~
L0~3
OOED
~
LOI.I
A
A
LDI\
EI?L
EISET
BCLR
SSET
RTS
TURN ON TH~ U:F~~
ffiOwJ:"-::i .1 115
T:N::1
U3E
TUH::i
TI•R
Til~
LOIJ:
tJ~~<J::!n1.7 f·i3
UHICH IS UIPER OFF
PORTC
TDR
LOUl
TitiE<::!:i%>
·1, F L~G
~,FLAG
O,PORTC
***********************************************
*
*
*
IN!TI~LIZATION
UHEH
POI.IER
UP,
PROGRAtt START
FROtl THIS
FOil•T
***********************************************
91
A6 01
111 o:;
A6 FF
17 06
JF 0:!
11 01
16 0::!
AE 40
7F
:;c
Al 80
::!6 FA
1\6 02
87 04
ORG
RESTRT SEI
tlCO
L[l:'l
U01
A
A
s·rA
A
LDA
"
CUt
Srft
A
A
A
A
EICLR
BSiT
LI•>:
PORTC FOR OUTPUT
IlUTIALIZE
l$-\0
C?:c
liNE
Ll)l\
STA
.uao
8RCLR
O,PORTA,DUtl
EISET
8RSET
l,POilTA
! ,PORTB, TI11i
0301
•
•
12 oo
0:! 01 FD OlEO TII'IE
~6 FF
A
17 08
A
10 01
A
16 0:!
A
JC ~7
03 01 FD 03£0 TEMP'
P6 oa
'10
87 40
"
"
[I[IRC
PORTC
O,PORTB
J,FORTC
to,:c
!N>:
01 00 40 041E
PBO FOR OUTPUT
UFF
Rl\t1CL.R C!..R
1\
A
A
[I[IRB
LDA
STA
II SET
RA11CLR
no:
DIJRA
UFF
BRCLR
Lilt'\
TDR
O,F'Oi'HB
J,?ORTC
COUNT1
1 ,PORTB, TEl'IP
TI.IR
I lEG•'
STA
HOCOtl
BSET
IHC
P:U FOR OUTPUT
!S IGN!TIOH OFF?
100
PAGE
006
~lPER:O
0~910 00~91A OJF~ ~B
o:9:o oo~9:n OJF7 &7
0:!930 00~93
0::!9·10 00~9·1
0:!9~0 00:!9j
o:960
0:!970
o:980
0:!990
03000
030!0
030:0
0~030
03040
030j0
03060
03070
03080
03090
03100
03110
03!:0
03130
03140
031j0
03160
03170
03180
03190
o3:oo
03::!10
o3::o
03:!30
03:·10
oo:96
00:!97A
oo:98n
00:!99A
OOJOOf.l
0030!A
OOJO:n
00303(.'1
00304A
0030jA
oo306A
oo307A
00308A
00309A
00310A
00311A
003!:A
00313A
00314A
00310A
00316A
00317
0031BA
00319A
ooJ:on
003::!1
oo3::
003::!3
003~··
03::!~0 003::!~
03:!60
03:!70
03:!80
03::!90
03:!00
03310
OJJ:o
03330
03340
033::i0
03360
03370
03~00
03390
03400
03~10
034:0
03430
Ol~4o
03~jO
03~60
03470
03400
03F9
OJF8
03FD
03FF
0401
0403
010j
0407
H6BO~P:! ~INDSH!ELO
.SAa!
06
41
11 01
3F o~
P6 ~7
..*
..*
f.\
"
(1[10
~o;o,.r,
STA
NOCONl
ADJUST
GF\OUND
BCLR
CLR
0, i='Oii:T B
F'OrlTC
COUNT1
1~
A
CtiP
Ul~
o3::::.o
8l..O
LDf.l
STA
CLR
TINE:
UJE
0~09
04on
~6
o~oc
A
A
A
Ct.. I
TIIR
TCR
LO~O
no:
'-'AIT FOR T!I1ER
87
o:
o~
LOI\
STf.\
[r[IRA
040E A6
0~10 87
041: A6
0414 87
0~16 16
0418 9C
0419 ~F
04!8 9~
041C :o
0!
LDI'\
U01
042:
FF
06
0::!
ODRB
UtA
UFF
STA
BSET
ODRC
3,POilTC
CLR
TCR
£4RA
WAIT
c:..x
EC
INTERRUPT
R~F~~SH
***********************************************
A OUM
CLR
~
&CLR
9C
03CO
:o
THir::R
START T:I'IER
RS~
09
o:
STA
!3 00
041E JF
0~::!0
0~
DIFF-
?S~UirO-GRUUil!l 1!\il[r
DD
A6 !E
87 08
3F 09
9n
~!
:!~
lH~
ERC:JiCE I<i: ft..' f. Eli
L[r(.\
(.\
U:PER CONTROL
BRA
PORTC
!,PORTA
RESTRT
!GHlT!ON OFF
'
DO NOTHING
***********************************************
***********************************************
*
*
*
*
*
*
*
TIM~ OVERFLO~
~OUTINE
IH THIS HniH ROUT!HE<TIMOUT) THE ONLY AC
IS CHECK THE IGNITIOH & PnRK SUITCH, :F
IGNITION OFF, 9UT U!PER HOT IH PARK POSI
TH£N USE LOU S?EED TO GO BACK P~RK POSI
R~ST OF 111\II-l ROUT!I~E JUST LIO Cmii1MID &
SONE INSTRUSTIOH FOR jUMP TO SUB~OUTIII~
003:6
003:!7
003:8
003::!9
00330
**********************************"************
8RSE'r O,FL.Ail!,IG:i
00331A 04:!._ OA :i9 3B 04:iF IG4
CliECI·: IS :Hi
oo3~:
INliOFF !10tiE?
00333
O,PORTC
&SET
00334A 0427 10 02
!F NOT, TH:::14
0033~
TURN ON THE
00336
I.IIPER.
00337
LJ:tA
uno
A
0033BA 0429 A6 AO
TDR
ST~
OOJJ9A 04:!8 87 OS
A
TDR
Ltlf.l
00340A 04~D 96 08
1'\ IGl
IG1
&P'L
0~:!1:1
00311A O~::!F ::!A FC
O,PORTC
BCLR
n
003421\ 0431 11 o:
Ul~
LT!A
A
00343A 0~33 A6 ~~
STf.l
Tl•R
n
00344A 043~ 87 oa
TOR
LOA
ooJ4~A 0437 B6 oa
A IG:!
!G2
&F'L
003~6A 0~39 :A FC
0437
(\
O,?OiHC
!:ISH
003~7A 0~38 10 0::!
U3E
LilA
00348A 0430 A6 JE
n
..
•
101
007
031190
03::100
03:::i10
o::;:::;:o
OJ:::iJO
OJ:::i40
OJ:::i:::iO
OJ::i60
o3:::;7o
oJ:::i80
03:::i90
03600
03610
003.,911
OOJ:::iOA
OOJ:::i!.ll
00.3:::i:A
003:::il
OOJ:::i4
003:::;:::;
003::i6
oo::;::;7
OOJ::i8/\
003:::i9A
00360
00361
03630
03640
036:::i0
03660
03670
03680
03690
03700
03710
037:0
03730
03740
037::i0
03760
03770
03780
03790
03800
03810
038:0
03830
03840
038::i0
03860
03870
03880
03890·
03900
03910
039:0
03930
039·\0
039::i0
03960
03970
039BO
0036311
00364A
0036:::iA
00366A
0036711
00368A
0036911
00370A
0037tn
0037:A
0037311
00374A
0037:::iA
00376
00371
00378
0037911
003BOA
003B1A
003B2A
00383A
00384A
0038:::ill
OOJB6A
00397
00398
00389
00390A
OOJ91A
00392
00393
0039··
0.,3;:O·H!
04'13
OH:l
:!0 . :!~
JF' ~F'
3C 60
:o o;:
0463
1\
A
IG3
0·,~6
UINDSH~ELD U~PER
BRf\
CLR
INC
BRA
CONTROL
IG6
IGIU
r Gl4:!
IGO
***********************************ft*******1*~*
M
UHEN IGNITION OFF, PROCESSOR STnr ON FO~
30 SEC~~ UH~N OV~~ 30 SECS, PROC~SSO~ T
THE POWER SUPPLY BY CLEAR 1,PO~Tn
*
*
0447 13 00
0149 CC OJCO
036~0 0036~1"4 0~4C
0039~
M680:::iP:!
I.IIPER:ZO .SIIal
PAGE
1:::i
3C
86
111
:7
86
O~:::i8 Al
04:::iA :!n
04:::iC 04
04:::ir 11
0461 ~6
0.,63 97
046:::i JF
0467 80
044E
04:::i0
Oll:::i2
04:::i4
0.,::;6
********************************************~~-
A OFFAl
A
0:!
:::;;:
A
~F
A
A
1,PORTA
R~STRT
92
II
EB
0441
60
A IGO
1A
A
EB
0447
01 C:::i 0424
02
A IG:::i
~3
A
08
II IG6
09
A
INC
LDA
CH?
IGN1
IGN1
IDJ
IGH2
U1ft
OFFill
TH~
TIHE
srmE T:11F. OFF, flA IS
GOOD ENOUGH.
:,PO~Tt.IG4
BC~R
L~n
O,?ORTC
t5D3
TOR
TCR
STf\
CLR
RTI
***********************************************
rHIS
~OUTIH~ FO~
DEBUO
ON~Y
***********************************************
40
A REDO
44
A
43
43
38
A
LDA
SUB
CLC
ADD
II
ST~
04AB
9CC
~0
II
D~C
FRAC1
FRAC1
TAU
HOCOH
047~
34
O.,A8
BRA
T~U
0~77
0~79
COUHTIHO
~·92
BED
LOA
CtiP
B?L
BRSET
86
BO
98
81
0~6F 17
0~71 :4
0.,73 JA
:o
THIS IHSTRUCTIOif IS iiOT
M
REQUIRED.
************************************~*****w****
IGOFF ~CLR
:!,~ORTC
*
0468
046A
046C
046D
BCLR
JM?
HOCOH
TIKEl
**********************************~**~*********
M
HAIN ROUTINE FOR TIMER OVERFLO~
************~**********************************
17 0~
A TIHDUT BCLR
01 00 DO 044C
B~CLR
.
J,PORTC
O,PDRTA.IGOFr
..•
•
..
It
00396
00397
A
00398A 047C A6 FF
03990 OOJ99A 047E 87 08
A
A
01000 00400A 0480 JF 60
04010 001101A 0~8~ 02 01 FD 0.118::! YAIT1
o1o:o 0040~A 048~ 86 oa
A
01030 00~03A 0.,87 40
0~040 00404A 0488 S7 48
A
0~0~0 OO(O~A 048A A6 rr
f\
A
04060 00406A 048C 87 09
Lt•A
STA
CLR
B~SET
LDA
NEGA
STA
LDA
STA
IGniTION OFF,
JUMP TO :;o SE
ItELAY RiJUT WE
ELS£ START CH
CmiMHD AHD E
CUTE •
UFF
TltR
IGN:
!,PORTB.U:UT1
TIIR
T!r.IE:l
·UFF
TIJR
Vf.ILUE .. :---3
102
PAGE
008
~IPER::O
00407A
04080 0040BA
0~090 00409A
04100 00410A
04110 00411A
041::0 004!21'%
04130 00413A
04140 00414A
041~0 0041jA
04160 00416A
04170 00417A
04180 004181\
04190 00419A
04200 004:0A
04210 00421A
04::o 004::A
04230 00423A
04240 00424A
042~0 0042jA
04260 004:6A
04270 00427A
04280 004:BA
04290 00~29A
04300 00430A
04310 00~31A
043:0 0043:A
04330 00433A
04340 00434A
043~0 0043:;A
04360 00436A
04370 00437A
04380 0043BA
04390 00439A
044bO 00440A
04410 00441A
044:0 0044:A
04430 00443A
04440 00444A
044:;0 0044::iA
04460 004461\
04470 00447A
.04480 0044BA
04490 00449A
0~070
04~00
004~0A
04::i10 004j1A
04~:0 00~~2A
04::i30 004~3A
04340 OO~~~A
04~~0 004~~A
04::i60 004~6A
04::i70 004~7A
04::i90
04::i90
046oo
04610
046:0
04630
04640
004::i9A
004~9A
oo460A
00461A
00462A
00463A
00464A
H680~P2 ~IUUSHIELD
.SAal
04BE 10 01
0490 16 02
0492 03 01 F9
049~ ~6 08
0497 40
0498 1! 0!
049A 17 02
049C 87 ·H
049E 80 4()
04AO :~ C6
04A2 98
04(.13 88 ,,2
04Aj 87 4:!
04A7
02
04A9 JC "'0
04AB ~6 41
04AD H
04AE ~7 4A
0480 4"'
0481 87 o\B
O~BJ 44
0484 87 4D
0~86 44
0487 87 4E
0489 44
04JA 87 4F
04BC 86 "'A
048C: JB 4D
04CO BB 4E
04C: BEl 4F
O~C4 ~7 ::;o
04C6 ~B 48
O~CB BO 4E
04CA 87 ~1
04CC ~B ~B
04CE 87 49
04DO 96 48
04D2 88 4E
0404 87 4C
04D6 16 0:!
04D8 96 44
04DA 81 :S1
04DC·28 ...
04DE 1D ~B
04EO 11 ~9
04E~ 13 ~9
04E4 17 :i?
04E6 02 SB 3:!
04E9 OE ~a 22
04EC 3F S~
04EE JF ~3
04FO 3F ~4
04F2 JF ::i:i
04F4 oa ::;a 1B
04F7 OA ~a 1C
04FA OS ::i9 :l:3
04FD ~~ ~a
04FF B6 ~9
=·\
,
A START
A
048C:
A
"
A
A
A
0•,68
A
A
04A8
A
A TAU
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A·
A
A
A
A.
0 ... .,""-""A CHECK
A
A
A
0~1B
o::;oc:
A
A
(.\
A
o::a::z
0:;16
o~:zo
A NOACT
A
8SC:T
BSET
8RCLR
LDn
NC:GA
EICLR
BCLR
STA
SUB
EILO
C!..C
f.lUD
srA
~cc
INC
LM
LSRA
STA
LSRA
STA
!..SRA
STA
LSRA
51'1\
LSRf.'l
STA
L[tA
f.l[tD
A[t[l
f.:DD
SUI
ftDD
SUB
STA
AltD
STA
LOA
ADD
STA
8SET
LJ)A
CtiP
BMI
IICLR
BCLR
EICLR
BC!..R
I4RSET
EIRSET
CLR
CLR
CLR
CLR
I4HSET
EtRSET
EIRSET
CLR
LDA
WIPER C:ONTIWL
O,PORT8
J,f'OilTC
!,PORTEI,START
PB1••1
TDR
O,PORT8
J,PORTC
TII1E1
NOC0/1
RC:DO
FRAC
FRAC
TAU
NOCOH
HOCOH1
Vf.ILUE:rt<-~9---::i/\
~0%
TAU
T~O
2:i% TAU
T::s
T12
T6
12.:iZ TAU
6.2:i% TAU
J.12::iZ TAU
T3
T~O
·-
r·~
T6
T3
T71
T::!:S
T6
T90
T::!::i
T•• .,
··-
r.,-
-""
T6
T31
J,PORTC
THIEl
T90
LHO
6,FLAG
O,FLf.IG1
l,FLAI31
3,FLA01
1 , FLAG, SIJA SH
7,FLAil,SU!..Ow1
TEI·iP1
TENP~
TE~IF'3
TENP4
4 ,Flf.IG ,SLOIJ1
::;,FLAG,SHIGH
-t, FLAD1, SI1IST
FLf.lll
FLf.IGl
103
PAGE
009
~IPER:ZO
0~6~0 0046~A 0~01
0~660 00466A 0~03
01670 00167A o~o::;
04680 0046BA 0~07
01690
04700
017~0
047:0
o~73o
04740
017~0
04760
0~770
04790
04790
01900
04910
048:0
01930
048•10
048~0
0-1860
04870
04880
04890
04900
04910
049:0
04930
04940
019~0
04960
04970
04980
04990
O::iOOO
O::i010
o:;o:o
0~030
0~040
M6BO:iP2
.SAa1
A4 ~0
P7 ~9
JF o~
A6 3~
00169A O::i09 81 08
00470A 0~08 JF 09
00171A O~OD SO
0047:A O~OE ~D B~
oo173A o~to ~o r":i
00474A 0~12 PD 07
0017":iA 0~14 ~0 F1
00476A 0~16 CD 0~6A
00177A O":i!9 ~0 EC
00479A 0~111 CD O":iAD
00179A 0~1I ~0 E7
00490A 0~:0 CD 06£0
00481A O:i~J ~0 E~
00·182
00-\93
0048•1
0049:i
00486A o~:~ B! ~o
00487A 0~~7 ~A 10
0048BA 0~29 11 4A
00 .. 89A O":i~l ~A 16
00490A O":i2D 81 4C
00o491A O:i~F :A OD
0049:A O:i31 11 4D
00493A O:i33 2A 14
00494A O:S3~ 18 ~B
0049SA 0~37 20 fl~
00496ft 0~39 CD 0~4E
00497A O:i3C :o C9
0049BA 0~3£ CD O:S98
00 .. 99#'1 O:i41 20 C4
OO::iOOA O::i·13 19 :i9
OO::i01A O:i4::i BD 80
OO::iO~A 0~47 :o BE
OO:iOJA O::i49 CD 0629
00~04A O::i4C 20 19
oo":iO:i
~INDSH~ELD
tlliD
STA
CLR
ft
A HOACT1 LIJA
STA
CLR
A
,., SOLOIJ1 RTI
JSR
BRA
O:i07
(\ SL0~1
JSR
£4~A
O:i07
A SHIGH JSR
BRA
O::i07
A SIJASH JSR
O::i07
BRA
A S~IIST JSR
BRA
O::i07
(\
u~o
A
FLI'\Gl
PORTC
"
TI•R
TCR
U~F'ER
CONTROL
ts3E
OLOIJ1
~101'\CTl
LmJ1
NOACT1
HIGH
NOI'ICT1
IJI'ISH
NO!'ICT1
IJELrW
NOACT1
**************************************~********
*
*
IF THE COMMAND UTHER THAN NOCOH
THEN JUMP TO THIS ROUTINE.
*********************************~*******~*****
A LHO
O::i39
A
O:io43
"
o::;"9"
04DE"
A LHC1
O::iJE
O::i07
A
~ftSHC1
O::i07
A DFFC1
CMP
BPL
r.ttP
liPl.
T71
LHC1
T::;o
OFFC1
Ctlil'
1'31
li?L
CI'IP
liPL
BSET
£4Rn
JSR
£4RA
JSR .
l!Rfl
BCLR
1Je'ISHC1
J5~
A
o:o1
liRA
A HISTC1 JSR
liRA
O:S07
IT IS LO/HI COMMAND
IT IS OFF COMMAND
UASH C011HftiiD
'02
NISTC1
., , FLr.G
CHECK
LHC
NOACT1
IJASHC
tiOI\CTl
-1,FLAG1
OFFC
H0f.ICT1
11ISTC
HOACT1
HIST/DEL!'IY COKMAHD
THE CIRCUIT HnS SHORTEN
loiiPER Dii UITH LO SPEED
o::;o:;o
**************************************~*~******
O::i060 00~06
*
LO/HI ROUTINE
O:i070 OO:i07
*
PRESS THE LO/HI SUITCH 1ST TIMEa
0~080 00:308
*
LO SPEED DUTY CYCLE.
O::i090 OO":i09
*
~HD TOUCH• HIGH SP~ED.
o:uoo 00~10
*
3RD TOUCHa LOU SPEED ••••••••
0~110 OO:i11
***********************************************
O::i1:0 OO:i1:A o:-tE OC ~B 1: o:63 LHC
BRSET 6,FLAG,SKIP
TH!S SRANCH ROUTINE
0~130 OO::i!J
O":il-10 00:31-t
ENABLE PROCESSOR
o:a:;o oo::a::;
NEGLECr THE TIME
O:i160 oo:u
M
STnY ON THE S~IT
O::i170 oo:a7
&UTTOH
T!I'.E•1
o:aso OO::i!BI\ o:::a JC ·17
we
A
O:i190 OO:i19A O::i:iJ 86 o47
TII'IE"
LI•:~
A
o:;:oo oo::;:oA o:;~:; A! 0~
uo~
REIJUNOAI-ICY
A
Cl'iP
., 17
RTSl
O:i~10 OO:i~!.A O":i:i7
O::i70
s:..o
o~:~o OO::i::Z:!A O:i::i9 1C :iB
6,FLI'\G
A
&SET
..•
•
•
.......
104
010
o::Jo
o::·tO
o::;:::;o
o::;:6o
O::i:!70
o::;:zao
O::i:!90
O::i300
O::i310
o:J:zo
O::i330
O::il·\0
o::;J:;o
O:S360
O:i370
oo::J:\ o::a J;:'
OO::i::Z-11'\
oo:;:::;n
oo::;:61\
OO::i:!7:\
oo::;:sA
OO::i:!?A
oo::;:o
OO:illA
O::i::iD
o.. -o::;u
o::;u
O::i66
O::i68
~~~
.,,
0:!
::;a
:;a
~lWDSHIELD
CL~
A
1\
P6 :iFJ
A
11a OS
A
117 :a
07 :;a 04 O:i6A SXIP
1\
17 o:z
A
iC F1
O:iiiA 10
oo:s:;:u~ O::i6C 11\
OO::i33A O::i6E 19
OO:i3·11\ O:S70 B!
oo:;:;::;
OO::S36
OO::i37
0~380 OO::i38
o:;no oo:;J9
O::i•\00 OO::i·tO
O::i .. 10 OO::iH
O::i·1:0 OO::i·12
O:i430 OO:i43
O::i•\40 OO:i·1JtA O::i71 3F
o:;•::;o oo:;":;A O::i7l 04
O:i-160 OO:io\6A O::i76 1E
O:i470 OO:i47A O:i78 19
o:HBO OO:H8A O::i7A 81
O:i490 OO:i4fA O::i78 18
O~:SOO OO:S:SOA 0~7D 1F
O:i010 OO:i::i1A O::i7F 11
o:;::;:o oo:;:;~A o:ao t:s
O:i::i30 OO:i::iJA O::iB:! ~0
O::i::S-10 OO:i::io4A O::i84 1:S
o~::;::;o oo::;::;:;., O:i86 16
O~:i60 00~~6A O::ill A1
O::i:i70 OO:i::i7A O::iiA ~~
o:;:sao oo:;:;aA o::;ac 3C
O::i::i90 OO:i::i9A O::iBE :SF
O:i600 OO::i60A O:i90 :o
O:i610 OO:iUA O::i9:! 3C
O::i6:ZO OO:S6:!A O::i9•\ 3F
o:;no oo:nA O::i96 20
O::i6·10 OO::i6·1
O:i6::i0 OO::iil:i
O::i660 OO::i66
O:i670 OO::iii7A O::i91 o:z
O:i680 00j6SA O::S91 :SF
O::i690 OO::i69A O:ifD 3r
O::i700 OO::i70A O::i9F 3F
O::i710 OO::i71A O::iA1 3r
O::S7:!0 OO::i7:A O::i~3-3C
O::i730 OO:i73A O:ifl::i 16
O:i7·\0 OO::i74A 0~1\7 n1
O::i7~0 OO::i7::iA O::ir"19 :!~
O::S7l.O OO::i761\ O::i/'18 1~
O::i770 OO::i77A O::ir"'D 116
O::i7BO OO::i7EIA O::ii\F 117
O::i7VO OO:i79A o:;u P6
o:;eoo oo::;eon O::iil A1
. ,,
ti6SO::iP:Z
l.llPER:O .SI\a1
PI'IGE
L[ll'\
EO~
STI\
i~Ci..~
PCLR
J~l?
U:PER CONTROi..
T!~l!1
Fli'IG
uoa
TOOO:..~
IT
FLI\Il
J,rLI'IG,HIGH
J,FOiHC
LOY
•..........•..........•..••.•..••..........
A HICiH
I\
A
RTS1
fj5ET
fjSET
f4CL.R
RTS
O,POiHC
::i,FLAO
.. ,rLIID
~
...
·
·········································~--~-·
•••••••••••••••••••••••••••••••••••••••••••••••
..
YASH ROUTIIIE
WHEN WIISH COHH~HD HAS RECEIVED, U!FER
•..
4
Dli LO SPEED, WASHER START A?PLY
UHEH WASHER OFF, WIPER IS ON THE UlHeR
•..
AF'PRO:<IHATEL'f 4 U::tPE CYCLES CL.O S?E~.tl) ,
SO CALL DRY Y!PE •
•......................................................
FO~
:;a
A
09 o:; 0078
A
:iS
:;a
A
::;a
~·
0~
47
0:!
.,
..,_
9:!
38
03
tl2
3:S
:;~
::;.,
31
aunw
A CUIT3
A
CLR
PRSET
PSET
11!:6R
FHS
PSET
PCLR
RTS
A aunt PCLR
o::;ca
IRA
A I.IA&HR1 l1CLR
A
LL•A
A
CtiP
O:iC7
BLD
A
IHC
A
CLR
liRA
o::;c7
A aun:z INC
CLR
A
iRA
O::iD3
FL/\13
~,FLAD1,CUIT3
7 ,FLAIJ
'I,FLAO
.. ,FLAG
7,FLI\IJ
:!,PORTC
WASHR4
~,PDRTC
lEHP1
U92
I.IASHR~
TEtiP:Z
T5:HP1
l.lASHR:Z
lEHP-t
Tt.tiP3
Uf.'ISH~::i
ROUTIIfE FOR loi:"'SH FUNCTIOil
..•••••••••••••••••••••••••••••••••••••••••••••••
IH"I!H
•••••••••••••••••••••••••••••••••••••••••••••••
&RSU 1,FLAG1,UASH1
::i9 JE O::iDf WASHC
::;:z
A
CLR
::i3
A
CL~
~~
~6
A
A
A
o:z
A
A
::;.,
.,,
c:;
::i9
1'10
OS
~~
0•1
O:i70
A
A \UISH
"A
A
CLR
CLR
TEHP1
TE~IP:!
TEHP3
T~NP.,
II~C
· T!I1E3
LJ)f'l
TUI£3
CHP
11!..0
14SET
LI)r'\
STI"4
LI•A
CliP
HO~
RTS1
1 ,FLAG1
U1!\0
TLIR
T'EiiP_.
U0·1
105
~IP,ER20
PAGE
011
0~810
0~820
0~830
0~8~0
0j8~0
0~860
0~870
0~880
0~890
00~01A
00~82A
00~83A
00~84A
OOSB~A
0~8~ 2A PA
0~87 86 ~3
0~99 Al 04
0~89 2A C3
O~SD
~~
00j86A O~BF 86 ~~
00JB7A O~C1 Al 6F
OO~SBA O~CJ
BF
00~89A O~C~ 1~ 02
0~900
0~910
OOj90A
00J91A
Oj9:0
o~960
0~970
0~980
O':i990
06000
06010
06020
06030
06040
060':i0
06060
06070
06080
06090
06100
06110
06120
06130
06140
061~0
06160
06170
06180
06190
06200
06210
062:0
06230
06240
06~~0
06260
06270
06280
06:!90
06300
06310
06320
06330
063~0
063~0
06360
06370
06JC:IO
JC
:A
O~C7 JF ~4
O~C9 3~ S~
00~9:A O~CB JC ~4
OjCD 86
O~CF A1
OjDl 27
oo~96n o~o3 :o
00J97A O~Dj 1j
00~98A O~D7 :o
OO':i99
00600A OZD9 A6
00601A OjDB 87
0060:A OjDD 86
00603A O~DF.A4
00604A O':iEl 27
0060':iA O~EJ 14
00606A O':iE~ JC
00607A O~E7 12
00608A Oj£9 86
00609A O~EB A1
00610A O~ED :A
00611A O':iEF 14
00612A O':iF1 10
00613A O~FJ 1~
00614A O~F~ 86
0061~A 0jF7 BO
00616A O':iF9 AO
00617A 0jF8 BO
00618A O~FD 87
00619A O':iFF 86
00620A 0601 :A
00621~ 0603 17
006::!A 060~ 11
00623A 0607 A6
00624A 0609 87
0062':iA 0608 86
00626A 060D :A
00627A 060F 10
00628A 0611 81
006:!9
oo63on 0612 ·1~
00631A 0614 86
00632A 0616 A1
00633A 0618 :!~
00634A 061A JF
0063':iA 061C 20
00636
00637
00638
0~930 00~93~
0j940 00~94A
0~9~0 00~9jA
H6BO~P2 UIN~SHIELD
.SA&1
~~
93
BF
1c
~9
OC
AO
08
~8
0~71
LDt'\
A
Ci'l?
B?L
INC
0~80
A
A
A
0~84
A
A
A
A
A
A
~
~B
08
4~
JE
48
OS
08
FC
02
0~
3~
08
08
FC
02
02
~~
92
D7
':i2
DJ
OUITlJ
TEI'.P:!
'1:'>04
CUIT!
TEN?!.
TEHF'l
U6F
UIISHRl
:!,?ORTC
TniPJ
TENP~
TE11PJ
TEHPJ
U93
DUIT2
I.IASH:l
:!,FLAG1
CHECI\1
***********************************************
O~D~
~2
C~IP
A UASH1
A
A
A
~9
6F
:3
02
02
L[IA
CNP
BPL
BSET
IJASHR:Z.CLR
CLR
~ASHR·· INC
LDA
0j92
BED
0jF1 l.:fiSHR:S liRA
A CHECK2 BCLR
O:SE~
(IRA
30
F2
':i2
':iS
B?L
A
U!PER CONTROL
LDA
STA
LDA
nHD
~EQ
~S~T
A CHECKl INC
A
~S~T
A
LDA
A
CHP
061=
BPL
A
8S~T
A UASH~ BSET
A
IISET
A
LnA
A
SUB
A
SIIB
SUS
A
A
STA
A UASH6 LDA
O:SFF
8F'L
A
BCLR
A
~CLR
A
LDA
A
STA
A UASH7 LDA
060B
IIPL
A
8SET
RTS
RTSJ
tt-AO
TDR
FLAG
tSJO
CHECI\2
2,FLAG1
TEKPl
1,FLAG
TEMF'l
t•6F
UASH:!
:!,PORTC
O,PDRTC
1,FLAG
TDR
TIHE1
t«,;JE
TIME~
TDR
TDR
~ASH6
J,?URTC
O,PDRTC
tSJ~
TDR
TDR
UIISH7
O,PURTC
***********************************************
A UASH2
A
A
O~F1
A
O~F1
BCLR
LDA
Cl-IP
SLO
CLR
BRA
:,PORTC
TEHPl
,u;n
UASH':i
TEHF'l
UASH~
********************************************r.~*
***********************************************
*
MIST/DELAY ROUTIHE
106
PAGE
012
06390
06·100
061110
06420
06430
06·140
064':i0
06·160
06470
06480
06490
00639
006·10
00641
006•12
00643
006·14
06~00
06':i10
06~:o
06'j30
06':i40
06':i':i0
06':i60
06':i70
06080
06':i90
06600
06610
066:0
06630
06640
066':i0
06660
06670
06680
06690
06700
06710
06720
06730
06740
067':i0
06760
06770
06780
06790
06800
06810
068:o
06830
06840
06B':i0
06860
06870
06880
06890
06900
06910
069:o
06930
06940
069':i0
06960
~IPER~O
M680'jP2 WINDSHIELD UIPER CONTROL
.SAa1
*
M
If
w
1t
w
0064~
If
006·16
006"17
00648
00649A 061E
006~0A 06:0
006':i1A 06~2
oo6~~n 0624
006':i3A 0626
006':i4A 0628
006'j:i
006:36
006':i7
006:S8
006':i9
00660A 0629
00661A 06~C
00~62A 062E
00663A 0630
00664A 0632
0066':iA 0634
00666A 0636
00667A 0638
00668A 063A
00669A 063C
00670A 063~
00671A 06~0
oo67:n 0642
oo673A 0644
00674A 0646
0067~A 06"18
00676A 064A
00677A 06"1D
00670
00679A 064E
00680A 06':i0
00681A 06':i~
0068:A 0634
00683A 06j6
00684A 06':iB
0068':iA 06':iA
00686A 06'jC
006B7A 06':iE
00688A 0660
006B9A 0662
0069on 0664
00691A 0666
0069:A 0668
00693A 066A
00694A 066C
0069~A 066E
00696A 0670
M
1t
3r ':iA
JF ~8
3F ~C
JF ':iD
3~ ':iE
81
Pf'<OCE:S90R RECEIVE TH! S COiiNf'\llD, lJ!P
ONE TIME,AND WAIT FOR TH~ SECOND TOUCH
I•O NE:<T .IJIPE:. THE TINE Hll Ei'<VI\l.L [<E ti.IEEN
SECOND TOUCH ~ILL BE PUT IN MEMORY, nHD
!T IS THE REFERENCE TINE: FOR HE:<T lJ!i='E
IF HOT PUSH THE MID PUTTOH UITHIN 13 SEC
THEH 1:i SEC. AUTOMATICALLY STO~E IH THE
TIHE POSITION. 3RD TOUCH UILL RESET lHE
TINE INTERVAL. THEN UAIT FOR NEXT TOUCH.
UHEN
********************************************w**
A ST0?1
A
A
A
A
CLR
CLR
CLR
CLR
CLR
RTS
ND1
MVl
MOJ
MD4
MD~
lflflfM*MMMMifMMMMMMifMMifMMMifMMiflf~~lflfMMifMMiflflfH~Mif*lf*
*
If
*
MIST/DELAY HAIH ROUT!HE
!F HOLD TH~ HID BUTTO~, UIPER ~ILL ~ORK
ON LO/HI·COMMAND, BUT IH LO~ SPEED.
****lf**~***it***lflf*******lf*lf**lf*lf***lf*lf*lf**lf****
06
3C
96
A1
::;
:i9 4E 067A MISTC
"'~
43
02
DD
JF j9
96
A4
97
16
JF
3F
~6
na
87
18
00
81
A6
97
90
90
~B
01
58
':i9
56
"'j
A
SRSET
INC
LDA
CMP
BLO
CLR
LDA
AND
A
A
STA
SSET
CLR
CLR
LDA
A
A
A
EO~
11:i
STA
SSET
BRSET
RTS
3,FLAG1,HIST2
TIME2
T!HE2
t'O~
RTSJ
FLAG1
FLAG
1'01
FLAG
3,FLAG1
COUNT
TINE2
FLAG
1~01
FLAG
"',FLAG1
O,FLAG,STOP1
MMMMMMMMMMMMMWMMM*MMMMMMMMMMMMMM***~***********
87
86
:n
3F
~6
~':i
97
86
2A
10
JC
96
A1
08
08
FC
o:
':i6
':i6
40
DB
:~
0611
A
A
:i8
A
01
A
58
A
':i9
':iB D1 061E
AO
OB
"14
48
JE
08
OB
FC
02
no
A
A
A
A I'IIST::i
U•A
"
STI"%
SUB
A
fl
A
n
A li!STJ
06~A
A
n
n
A
0664
n
A
A
A
06·\D
1'\!SH
SUB
SUB
STA
LL•A
Bi"L
CLR
LDA
STA
LDA
BPL
BSET
INC
uno
TDR
TIIiE1
T!YoE':i
-l•'iJE
TilR
TI•R
11IST3
?ORTC
:1533
CNP
TLlR
TIIR
N!ST4
O,PORTC
COUiiT
COUNT
U40
BHI
11~
L[lr"%
107
PAGE
013
~IPtR~O
M680jP~
.SAa1
A
~6 3E
A
0674 87 OB
A ADill
0676 86 OS
0676
0678 :~ FC
A H!ST2
06711 10 02
A
067C 16 02
A
067E A6 Fr
A
0680 87 OS
0682 02 01 FD 06S2 RECX
A
068~ 86 OS
0687 ~0
A
06BS 87 48
A
06811 A6 FF
A
06BC 87 OS
A RECi<l
068E 10 01
0690 03 01 F8 068E
t'\
0693 86 08
069~ 40
A
0696 87 ~4
A
0698 11 01
A
069A 81 ~1
064E
069C :A ~0
A
069E 81 4C
06•\E
06AO 2~ AC
A
06A2 19 j9
A
06A4 11 ~a
A
06A6 17 j9
06AB 81
06970 00697A 0672
06980 0069SA
06990 00699A
07000 00700A
07010 00701A
070:0 OO?O:A
07030 00703A
07040 00704A
070~0 0070~A
07060 00706A
07070 00707A
07080 007081'\
07090 0070911
07100 0071011
07110 00711A
071:0 007121'\
07130 00713A
07140 007141\
071~0 0071~A
07160
07170
07180
07190
07:00
07210
00716A
00717A
0071BA
00719A
00720A
00721A
01~20 oo7~2A
07230 00723A
07240 007:4A
07~~0 0072j
07260 007~6A
07270 00727A
07280 0072BA
07290 00729A
07300 00730A
07310 00731A
o7J:o oo73:n
07330 00733A
07340 007~4A
073~0 007JjA
07360 00736A
07370 0073711
07380 00738A
07390 00739A
07400 00740A
07410 0074111
07420 007421\
07430 00743A
07440 00744A
074j0 0074~A
07460 00746A
07470 00747
074SO 0074SA
07~90 0074911
07~00
07~10
07~:0
07~30
07S40
007~0A
007~1A
007~:n
007~3A
007~4A
06A9
06118
06AD
06AF
0681
0683
0683
0687
0689
0689
068D
068F
06C1
06C3
JC
86
A1
27
86
A1
A DELIWl
jA
93
21
A
A
~8
:n :1
86
90
110
80
87
17
86
06C~ ~A
08
44
3E
48
08
02
OS
FC
06C7
06C9
06C8
06CD
06CF
06D1
86 ~E
A1 OA
211 04
86 ~8
87 ~E
81
06D2
06D4
06D6
06DS
06DA
06DC
06DE
JF ~n
JC ~B
:o D9
A6 OF
87 ~E
3F ~8
20 9A
L!ll'\
U3E
STA
LDA
BF'L
EtSET
BSET
LDA
STA
8RSET
LilA
I-I EGA
STA
LDA
STA
BSET
BRCLR
LDf.l
f.CEGA
STA
BCLR
CHP
BPL
CliP
£4LO
BCLR
8CLR
llCLR
RTS
TrtR
~IF'ER
C:OHTROL
TIIR
f.:DD1
O,POiHC
.3, f'Oi!TC
UFF
TDR
l,PORTB,RECK
TDR
TII1Ej
UFF
ToR
O,F'ORTB
1,PORT8,RECK1
TDR
TII1E1
O,PORTB
T90
tiiST:S
T31
tliST:i
AI ,FU\01
O,FLf.IB
J,FLAG1
***********************************************
HD1
we
~A
OE
~IHDSH!ELD
LDA
CI1P
s::a
06D2
A DELA\'2 LDn
C~IP
f.\
0608
A
A
A.
A
A
A
A DELAYO
06C3
A
A
06[11
A
A
DK
BPL
LI)A
SUB
SUB
SUB
STA
8CLR
LDA
BF'L
LDA
Cl'oP
BPL
LDA
STA
RTS
MD1
U9~
51
11I•2
UOE
5::!
TD~
T.I11E1
tt3E
T!11E:i
TDR
3,PORTC
TDR
DELA\'0
I'ID::i
UOA
Dl1
I1I12
ND~
*********************************************w*
A S1
A
0681
A 52
A
A
067A
CLR
INC
BRA
LDA
STA
CLR
BRA
11V1
~\Dl
IIELIW2
UOF
tH.'I:i
~III:!
tiiST:!
108
PAGE
014
~lPER~O
07~60 007~6A
07~90
07j90
07600
07610
076:0
07630
07640
076:::10
07660
07670
07690
07690
07700
07710
077:0
07730
07740
077~0
07760
07770
07780
07790
07900
07810
078:ZO
• 07830
07840
078~0
07860
07870
07800
07890
07900
07910
079:0
07930
07940
079:::;0
07960
07970
07980
07990
01000
08010
09020
08030
08040
06EO 04 01 :E
007:::17A 06EJ 11 02
007~9A 06E~ JF :::;6
007j9A 06~7 A6 o:;
00760A 06E9 87 08
00761A 06EB 00 ::;a 88
0076:A 06EE JC ~C
00763A 06FO 86 ~C
00764A 06F~ A1 93
0076:::;A 06F~ ~7 39
00766A 06F6 86 :::;E
00767A 06FB A1 02
00769A 06FA :~ JB
00769A 06FC 86 ~D
00770A 06FE 11 ~E
00771A 0700 ~~ 38
00772A 070~ 86 08
00773A 0704 AO 3£
00774A 0706 80 44
0077jA 0708 80 48
00776A 070A 87 OS
00777A 070C 86 08
0077BA 070E :n FC
00779A 0710 B!
00780
00781~ 0711 10 02
007B:A 0713 A6 AO
007B3A 011:::; 80 44
007B4A 0717 AO 3E
0070j~ 0719 80 ~8
00796A 0718 87 OB
007B7A 071D 86 OS
00788A 071F :n FC
oo789~ 0121
02
00790A 0723 A6 33
00791A 072~ 87 08
00792A 0727 ~6 08
0079JA 0729 2A FC
00794A 0721 10 02
0079~A 072D 81
00796
00797A 072! JF ~C
00791A 0730 JC ~D
00799A 0732 20 C2
OOIOOA 0734 A6 01
00101A 0736 87 ~E
OOB02A 0738 :0 C2
OOBOJA 07JA 3~ ~D
OOB04A 073C CC 067A
Jr
oao:::~o
ooao:;
08060
08070
08090
09090
09100
09110
081:0
00806
00807
0090BA 0784
OOB09A 0794
00910
00811
OOEil:Z
~IHDSHIELD
UIPER CONTROL
********************************************~*·
o7:.:.o 007:::1:3
07:::170
H6BOjP2
.SAal
0711 DELAY
A
A
A
A
06A9
A
A
A
07~E
IRSET
ICLR
CLR
LDA
STA
BRSET
!UC
LDA
CHP
B~Q
A SD2
LDA
f.l
CNP
073~
EILO
LDA
A SD4
A
C~IP
073f.\
BHS
A
A
LDI\
SUI
SUB
SUB
STA
Ll•f.l
8PL
"
A
A
A
SII~
070C
:Z,PORTJ,STOP
O,?ORTC
COUNT
I'D:;
TOR
O,FLAU,DELAY1
MD3
MDJ
tS9J
SD1
HDj
UO:!
SI•l
N[l-4
I'ID::i
SD6
TliR
H3£
THIEl
TIHE~
n•R
T[lR
SD:l
RTS
***********************************************
A STOP
1\
A
A
A
A
A
STDPO
071D
A
A
A
A STOP2
0727
A
ISET
LDA
SUB
SUB
SUB
STA
LDA
9PL
CLR
O,PORTC
tSI\0
TIHE1
tS3E
TIHE::i
TOR
TDR
STOPO
PORTC
LDA
1533
STA
LOA
8PL
EISET
'RTS
T[lR
TIIR
STOP2
O,PORTC
***********************************************
A SDl
A
06F6
A SD3
A
06FC
A
A
SD6
CLR
INC
liRA
HDJ
STf.l
IRA
CLR.
JKP
MD~
LDA
H~4
5[12
tS01
SD4
MD~
HIST2
*********************************************ft*
*
PROGRI\HMlHG
FO~ M6970~P3
***********************************************
C~
A
ORO
FCI
f79·'
tC::i
PR~SCI\L~R
SET FllR
*
1 COUNT••J: ~I!CF:lJSECS
***********************************************
*
VECTORS
109
PAGE
01~
H680~P2
U1PER:O .SAa1
013130 00813
08140 OOB14A 07FB
0131~0 OOB1~A 07FB
0477
08160 00816
08170 00817
TOTAL ERRORS 00000--00000
0676 ADD1
04DE CHECK
Oj!~ CHECK1
OjD~
00~6
00j7
0004
000~
CHECK:
COUNT
COUHT1
DDRA
DDRJ
DDRC
DELAY
DELAYO
DELAY1
0006
06EO
06CJ
06A9
0681 DE~AY2
0601 DH
041E DUM
OO~B FLAB
00~9 FLA01
0042 FRAC
0043 FRAC1
0~6A
04~6
HIGH
04:!D
0•137
0'141
0·\2o4
1GO
101
102
103
IG-1
O'I~F
1G~
0·163
OOjF'
0060
044C
106
IGH1
IOI-l2
100FF
001\o\ UIDFF
O~:!:l
O;j-t£
0~39
LHO
LHC
LHC1
OOF1
0007
OOEJ
OOED
06-tD
LOU
LOIU
LOIJ2
LOI.Il
OO~A
00~8
oo~c
HD1
HD2
HD3
11:S
OO::iD 111H
A
UIHDSH:ELD
~~~ER
COHTROL
*··············································
ORG
f7FB
FDB
TIHOUT,~ESTRr,~!STRT,RZSTRT
*****Mt!tiM~*tltltlti*MM**********t!tltltiMWMft*WM~*~MMMMft
END
00699~00700
004~0~0049~
00~98 00606~
00~97W00604
00120~00670
00693 00694
001:1M00286 00299
OOOB9M00276 00307
00090tt00264 00309
00091M00266 00311
00480 007~6M
007~8
00739M007~0
007:6M00761
00730M007~0
00743 00746•
00278 00318*
001:2w001~B 0016~ 00166 00199 00202 00~0~ 0021! 00~16 00:!7
002~2 002j3 004~0 004~4 004~~ 00460 00461 00463 00494 00~12
oo~:2 oo~:4 oo~26 oo~27 oo~32 oo~3J oo~44 oo~46 oo~47 oo~49
00~~0 00602 00607 00613 00666 00668 00672 00674 00676 00722
00761
00123M00133
00464 00466
00669 00673
00100*00418
001~6 00170 00203 00331 001~1 004~2 004~3 00462
00~00 00~4~ 00~67 00~76 00~97 0060~ 00660 0066~
00101MOO~B2
00721 007:3
00419
00303
00476· 00~27 00~31•
003:52 00367M
003401f00341
0034~M003-t6
OOJ::i0*00366
00331M00370
00331 00371*
003·\9 00373•
00129*003~0
00363 00364
00130M00J:l1 00367 00•.00
OOJ62M00391
00166 0019BM
001!49 004861f
oo·t96 oo:a:ztt
00487 004961f
oo:::;:*oo~:9
00:!391f00471
002•\::iM00:!46
002~0M00:!::il
00677*00696
00124M00649 00726
001:~M006~0 00730
001:!6M006~1 00762
001:7M006::;2 00769
00727
00744
00763
00798
00749
00749 007::53
00797
OOBOJ
110
PAGE
016
OO:iE
067A
06::ill
0664
064E
0629
O:::i.,9
0·1FD
O:i07
00110
00•10
00.,1
009A
0447
0080
O:::i-43
009D
008:!
OOC4
OOD1
0000
0001
~IPER20
~ID::i
IHST:!
1HST3
lUSH
HIST::i
11ISTC
HISTC1
HOf.ICT
NOACT1
NOf.ICT:!
NOCOH
NOCOitl
OFF
OFFt"'1
OFFC
OFFC1
OLD~
OLOU1
DLOIJ2
OLDioiJ
PORTA
PDRTB
0002 PDRTC
o:::;ao DU!T1
O:::i9:!
O::i7B
O:i71
0301
0682
068E
0468
03CO
0~70
0611
060:!
06[18
07::!E
06F6
0734
06FC
070c
07JA
O::i16
O::i63
009::i
o::a:z
O:::i:!O
O::iOE
04BE
0711
07lD
061E
07::!7
CUIT:!
OUITJ
QUITU
RAI'ICLR
RECK
RECK1
REDO
RESTRT
RTS1
RTSJ
51
S:!
SD1
SD2
SDJ
SD•\
so::;
SD6
SHIGH
SIUP
Si\IP1
SLOIJ1
H6BO~P2 ~IHDSHIELD
.SAa1
001::!8M006:i3 00741
00660 00701M007~4
0068:::iM00686
00690+!00691
00679~t0071B 007:!0
OO:i03 00660*
00.1193 OO::i03tt
00•\6JM
oo-t68tt00473 00475
0017:::i OO::!O:::iit00::!:!4
00098tt00:!90 00379
00099tt0029:! 004::!:!
U!PER CONTROL
007.,:::; 007::i2 00766 00770 00801
00804
0
00477 00479 00481 oo497 o0499 oo:::;o:z
0038::i
0041~
00319
00:!68
0070:i
00198
00283
00408
00612
007:::i7
003:::i8
00:!81
00711
00:!00
00298
oo~o1
00421
00175+~00::!32
003:::i8M00369
0013:::iMOO::i01
00.1189 OO:::iOOtt
00188+!
00::!11*00472
002::!·HI00::!::!6
00::!30M00:!31
00096M00::!78 00280
00087M0017:::i 00:!::!4
00407 00409 0041:!
0008Btt00189 00190
00::!54 00::!67 00::!69
0036:! 00371 00390
OO::i:::i4 OO:::i89 00611
00701 0070::! 00738
00391
00:!8.,
0071::!
00:!06
00312
00111~ 00446
00621 006::!2
007B1 00789
OO::i::i::!~tOO::i84
OO::i61tt00:39~
oo::;.,::; oo::i49tt
OO::i44ttOO::iB1
00:!71M00:!7.,
0070::iM0070::i
00711M00712
00J79M00·11 6
00262+!00320 00359 00815 00815
OO:::i21 OO:::i34ttOO:::i7::i
006:Z8M00664
007::!9 007.,8tt
00732 007:S1M
0076::i 00797tt
00766+!00799
00768 00800tt
00769tt00802
00777~t00778
00771 00803tt
001161 00476'f
oo:a: oo527M
001J::i 00166'f
00•160 OO-t74tt
S~IIST
00462 001180!+
SDLDU1 00•\::i::i OO•l7:::!tt
START 00.11071f00409
STOP
00756 00781M
STOPO 00787!400788
STOP1 006·19+~00676
STOP:! 0079:!it00793
0081~
00::!87
00716
00:!18
00318
001167
006:!7
0079-1
00297
007:16
00::!21
00334
OO::i:!8
00630
00370 001101
00231
003·1::!
OO::i31
00687
00:!119
003-\7
oo:::;::;;'!
0069::!
111
PAGE
017
0~18
00·19
0040
0048
004F
004C
004A
004E
00~0
00~1
UlPER~O
.SAa1
SUASH
004~4
T1:!
00111M004~8
00109M004~6
T!1~
T~O
T6
T71
00114M004J7 00486
TJ
T31
T90
03£D TEMP
00~2 TEHP1
001!~M004J0 00~3~ 00~39 004~4
0011~M00440 004~8
00717
004~2*
0009Jt+0030~ 0031~ 00374 00~70
00092M00::!~3 00~~~ 00:!~8 00::!30
00384 00386 00420
00:!44
oo:sa oo3o3 oo3J9 00340 oo34~ 0034~
00410 00469 00~78 00601 00614 00618
0068~ 00683 00689 00690 00698 00699
00733 00737 00739 00760 00772 00776
00792
00287W00:!87
0024:l
00373
00619
00704
00777
00248 002~0 00::!83
00399 00"02 00·106
006~4 006~~ 00690
00706 00710 00713
00786 00787 00791
00116M004~6 00~~3 003~9 00~68 00~8~ 00~86 00606 00608 00631
0063-1
TEHP2
TE11P3
TEHP4
TIHE
TlHE1
U!PER CONTROL
0047Btt
001 07M00·\•t2
00434 00492
00438 00~~1 00443
0011JM004J2 00436
00110t+0044~ 00~90 00719
0010BM00424 00433 00488
T~~
04A8 T(.IU
0009 TCR
0008 TDR
OO:Sl
OO:i4
OO:S:S
OlEO
00•14
M6BO~P~ UIN~SH!ELn
00117M004~7 00~~~ 00~69
0011814004~8 00~62 OO:l70
00119M004~9 00~61 00071
OO::iB2
OO:l90 00092 OO:l93
OO:S79 OO:S91
00:!81WOO:!B1 00301
00102t+00220 002~1 00380 00~14 00447 0061~ 00681 00713 00734
00774 00783
0043 TIHE2 00103M00661 00662 00671
0046 TIHE3 00104*00146 001~3 001~7 00~72 00~73
00•\7 TII1E•t 0010:St+OO:S18 00~19 00~:!3
0048 TIHE:S 00106M00222 00243 00~04 00617 00682 00708 00736 0077~ 0078~
0477 TII10UT 00390H0081:i
040A UAlT
00306M00316
0482 UAITl 00401tt00401
OOAC ~AlTJ 001:S:S 0020~*
O~AD UASH
00478 OO:i77tt
O:SD9 UASH1 00367 00600tt
0612 UASH2 00610 00630tt
O:SF1 UASH~ 00096 00612M00633 0063~
O~FF UASH6
00619tt00620
0601 UASH7 0062~M00626
0~98 UASHC
00491 00~67tt
0~3E UASHC1 00491 00498tt
0~84 UASHR1 00~~4tt00~88
~
O~C7 UASHR2 00~37 00360 OO:S90tt
O~CI UASHR4 00~~3 00~9214
O~Dl UA&HR:S 00363 OO:S96tt
••