Xem mẫu

  1. Chương 11: CHÖÔNG TRÌNH ÑIEÀU KHIEÅN A. THUAÄT GIAÛI I. Chöông trình chính: Ñeå caùc thieát bò hoaït ñoäng ñöôïc ñaàu tieân phaûi khôûi ñoäng caùc thieát bò ngoaïi vi, khôûi ñoäng Timer cho pheùp ngaét. Sau ñoù goïi chöông trình nhaäp soá hoäp, nhaäp soá saûn phaåm. Neáu ñoàng yù soá ñeám ñaõ nhaäp vaøo thì cho pheùp baêng chuyeàn hoaït ñoäng (ñoùng role BC). Ñoïc döõ lieäu töø caûm bieán (ñaàu doø). Neáu coù saûn phaåm ñi qua thì goïi chöông trình ñeám. Neáu ñuû saûn phaåm moät hoäp thì goïi role ñoùng hoäp ñoàng thôøi goïi chöông trình ñeám hoäp.. Neáu ñuû soá hoäp thì baêng chuyeàn ngöng hoaït ñoäng vaø chôø cho ca tieáp theo. Khi ñaõ hoaøn thaønh 9 ca saûn phaåm thì quay laïi laøm töø ca 1.
  2. -Khôûi ñoäng thieát bò ngoaïi vi -Khôûi ñoäng thanh ghi Timer, cho pheùp ngaét -Naïp giaù trò ñaàu #00H vaøo caùc oâ nhôù Ca: = 0 Ca: =Ca + 1 - Goïi chöông trình con nhaäp hoäp - Goïi chöông trình con nhaäp saûn phaåm - Cho pheùp baêng truyeàn hoaït ñoäng Goïi chöông trình con ñaàu doø (DAUDO) Ñeám saûn phaåm S Ñuû SP Ro-le ñoùng hoäp, ñeám hoäp (RL – ÑH) S Ñuû hoäp - Cho pheùp baêng chuyeàn ngöng hoaït ñoäng - Goïi chöông trình löu soá hoäp, soá saûn phaåm - Goïi chöông trình con doø phím (IN – HEX) S S Phím E Ca = 9 - Goïi chöông trình xem soá lieäu löu baát kì ca naøo
  3. Löu ñoà thuaät giaûi chöông trình chính II. CAÙC CHÖÔNG TRÌNH CON: 1. Chöông trình con khôûi ñoäng ngoaïi vi: 8255 chæ hoaït ñoäng khi naïp cho noù töø ñieàu khieån vì vaäy ñeå giao tieáp vôùi caùc thieát bò ngoaïi vi caàn khôûi ñoäng cho caùc oâ nhôù cuûa 8255 Baét ñaàu Khôûi ñoäng 8255 - 1 Naïp giaù trò ban ñaàu cho role baêng truyeàn Naïp giaù trò ban ñaàu cho ngoõ döï phoøng Khôûi ñoäng 8255 - 2
  4. 2. Chöông trình ngaét hieån thò: Trong chöông trình ngaét, thôøi gian ngaét ñöôïc xaùc ñònh baèng côø traøn timer. Nhö vaäy cöù sau 250 s caùc led laïi ñöôïc queùt. Vôùi thôøi gian ngaét nhoû, döõ lieäu ra khoù coù theå quan saùt ñöôïc vì vaäy delay sau moãi laàn hieån thò baèng vieäc giaûm thanh ghi R2. Khi R2 = 0 cho pheùp xuaát döõ lieäu ra hieån thò. Caùc Led seõ ñöôïc queùt lieân tuïc töø Led 77ñeán Led 70, vôùi döõ lieäu xuaát ra hieån thò töø oâ nhôù 77H ñeán oâ nhôù 70H. Löu ñoà thuaät giaûi nhö sau: Baét ñaàu Cho pheùp ngaét R2 - 1 R2 = 0 S Ñ TOÁC ÑOÄ 1  R2 Choïn led hieån thò Xuaát döõ lieäu ra led R1 - 1 R1 = # 69H S Ñ R1  # 77H Thoaùt 1 Ret
  5. 3. Chöông trình con nhaán soá Chöông trình naøy cho pheùp nhaäp soá thaäp phaân. Neáu phím nhaán töø 0 ñeán 9 thì nhaän soá coøn phím töø A ñeán F thì xoùa soá. Soá nhaän thì bit 7D = [0], 7E = [0]. Sau khi nhaäp soá lieäu xong neáu thaáy qua led hieån thò ñuùng soá lieäu ñaõ nhaäp vaøo thì nhaán phím A töùc laø ñaët bit YES = 1 (7E = 1) ñeå keát thuùc quaù trình nhaäp soá lieäu. Coøn ñang nhaäp neáu muoán boû soá lieäu vöøa nhaäp vaøo thì nhaán phím phím B töùc laø ñaët bit NO = 1 (7D = 1). Khi nhaäp xong soá saûn phaåm vaø soá hoäp thoâng qua chöông trình con nhaán soá naøy thì nhaán phím C töùc laø cho pheùp saûn phaåm töø luùc naøy ñi qua ñaàu doø vaø baét ñaàu ñeám. Baét ñaàu Xoùa bit YES Xoaù bit NO Goïi chöông trình doø phím