In Business Since 1964 | Order Today, We Ship Tomorrow | Low Cost World Wide Postage Rates | No Global Taxes
Payment Options
Blog
Site Map
Support
What's New
Shipping Info
Track Order
FAQs
About Us
Contact Us
  Search:      Advanced search

Your IP address is 38.107.179.212 and has been logged for security reasons.
Payment Options
Username
Password
 Log in 

 Register 
View cart
Checkout
If Javascript is disabled in your browser click here

 
Categories
Manufacturers
Easysync
FTDI
HP Infotech S.R.L.
MCS Electronics
micro Engineering Labs
Olimex Ltd
OshonSoft
Sparkfun Electronics
TCTEC Pty Ltd
USBmicro

Other manufacturers...

Your cart
Cart is empty

View cart
Checkout
Users online
29  unregistered customer(s)
1  registered customer(s)
Info
Links - Pic Links
Links - ATMEL & Family

  Dontronics :: Books :: Square 1 Publications :: C-What-Happens

    C-What-Happens #16714
C-What-Happens  Prices

Make sure you check out our Recommended Electronic & Microcontroller Books

Square 1 Electronics' new book, "C What Happens Using PIC® Microcontrollers and the CCS C Compiler,"  contains a series of explanations and examples for those who want to learn to program PIC® microcontrollers using the C programming language. It is assumed that the reader has no knowledge of PIC microcontrollers or programming, but does have a rudimentary understanding of electronics. The reader will learn to create programs by making selections from a large variety of built-in functions provided in the CCS C compiler, writing his/her own functions as needed, and writing executable statements. The reader will 'C what happens' by programming a PIC® microcontroller with the newly created code and exercising it using a simple circuit described in the book. The subject matter is laid out in a logical progression from simple to not-so-simple and is illustrated with lots of examples. The complete table of contents follows:

Please note: This book is not available in bookstores.

This book was written by David Benson (8-1/2 x 11", 183 pages, $34.95). David is also the author of "Easy Microcontrol'n" (formerly "Easy PIC'n"), "Microcontrol'n Apps" (formerly "PIC'n Up the Pace"), and "Time'n and Count'n" (formerly, "PIC'n Techniques"), which are books instructing people on how to use Microchip's PIC® microcontrollers by programming them using assembly language.

As postage is included in the cost of the total, when adding item to the cart please select one of the following destinations:
Shipping to the US
Shipping to Canada
Shipping to Mexico
Shipping to South America
Shipping to Europe
Shipping to Asia, Africa, Israel
Shipping to Pacific Rim



Table of Contents

INTRODUCTION

PIC MICROCONTROLLER PRODUCT OVERVIEW

SELECTING A DEVICE FOR EXPERIMENTS

PIC16F818
    Pins and functions
    Package
    Clock oscillator
    Reset
    Ports
    Special Features
    PIC microcontroller architecture
    Code and data protection
    Configuration bits

CIRCUIT FOR PIC16F818 EXPERIMENTS

CHOOSING DEVELOPMENT TOOLS

    CCS compiler
    Device programming methods
        Device programmers and ease of running code examples
        Device programmer
        In-circuit serial programmer
    Choosing a device programmer
        Microchip PICSTART Plus
    Choosing an in-circuit programmer/debugger
        CCS ICD-U40 (or -S40)
        Microchip PICkit 2®
        Microchip ICD 2®

PROGRAMMING A DEVICE USING THE ICD-U40 (or -S40)

PROGRAMMING A DEVICE USING THE PICkit 2®

PROGRAMMING A DEVICE USING THE ICD 2®

PROGRAMMING A DEVICE USING THE PICSTART Plus®

CCS COMPILER

C SOURCE CODE

    What it looks like
    Typing accuracy
    Comments
    Text And Formatting

BITS, BYTES, ETC.

    Bit
    Nibble
    Byte
    Binary
    Hexadecimal

CONSTANTS

VARIABLES

DATA

    Data types
    ASCII characters

NAMING CONSTANTS AND VARIABLES

    Reserved words in C

OPERATORS - SHORT LIST

TRUE vs. FALSE

DEVICE FILES

PRE-PROCESSOR DIRECTIVES - SHORT LIST

INs AND OUTS OF DIGITAL I/O

CONFIGURATION REGISTER(S)     FUSES

FUNCTIONS

    main() function
    Functions
    Built-in functions - short list

STATEMENTS

    Executable statements
        Blocks
    Conditional statements
    Semicolon use rules

PROGRAM DESIGN

    Program design - control flow
        if
        if/else
        while loop
        do/while loop
        for loop
        switch/case
        break
        continue
        return
        goto
    Rule
    Modular programming

WRITING PROGRAMS (With Experiments)

    Programming concepts
    Programming examples
    Simple data transfers
    Loop - endless
        While loop
        Do/while loop
            Port registers accessed as variables
            - Port addresses defined using #byte directives
            - Port addresses defined using user-created include file
            - Port addresses defined using get environment built-in function
    Loop with a counter
        For loop
    Loop until
        While loop
    Comparisons
        Relational operators
        If/else
    Switch/case
    Function calls and time delays
    Bit-level I/O using built-in functions
        Bit toggle
        If statement - read switch position
            ! logical operator
            && logical operator (two switches)
            || logical operator (two switches)
            if/else, else, else
        Read input bit, write output bit
        Event counting
    Bit manipulation using bit manipulation functions
        Bit set/clear
        Bit testing
        Flags
             #bit pre-processor directive example
             typedef example
    Bit manipulation using bitwise operators
        Shift bits right or left
        Change specific bit to"1"
        Change specific bit to"0"
        Change specific bit to it's complement
    Goto
    Function library
    Cut and paste

TALKING TO A PIC MICROCONTROLLER WITH A PC VIA A WINDOWS TERMINAL PROGRAM

    "U"-turn experiment
    PC-to-PC "2-lane highway" experiment
    PC/PIC microcontroller
        PC baud rates
    RS-232 interface for a PIC microcontroller
    PIC microcontroller-to-PC serial communication
    Formatting PIC microcontroller data on a PC screen

STRINGS

ARRAYS

    Index to an array
    Step through array elements
    Extract nth element from array
    Add offset to index
    Lookup tables
        7-segment LED display

STRUCTURES

    Structures and ports - bit fields

MATH AND MANIPULATING NUMBERS

    Mathematical operators
    Operator precedence
    Data type selection considerations
    Formatting variables such as math results for printing

PASSING VARIABLES

    Passing arguments
    Returning values
    Prototyping functions

OPERATORS

    Assignment operator
    Relational operators
    Logical operators
    Increment and decrement
    Mathematical operators
    Bitwise operators
    Pointer operators
    Structure operators
    Operators that don't fit the categories

INTERRUPTS

    External interrupt sources
    Internal interrupt sources
        Timer 0 interrupt
        Port B interrupt on change - bits 7,6,5,4
        Interrupts generated by other peripherals
    Global interrupt enable flag (GIE)
    Return from interrupt
    Where to put the interrupt service routine in program memory
    Interrupt latency
    Multiple external interrupt sources
    Interrupts in C
        Functions - Built-in
        Pre-processor directives used to identify interrupt service routines
    Example - external interrupt

TIMING AND COUNTING USING TIMER 0

    Digital output waveforms
    Using timer 0
    Prescaler
    Putting timer 0 to work
        Setting up timer 0
        Starting timer 0
        Counter
        How do we know timer 0 is doing something?
        Timer 0 will keep on counting as long as:
        Timer 0 must be reloaded after each overflow for repeating time intervals
        Stopping timer 0
    Timer 0 experiments
        Digital output waveform using timer 0 - internal clock
        Single time interval - internal clock
        Free running mode - internal clock - 0.1 second period
        Single time interval - external clock
        Free running mode - internal clock
        Counting events (pulses)
    Going further

ANALOG TO DIGITAL CONVERSION

INSERTING ASSEMBLY CODE IN C CODE

APPENDIX A - PULSER

APPENDIX B - SOURCES

APPENDIX C - HEXADECIMAL NUMBERS

APPENDIX D - PROGRAM LISTINGS vs. PAGE NUMBERS
 



Author: David Benson: sqone AT pacific.net
http://www.sq-1.com/
Post Office Box 501
Kelseyville, CA 95451 U.S.A.

Back To Top
 

Details
 
Shipped From Idaho, U.S.A.
Shipping: Included
Aust GST GST Free
Author David Benson
Price: AUD$35.89 (USD$ 34.95) (€uro 27.28)

NOTE *** Australian Residents: If Applicable, 10% GST is added to the price, after you have logged in.

Click on Blue Button for a detailed stock explanation on this product Large Stock and check the country (above) that the item is Shipped From.

Options
 
Shipping Destination
Quantity

 Add to cart 
        

 

    Detailed images


 
    Send to a friend
Your name: *
Your e-mail: *
Recipient's e-mail: *

 Send to a friend 
 
 
 
Recover password        Contact us        Privacy statement        Terms & Conditions        Site Map
Copyright © 1964-2012 Dontronics