embedded modelling using uml (bapak hendry setiawan)
TRANSCRIPT
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; } }}
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