The final project in the fall 2014 ECE362 "Microprocessor Systems and Interfaces" course at Indiana University-Purdue University Indianapolis had a couple of choices. My partner, Nathan Wheeler, and I got the "home automation" project. The project was written all in assembly, in the CodeWarrior IDE, for the Motorola HC12. We wound up writing 16K of code, but we met all the requirements and surpassed them.
- Keypad for much user input, each key with a different sound
- LCD display of menu options and various messages
- Switches to control LEDs and climate control
- Potentiometer to select menu options within a room
- Push button for doorbell routine with tune
- IRQ routine to simulate tripping of alarm with sound and LED pattern
- Password options
- Stepper motor turns clockwise for AC, opposite for heat, and slows down as it approaches desired temp
- DC motor is system fan, gradually speeds up and slows down when changing between speeds
It was a hard slog but we enjoyed doing it!