Video lectures
Some of the textbook material is now available as a video lecture, supplementing the existing slides. Not all topics in the book are covered; just what is covered in our ECE 3724 course taken by sophomore/junior computer engineering, electrical engineering, software engineering and computer science students.
Chapter 1 Digital Logic Review
These video lectures are based on these chapter 1 slides.
Part 1: Number Systems . [direct download]
Part 2: Digital System Review . [direct download]
Chapter 2 The Stored Program Machine
These video lectures are based on these chapter 2 slides.
Part 1: FSM Implementation. [direct download]
Part 2: Processor Implementation. [direct download]
Part 3: Sample Problems. [direct download]
Lab #1 related videos:
Chapter 3 PIC24 Introduction
These video lectures are based on these chapter 3 slides. Table 19-1, 19-2 of this datasheet is referenced in the part 2 video.
Part 1: PIC24 architecture, MOV instruction forms, addressing modes . [direct download]
Part 2: add, sub, inc, dec, goto instructions [direct download]
Part 3: Converting a C program to PIC24 assembly language [direct download]
Part 4: Sample Problems [direct download] FYI: This video is now redundant; these problems have been placed at the end of the appropriate Part 1, 2, or 3 video.
Lab #2 related videos:
Chapter 4 Unsigned 8/16 bit Arithmetic, Logical, Conditional Operations
These video lectures are based on these chapter 4 slides. Table 19-2 of this datasheet is referenced in the videos.
Part 1: PIC24 bitwise logical, shift instructions; C, Z flag operation . [direct download]
Part 2: Conditional execution using simple branches [direct download]
Part 3: Use of compare, unsigned branch instructions; loop structures [direct download]
Part 4: Sample Problems [direct download] FYI: This video is now redundant; these problems have been placed at the end of the appropriate Part 1, 2, or 3 video.
Lab #3 related videos:
- MPLAB project structure, debugging hints for Lab #4. [direct download] This video is for Lab #4, but Lab #3 uses the same structure/approach.
Chapter 5 Extended Precision and Signed Data Operations
These video lectures are based on these chapter 5 slides.
Part 1: Introduction to 32-bit operations [direct download]
Part 2: 32-bit Zero/Non-zero test, Introduction to signed data representation [direct download]
Part 3: Signed data shift right, signed branches [direct download]
Part 4: Sample Problems [direct download]
Lab #4 related videos:
Chapter 6 Pointers and Subroutines
These video lectures are based on these chapter 6 slides.
Part 1: PIC24 indirect addressing modes, C pointer operation, implementing C pointers in PIC24 assembly , [direct download]
Part 2: C arrays, implementation of C array code in PIC24 assembly , [direct download]
Part 3: Subroutine call/return, the PIC24 stack, use of registers for subroutine parameter passing, local variables. [direct download]
Sample Problems: PIC24 indirect addressing modes; practice with C pointers, arrays. [direct download]
Sample Problems: PIC24 stack operations, C functions implemented in PIC24 assembly [direct download]
Chapter 8
PIC24 Hardware Introduction
These video lectures are based on these chapter 8 slides.
Part 1: PIC24 C compiler, PIC24 initial hookup schematic, PIC24 clocking [direct download]
Part 2: The ledflash_nomacros.c, ledflash.c, echo.c programs [direct download]
Part 3: System reset, watchdog timer, power saving modes, reset.c program [direct download]
Lab #6 related videos:
- Discussion of reset.c program. [direct download]
- Bully Bootloader GUI usage. [direct download]
- Determining your COM port number (needed for Bully Bootloader usage). [direct download]
Parallel Port Operation
These video lectures are based on these chapter 8 slides.
Part 4: Parallel port operation . [direct download]
Part 5: Led/Switch I/O basics, FSM approach. [direct download]
Part 6: ledtoggle.c variations, a more complex LED/Switch I/O example [direct download]
Lab #7 related videos:
- ledtoggle.c [direct download, WMV format, silent video]
- ledsw1.c [direct download, WMV format, silent video]
Chapter 9 Interrupts and a First Look at Timers
These video lectures are based on these chapter 9 slides.
Part 1: Introduction to PIC24 interrupts, traps. [direct download]
Part 2: Change notification, INTx interrupts [direct download]
Part 3: PIC24 Timer2 usage, squarewave.c example [direct download]
Part 4: Using a periodic interrupt for switch sampling [direct download]
Part 5: Sample Problems [direct download]
Chapter 10
Asynchronous Serial
These lectures are based on these accompanying slides.
Part 1: The asynchronous serial protocol [direct download]
Part 2: PIC24 UART module, UART library functions [direct download]
Part 3: Use of interrupts with the UART module [direct download]
The Serial Peripheral Interface (SPI)
These lectures are based on the accompanying slides.
Part 4: The SPI protocol, PIC24 SPI Module, PIC24 to DS1722 Temp sensor example [direct download]
I2C
These lectures are based on the accompanying slides.
Part 5: The protocol. [direct dowload]
Supplementary material:
- The I2C bus specification.
Part 6: An I2C digital thermometer. [direct download]
Supplementary material:
- The DS1631 thermometer.
- Example code to operate the DS1631.
Part 7: An I2C EEPROM. [direct download]
Supplementary material:
- The Microchip 24LC515 serial EEPROM.
- Example code to operate the 24LC515.
Part 8: Sample Test Problems (EEPROM, TMP100 temp sensor, INA209 Bus monitor, TMC222 Stepper controller) [direct download]
Chapter 11 Data Conversion
These video lectures are based on these accompanying slides.
Part 1: Introduction to ADCs, DACs [direct download]
Part 2: ADC architectures, introduction to the PIC24 ADC [direct download]
Part 3: Use of the PIC24 ADC, examples [direct download]
Chapter 12 More on Timers
These video lectures are based on these accompanying slides.
Part 1: Output Compare Module Introduction [direct download]