Final Project - Introduction For the final project for...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
For the final project for ECE-2325, we were assigned to write a program that combines everything that we’ve done in previous labs. We read in 8 different analog inputs and showed them in 3 different ways: the LCD display, 7-segment display, and LED display. Using Port H, we selected what data was to be shown on each display. We also displayed light intensity information on Port T, which was accomplished with pulse-width modulation and also selected using Port H. Also implemented was a real-time clock in the LCD display that is updated via Timer Overflow Interrupt. Finally, we implemented a password-protected alarm system that produces an alarm sound when tripped. Part of the grading basis for this project is originality, and to satisfy that requirement, we implemented several extra features that will be explained later in this document. Equipment Dragon12 evaluation board MiniIDE and its respective requirements 5V power source 8 potentiometers Procedure 1. Write data tables for the 7-segment display using the graphs given in the project assignment. This includes indoor temperature, outdoor temperature, ambient humidity, and barometric pressure. To do this, write a table for each digit of each type of measurement. There should be 256 items in each table, and each item should be a byte that can be represented directly on the 7-segment display. 2. Write data tables for the LCD display using the graphs for heating fuel and electric power in a similar fashion as you did with the 7-segment tables. This time, use ASCII bytes. 3. Write data tables for the LED display using the graphs for external light intensity and water consumption. Each item should be a byte that can be written directly to the LED display. 4. Begin your main program. a. Initialize the stack pointer and set DDR of all the ports that will be used. Next initialize the ADC control registers, the LCD module, and the XIRQ and TOI interrupt vectors. Then enable TOI, and refresh the LCD. b. Jump to the SetTime subroutine (which is explained in step 5). c. Jump to the SetPasswd subroutine (which is explained in step 6). d. Display a welcome message with the PrintF subroutine e. Enable interrupts at this point. f. Jump to CalcIntens subroutine (which is explained in step 7). g. Jump to CalcLED subroutine (which is explained in step 8). h. Jump to Update subroutine (which is explained in step 9). i. If XIRQ_Flag is not set, branch back to step 4f. (XIRQ_Flag is explained in step 12). j. If it was set, jump to AlarmSys subroutine (which is explained in step 11). 5. Next write your SetTime subroutine. This subroutine gets the current time from the user and stores it into memory, immediately after which it begins incrementing every second. a.
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

This lab report was uploaded on 04/11/2008 for the course ECE 2325 taught by Professor Fernandorios-guiterrez during the Fall '06 term at University of Minnesota Duluth.

Page1 / 13

Final Project - Introduction For the final project for...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online