Computer Interfacing

Computer Interfacing

by George A. Smith, G. Smith




This book provides a practical way to discover how to use a computer to control external devices via the Com Port, the Parallel Printer Port, or the Parallel Programmable Interface Port. It also introduces students to using a High Level language to read and control these devices via a series of programming exercises using C, and unlike many other texts, introduces hardware and software side by side.

The book aims to facilitate independent learning, with numerous practical experiments and programming exercises. Therefore, professionals and enthusiasts will also find this text an ideal way of getting up and running in this important area of microelectronics.

Computer Interfacing is designed for a student audience ranging from BTEC National Electronics to first year degree modules. In particular the content has been structured to follow the Microprocessor Systems set unit in the new BTEC Higher National scheme.

George Smith brings to bear 16 years of lecturing experience in this highly practical book.

Essential information required to gain qualifications Syllabus match for new HN unit Accessible and easy to follow for students of all abilities

Product Details

ISBN-13: 9780750644747
Publisher: Taylor & Francis
Publication date: 03/01/1900
Pages: 204
Product dimensions: 7.37(w) x 9.59(h) x 0.49(d)

Table of Contents

Part 1Revision and Reference1
1Number systems3
1.1Direct conversion of binary numbers3
1.1.1Converting from denary to binary4
1.1.2Converting from binary to denary4
1.2Binary coded decimal5
1.3Hexadecimal numbers5
1.4Signed numbers6
1.4.12's complement representation of negative numbers7
1.4.2Addition of signed binary numbers8
1.5Floating point numbers8
1.5.1Floating point conversion examples9
1.5.2Biased exponents9
1.6Representation of alphanumeric characters10
1.7Number system conversions10
1.7.1Convert all characters to upper case10
1.7.2Convert all characters to lower case11
1.7.3Convert ASCII 0 to 9 to 4-bit binary11
1.7.4Conversion of ASCII to hexadecimal11
2Electronic gates and registers15
2.1Logic gates15
2.1.1Gate: truth tables and symbols15
2.1.2Commercial logic gates18
2.1.3Examples of TTL and CMOS ICs18
2.2Address decoders19
2.3Three-state output devices20
2.3.1The three-state buffer20
2.3.2Static RAM input control21
2.3.3Octal three-state buffers22
2.3.48-bit bi-directional, three-state buffer23
2.4Sequential logic24
2.4.1The D-type latch24
2.4.2Octal three-state buffer, register25
2.5Bus systems25
2.6Practical RAM exercise27
3An 8-bit microprocessor29
3.1Introduction of microprocessors29
3.2An 8-bit microprocessor system30
3.2.1System operation30
3.2.2The microprocessor unit (MPU)30
3.2.3Read only memory (ROM)31
3.2.4Random access memory (RAM)32
3.2.5Clock and reset circuits32
3.2.6Address bus32
3.2.7Data bus32
3.2.8The control bus33
3.2.9Address decoder33
3.2.10The stack33
3.3The Zilog Z80 CPU34
3.3.1General description35
3.3.2The status register36
3.3.3MPU timing diagram38
3.3.4Instructions and addressing modes39
3.3.5Addressing mode examples39
3.3.6The program41
3.3.8Short interrupt routine45
Part 2Theory and Programming47
4Types of microprocessor49
4.1Types of microprocessor49
4.1.1Aims of a system design50
4.1.2Speed of processing and data transfer50
4.1.3Cost of the system51
4.1.4Input/Output facilities51
4.1.5Physical size51
4.2MPU techniques52
4.2.2Cache memory53
4.2.3Overlapped register windows54
4.2.4MPU timing and control55
4.3Complex instruction set computer (CISC)57
4.3.1The Motorola 68000 MPU57
4.4Reduced instruction set computer (RISC)59
4.4.1The Motorola MC8810059
4.5Single chip microcontrollers59
4.5.1The Philips 83/87C752 (8XC752) microcontroller60
5Microprocessor applications62
5.1Control and instrumentation systems - the airflow meter62
5.1.1Hardware construction63
5.1.2Software development64
5.2Communication systems - digital signal processing67
5.3Commercial systems - the desktop computer70
5.3.1The system70
6Software design73
6.1Software development73
6.2Top down design74
6.3Structured programming75
6.3.1Jackson Structured Programming (JSP)75
6.4Pseudo code77
7Programming in C81
7.1An introduction to C81
7.2Eight steps to programming in C82
7.3Writing C programs84
7.4Debugging the program84
7.4.1Typical errors85
7.5Program examples and exercises85
7.5.1Exercise - output of strings, printf()85
7.5.2Exercise - print the bytes reserved for variables86
7.5.3Exercise - number converter87
7.5.4Exercise - clear the screen88
7.5.5Exercise - the for loop88
7.5.6Exercise - square of numbers89
7.5.7Exercise - store data in an array89
7.5.8Exercise - modifications to Exercise 7.5.790
7.5.9Exercise - store data on disc90
7.5.10Exercise - testing Exercise 7.5.991
7.5.11Exercise - load data from a disc file91
7.5.12Exercise - alternative load data from a disc file94
7.5.13Exercise - temperature conversion96
7.5.14Exercise - writing functions98
7.6Selected answers98
Part 3Interfacing Exercises99
8Serial interfacing101
8.1Serial data transmission101
8.2Serial interfacing hardware103
8.3Serial data exercises103
8.3.1Exercise - serial loop-back test104
8.3.2Exercise - investigation of comm. port signals106
8.3.3Exercise - communication between two computers106
8.3.4Exercise - text transmission107
9Parallel interfacing108
9.1The Intel 82C55A PPI108
9.1.1PPI mode 0 (basic input/output)109
9.1.2Exercise - number output mode 0110
9.1.3Exercise - input test mode 0111
9.1.4PPI mode 1, strobed input/output114
9.1.5Exercise - PPI mode 1, output test114
9.1.6Exercise - mode 1 input test117
9.2Stepper motor exercises118
9.2.1Exercise - stepper motor control118
9.2.2Exercise - three-speed motor control122
9.2.3Exercise - control of two stepper motors122
10Digital to analogue parallel interfacing123
10.1Digital to analogue conversion123
10.2D to A exercise125
10.2.1Exercise - D to A test125
10.3Waveform generator127
10.3.1Exercise - waveform generator127
10.3.2Exercise - complete the waveform generator129
11Analogue to digital parallel interfacing131
11.1Analogue to digital converters131
11.1.1The counter ramp A to D converter131
11.1.2Flash A to D converter132
11.2A to D exercises134
11.2.1Exercise - ADC test134
11.2.2Exercise - voltmeter138
11.2.3Exercise - two-range voltmeter138
12The parallel printer port140
12.1The parallel printer port140
12.2Output/Input exercises140
12.2.1Exercise - output data via the printer port140
12.2.2Exercise - input/output data via the printer port141
12.3Stepper motor exercises145
12.3.1Exercise - stepper motor; two speeds in each direction145
12.3.2Exercise - stepper motor; three speeds in each direction148
12.3.3Exercise - two motors, two speeds148
12.4Waveform generator exercises148
12.4.1Exercise - waveform generator148
12.4.2Exercise - complete the waveform generator150
12.5Voltmeter exercises150
12.5.1Exercise - ADC150
12.5.2Exercise - voltmeter153
12.5.3Exercise - two-range voltmeter153
13Additional exercises155
13.1Frequency counter theory155
13.1.1The Schmitt trigger156
13.1.2The binary counter156
13.2Frequency counter exercises159
13.2.1Exercise - basic counter159
13.2.2Exercise - four-range counter161
13.2.3Exercise - improve the accuracy to +/-1 Hz161
13.2.4Exercise - auto calibration163
13.2.5Exercise - counter input circuit163
13.3Serial data communication164
13.4Stepper motor control via serial link165
13.4.1Exercise - control of two stepper motors via a 4-conductor, serial link165
13.4.2Exercise - use two conductors plus ground to to control two stepper motors169
13.4.3Exercise - serial control of three stepper motors169
14Equipment and testing172
14.1Test equipment172
14.2Hardware problems173
14.3Testing the PPI ports173
14.3.1Testing the PPI port for correct outputs174
14.3.2Testing the PPI port for correct inputs175
14.4Testing the parallel printer port177
14.4.1Output test software178
14.4.2Input test software178
14.5Construction of LED and switch boxes178
14.5.1The LED box179
14.5.2The switch box180
14.5.3Economy LED/switch box180
14.6Stepper motor driver182
14.7Software problems182

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews