embedded modelling using uml (bapak hendry setiawan)

14
[email protected] Embedded Modelling using UML Akhmad Hendriawan [email protected]

Upload: panggih-supraja

Post on 16-Aug-2015

16 views

Category:

Engineering


4 download

TRANSCRIPT

[email protected]

Embedded Modelling using UML

Akhmad [email protected]

[email protected]

Desain Jam digital

[email protected]

Desain Jam digital

State Diagram Awal Jam Digital

[email protected]

Desain Jam digital

Konversi dua event

[email protected]

Desain Jam digital

Modifikasi State Diagram

[email protected]

Desain Jam digital

Modifikasi State Diagram

[email protected]

Desain Jam digital

Jam Digital + Alarm

[email protected]

Desain Jam digital

Jam Digital + Alarm

[email protected]

Desain Jam digital

Jam Digital + Alarm

[email protected]

Desain Jam digital

Jam Digital + Alarm

[email protected]

Bagaimana dengan codingnya ?

[email protected]

1- Definisikan State

enum {tampil,ubah_jam,ubah_menit,ubah_detik} state;

[email protected]

2- Schedulling

void System_Update(void){

if (++count>10) { count =0; PORTD ^=(1<<0); if (++ms>=100) { ms=0; ++detik; } if (detik>=60) { detik=0; ++menit; } if (menit>=60) { menit=0; ++jam; }

if (jam>=24) { jam=0; } }}

[email protected]

System_Init(); state=tampil; while(1) { switch (state) { case tampil: display_jam(); if (btn_mode()) state=ubah_jam; break;

case ubah_jam: display_jam(); if (btn_advance()==1) ++jam; if (btn_advance()==2) jam +=10; if (btn_mode()) state=ubah_menit; break;

case ubah_menit: display_jam(); if (btn_advance()==1) ++menit; if (btn_advance()==2) menit +=10; if (btn_mode()) state=ubah_detik; break; case ubah_detik: display_jam(); if (btn_advance()==1) ++detik; if (btn_advance()==2) detik +=10; if (btn_mode()) state=tampil; break; } }

2- State Diagram