Download presentation
Presentation is loading. Please wait.
Published byFrederick James Modified over 9 years ago
1
Ryan Hansgen
2
General System Design MC9S08QE64CFT 24MHz Bus Frequency 64 K byte Flash EEPROM, 4.0 K byte RAM Memory required 8 K bytes ROM 2 K bytes RAM Kernal UCOS_II ○ Real-Time preemptive multitasking kernal ○ 1ms tick time
3
Task Priority Start TaskPriority: 4 Button Task Priority: 5 GetTemperatureTaskPriority: 6 User Interface TaskPriority: 7
4
Modules DigitalThermometer.c Startup Tasks Controls User Interface MLX90614 Gets temperature from IR sensor LCD Button Reads when a button is pressed
5
Modules TasksPublic Functions and Data Digitalthermometer.cStartUpTask UserInterfaceTask Public Functions - Data - MLX90614 (Scott Corbridge) GetTemperatureTask Public Functions MLX90614SMBusIICInit() MLX90614GetTemps() MLX90614Configure() Data CurrentTemp Button.cButtonTask LCD.c (Todd Morton) Public Functions LcdInit(), LcdClrLine(), LcdDispChar(), LcdDispByte(), LcdDispStrg(), LcdMoveCursor(), LcdDispDecByte()
6
StartUp task Creates other tasks Period: Only runs once Execution time: ~ 200ms
7
Button Task Senses button presses Period: 20 ms (sporadic) Execution Time: ~ 400 μs
8
GetTemperatureTask Gets Temperature data from IR sensor Converts to Fahrenheit Period: 200ms Execution time: ~ 100μs
9
UserInterfaceTask State Machine Writes To LCD Activates LED’s Period: 200ms Execution time: ~ 5ms
10
CPU Load L max = (400 us) + (100 us) + (5 ms) (20 ms) (200 ms) (200 ms) L max =.0455 L average =.013
11
Data Flow
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.