Here is a simple PIC16F84A alarm clock. This page summarizes this discussion (in french) in my forum, where Samir (aka numerique1) requested for help to build a weekly alarm clock for his school. Many thanks to him for his tests and patience.

This clock counts seconds, minutes, hours and day of the week.Time is displayed on 4 seven segment LED displays, and is adjustable with three buttons at start time (up, down, enter).You can program the day of the week, hour, minute and duration of the alarms.The number of alarms are limited by ROM space only.The alarm is on the RA4 open collector output of the PIC, and is repeated on a decimal point of the display.

For once, the program is in BASIC (mikroBasic) and I hope it will make a good start for beginners.

First, the BASIC source code.

Note that you can build it either for common cathod or common anode LED display.