The design makes use of 2 timers to provide audio output. A buffer amplifier is used to drive the speaker. The tone of a note is set with one timer and the duration of the note is set with the other. The harmonic content of digital output is discussed. PIC18F4550 Audio Output
The PIC is connected to the DS1307 real time clock. The I2C interface is implemented using ordinary I/0 pins. This approach improves understanding basic I2C protocol and underscores speed limitations of designing serial communications ports. PIC18F4550 I2C Connection to Real Time Clock
2X16 Liquid-crystal Display is interfaced to the PIC18 using a custom 4-bit command/data bus. Example code enabling the PIC to handshake with the HD44780 LCD controller is illustrated. PIC18F4550 LCD Interface
The 18F4550 has 4 timers. How they are configured to measure time is calculated and coded. PIC18F4550 Timers
C-Code to generate a 1 ms delay is created and calibrated using Timer 0. read more ….