Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 30000010106084 | KIT 24 | Open Access Mixed Materials | Chart Accompanies Open Access Book | Searching... |
Searching... | 30000010106108 | KIT 24 | Open Access AV | Chart Accompanies Open Access Book | Searching... |
On Order
Summary
Summary
Learn to write C++ programs by interfacing a computer to a wide range of popular and fundamental real-world technologies.
Unique and original approach to use the PC to do real things- not just number crunching and graphics - but writing programs to interact with the outside world.
Learn C++ programming in an enjoyable and powerful way.
Includes a purpose-designed circuit board
Reviews 1
Choice Review
Katupitiya (Univ. of New South Wales, Australia) and Bentley designed their book to teach basic C++ programming and basic electronic concepts to engineers/scientists. Book chapters are divided into 13 sections: "Program Development Software," "Parallel Port Basics and Interfacing," "Testing the Parallel Port," "The Object-oriented Approach," "Object-oriented Programming," "Digital-to-analog Conversion," "Driving LEDs," "Driving Motors--DC & Steppers," "Program Development Techniques," "Voltage and Temperature Measurement," "Analog-to-digital Conversion," "Data Acquisition with Operator Overloading," and "The PC Timer." Each chapter contains basic electronic tasks, followed by a bibliography and summary. Each basic electronic task is coupled with C++ programming concepts; e.g., the interfacing to a parallel port task is coupled with C++ I/O, data types, and functions. The C++ programming concepts covered include I/O, data types, flow control, object-orientation, arrays, and pointers. The book includes a circuit board and a detailed list of electronic components that can be used to build the circuits described in the book. ^BSumming Up: Recommended. Lower-division undergraduates; professionals. R. F. Dugan Jr. Stonehill College
Table of Contents
1 Getting Started | p. 1 |
1.1 Introduction | p. 2 |
1.2 Program Development Software | p. 2 |
1.3 A C++ Program | p. 6 |
1.4 Use of Functions | p. 10 |
1.5 Fundamental Data Types | p. 15 |
1.6 Functions with Parameters and Return Values | p. 18 |
1.7 Summary | p. 21 |
1.8 Bibliography | p. 22 |
2 Parallel Port Basics and Interfacing | p. 23 |
2.1 Introduction | p. 24 |
2.2 What is the Parallel Port? | p. 24 |
2.3 Data Representation | p. 30 |
2.4 Program Demonstrating Hexadecimal to Decimal | p. 32 |
2.5 Summary | p. 33 |
2.6 Bibliography | p. 33 |
3 Testing the Parallel Port | p. 35 |
3.1 Introduction | p. 36 |
3.2 Interface Board Power Supply | p. 36 |
3.3 Parallel Port Interface | p. 39 |
3.4 Basic Output Using the Parallel Port | p. 43 |
3.5 Basic Input Using the Parallel Port | p. 46 |
3.6 Compensating for Internal Inversions | p. 50 |
3.7 Summary | p. 55 |
3.8 Bibliography | p. 56 |
4 The Object-Oriented Approach | p. 57 |
4.1 Introduction | p. 58 |
4.2 Conceptual and Physically Realisable Objects | p. 58 |
4.3 Real Objects | p. 59 |
4.4 Object Classes | p. 61 |
4.5 Encapsulation | p. 63 |
4.6 Abstract Classes | p. 64 |
4.7 Class Hierarchies | p. 64 |
4.8 Inheritance | p. 65 |
4.9 Multiple Inheritance | p. 66 |
4.10 Polymorphism | p. 66 |
4.11 An Example Object Hierarchy | p. 67 |
4.12 Advantages of Object-Oriented Programming | p. 72 |
4.13 Disadvantages of Object-Oriented Programming | p. 72 |
4.14 Summary | p. 73 |
4.15 Bibliography | p. 73 |
5 Object-Oriented Programming | p. 75 |
5.1 Introduction | p. 76 |
5.2 Naming Convention | p. 76 |
5.3 Developing an Object Class | p. 77 |
5.4 Parallel Port Class - Stage I | p. 82 |
5.5 Using Class Objects in Programs | p. 87 |
5.6 Parallel Port Class - Stage II | p. 94 |
5.7 Parallel Port Class - Stage III | p. 99 |
5.8 Summary | p. 103 |
5.9 Bibliography | p. 103 |
6 Digital-to-Analog Conversion | p. 105 |
6.1 Introduction | p. 106 |
6.2 Digital-to-Analog Conversion | p. 106 |
6.3 Programming the Digital-to-Analog Converter | p. 117 |
6.4 Derivation of Object Classes | p. 121 |
6.5 Adding Members to Derived Classes | p. 129 |
6.6 Summary | p. 145 |
6.7 Bibliography | p. 146 |
7 Driving Leds | p. 147 |
7.1 Introduction | p. 148 |
7.2 Iterative Loops | p. 148 |
7.3 Branching | p. 152 |
7.4 Arrays | p. 157 |
7.5 Pointers | p. 160 |
7.6 Using Pointers | p. 175 |
7.7 Macros | p. 184 |
7.8 Dynamic Memory Allocation | p. 185 |
7.9 Exception Handling | p. 189 |
7.10 Summary | p. 194 |
7.11 Bibliography | p. 195 |
8 Driving Motors - DC & Stepper | p. 197 |
8.1 Introduction | p. 198 |
8.2 DC Motors | p. 198 |
8.3 Stepper Motors | p. 202 |
8.4 A Class Hierarchy for Motors | p. 211 |
8.5 Virtual Functions - An Introduction | p. 212 |
8.6 Virtual Functions - Application | p. 233 |
8.7 Keyboard Controls | p. 256 |
8.8 Summary | p. 270 |
8.9 Bibliography | p. 271 |
9 Program Development Techniques | p. 273 |
9.1 Introduction | p. 274 |
9.2 Efficient Coding Techniques | p. 274 |
9.3 Modular Programs | p. 282 |
9.4 Case Study - Motor Driver Program | p. 289 |
9.5 Summary | p. 302 |
9.6 Bibliography | p. 302 |
10 Voltage and Temperature Measurement | p. 303 |
10.1 Introduction | p. 304 |
10.2 Converting a Voltage to a Digital Pulse-train | p. 304 |
10.3 Temperature Measurement | p. 305 |
10.4 The Object Class VCO | p. 306 |
10.5 Measuring Voltages Using the VCO | p. 311 |
10.6 Graphics Programming - Square Wave Display | p. 318 |
10.7 Temperature Measurement | p. 324 |
10.8 Summary | p. 328 |
10.9 Bibliography | p. 329 |
11 Analog-to-Digital Conversion | p. 331 |
11.1 Introduction | p. 332 |
11.2 Analog-to-Digital Conversion | p. 332 |
11.3 Conversion Techniques | p. 334 |
11.4 Measuring Voltages with an ADC | p. 341 |
11.5 An Object Clas sfor the ADC | p. 347 |
11.6 Measuring Voltage Using the ADC | p. 356 |
11.7 Measuring Temperature Using the ADC | p. 359 |
11.8 Summary | p. 362 |
11.9 Bibliography | p. 362 |
12 Data Acquisition with Operator Overloading | p. 363 |
12.1 Introduction | p. 364 |
12.2 Operator Overloading | p. 364 |
12.3 Data Acquisition | p. 393 |
12.4 Summary | p. 397 |
12.5 Bibliography | p. 397 |
13 The PC Timer | p. 399 |
13.1 Introduction | p. 400 |
13.2 PC Timer System | p. 400 |
13.3 Programming the Timer | p. 408 |
13.4 The Object Class PCTimer | p. 409 |
13.5 Measurement of Time | p. 415 |
13.6 Reflex Measurement | p. 417 |
13.7 Generating a Time-Base | p. 419 |
13.8 Data Acquisition with Timestamp | p. 423 |
13.9 Summary | p. 430 |
13.10 Bibliography | p. 430 |
Appendix A Hardware | p. 431 |
Circuit Construction | p. 432 |
Interface Board Bill of Materials | p. 476 |
Appendix B Software | p. 479 |
C++ Keywords | p. 480 |
Operator Precedence | p. 481 |
ASCII Character Set | p. 482 |
Index | p. 483 |