Microprocessorteaching Experiences of a microprocessor development programme which concentrates on applications and programming is described by A H G EI-Dhaher
The importance o f microprocessor education when applied to physics students and the need for incorporation o f software in new automated equipment is realized. Experience o f developing and applying a programme, which is based on practical knowledge gained from lecture courses, for such an eduaction is reported. Much of the programme has been directed towards the use o f microprocessor-based equipment, since such a need is being realized with new equip-
degree was first offered in 1978 and the prime motivation for offering such a degree was the need to graduate student with good knowledge of modern instrumentation. The courses offered by the programme offer adequate background for students intending to pursue their higher studies in experimental physics. Students enrolling in the programme are recommended to take a group of five courses:
ment arriving in this part o f the world. The programme facilities, course contents and laboratory experiments are also explained.
• electronic circuits-two courses (with circuit laboratory) • introductory to logic design (with hardware laboratory) • introduction to microprocessor (with microcomputer laboratory) • project (with hardware and software development)
The fast progress of microprocessor technology and its increasing use in digital design brings to light the indispensible role of software in modern digital circuits and automated instrumentation. The increased use of microprocessorbased equipment in the applied physics environment will have direct influence on the qualities of those physicists working with such equipment. The user must learn new skills, in particular microprocessor interfacing and programming, in order to take full advantage of this new technology, because the powerful'capabilities of microprocessor-based equipment are often less well used due to lack of working knowledge of microprocessors 1. It is important to stress that the use of the microprocessor as a substitute to hardwired logic for instrumentation, particularly in applications of real-time process control, offers distinct advantages over conventional methods. For such applications, a small dedicated programmable controller can be implemented at a lower cost compared to that of minicomputers or hardwired logic. Short courses on instruction of microprocessor to technical personnel are very popular 2-s. Most of these courses are designed for electronic engineers and only few of them are designed for the other disciplines 6. This paper describes the experience of developing an effective approach to microcomputer education for applied physics students. The approach adopted is laboratory oriented, and students are expected to design, code and debug small programs using microcomputer systems. The microprocessor teaching programme is one of several options (such as mathematics, chemistry or biological sciences) offered for undergraduates as a minor speciality at the University of Kuwait. This programme plus the physics major curriculum constitutes the applied physics degree which most of the students complete in four years. The
The programme places significant emphasis on the use of microcomputer systems and is based on laboratory experiments, investigation and intensive project work. To summarize, the advantages of such a teaching programme to applied physics students are
Department of Physics, Faculty of Science, University of Kuwait, PO Box 5969, Kuwait.
vol 5 no I0 december 81
• to help them understand the fundamentals of microprocessing to help them understand microprocessor-based experiments performed in the laboratories to help them design and develop new monitor and control equipment
LABORATORY
FACI L I T I E S
Hardware Since the objective of this course was to teach students the operation of microprocessor-based equipment, a processor widely used in instrumentation had to be considered. Presently, most microprocessor-based equipment are incorporating 8-bit microprocessors, while the use of 16-bit processors in sophisticated equipment has just started showing up. Due to historic reasons and wider support from manufacturers and second sources, the I ntel 8080A microprocessor had been used in many different designs more than other similar microprocessors. Also, the 8080A has good software support compared to other similar processors. All these have been considered as attractive features of the 8080A and account for its selection in our programme. The 8080A microprocessor has a powerful instruction set with strong branch and interrupt capability 7. Interfacing the chip to a wide selection of peripheral devices can be achieved with minimum difficulties. The chip has 16-bit address bus, 8-bit bidirectional databus and is TTL-compatible. It can support 64k of memory. The commercially available microcomputer system has "been used as the training unit in the laboratory. These units serve dual purposes, a tool for introducing program-
0141-9331/81/100465-07 $02.00 © 1981 I PC Business Press
465
ming and a component for use in the project laboratory environment at a later stage. The cost of these units were about £200 per unit (in 1978). Figure I shows a block diagram of the unit. Program instructions and data can be entered in octal format through a keyboard eliminating the need for a teleprinter or other costly data terminals. An array of LEDS indicates status and data, permitting monitoring of the system. The solderless breadboard socket accepts standard IC and components permitting implementation of many circuit designs. The required power is provided by the unit power supply. The ½k RAM is used to store user programs. It is also used to store the data and any intermediate results obtained during data calculation. The ¼k EPROM holds programs which provide direct entry of data, or instruction, and memory examination. Additional ¼k EPROM can be used for developed programs. This has been used in the project laboratory (discussed later). Use of units in the project laboratory demanded more capability from them. Three of the eight units were provided with memory interface boards. The boards are intended to aid software development on the units. Figure 2 shows a block diagram of the board. The 2k RAM is to expand the RAM capacity of the unit and the I k EPROM holds the debug routine, which will be discussed later. In addition to memory expansion, the board provides teletype interface. The use of a teletype offers the user a good tool for fast and convenient data entry and printout. The universal asynchronous receiver transmitter (UART) was used for synchronization, formatting and parallel-toserial conversion necessary for communication with the teletype. For further expansion of the memory, these three units were connected to memory expansion boards which have 8k of RAM and 8k of EPROM. The 8k RAM is used to aid software development and storage of data, and the 8k EPROM is used to accomodate editor/assembler routines or any other long software programs. Additional laboratory facilities include a PROM programmer (model M9OO).This unit is capable of programming, verifying, duplicating and listing the EPROM. The data to be programmed is entered in hexadecimal format using keyboard supplied with the unit. Personality modules which allow 1702, 2708 and 2716 EPROMs to be programmed by the unit are available. The unit is equipped with a UV source for erasing purposes. By connecting the unit to a modified teletype (Model ASR33), data is entered using the keyboard and a hardcopy of the entered data can be ob-
-
. I ,,.,4 L--.)I
r;;'o0 h "1
808OA
I''j I Buffer I I Meieor Y ~ . . . . . I
~;;&~l
I
~
I
I I kzkRAM Memory II i I I 'kEP"°M II
1"r f"r_l
Address bus
oo*obos
II Decoder
I
Breadboard socket Keyboard
Figure 1. Block diagram of the training unit
466
~.]
m
[
I
HI t Memory address bus and I/0 decoding
III
i
Memory I k EPROM
Memory 2k RAM
LO address bus 0o1"o bus _-i
Z--|, I
UART To T T Y
Figure 2. Block diagram of the memory/interface board tained. Also, the content at EPROM can be listed as a hardcopy or produced as a punched tape. The laboratory is also equipped with teletype (model Silent 700) as an I/O device. This unit has a thermal printer and is supplied with 20 mA and RS 232 interface capability. The unit also has dual cassette for storage. The cassette can be controlled manually or remotely. This unit serves as a general-purpose I/O device in project laboratory. The laboratory facilities have shown good performance and it is believed that their cost has been justified. For a teaching laboratory, especially with inexperienced undergraduate students, it is always essential to have reliable equipment, because a beginner has enough problems getting his program working and does not want to have to worry about unreliable equipment. Software In addition to the monitor program supplied with microcomputer unit, the I k EPROM on the memory interface board is loaded with interpretive debugger program. This program is used for entering, debugging and storing assembly language programs. Using the teletypewriter keyboard, or paper tape reader, programs can be entered into microcomputer unit. Programs loaded in memory can be executed at any specified starting memory address. This eliminates the need for RESET which forces the CPU to start execution at ze'ro memory address. An attractive feature of the program is the breakpoint which allows the execution of the program up to the breakpoint. At this point the contents of all registers, flags, memory location, stackpointer and the last two values on the stack are printed. From this point the program can be run again normally or step by step. Step running means executing one instruction at a time and noticing the effect of this specific instruction on all registers, memory location, etc. The program also offers the facility of punching on paper tape any program, or data, of any length contained in memory. Although using octal format in machine-language, programming made it easy to remember the codes for many microprocessor instruction, it was still a difficult way of programming. The next step forward was assembly language programming. This is based on the use of mnemonics which are related to the operation of the CPU and easy to remember by the user. Assembly programs are usually used to convert mnemonics to machine code. The two advantages offered by the assembler program, speed and translation without mistake, made it a good tool for program development. The three expanded microcomputer units were supplied with editor/assembler programs residing on EPROM.
microprocessors and microsystems
This was used to create, modify and assemble a source program. The editor part enabled the user to add, or delete, lines of text which saved appreciable time in filtering out many mistakes that were likely to be made by inexperienced programmers. The assembler part was used to translate source program into binary tape or teletype listing. The editor/assembler program occupied 5k of EPROM with additional 256 memory location of RAM used as the scratch pad memory and external stack. The rest of RAM available on the memory expansion board was used as user text buffer.
COURSE STRUCTURE In addition to the two courses given to the students on analogue electronics, the programme offers two more courses on digital electronics and microprocessors. The first course is basic digital electronics. The lecture part of this course covers: • • • •
basic hardware logic components, TTL and CMOS hardware logic design arithmetic logic design memories
This course is intended to cover the fundamental aspects of digital electronics. It is scheduled for two hours of lectures and three hours of laboratory session per week. By the completion of the course, students get familiar with hardwire logic aspects and practice their knowledge in the laboratory. Following the first course in digital electronics, students are admitted to a course in microprocessor. This course introduces students to the application side of microprocessor, where it can be used to substitute hardwired logic. The basic concepts covered are: •
microprocessor architecture and microcomputer organization • 8080A instruction set • microcomputer interfacing • peripheral and support circuits, e.g. 8212, 8255, 8257, etc • special-purpose component (A/D, D/A convertors, UART etc) Although the above courses are not sufficient to cover all aspects of hardware and software, they offer applied physics students sufficient background in the use of microprocessors. The above courses are very practical in nature and the emphasis is on programming and interfacing of microprocessors. Much of the material covered in this course complements experimental work performed in the laboratory.
hardware design and construction using discrete ICs. Students started programming at the microcode level which involves an understanding of physical hardware, data manipulations, testing and timing of bits and bytes. The experiments emphasize software control of I/O devices and involve little numerical computation. These experiments are intentionally designed to show the student the nonnumerical applications of microprocessor and give the feeling of its use as a real-time controller in applied sciences. The experiments covered are: • use of I/O features • generation of device select pulses • accumulator I/O techniques • memory-mapped I/O techniques • datalogging • interrupt techniques Software plays a major role in learning about microprocessors and the extent to which students get involved depends on ultimate use of the system being developed. The first recommended step is to write a program directly in machine language which represents the actual pattern of bits interpreted by the device to perform its function. As the program gets bigger in size, it is recommended to program in assembly language and use the assembler to generate the necessary code. This method of programming enables the user to write instructions in mnemonics rather than binary numbers and to minimize errors.
PROJECT LABORATORY After completing their work in the microprocessor teaching laboratory, students are admitted to senior project laboratory. In this laboratory students select more extensive projects to be completed in one semester. This course is considered to be the most important one in the whole programme. In selecting such a project, it is expected that students will practice and apply the knowledge gained in previous courses. The projects selected should simulate, to a certain extent, typical problems students are likely to face in their future, whether in terms of employment or higher studies. For an applied physics work, the use of microprocessors can be divided into two main areas. Use in real-time control and their implementation in data acquisition systems. Therefore, most of the projects are designed along these lines. The projects are performed by using the microcomputer units described before, and complemented by other hardware. To show the kind of projects it is worthwhile presenting some examples of them.
Data acquisition and processing TEACHING LABORATORY The teaching laboratory is organized to be in parallel with the course. It is scheduled to meet for four hours on a single day. With this arrangement is it possible for the student to be involved in the design of an experiment and to develop experience in laboratory investigations with limited supervision. All students are required to complete a set of experiments employing the microcomputer units. These experiments are designed so that students do less in the way of hardware design than in software design. Software programs usually do not exceed 100 byte. All the experiments involve programming and some invlove simj~le
vol 5 no I 0 december 81
The object of this project was to demonstrate the use of microprocessors in analysing the results of atomic absorption experiment. Although new equipment of atomic absorption are equipped with sophisticated computing facilities, traditionally the analogue signal was recorded on a plotter and the value of the peak was found from the plot. The analysis was usually carried out by intercepting the value of the peak on standard plots. Due both to lack of accuracy and high time consumption of this method, it was suggested to demonstrate the use of microprocessors for such application. Figure 3 shows a block diagram of the hardware developed for the project. The microcomputer teaching unit was
467
the main item. An 8-bit A/D converter (type ZN 427) was believed to be of sufficient resolution. This converter is compatible with the microprocessor and can be connected directly to the bus, eliminating the need for a buffer. The thumbwheel switches were used to enter values equivalent to the slope of the standard graph employed in data analysis. The D/A converter was used to plot the logged signal and hence examine reproducibility. The analysis approach adopted here was to multiply the maximum value by the slope of the standard graph read by the microprocessor from the thumbwheel switches. This was equivalent to intercepting the peak value on standard graph. A flow chart of the software developed is shown in Figure 4. It comprised three subroutines. The first one stores the digitized signal in memory. As this work was
Microcomputerunit
--
9v25
.~
IJ
8080
I~
7 Load ~
~
"J
I RAM I
Microcomputerunit J
8080A
I[
Address, data and control bus
Memory RAM EPROM
Figure 5. Hardware block diagram for microprocessor based position control system
il
very preliminary and mainly for teaching purposes and in order to make the problem within managable limits, it was decided to limit the number of readings to only 250. For an experiment of 5 s duration, the system was able to sample at every 20 ms. This was believed to be a high sampling rate compared to slow response of plotter. The second subroutine was used to find the maximum value of the stored readings. The third subroutine was a mathematical program used to multiply the maximum value by the reading of the thumbwheel switches. With this arrangement the analysis of the experimental data was obtained with no delay and showed high accuracy.
In
Figure 3. Block diagram for data acquisition and processing system
Position control system
I I
Specify first J storaae address t Store numberofreodings ] to belO~l~led (N) t [ReadA/O J t IStore in memory I |
[ Detoysubroutine I I
I Decrement N
I
Let first reading = max. move it ¢o A -I
J I
I OecrementN J
1 I Read next re°ding (X)
I I Storemo 'nre is,er
I
t
[ Printmox(M)I I
t Read thumbwheel switches value(R) t IMultiply MxR I
t I Print result
Figure 4. Flow chart for logging and analysis of data
468
I
I
This project was intended to demonstrate the use of the microprocessors as a programmable controller. Due to cost limitations, time allowed for the project, availability in local market and simplicity for teaching purposes the movement of a child's toy train, operating on 9 V DC and designed to follow a metal track, was selected for this purpose. The microprocessor was programmed to stop the train at specified points on the track and to control the speed of its movement during various stages of its trip. Figure 5 shows a block diagram of the hardware. -Ihe microcomputer unit formed the main item. The analogue signal obtained from the D/A converter was amplified to 9 V and then used, via a power transistor, to switch on or off the power, which is drawn from an external source, supplied to the motor driving the train. In the developed software, any single movement or me train was divided into four intervals: acceleration, steadyspeed, deceleration and the stationary periods. Figure 6 shows a flowchart of the developed software. In the acceleration or deceleration period, the power was increased from 0 to 3 W, or decreased from 3 W to zero in prespecifled time intervals. The subroutine, with the aid of the D/A converter, generates a slow linear ramp. Executing the program with the voltmeter connected to the o u t p u t of the operational amplifier showed slow but steady increase, or decrease, in the voltmeter reading. For the steady-speed period, full power was supplied and for the stationary period zero power was supplied to the motor driving the train. The time intervals in all four cases was decided by delay subroutines inserted within the program. In the acceleration-deceleration cases, friction effects between the train wheels and the track were compensated using a
microprocessors and microsystems
delay subroutine. The movement intervals, and hence the stop locations, had no periodicity and were software programmed.
Traffic control system This project was used to demonstrate the use of a microprocessor as programmable controller in traffic light model at a side junction on a main road. It was assumed that the side road had a constant and relatively low traffic flow throughout the day while the main road had a heavy flow in one direction at the beginning of the day and heavy flow in opposite direction at the end of the day, i.e. the normal situation for main roads leading to city centres.On many occasions during these congestion hours, traffic
Initilize DAC I
I [ setv:gv I "I
Digital integrator
I Increasevoltage
Finding the area under a curve resulting from an analogue signal over a certain period of time is a typical problem in applied physics. This project was intended to demonstrate the use of microprocessor for this purpose and hence the use of its numerical capability. The hardware used for this purpose was much similar to that used in data acquisition and processing system (see Figure 3). The software developed was based on two subroutines, the first stored values of digitized signal at a certain sampling time and the second found the area under the curve for a certain period of time. Figure 9 shows an illustration curve and flow chart for the developed software. The system offered flexibility in choosing short sampling time for logging high frequency signals.
t
Delay subroutine acceleration time
I Full speedperiod NO @ ? J Reducevoltage
I Delay subroutine decelerationtime =
lights are controlled manually by traffic personnel. Therefore, it was suggested to program a microprocessor to replace traffic personnel be giving more time for heavy flow during rush hours. The problem was tackled mainly by software and the hardware was reduced to minimum. Figure 7 shows the circuit used, which was simply based on decoding an 8-bit address bus. The developed software was based on delay subroutines. A short duration (10 ms) subroutine was used as the unit and all other subroutines were multiples of this unit. Figure 8 shows a flow chart of software. The time for each cycle was worked out and, based on this, the 24 hours was programmed. Apart from the rush-hour period, the main road, in both directions, was given twice the time given to the side road. However during rush-hours, the direction of the main road which had the rush-hour flow was given twice the time as for the other direction and hence four times that of the side road.
Teletypewriter and plotter This project used the microprocessor to control the teletype and enable it to be used as plotter. The printing of
No I Stationary period
I lnitilize system I
I
I"arma'operotionI
_ No Stort new cycle
t Yes
Figure 6. Flow chert for one cycle movement o f micro-
processor-based position control system
I Rush-houroperation
Out
over
I"ormo'oper'onI
,o,oo
AO
Tg--
=No
~j
=l} Yes I Rush-houroperation =
AO
No over
Out
Repeat cycle Figure 7. Circuit diagram for decoding address bus used in traffic light controller model
vol 5 no 10 december 81
Figure 8. Flow chart for proposed solution of traffic conjestion during rush hours
469
I Initilize system I I Se~ sample time
I
t
I 'oredoto'o t
1
J Set time limits TI,T2]
I
I com°°'e at°° I
I °'s°'°y res''',
I I
Figure 9. An illustration and flow chart of digital integrator characters, or the movement of the carriage, was decided by transmitting the relevant code to the teletype. The transmission of these codes was controlled by microprocessor program stored on EPROM as a monitor program. By this arrangement, the teletype was able to plot data stored in RAM. To examine plotting resolution the system was tested by logging sine waves into the memory and replotting it with the use of teletype. The hardware used for the project was very similar to that used in the first project (see Figure 3). The full sine wave (peak to peak) was read by the A/D converter. This was possible by DC offsetting the signal so it is seen as positive by the converter. The teletype used has thermal printer and capable of printing 80 columns. This means that the plot could be represented by no more than 80 different levels. Figure 10 shows the flow chart of the software developed. It was based on printing each reading on a line as an asterisk. The position of the asterisk corresponds to the value of that reading.
STUDENT REACTION DIFFICULTIES
AND PROGRAM
The general reaction of the students toward the program was very favourable. Having studied the first digital electronics course, the students appreciated the new approach of digital design and the replacement of hardware by software. Although students were taught machine language first, which is a tedious way of program development, they had found it a good approach to understand data manipulation within the microprocessor. Practising on short subroutines (such as delay loop, format conversion, detecting ASCII character) as worked examples and attempting to introduce some changes in these subroutines helped the students greatly to getting started in programming. The worked examples were specially selected so that students would understand programming principles and the methods of implementing them. This approach overcame the difficulties of starting to program and eliminate any feeling of frustration. Students were advised to have more practice in program developments since more practiced students develop more tricks and short cuts which help in reducing programming difficulties. Of course, a student's willingness and enthusiasm has a lot to do with overcoming such difficulties, since in many cases developing an efficient program is more a challenge than anything else. The difficulties associated with development of the laboratories were many. The time delay in receiving the required items was the most significant one. Since in
4 70
addition to factories long delivery period, transportation and installation have caused additional delay. The financial cost was also taken into account.
FUTURE
EXPANSION
Although this teaching programme has served its purpose by offering students a good start in microcomputer field, it was felt strongly that its expansion would receive a warm welcome by the students. Therefore, it was intended to introduce the teaching of a 8085 microprocessor. Training units (model HP5036) based on these processors are already in the laboratory and are scheduled to be used in the spring term, 1982. The need for teaching with the 8085 is due to its increased used of the microprocessor in modern equipment due to its enhanced features (e.g. its higher speed and more powerful interrupt capability). As a further step the 8086 processor is also planned to be introduced in the teaching programme for the coming year. The reason for implementing Intel processor is because they all use the same peripherals and therefore already-stocked components will not be wasted. Also, it was realized that these processors have good software support. With regard to software teaching, it is intended to introduce a lecture course to cover programming. The need for such a course has already been felt and much of the course will be devoted to real-time programming. The course will also cover the programming in PASCAL. It is also intended to introduce students to the microprocessor development system. At the moment, the research laboratory has an HP 64000 development system, which is equipped with emulation facilities and a PASCAL compiler. It is planned that students will be taught to
IPrint dotted line cross the page I I Set carriage position to zero (~X)=0 t I Reod number of to be plotted y~ts f I Read address o'f "~irst memory location ]
I
1 of ] I Read conteot memory location (4-) Yes No Print asterisk at co umn 80
valid level vatue
t
I Read Current carriagelocation (X) I
Istart new line
I
J
J Read next memory location
~'l Advance paper I two lines
IPrintdottedIine cross the page
I
J
Figure 10. Flow chart diagram to control a teletype for plotting data stored in consecutive memory locations
microprocessors and microsystems
develop and run their programs on this system. Present work with this development system and programming in PASCAL has shown encouraging results. Although the programme is planned for teaching purposes and graduating students with good knowledge of micro computer, it is very likely that the present facilities will be used to organize short courses on microprocessors for technical people in industry. Preliminary feasibility studies on such a plan have shown that such courses would be well received by the technical community throughout the country.
CONCLUSIONS
The instruction courses and associated laboratory were designed towards the use of the microprocessor as a specialpurpose component for simple control tasks. Emphasis was placed on interfacing and programming of microcomputer system. Experimenting with the substitution of hardware by software has shown value of software in modern instrumentation. This was shown in the positive response from the students as they realized the flexibility it offers in experimental conditions. The projects performed covered a wide variety of options ranging from typical applied physics problems to the ability to adapt conventional instruments to suit particular applications under the control of microprocessors. Programming in assembly language and then in high level languages offer the user the full advantage of microprocessor capability. As a follow up to the programme it was found that those applied physics students who attended it were able to carry out graduate experimental work with much more confidence than physics students who did not attend. In addition, more career apportunities were opened for applied physics graduated in industry and, in turn, employers had shown appreciation for the type of experience those graduates had acquired through attending such a program.
~ ~ I11
It is important to stress that the program was carried out without the considerable difficulties that many students would have produced since only eight to ten students enrolled in the courses each semester. This provided the opportunity for students to work individually in the laboratory and also allowed sufficient time for laboratory supervision and instruction. The objectives of the programme had thus been fulfilled. It is the view of.the author that the emphasis of microprocessor programming will be a valuable asset to the completeness of the program. REFERENCES
1 Lee, I 'Hands-on approach to microcomputer education' Proc. lEEK Vol 64 No 6 (June 1976) pp 1002-1007 2 Colin, A J T, Hutchinson, D and Shepherd, D 'Microprocessor teaching laboratory' Microprocessors and Microsystems Vol 3 No 4 (May 1979) pp 169-172 3 Williams, M H, Sartori-Angus, A G, and Stromberg, G P
'Alternative approach to microprocessor teaching laboratory' Microprocessors and Microsystems Vol 1 No 6 (July 1980) pp 219-222 4 Schertz, D R and Stewart, T L 'Microprocessor instruction in electrical engineering and electrical technology' Proc. Int. Symp. Mini Micro Comput. Toronto, Canada (November 1976) pp 235-239 5 Weiss, R 'Microcomputer system laboratory course in university environment' IEEE Trans. Educ., Vol E-23 No 4 (November 1980) pp 188-192 6 Whitworth, I 'Teaching microprocessor techniques to nonelectronics engineers' Microprocessors and Microsystems Vol 4 No 5 (June 1980) pp 187-189
7 MC5-80 User's Manual Intel Corporation, USA (1977)
Thegap internationalin the optics fieldJ°urnalthat bridges the research/applications
~ ~
Coverage includes: • Display systems • Fibre-optics and optical Q communications • Holography and its applications ~ ~ • Infra-red and ultra-violet technology • Lasers and their applications • Moire fringe techniques • Opto-electronics 1-<.1..-1-- • Radiation detectors and sources • Thin film and C/') Q.) integrated optics • Transform optics I
Ui
I1
©
I Further details from: Christine Mullins ButterworthScientificLimited-- Journals Division PO Box 63 WestburyHouse BuryStreet Guildford Surrey GU2 5BH England Telephone: 0483 31261 Telex: 859556 SCITEC G
vol 5 no I0 december 81
471