By Jesse W. Spalding. Microcontroller Choice Motorola 9S12DP256B ◦ Set to 24 MHz for the Bus Frequency ◦ Memory 256K Bytes of ROM 12K Bytes of

Embed Size (px)

DESCRIPTION

 MicroC/OS-II Real Time Preemptive Multitasking Kernel  By Jean J. Labrosse  Portable and Reusable Design

Citation preview

By Jesse W. Spalding Microcontroller Choice Motorola 9S12DP256B Set to 24 MHz for the Bus Frequency Memory 256K Bytes of ROM 12K Bytes of RAM 4K Bytes of EEPROM MicroC/OS Kernel Timeslice Period of 1ms Semaphores to communicate between tasks MicroC/OS-II Real Time Preemptive Multitasking Kernel By Jean J. Labrosse Portable and Reusable Design 4.Start Task 5.Setup Task 6.Time and Temp Task 7.DAA Task 8.Key Task Description Initializes System Creates Other Tasks Priority: 4 Period of Task is once at start up Estimated Execution Time is approximately 150ms Description The task controls and deciphers the different modules. It does the intertask communication between them all. It interprets users inputs both home user and phone user. It controls the DTMF input and the phone line interface over the DAA. Will also control the relays. Priority: 5 Execution Time: approximately 3.75ms Period: 10ms CPU Load: approximately 0.375 Description It gets information from the RTC (which includes temperature) and also receives alarm which are set up Priority: 6 Execution Time: 40us Period: Every Second CPU Load:.00004 Description: This task samples the RING pin (pin 8) on the DAA for a valid ring. If it does it sets a flag. Priority: 7 Execution Time: 50us Period: 20ms CPU Load:.0025 Code designed by: Leo Wan Description Scans for a valid key input on Port H. Updates the keypad buffer if a key is pressed and verified Priority: 8 Execution Time: 50us Period: 10ms CPU Load: Code designed by: Todd Morton & Thomas Chia Max CPU Load: = Average CPU Load: Approximately 0.3 ModulesTasks Public Functions and Data Main.cStart Task Control Task LCD.c written by Todd Morton LcdInit() LcdClrDisp() LcdMoveCursor() LcdDispStrg() LcdDispChar() LcdDispTime() LcdCursor() Key.c written by Todd Morton and Thomas Chia KeyTask KeyInit() KeyPend() EEProm.c written by Todd Morton EEPROMInit() EESectModify() VoiceCtrl.c written by Justin Klumpp VoiceInit() PlayMSG() DAA.c written by Leo Wan DAA Task DAAInit() DAAOffHook() DAAOnHook() ModulesTasks Public Functions and Data RTCDriver.c written by Todd Morton RTCInit() RTCXfr() VoiceDriver.c written by Jon Peterson VoiceInit() VoiceXfr() TimeTemp.c written by Todd Morton RTC Task Relay() VoiceCtrl.c written by Justin Klumpp VoiceStart() PlayMSG() DTMF.c written by Leo Wan DTMFInit() DTMFWrite() DTMFRead() ThermUI.c parts written by Leo Wan TimeSet() DofWSet() TempSet() SetHys() Alarm1Set() Alarm2Set() PasswordSet() PhoneSet() PhoneTest() UIMain() UIMenu()