Programming Arduino Projects with the PIC Microcontroller: A Line-By-Line Code Analysis and Complete Reference Guide for Embedded Programming in C.
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Elektronisch E-Book |
Sprache: | English |
Veröffentlicht: |
Berkeley, CA
Apress L. P.
2021
|
Schlagworte: | |
Online-Zugang: | HWR01 |
Beschreibung: | Description based on publisher supplied metadata and other sources |
Beschreibung: | 1 Online-Ressource (733 Seiten) |
ISBN: | 9781484272305 |
Internformat
MARC
LEADER | 00000nmm a2200000zc 4500 | ||
---|---|---|---|
001 | BV048920847 | ||
003 | DE-604 | ||
005 | 00000000000000.0 | ||
007 | cr|uuu---uuuuu | ||
008 | 230502s2021 |||| o||u| ||||||eng d | ||
020 | |a 9781484272305 |9 978-1-4842-7230-5 | ||
035 | |a (ZDB-30-PQE)EBC6738517 | ||
035 | |a (ZDB-30-PAD)EBC6738517 | ||
035 | |a (ZDB-89-EBL)EBL6738517 | ||
035 | |a (OCoLC)1276857880 | ||
035 | |a (DE-599)BVBBV048920847 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a eng | |
049 | |a DE-2070s | ||
082 | 0 | |a 006.22 | |
100 | 1 | |a Ward, Hubert Henry |e Verfasser |4 aut | |
245 | 1 | 0 | |a Programming Arduino Projects with the PIC Microcontroller |b A Line-By-Line Code Analysis and Complete Reference Guide for Embedded Programming in C. |
264 | 1 | |a Berkeley, CA |b Apress L. P. |c 2021 | |
264 | 4 | |c ©2022 | |
300 | |a 1 Online-Ressource (733 Seiten) | ||
336 | |b txt |2 rdacontent | ||
337 | |b c |2 rdamedia | ||
338 | |b cr |2 rdacarrier | ||
500 | |a Description based on publisher supplied metadata and other sources | ||
505 | 8 | |a Intro -- Table of Contents -- About the Author -- About the Technical Reviewer -- Introduction -- Chapter 1: Introducing MPLABX -- MPLABX: The IDE from Microchip -- Creating a Project in MPLABX -- The Configuration Words -- Creating a Header File -- Changing the Fonts and Colors -- The PIC Microcontroller -- The PIC16F88 and the PIC8F4525 -- Summary -- Chapter 2: Programming Basics -- Good Programming Practice -- Algorithms -- Flowcharts -- Program Listings -- Program 2.1: Turning On and Off an LED -- Algorithm for Program 2.1 -- Flowchart for Program 2.1 -- The Program Listing -- Creating a Source File -- Adding the Header File -- Program 2.1 -- Analysis of Listing 2-1 -- Running Program 2.1 -- The PIC16F88 Development Board -- The ICSP Circuit -- Testing Program 2.1 -- Downloading Our Program -- Summary -- Chapter 3: The Seven-Segment Display and the Stepper Motor -- Program 3.1: Controlling a Seven-Segment Display -- Seven-Segment Displays -- Common Anode Seven-Segment Display -- Common Cathode Seven-Segment Display -- Arrangement for a Common Anode Seven-Segment Display -- Controlling the Display with the PIC -- Seven-Segment Display Program -- Algorithm for Program 3.1 -- Flowchart for Program 3.1 -- Program Listing for the Common Cathode Seven-Segment Display -- Analysis of Listing 3-1 -- Program 3.2: 3461BS Common Anode Four Seven-Segment Display Module -- Analysis of Listing 3-2 -- The Stepper Motor -- Analysis of Listing 3-3 -- Summary -- Chapter 4: The Joystick and the Stepper Motor -- Using the Joystick -- The Principal Operation of the Joystick -- The ADCON0 Control Register -- The ADCON1 Register -- The ADCON2 Register -- Example 1: Creating the Required Acquisition Time -- Example 2: TAD Time -- Changing the ADC Input Channels -- Left or Right Justification -- The Joystick Program -- The LCD -- Instruction or Command Mode | |
505 | 8 | |a Data Mode -- Bytes and Nibbles -- The Control Pins of the LCD -- Analysis of Listing 4-1 -- One-Dimensional Array -- Accessing Data in the Array -- Using Pointers -- Joystick and Stepper Motor -- Analysis of Listing 4-2 -- Homemade Prototype Board for the PIC18F4525 -- Summary -- Chapter 5: DC Motors -- The Speed of the Simple DC Motor -- PWM -- Creating a Square Wave with the PWM Mode -- Creating a 1kHz Square Wave -- The Mark Time or Duty Cycle -- The TMR2 Preset Value -- Storing a Ten-Bit Number -- Analysis of Listing 5-1 -- The Variable-Speed DC Motor Program -- Analysis of Listing 5-2 -- A Two-Directional DC Motor Program -- Using the L293D Driver IC -- Controlling a Two-Wheel Drive System -- Analysis of Listing 5-3 -- Controlling a Servo Motor -- Analysis of Listing 5-4 -- Summary -- Chapter 6: Ultrasonic Distance, and Humidity and Temperature Sensors -- Using the Ultrasonic Sensor -- The Basic Principle of Operation -- The Principal Operation of the Program -- Analysis of Listing 6-1 -- The DHT11 Humidity and Temperature Sensor -- Communicating with the DHT11 -- The Use of a Pull Up Resistor -- Checking the Timing of the Pulses -- Analysis of Listing 6-3 -- Summary -- Chapter 7: Working with Keypads -- Traditional 3 × 4 Keypad Entry -- The Need for Pull Up or Pull Down -- Pull Down Resistors -- Pull Up Resistors -- Traditional Keypad Program -- Analysis of Listing 7-1 -- Switch Bounce -- The Membrane 4 × 4 Keypad -- The 8 × 8 Dot Matrix Board -- Analysis of Listing 7-3 -- Creating the Data for Each Row in the Two-Dimensional Array -- Summary -- Chapter 8: Using Bluetooth with PIR Motion Sensors -- The HC-06 Module -- Matching 5V to 3.3V -- The Default Settings of the HC-06 -- The HC-05 Bluetooth Module -- Connecting the PIC to a Mobile Phone via the HC-06 -- The UART -- Analysis of Listing 8-1 -- An Important Distinction | |
505 | 8 | |a Using the Mobile APP Bluetooth Terminal -- Changing the PIN on the HC-06 -- Using AT Commands -- Using Tera Term to Change the PIN -- Using PuTTY to Program the HC-06 -- Programming the HC-06 with AT Command from the PIC Micro -- Analysis of Listing 8-2 -- The HC-SR501 PIR Motion Sensor -- Analysis of Listing 8-3 -- Summary -- Chapter 9: Communication -- Getting the PIC to Communicate with Other Devices -- The SPI Mode -- The Buffer Full (BF) Flag in the SSPSTAT Register -- Synchronizing the Sequence -- SSPSTAT Register -- The SSPCON1 Register -- Using the SPI to Read from the TC72 -- Operating Modes for the TC72 -- The Registers of the TC72 -- The Algorithm for Using the TC72 -- Displaying the Temperature Reading -- Binary Numbers -- Adding Binary Numbers -- Analysis of Listing 9-1 -- Reading the Temperature from the TC72 -- Examples of the 2's Complement Process -- Using the Sprintf Function -- Analysis of Listing 9-2 -- Comparing the Two Approaches -- Using the PIC18f4525 as the Slave -- Analysis of Listing 9-3 -- Analysis of Listing 9-4 -- Summary -- Chapter 10: Using the I2C Protocol -- I2C Communication Protocol -- EEPROM -- 24LC256 EEPROM -- Writing to the EEPROM -- Reading from the EEPROM -- TC74 Temperature Sensor -- Reading the Temperature -- Using I2C with 24LC256 and TC74 -- Analysis of Listing 10-1 -- That Little Thought -- Summary -- Chapter 11: Using the UART -- UART at a Glance -- Interrupts and How They Work -- Analysis of Listing 11-1 -- The Baud Rate -- Using Tera Term -- Using Handshaking -- Analysis of Listing 11-2 -- Two PICs Communicate via the UART -- Analysis of Listing 11-3 -- Summary -- Chapter 12: Real-Time Clock and Interrupts -- The RTC Program -- Analysis of Listing 12-1 -- The DS1307 RTC Module -- Setting Up and Reading from the DS1307 -- The I2C Protocol -- Writing to the Slave -- The Start Bit | |
505 | 8 | |a The Address Bits and Control Bit in the First Byte -- The Acknowledgment Bit -- The Data Byte -- The Stop Bit -- Reading from the Slave -- The NACK or Not Acknowledgment Bit -- Analysis of Listing 12-2 -- TM1637 and the Four Seven-Segment Display -- The TM1367 Driver IC -- Analysis of Listing 12-3 -- Summary -- Chapter 13: Working with LCDs -- Creating Your Own Characters on an LCD -- The Pixel Maps -- A Simple Exercise -- Analysis of Listing 13-1 -- The CCP Module -- Algorithm for the Bike Speed Program -- The Speed of a Bicycle -- Analysis of Listing 13-2 -- Finding the Program Instructions -- Program Counter and the Stack -- The Stack -- The Vector Table and the ISR -- Summary -- Chapter 14: Analyzing Obscure Instructions and Logic Operators in C -- Obscure C Instructions -- Analysis of Listing 14-1 -- Some Logic Operators -- & -- Symbol -- Testing the Programs in MPLABX -- Analysis of Listing 14-3 -- The & -- & -- Operator -- The '|' Operator -- The '||' Operator -- The EXOR or Exclusive OR -- The & -- = Function -- The |= Function -- The '%' or Modulus or Remainder Operator -- The '~' Or 1's Complement -- The '< -- < -- n' or '> -- > -- n' Operator -- Summary -- Appendix: Additional Insights -- Data Types and Memory -- The Program Memory Area -- The Data RAM -- The Data EEPROM -- Variables -- Appendix A: Data Types -- Appendix B: Some Useful Definitions -- Appendix C: Mathematical and Logic Operators -- Appendix D: Keywords -- Appendix E: Numbering Systems Within Microprocessor-Based Systems -- Introduction -- Binary Numbers -- Converting Decimal to Binary -- Adding and Subtracting Binary Numbers -- Subtracting Binary Numbers -- The Hexadecimal Number System -- Appendix F: Building Circuit Boards -- Preparation -- The Circuit Diagram -- The Vero Board Plan -- Preparing to Solder -- Tinning the Components | |
505 | 8 | |a Soldering the Components -- Patience and Practice -- Appendix G: The LCD Header File for Eight-Bit Mode -- Appendix H: The ASCII Character Set -- Appendix I: The LCD Instruction Set -- Index | |
650 | 4 | |a Arduino (Programmable controller) | |
776 | 0 | 8 | |i Erscheint auch als |n Druck-Ausgabe |a Ward, Hubert Henry |t Programming Arduino Projects with the PIC Microcontroller |d Berkeley, CA : Apress L. P.,c2021 |z 9781484272299 |
912 | |a ZDB-30-PQE | ||
999 | |a oai:aleph.bib-bvb.de:BVB01-034184938 | ||
966 | e | |u https://ebookcentral.proquest.com/lib/hwr/detail.action?docID=6738517 |l HWR01 |p ZDB-30-PQE |q HWR_PDA_PQE |x Aggregator |3 Volltext |
Datensatz im Suchindex
_version_ | 1804185102612168704 |
---|---|
adam_txt | |
any_adam_object | |
any_adam_object_boolean | |
author | Ward, Hubert Henry |
author_facet | Ward, Hubert Henry |
author_role | aut |
author_sort | Ward, Hubert Henry |
author_variant | h h w hh hhw |
building | Verbundindex |
bvnumber | BV048920847 |
collection | ZDB-30-PQE |
contents | Intro -- Table of Contents -- About the Author -- About the Technical Reviewer -- Introduction -- Chapter 1: Introducing MPLABX -- MPLABX: The IDE from Microchip -- Creating a Project in MPLABX -- The Configuration Words -- Creating a Header File -- Changing the Fonts and Colors -- The PIC Microcontroller -- The PIC16F88 and the PIC8F4525 -- Summary -- Chapter 2: Programming Basics -- Good Programming Practice -- Algorithms -- Flowcharts -- Program Listings -- Program 2.1: Turning On and Off an LED -- Algorithm for Program 2.1 -- Flowchart for Program 2.1 -- The Program Listing -- Creating a Source File -- Adding the Header File -- Program 2.1 -- Analysis of Listing 2-1 -- Running Program 2.1 -- The PIC16F88 Development Board -- The ICSP Circuit -- Testing Program 2.1 -- Downloading Our Program -- Summary -- Chapter 3: The Seven-Segment Display and the Stepper Motor -- Program 3.1: Controlling a Seven-Segment Display -- Seven-Segment Displays -- Common Anode Seven-Segment Display -- Common Cathode Seven-Segment Display -- Arrangement for a Common Anode Seven-Segment Display -- Controlling the Display with the PIC -- Seven-Segment Display Program -- Algorithm for Program 3.1 -- Flowchart for Program 3.1 -- Program Listing for the Common Cathode Seven-Segment Display -- Analysis of Listing 3-1 -- Program 3.2: 3461BS Common Anode Four Seven-Segment Display Module -- Analysis of Listing 3-2 -- The Stepper Motor -- Analysis of Listing 3-3 -- Summary -- Chapter 4: The Joystick and the Stepper Motor -- Using the Joystick -- The Principal Operation of the Joystick -- The ADCON0 Control Register -- The ADCON1 Register -- The ADCON2 Register -- Example 1: Creating the Required Acquisition Time -- Example 2: TAD Time -- Changing the ADC Input Channels -- Left or Right Justification -- The Joystick Program -- The LCD -- Instruction or Command Mode Data Mode -- Bytes and Nibbles -- The Control Pins of the LCD -- Analysis of Listing 4-1 -- One-Dimensional Array -- Accessing Data in the Array -- Using Pointers -- Joystick and Stepper Motor -- Analysis of Listing 4-2 -- Homemade Prototype Board for the PIC18F4525 -- Summary -- Chapter 5: DC Motors -- The Speed of the Simple DC Motor -- PWM -- Creating a Square Wave with the PWM Mode -- Creating a 1kHz Square Wave -- The Mark Time or Duty Cycle -- The TMR2 Preset Value -- Storing a Ten-Bit Number -- Analysis of Listing 5-1 -- The Variable-Speed DC Motor Program -- Analysis of Listing 5-2 -- A Two-Directional DC Motor Program -- Using the L293D Driver IC -- Controlling a Two-Wheel Drive System -- Analysis of Listing 5-3 -- Controlling a Servo Motor -- Analysis of Listing 5-4 -- Summary -- Chapter 6: Ultrasonic Distance, and Humidity and Temperature Sensors -- Using the Ultrasonic Sensor -- The Basic Principle of Operation -- The Principal Operation of the Program -- Analysis of Listing 6-1 -- The DHT11 Humidity and Temperature Sensor -- Communicating with the DHT11 -- The Use of a Pull Up Resistor -- Checking the Timing of the Pulses -- Analysis of Listing 6-3 -- Summary -- Chapter 7: Working with Keypads -- Traditional 3 × 4 Keypad Entry -- The Need for Pull Up or Pull Down -- Pull Down Resistors -- Pull Up Resistors -- Traditional Keypad Program -- Analysis of Listing 7-1 -- Switch Bounce -- The Membrane 4 × 4 Keypad -- The 8 × 8 Dot Matrix Board -- Analysis of Listing 7-3 -- Creating the Data for Each Row in the Two-Dimensional Array -- Summary -- Chapter 8: Using Bluetooth with PIR Motion Sensors -- The HC-06 Module -- Matching 5V to 3.3V -- The Default Settings of the HC-06 -- The HC-05 Bluetooth Module -- Connecting the PIC to a Mobile Phone via the HC-06 -- The UART -- Analysis of Listing 8-1 -- An Important Distinction Using the Mobile APP Bluetooth Terminal -- Changing the PIN on the HC-06 -- Using AT Commands -- Using Tera Term to Change the PIN -- Using PuTTY to Program the HC-06 -- Programming the HC-06 with AT Command from the PIC Micro -- Analysis of Listing 8-2 -- The HC-SR501 PIR Motion Sensor -- Analysis of Listing 8-3 -- Summary -- Chapter 9: Communication -- Getting the PIC to Communicate with Other Devices -- The SPI Mode -- The Buffer Full (BF) Flag in the SSPSTAT Register -- Synchronizing the Sequence -- SSPSTAT Register -- The SSPCON1 Register -- Using the SPI to Read from the TC72 -- Operating Modes for the TC72 -- The Registers of the TC72 -- The Algorithm for Using the TC72 -- Displaying the Temperature Reading -- Binary Numbers -- Adding Binary Numbers -- Analysis of Listing 9-1 -- Reading the Temperature from the TC72 -- Examples of the 2's Complement Process -- Using the Sprintf Function -- Analysis of Listing 9-2 -- Comparing the Two Approaches -- Using the PIC18f4525 as the Slave -- Analysis of Listing 9-3 -- Analysis of Listing 9-4 -- Summary -- Chapter 10: Using the I2C Protocol -- I2C Communication Protocol -- EEPROM -- 24LC256 EEPROM -- Writing to the EEPROM -- Reading from the EEPROM -- TC74 Temperature Sensor -- Reading the Temperature -- Using I2C with 24LC256 and TC74 -- Analysis of Listing 10-1 -- That Little Thought -- Summary -- Chapter 11: Using the UART -- UART at a Glance -- Interrupts and How They Work -- Analysis of Listing 11-1 -- The Baud Rate -- Using Tera Term -- Using Handshaking -- Analysis of Listing 11-2 -- Two PICs Communicate via the UART -- Analysis of Listing 11-3 -- Summary -- Chapter 12: Real-Time Clock and Interrupts -- The RTC Program -- Analysis of Listing 12-1 -- The DS1307 RTC Module -- Setting Up and Reading from the DS1307 -- The I2C Protocol -- Writing to the Slave -- The Start Bit The Address Bits and Control Bit in the First Byte -- The Acknowledgment Bit -- The Data Byte -- The Stop Bit -- Reading from the Slave -- The NACK or Not Acknowledgment Bit -- Analysis of Listing 12-2 -- TM1637 and the Four Seven-Segment Display -- The TM1367 Driver IC -- Analysis of Listing 12-3 -- Summary -- Chapter 13: Working with LCDs -- Creating Your Own Characters on an LCD -- The Pixel Maps -- A Simple Exercise -- Analysis of Listing 13-1 -- The CCP Module -- Algorithm for the Bike Speed Program -- The Speed of a Bicycle -- Analysis of Listing 13-2 -- Finding the Program Instructions -- Program Counter and the Stack -- The Stack -- The Vector Table and the ISR -- Summary -- Chapter 14: Analyzing Obscure Instructions and Logic Operators in C -- Obscure C Instructions -- Analysis of Listing 14-1 -- Some Logic Operators -- & -- Symbol -- Testing the Programs in MPLABX -- Analysis of Listing 14-3 -- The & -- & -- Operator -- The '|' Operator -- The '||' Operator -- The EXOR or Exclusive OR -- The & -- = Function -- The |= Function -- The '%' or Modulus or Remainder Operator -- The '~' Or 1's Complement -- The '< -- < -- n' or '> -- > -- n' Operator -- Summary -- Appendix: Additional Insights -- Data Types and Memory -- The Program Memory Area -- The Data RAM -- The Data EEPROM -- Variables -- Appendix A: Data Types -- Appendix B: Some Useful Definitions -- Appendix C: Mathematical and Logic Operators -- Appendix D: Keywords -- Appendix E: Numbering Systems Within Microprocessor-Based Systems -- Introduction -- Binary Numbers -- Converting Decimal to Binary -- Adding and Subtracting Binary Numbers -- Subtracting Binary Numbers -- The Hexadecimal Number System -- Appendix F: Building Circuit Boards -- Preparation -- The Circuit Diagram -- The Vero Board Plan -- Preparing to Solder -- Tinning the Components Soldering the Components -- Patience and Practice -- Appendix G: The LCD Header File for Eight-Bit Mode -- Appendix H: The ASCII Character Set -- Appendix I: The LCD Instruction Set -- Index |
ctrlnum | (ZDB-30-PQE)EBC6738517 (ZDB-30-PAD)EBC6738517 (ZDB-89-EBL)EBL6738517 (OCoLC)1276857880 (DE-599)BVBBV048920847 |
dewey-full | 006.22 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 006 - Special computer methods |
dewey-raw | 006.22 |
dewey-search | 006.22 |
dewey-sort | 16.22 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
discipline_str_mv | Informatik |
format | Electronic eBook |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>09409nmm a2200433zc 4500</leader><controlfield tag="001">BV048920847</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">00000000000000.0</controlfield><controlfield tag="007">cr|uuu---uuuuu</controlfield><controlfield tag="008">230502s2021 |||| o||u| ||||||eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781484272305</subfield><subfield code="9">978-1-4842-7230-5</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(ZDB-30-PQE)EBC6738517</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(ZDB-30-PAD)EBC6738517</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(ZDB-89-EBL)EBL6738517</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1276857880</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV048920847</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-2070s</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">006.22</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Ward, Hubert Henry</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Programming Arduino Projects with the PIC Microcontroller</subfield><subfield code="b">A Line-By-Line Code Analysis and Complete Reference Guide for Embedded Programming in C.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Berkeley, CA</subfield><subfield code="b">Apress L. P.</subfield><subfield code="c">2021</subfield></datafield><datafield tag="264" ind1=" " ind2="4"><subfield code="c">©2022</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1 Online-Ressource (733 Seiten)</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">c</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">cr</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Description based on publisher supplied metadata and other sources</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Intro -- Table of Contents -- About the Author -- About the Technical Reviewer -- Introduction -- Chapter 1: Introducing MPLABX -- MPLABX: The IDE from Microchip -- Creating a Project in MPLABX -- The Configuration Words -- Creating a Header File -- Changing the Fonts and Colors -- The PIC Microcontroller -- The PIC16F88 and the PIC8F4525 -- Summary -- Chapter 2: Programming Basics -- Good Programming Practice -- Algorithms -- Flowcharts -- Program Listings -- Program 2.1: Turning On and Off an LED -- Algorithm for Program 2.1 -- Flowchart for Program 2.1 -- The Program Listing -- Creating a Source File -- Adding the Header File -- Program 2.1 -- Analysis of Listing 2-1 -- Running Program 2.1 -- The PIC16F88 Development Board -- The ICSP Circuit -- Testing Program 2.1 -- Downloading Our Program -- Summary -- Chapter 3: The Seven-Segment Display and the Stepper Motor -- Program 3.1: Controlling a Seven-Segment Display -- Seven-Segment Displays -- Common Anode Seven-Segment Display -- Common Cathode Seven-Segment Display -- Arrangement for a Common Anode Seven-Segment Display -- Controlling the Display with the PIC -- Seven-Segment Display Program -- Algorithm for Program 3.1 -- Flowchart for Program 3.1 -- Program Listing for the Common Cathode Seven-Segment Display -- Analysis of Listing 3-1 -- Program 3.2: 3461BS Common Anode Four Seven-Segment Display Module -- Analysis of Listing 3-2 -- The Stepper Motor -- Analysis of Listing 3-3 -- Summary -- Chapter 4: The Joystick and the Stepper Motor -- Using the Joystick -- The Principal Operation of the Joystick -- The ADCON0 Control Register -- The ADCON1 Register -- The ADCON2 Register -- Example 1: Creating the Required Acquisition Time -- Example 2: TAD Time -- Changing the ADC Input Channels -- Left or Right Justification -- The Joystick Program -- The LCD -- Instruction or Command Mode</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Data Mode -- Bytes and Nibbles -- The Control Pins of the LCD -- Analysis of Listing 4-1 -- One-Dimensional Array -- Accessing Data in the Array -- Using Pointers -- Joystick and Stepper Motor -- Analysis of Listing 4-2 -- Homemade Prototype Board for the PIC18F4525 -- Summary -- Chapter 5: DC Motors -- The Speed of the Simple DC Motor -- PWM -- Creating a Square Wave with the PWM Mode -- Creating a 1kHz Square Wave -- The Mark Time or Duty Cycle -- The TMR2 Preset Value -- Storing a Ten-Bit Number -- Analysis of Listing 5-1 -- The Variable-Speed DC Motor Program -- Analysis of Listing 5-2 -- A Two-Directional DC Motor Program -- Using the L293D Driver IC -- Controlling a Two-Wheel Drive System -- Analysis of Listing 5-3 -- Controlling a Servo Motor -- Analysis of Listing 5-4 -- Summary -- Chapter 6: Ultrasonic Distance, and Humidity and Temperature Sensors -- Using the Ultrasonic Sensor -- The Basic Principle of Operation -- The Principal Operation of the Program -- Analysis of Listing 6-1 -- The DHT11 Humidity and Temperature Sensor -- Communicating with the DHT11 -- The Use of a Pull Up Resistor -- Checking the Timing of the Pulses -- Analysis of Listing 6-3 -- Summary -- Chapter 7: Working with Keypads -- Traditional 3 × 4 Keypad Entry -- The Need for Pull Up or Pull Down -- Pull Down Resistors -- Pull Up Resistors -- Traditional Keypad Program -- Analysis of Listing 7-1 -- Switch Bounce -- The Membrane 4 × 4 Keypad -- The 8 × 8 Dot Matrix Board -- Analysis of Listing 7-3 -- Creating the Data for Each Row in the Two-Dimensional Array -- Summary -- Chapter 8: Using Bluetooth with PIR Motion Sensors -- The HC-06 Module -- Matching 5V to 3.3V -- The Default Settings of the HC-06 -- The HC-05 Bluetooth Module -- Connecting the PIC to a Mobile Phone via the HC-06 -- The UART -- Analysis of Listing 8-1 -- An Important Distinction</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Using the Mobile APP Bluetooth Terminal -- Changing the PIN on the HC-06 -- Using AT Commands -- Using Tera Term to Change the PIN -- Using PuTTY to Program the HC-06 -- Programming the HC-06 with AT Command from the PIC Micro -- Analysis of Listing 8-2 -- The HC-SR501 PIR Motion Sensor -- Analysis of Listing 8-3 -- Summary -- Chapter 9: Communication -- Getting the PIC to Communicate with Other Devices -- The SPI Mode -- The Buffer Full (BF) Flag in the SSPSTAT Register -- Synchronizing the Sequence -- SSPSTAT Register -- The SSPCON1 Register -- Using the SPI to Read from the TC72 -- Operating Modes for the TC72 -- The Registers of the TC72 -- The Algorithm for Using the TC72 -- Displaying the Temperature Reading -- Binary Numbers -- Adding Binary Numbers -- Analysis of Listing 9-1 -- Reading the Temperature from the TC72 -- Examples of the 2's Complement Process -- Using the Sprintf Function -- Analysis of Listing 9-2 -- Comparing the Two Approaches -- Using the PIC18f4525 as the Slave -- Analysis of Listing 9-3 -- Analysis of Listing 9-4 -- Summary -- Chapter 10: Using the I2C Protocol -- I2C Communication Protocol -- EEPROM -- 24LC256 EEPROM -- Writing to the EEPROM -- Reading from the EEPROM -- TC74 Temperature Sensor -- Reading the Temperature -- Using I2C with 24LC256 and TC74 -- Analysis of Listing 10-1 -- That Little Thought -- Summary -- Chapter 11: Using the UART -- UART at a Glance -- Interrupts and How They Work -- Analysis of Listing 11-1 -- The Baud Rate -- Using Tera Term -- Using Handshaking -- Analysis of Listing 11-2 -- Two PICs Communicate via the UART -- Analysis of Listing 11-3 -- Summary -- Chapter 12: Real-Time Clock and Interrupts -- The RTC Program -- Analysis of Listing 12-1 -- The DS1307 RTC Module -- Setting Up and Reading from the DS1307 -- The I2C Protocol -- Writing to the Slave -- The Start Bit</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">The Address Bits and Control Bit in the First Byte -- The Acknowledgment Bit -- The Data Byte -- The Stop Bit -- Reading from the Slave -- The NACK or Not Acknowledgment Bit -- Analysis of Listing 12-2 -- TM1637 and the Four Seven-Segment Display -- The TM1367 Driver IC -- Analysis of Listing 12-3 -- Summary -- Chapter 13: Working with LCDs -- Creating Your Own Characters on an LCD -- The Pixel Maps -- A Simple Exercise -- Analysis of Listing 13-1 -- The CCP Module -- Algorithm for the Bike Speed Program -- The Speed of a Bicycle -- Analysis of Listing 13-2 -- Finding the Program Instructions -- Program Counter and the Stack -- The Stack -- The Vector Table and the ISR -- Summary -- Chapter 14: Analyzing Obscure Instructions and Logic Operators in C -- Obscure C Instructions -- Analysis of Listing 14-1 -- Some Logic Operators -- &amp -- Symbol -- Testing the Programs in MPLABX -- Analysis of Listing 14-3 -- The &amp -- &amp -- Operator -- The '|' Operator -- The '||' Operator -- The EXOR or Exclusive OR -- The &amp -- = Function -- The |= Function -- The '%' or Modulus or Remainder Operator -- The '~' Or 1's Complement -- The '&lt -- &lt -- n' or '&gt -- &gt -- n' Operator -- Summary -- Appendix: Additional Insights -- Data Types and Memory -- The Program Memory Area -- The Data RAM -- The Data EEPROM -- Variables -- Appendix A: Data Types -- Appendix B: Some Useful Definitions -- Appendix C: Mathematical and Logic Operators -- Appendix D: Keywords -- Appendix E: Numbering Systems Within Microprocessor-Based Systems -- Introduction -- Binary Numbers -- Converting Decimal to Binary -- Adding and Subtracting Binary Numbers -- Subtracting Binary Numbers -- The Hexadecimal Number System -- Appendix F: Building Circuit Boards -- Preparation -- The Circuit Diagram -- The Vero Board Plan -- Preparing to Solder -- Tinning the Components</subfield></datafield><datafield tag="505" ind1="8" ind2=" "><subfield code="a">Soldering the Components -- Patience and Practice -- Appendix G: The LCD Header File for Eight-Bit Mode -- Appendix H: The ASCII Character Set -- Appendix I: The LCD Instruction Set -- Index</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Arduino (Programmable controller)</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Druck-Ausgabe</subfield><subfield code="a">Ward, Hubert Henry</subfield><subfield code="t">Programming Arduino Projects with the PIC Microcontroller</subfield><subfield code="d">Berkeley, CA : Apress L. P.,c2021</subfield><subfield code="z">9781484272299</subfield></datafield><datafield tag="912" ind1=" " ind2=" "><subfield code="a">ZDB-30-PQE</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-034184938</subfield></datafield><datafield tag="966" ind1="e" ind2=" "><subfield code="u">https://ebookcentral.proquest.com/lib/hwr/detail.action?docID=6738517</subfield><subfield code="l">HWR01</subfield><subfield code="p">ZDB-30-PQE</subfield><subfield code="q">HWR_PDA_PQE</subfield><subfield code="x">Aggregator</subfield><subfield code="3">Volltext</subfield></datafield></record></collection> |
id | DE-604.BV048920847 |
illustrated | Not Illustrated |
index_date | 2024-07-03T21:55:16Z |
indexdate | 2024-07-10T09:49:54Z |
institution | BVB |
isbn | 9781484272305 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-034184938 |
oclc_num | 1276857880 |
open_access_boolean | |
owner | DE-2070s |
owner_facet | DE-2070s |
physical | 1 Online-Ressource (733 Seiten) |
psigel | ZDB-30-PQE ZDB-30-PQE HWR_PDA_PQE |
publishDate | 2021 |
publishDateSearch | 2021 |
publishDateSort | 2021 |
publisher | Apress L. P. |
record_format | marc |
spelling | Ward, Hubert Henry Verfasser aut Programming Arduino Projects with the PIC Microcontroller A Line-By-Line Code Analysis and Complete Reference Guide for Embedded Programming in C. Berkeley, CA Apress L. P. 2021 ©2022 1 Online-Ressource (733 Seiten) txt rdacontent c rdamedia cr rdacarrier Description based on publisher supplied metadata and other sources Intro -- Table of Contents -- About the Author -- About the Technical Reviewer -- Introduction -- Chapter 1: Introducing MPLABX -- MPLABX: The IDE from Microchip -- Creating a Project in MPLABX -- The Configuration Words -- Creating a Header File -- Changing the Fonts and Colors -- The PIC Microcontroller -- The PIC16F88 and the PIC8F4525 -- Summary -- Chapter 2: Programming Basics -- Good Programming Practice -- Algorithms -- Flowcharts -- Program Listings -- Program 2.1: Turning On and Off an LED -- Algorithm for Program 2.1 -- Flowchart for Program 2.1 -- The Program Listing -- Creating a Source File -- Adding the Header File -- Program 2.1 -- Analysis of Listing 2-1 -- Running Program 2.1 -- The PIC16F88 Development Board -- The ICSP Circuit -- Testing Program 2.1 -- Downloading Our Program -- Summary -- Chapter 3: The Seven-Segment Display and the Stepper Motor -- Program 3.1: Controlling a Seven-Segment Display -- Seven-Segment Displays -- Common Anode Seven-Segment Display -- Common Cathode Seven-Segment Display -- Arrangement for a Common Anode Seven-Segment Display -- Controlling the Display with the PIC -- Seven-Segment Display Program -- Algorithm for Program 3.1 -- Flowchart for Program 3.1 -- Program Listing for the Common Cathode Seven-Segment Display -- Analysis of Listing 3-1 -- Program 3.2: 3461BS Common Anode Four Seven-Segment Display Module -- Analysis of Listing 3-2 -- The Stepper Motor -- Analysis of Listing 3-3 -- Summary -- Chapter 4: The Joystick and the Stepper Motor -- Using the Joystick -- The Principal Operation of the Joystick -- The ADCON0 Control Register -- The ADCON1 Register -- The ADCON2 Register -- Example 1: Creating the Required Acquisition Time -- Example 2: TAD Time -- Changing the ADC Input Channels -- Left or Right Justification -- The Joystick Program -- The LCD -- Instruction or Command Mode Data Mode -- Bytes and Nibbles -- The Control Pins of the LCD -- Analysis of Listing 4-1 -- One-Dimensional Array -- Accessing Data in the Array -- Using Pointers -- Joystick and Stepper Motor -- Analysis of Listing 4-2 -- Homemade Prototype Board for the PIC18F4525 -- Summary -- Chapter 5: DC Motors -- The Speed of the Simple DC Motor -- PWM -- Creating a Square Wave with the PWM Mode -- Creating a 1kHz Square Wave -- The Mark Time or Duty Cycle -- The TMR2 Preset Value -- Storing a Ten-Bit Number -- Analysis of Listing 5-1 -- The Variable-Speed DC Motor Program -- Analysis of Listing 5-2 -- A Two-Directional DC Motor Program -- Using the L293D Driver IC -- Controlling a Two-Wheel Drive System -- Analysis of Listing 5-3 -- Controlling a Servo Motor -- Analysis of Listing 5-4 -- Summary -- Chapter 6: Ultrasonic Distance, and Humidity and Temperature Sensors -- Using the Ultrasonic Sensor -- The Basic Principle of Operation -- The Principal Operation of the Program -- Analysis of Listing 6-1 -- The DHT11 Humidity and Temperature Sensor -- Communicating with the DHT11 -- The Use of a Pull Up Resistor -- Checking the Timing of the Pulses -- Analysis of Listing 6-3 -- Summary -- Chapter 7: Working with Keypads -- Traditional 3 × 4 Keypad Entry -- The Need for Pull Up or Pull Down -- Pull Down Resistors -- Pull Up Resistors -- Traditional Keypad Program -- Analysis of Listing 7-1 -- Switch Bounce -- The Membrane 4 × 4 Keypad -- The 8 × 8 Dot Matrix Board -- Analysis of Listing 7-3 -- Creating the Data for Each Row in the Two-Dimensional Array -- Summary -- Chapter 8: Using Bluetooth with PIR Motion Sensors -- The HC-06 Module -- Matching 5V to 3.3V -- The Default Settings of the HC-06 -- The HC-05 Bluetooth Module -- Connecting the PIC to a Mobile Phone via the HC-06 -- The UART -- Analysis of Listing 8-1 -- An Important Distinction Using the Mobile APP Bluetooth Terminal -- Changing the PIN on the HC-06 -- Using AT Commands -- Using Tera Term to Change the PIN -- Using PuTTY to Program the HC-06 -- Programming the HC-06 with AT Command from the PIC Micro -- Analysis of Listing 8-2 -- The HC-SR501 PIR Motion Sensor -- Analysis of Listing 8-3 -- Summary -- Chapter 9: Communication -- Getting the PIC to Communicate with Other Devices -- The SPI Mode -- The Buffer Full (BF) Flag in the SSPSTAT Register -- Synchronizing the Sequence -- SSPSTAT Register -- The SSPCON1 Register -- Using the SPI to Read from the TC72 -- Operating Modes for the TC72 -- The Registers of the TC72 -- The Algorithm for Using the TC72 -- Displaying the Temperature Reading -- Binary Numbers -- Adding Binary Numbers -- Analysis of Listing 9-1 -- Reading the Temperature from the TC72 -- Examples of the 2's Complement Process -- Using the Sprintf Function -- Analysis of Listing 9-2 -- Comparing the Two Approaches -- Using the PIC18f4525 as the Slave -- Analysis of Listing 9-3 -- Analysis of Listing 9-4 -- Summary -- Chapter 10: Using the I2C Protocol -- I2C Communication Protocol -- EEPROM -- 24LC256 EEPROM -- Writing to the EEPROM -- Reading from the EEPROM -- TC74 Temperature Sensor -- Reading the Temperature -- Using I2C with 24LC256 and TC74 -- Analysis of Listing 10-1 -- That Little Thought -- Summary -- Chapter 11: Using the UART -- UART at a Glance -- Interrupts and How They Work -- Analysis of Listing 11-1 -- The Baud Rate -- Using Tera Term -- Using Handshaking -- Analysis of Listing 11-2 -- Two PICs Communicate via the UART -- Analysis of Listing 11-3 -- Summary -- Chapter 12: Real-Time Clock and Interrupts -- The RTC Program -- Analysis of Listing 12-1 -- The DS1307 RTC Module -- Setting Up and Reading from the DS1307 -- The I2C Protocol -- Writing to the Slave -- The Start Bit The Address Bits and Control Bit in the First Byte -- The Acknowledgment Bit -- The Data Byte -- The Stop Bit -- Reading from the Slave -- The NACK or Not Acknowledgment Bit -- Analysis of Listing 12-2 -- TM1637 and the Four Seven-Segment Display -- The TM1367 Driver IC -- Analysis of Listing 12-3 -- Summary -- Chapter 13: Working with LCDs -- Creating Your Own Characters on an LCD -- The Pixel Maps -- A Simple Exercise -- Analysis of Listing 13-1 -- The CCP Module -- Algorithm for the Bike Speed Program -- The Speed of a Bicycle -- Analysis of Listing 13-2 -- Finding the Program Instructions -- Program Counter and the Stack -- The Stack -- The Vector Table and the ISR -- Summary -- Chapter 14: Analyzing Obscure Instructions and Logic Operators in C -- Obscure C Instructions -- Analysis of Listing 14-1 -- Some Logic Operators -- & -- Symbol -- Testing the Programs in MPLABX -- Analysis of Listing 14-3 -- The & -- & -- Operator -- The '|' Operator -- The '||' Operator -- The EXOR or Exclusive OR -- The & -- = Function -- The |= Function -- The '%' or Modulus or Remainder Operator -- The '~' Or 1's Complement -- The '< -- < -- n' or '> -- > -- n' Operator -- Summary -- Appendix: Additional Insights -- Data Types and Memory -- The Program Memory Area -- The Data RAM -- The Data EEPROM -- Variables -- Appendix A: Data Types -- Appendix B: Some Useful Definitions -- Appendix C: Mathematical and Logic Operators -- Appendix D: Keywords -- Appendix E: Numbering Systems Within Microprocessor-Based Systems -- Introduction -- Binary Numbers -- Converting Decimal to Binary -- Adding and Subtracting Binary Numbers -- Subtracting Binary Numbers -- The Hexadecimal Number System -- Appendix F: Building Circuit Boards -- Preparation -- The Circuit Diagram -- The Vero Board Plan -- Preparing to Solder -- Tinning the Components Soldering the Components -- Patience and Practice -- Appendix G: The LCD Header File for Eight-Bit Mode -- Appendix H: The ASCII Character Set -- Appendix I: The LCD Instruction Set -- Index Arduino (Programmable controller) Erscheint auch als Druck-Ausgabe Ward, Hubert Henry Programming Arduino Projects with the PIC Microcontroller Berkeley, CA : Apress L. P.,c2021 9781484272299 |
spellingShingle | Ward, Hubert Henry Programming Arduino Projects with the PIC Microcontroller A Line-By-Line Code Analysis and Complete Reference Guide for Embedded Programming in C. Intro -- Table of Contents -- About the Author -- About the Technical Reviewer -- Introduction -- Chapter 1: Introducing MPLABX -- MPLABX: The IDE from Microchip -- Creating a Project in MPLABX -- The Configuration Words -- Creating a Header File -- Changing the Fonts and Colors -- The PIC Microcontroller -- The PIC16F88 and the PIC8F4525 -- Summary -- Chapter 2: Programming Basics -- Good Programming Practice -- Algorithms -- Flowcharts -- Program Listings -- Program 2.1: Turning On and Off an LED -- Algorithm for Program 2.1 -- Flowchart for Program 2.1 -- The Program Listing -- Creating a Source File -- Adding the Header File -- Program 2.1 -- Analysis of Listing 2-1 -- Running Program 2.1 -- The PIC16F88 Development Board -- The ICSP Circuit -- Testing Program 2.1 -- Downloading Our Program -- Summary -- Chapter 3: The Seven-Segment Display and the Stepper Motor -- Program 3.1: Controlling a Seven-Segment Display -- Seven-Segment Displays -- Common Anode Seven-Segment Display -- Common Cathode Seven-Segment Display -- Arrangement for a Common Anode Seven-Segment Display -- Controlling the Display with the PIC -- Seven-Segment Display Program -- Algorithm for Program 3.1 -- Flowchart for Program 3.1 -- Program Listing for the Common Cathode Seven-Segment Display -- Analysis of Listing 3-1 -- Program 3.2: 3461BS Common Anode Four Seven-Segment Display Module -- Analysis of Listing 3-2 -- The Stepper Motor -- Analysis of Listing 3-3 -- Summary -- Chapter 4: The Joystick and the Stepper Motor -- Using the Joystick -- The Principal Operation of the Joystick -- The ADCON0 Control Register -- The ADCON1 Register -- The ADCON2 Register -- Example 1: Creating the Required Acquisition Time -- Example 2: TAD Time -- Changing the ADC Input Channels -- Left or Right Justification -- The Joystick Program -- The LCD -- Instruction or Command Mode Data Mode -- Bytes and Nibbles -- The Control Pins of the LCD -- Analysis of Listing 4-1 -- One-Dimensional Array -- Accessing Data in the Array -- Using Pointers -- Joystick and Stepper Motor -- Analysis of Listing 4-2 -- Homemade Prototype Board for the PIC18F4525 -- Summary -- Chapter 5: DC Motors -- The Speed of the Simple DC Motor -- PWM -- Creating a Square Wave with the PWM Mode -- Creating a 1kHz Square Wave -- The Mark Time or Duty Cycle -- The TMR2 Preset Value -- Storing a Ten-Bit Number -- Analysis of Listing 5-1 -- The Variable-Speed DC Motor Program -- Analysis of Listing 5-2 -- A Two-Directional DC Motor Program -- Using the L293D Driver IC -- Controlling a Two-Wheel Drive System -- Analysis of Listing 5-3 -- Controlling a Servo Motor -- Analysis of Listing 5-4 -- Summary -- Chapter 6: Ultrasonic Distance, and Humidity and Temperature Sensors -- Using the Ultrasonic Sensor -- The Basic Principle of Operation -- The Principal Operation of the Program -- Analysis of Listing 6-1 -- The DHT11 Humidity and Temperature Sensor -- Communicating with the DHT11 -- The Use of a Pull Up Resistor -- Checking the Timing of the Pulses -- Analysis of Listing 6-3 -- Summary -- Chapter 7: Working with Keypads -- Traditional 3 × 4 Keypad Entry -- The Need for Pull Up or Pull Down -- Pull Down Resistors -- Pull Up Resistors -- Traditional Keypad Program -- Analysis of Listing 7-1 -- Switch Bounce -- The Membrane 4 × 4 Keypad -- The 8 × 8 Dot Matrix Board -- Analysis of Listing 7-3 -- Creating the Data for Each Row in the Two-Dimensional Array -- Summary -- Chapter 8: Using Bluetooth with PIR Motion Sensors -- The HC-06 Module -- Matching 5V to 3.3V -- The Default Settings of the HC-06 -- The HC-05 Bluetooth Module -- Connecting the PIC to a Mobile Phone via the HC-06 -- The UART -- Analysis of Listing 8-1 -- An Important Distinction Using the Mobile APP Bluetooth Terminal -- Changing the PIN on the HC-06 -- Using AT Commands -- Using Tera Term to Change the PIN -- Using PuTTY to Program the HC-06 -- Programming the HC-06 with AT Command from the PIC Micro -- Analysis of Listing 8-2 -- The HC-SR501 PIR Motion Sensor -- Analysis of Listing 8-3 -- Summary -- Chapter 9: Communication -- Getting the PIC to Communicate with Other Devices -- The SPI Mode -- The Buffer Full (BF) Flag in the SSPSTAT Register -- Synchronizing the Sequence -- SSPSTAT Register -- The SSPCON1 Register -- Using the SPI to Read from the TC72 -- Operating Modes for the TC72 -- The Registers of the TC72 -- The Algorithm for Using the TC72 -- Displaying the Temperature Reading -- Binary Numbers -- Adding Binary Numbers -- Analysis of Listing 9-1 -- Reading the Temperature from the TC72 -- Examples of the 2's Complement Process -- Using the Sprintf Function -- Analysis of Listing 9-2 -- Comparing the Two Approaches -- Using the PIC18f4525 as the Slave -- Analysis of Listing 9-3 -- Analysis of Listing 9-4 -- Summary -- Chapter 10: Using the I2C Protocol -- I2C Communication Protocol -- EEPROM -- 24LC256 EEPROM -- Writing to the EEPROM -- Reading from the EEPROM -- TC74 Temperature Sensor -- Reading the Temperature -- Using I2C with 24LC256 and TC74 -- Analysis of Listing 10-1 -- That Little Thought -- Summary -- Chapter 11: Using the UART -- UART at a Glance -- Interrupts and How They Work -- Analysis of Listing 11-1 -- The Baud Rate -- Using Tera Term -- Using Handshaking -- Analysis of Listing 11-2 -- Two PICs Communicate via the UART -- Analysis of Listing 11-3 -- Summary -- Chapter 12: Real-Time Clock and Interrupts -- The RTC Program -- Analysis of Listing 12-1 -- The DS1307 RTC Module -- Setting Up and Reading from the DS1307 -- The I2C Protocol -- Writing to the Slave -- The Start Bit The Address Bits and Control Bit in the First Byte -- The Acknowledgment Bit -- The Data Byte -- The Stop Bit -- Reading from the Slave -- The NACK or Not Acknowledgment Bit -- Analysis of Listing 12-2 -- TM1637 and the Four Seven-Segment Display -- The TM1367 Driver IC -- Analysis of Listing 12-3 -- Summary -- Chapter 13: Working with LCDs -- Creating Your Own Characters on an LCD -- The Pixel Maps -- A Simple Exercise -- Analysis of Listing 13-1 -- The CCP Module -- Algorithm for the Bike Speed Program -- The Speed of a Bicycle -- Analysis of Listing 13-2 -- Finding the Program Instructions -- Program Counter and the Stack -- The Stack -- The Vector Table and the ISR -- Summary -- Chapter 14: Analyzing Obscure Instructions and Logic Operators in C -- Obscure C Instructions -- Analysis of Listing 14-1 -- Some Logic Operators -- & -- Symbol -- Testing the Programs in MPLABX -- Analysis of Listing 14-3 -- The & -- & -- Operator -- The '|' Operator -- The '||' Operator -- The EXOR or Exclusive OR -- The & -- = Function -- The |= Function -- The '%' or Modulus or Remainder Operator -- The '~' Or 1's Complement -- The '< -- < -- n' or '> -- > -- n' Operator -- Summary -- Appendix: Additional Insights -- Data Types and Memory -- The Program Memory Area -- The Data RAM -- The Data EEPROM -- Variables -- Appendix A: Data Types -- Appendix B: Some Useful Definitions -- Appendix C: Mathematical and Logic Operators -- Appendix D: Keywords -- Appendix E: Numbering Systems Within Microprocessor-Based Systems -- Introduction -- Binary Numbers -- Converting Decimal to Binary -- Adding and Subtracting Binary Numbers -- Subtracting Binary Numbers -- The Hexadecimal Number System -- Appendix F: Building Circuit Boards -- Preparation -- The Circuit Diagram -- The Vero Board Plan -- Preparing to Solder -- Tinning the Components Soldering the Components -- Patience and Practice -- Appendix G: The LCD Header File for Eight-Bit Mode -- Appendix H: The ASCII Character Set -- Appendix I: The LCD Instruction Set -- Index Arduino (Programmable controller) |
title | Programming Arduino Projects with the PIC Microcontroller A Line-By-Line Code Analysis and Complete Reference Guide for Embedded Programming in C. |
title_auth | Programming Arduino Projects with the PIC Microcontroller A Line-By-Line Code Analysis and Complete Reference Guide for Embedded Programming in C. |
title_exact_search | Programming Arduino Projects with the PIC Microcontroller A Line-By-Line Code Analysis and Complete Reference Guide for Embedded Programming in C. |
title_exact_search_txtP | Programming Arduino Projects with the PIC Microcontroller A Line-By-Line Code Analysis and Complete Reference Guide for Embedded Programming in C. |
title_full | Programming Arduino Projects with the PIC Microcontroller A Line-By-Line Code Analysis and Complete Reference Guide for Embedded Programming in C. |
title_fullStr | Programming Arduino Projects with the PIC Microcontroller A Line-By-Line Code Analysis and Complete Reference Guide for Embedded Programming in C. |
title_full_unstemmed | Programming Arduino Projects with the PIC Microcontroller A Line-By-Line Code Analysis and Complete Reference Guide for Embedded Programming in C. |
title_short | Programming Arduino Projects with the PIC Microcontroller |
title_sort | programming arduino projects with the pic microcontroller a line by line code analysis and complete reference guide for embedded programming in c |
title_sub | A Line-By-Line Code Analysis and Complete Reference Guide for Embedded Programming in C. |
topic | Arduino (Programmable controller) |
topic_facet | Arduino (Programmable controller) |
work_keys_str_mv | AT wardhuberthenry programmingarduinoprojectswiththepicmicrocontrolleralinebylinecodeanalysisandcompletereferenceguideforembeddedprogramminginc |