Xem mẫu

  1. Chương 12: Chöông trình taêng 1 Cöù coù moät saûn phaåm ñi qua ñaàu doø (chuù yù ngoõ ra chaân 8 cuûa IC567 töø nöùc logic 0 leân möùc 1 sau ñoù ñöôïc ñöa qua coång ñaûo neân ngoõ ra laø möùc logic 0) ñöôïc ñöa vaøo bit 0 cuûa port B1 seõ laøm thay ñoåi möùc logic töø 1 xuoáng 0 thì oâ nhôù duøng cho vieäc ñeám saûn phaåm seõ ñöôïc taêng leân moät ñôn vò thoâng qua vieäc goïi chöông trình con taêng 1, vaø khi ñuû soá saûn phaåm thì oâ nhôù duøng cho vieäc ñeám soá hoäp cuõng ñöôïc taêng leân moät ñôn vò thoâng qua chöông trình con taêng 1, vaø cöù moãi laàn nhö vaäy söï thay ñoåi soá lieäu trong caùc oâ nhôù ñöôïc ñaåy lieân tuïc ra led ñeå hieån thò. Vì ñeám saûn phaåm ñeán toái ña laø 999 vaø ñeám soá hoäp toái ña laø 9999 neân phaûi söû duïng 2 byte ñeå ñeám saûn phaåm töø haøng ñôn vò ñeán haøng chuïc söû duïng byte thaáp, coøn haøng traêm vaø haøng ngaøn söû duïng byte cao. Neân khi so saùnh soá lieäu ñang ñeám vôùi soá lieäu ñaõ löu ban ñaàu xem ñaõ baèng chöa thì phaûi so saùnh laàn löôït byte cao tröôùc töùc laø haøng ngaøn, haøng traêm sau ñoù tôùi byte thaáp töùc laø haøng chuïc haøng ñôn vò. Baét ñaàu Xoùa côø traøn phuï AC Xoùa côø traøn C A  A +1 Hieäu chænh thaäp phaân thanh ghi A RET
  2. 5. Chöông trình con kieåm tra phím aán: IN – HEX Neáu nhö coù phím ñöôïc aán thì bit C = 0. Vì coù khoaûng thôøi gian nhaán phím neân goïi chöông trình doø tìm maõ phím aán 50 laàn baèng vieäc naïp 50 vaøo R3 vaø giaûm R3. Khi R3 = 0 thì caát maõ phím vaøo ngaên xeáp. Trong luùc ñôïi phím ñöôïc nhaû ra goïi chöông trình doø tìm maõ phím aán 50 laàn ñeå xem phím coù coøn ñöôïc nhaán nöõa hay khoâng. Khi R3 = 0 thì laáy maõ phím trao cho thanh ghi A.
  3. Löu ñoà thuaät giaûi kieåm tra phím aán Baét ñaàu #50 (R3) #50 (R3) Goïi CT doø maõ phím C= 0 Ñ Khoâng coù phím aán S Coù phím aán R3 - 1 R3= 0 S Ñ Caát ACC #50 (R3) Goïi CT doø maõ phím Ñ C=1 S R3 - 1 S R3= 0 Ñ Laáy ACC RET
  4. 6. Chöông trình doø maõ phím aán: 8051 luoân ñoïc döõ lieäu töø Port 1 ñeå doø tìm maõ phím. Khi coù moät phím ñöôïc aán thì côø C = 1 vaø maõ cuûa phím aán ñöôïc löu taïm thôøi vaøo thanh ghi R6. Sau ñoù taêng daàn R6 leân 4 ñôn vò ñeå doø maõ phím tieáp theo, (maõ phím ) (A) Baét ñaàu #FE  A # 4  R6 A  R7 A  P1 Ñoïc port 1 A AND #0F0H S R7  A A = # Xoay A R6 =0 S Ñ R6 - 1 Ñ A  R7 #4  A XOÙ XOÙA C A –R6 A  R6
  5. 7. Chöông trình ñaàu doø: 8051 luoân luoân ñoïc döõ lieäu töø ñaàu doø (Port B4) neân noäi dung thanh ghi A baèng noäi dung oâ nhôù 4001H. Cöù moãi saûn phaåm
  6. ñi tôùi caûm bieán, caûm bieán seõ taïo ra möùc logic ñieän aùp cao 5 volt, luùc ñoù Port B.0 = 1 = ACC.0 . Vì coù khoaûng thôøi gian saûn phaåm ñi qua neân möùc logic ñieän aùp phaûi toàn taïi ít nhaát khoaûng 100s do ñoù phaûi lieân tuïc kieåm tra döõ lieäu töø ñaàu doø. Khi möùc logic ñieän aùp chuyeån töø 1 xuoáng 0 (töông öùng vôùi 1 saûn phaåm ñaõ ñi qua caûm bieán). thì phaûi coù khoaûng thôøi gian ít nhaát ñeå chôø saûn phaåm tieáp theo ñi tôùi neân möùc logic thaáp cuõng phaûi toàn taïi ít nhaát 100s. Doø möùc ñieän aùp trong khoaûng thôøi gian 100 s baèng caùch naïp 100 vaøo R3, giaûm R3, khi R3  0 vaãn tieáp tuïc doø möùc. Löu ñoà thuaät giaûi doø möùc ñieän aùp nhö sau: Baét ñaàu DPTR  # CAÛM BIEÁN A  @DPTR ACC. 0 =1 Ñ S R3 - 1 R3 = 0 Ñ S R3  #100 A  @DPTR (ñoïc port B1) ACC.0 = 0 Ñ S R3 - 1 R3 = 0 Ñ S RET
  7. 8. Chöông trình Blank: xoùa soá 0 khoâng coù nghóa Chöông trình naøy coù yù nghóa nhö sau: khi soá saûn phaåm hay soá hoäp chæ tôùi haøng ñôn vò, chuïc, traêm thì nhöõng soá 0 ñöùng tröôùc noù khoâng coù nghóa bò loaïi boû (khoâng saùng ) vaø caùc oâ nhôù coù nghóa ñöôïc löu (laàn löôït töø haøng ñôn vò  haøng ngaøn) vaøo caùc oâ nhôù töø 70H 77H. Loaïi boû baèng caùch so saùnh giaù trò lôùn nhaát haøng ngaøn vôùi soá 0 neáu ñuùng laø 0 thì xoùa led hieån thò haøng ngaøn, tieáp tuïc so saùnh xem oâ nhôù haøng traêm vôùi soá 0 neáu ñuùng laø 0 thì xoùa led hieån thò haøng traêm, töông töï cho haøng chuïc, coøn oâ nhôù haøng ñôn vò giaù trò baèng bao nhieâu thì led haøng ñôn vò cuõng hieån thò. Baté ñaàu A  DEMHOP H LED 70  NGAN LED 71  TRAM A  DEMHOP L LED 72  CHUC LED 73  DONVI
  8. ( 1) S A =0 Xoùa LED 70 A  LED 71 S A =0 Ñ Xoùa LED 71 A  LED 72 A= Ñ Xoùa LED 72 A  LED 75 S A= Ñ Xoùa LED 75 A  LED 76 A Ñ Xoùa LED 76 RET Chöông trình blank