Разработка аппаратных средств МПС. Разработка структурной схемы МПС. Разработка микропроцессорного блока, страница 20

150C 22            234                  ret

1600               235  org 1600h

236  keycall:

1600 C0E0          237                          push ACC

1602 E540          238                  mov A,01000000b;команда чтение ОЗУ датчиков

1604 90FF0C        239                  mov DPTR, #0FF0Ch

1607 F0            240  movx @DPTR, A

1608 A3            241  inc DPTR

1609 E0            242                  movx A, @DPTR; ввод кода нажатой клавиши

160A F8            243                  mov R0, A

160B E573          244                  mov A, 0073h; Текущее значение флага режима

160D B40003        245                  cjne A, #0, mp2;Если режим ввода уставки, то вызов ;процедуры по метке

1610 121621        246                  lcall install

1613 B40103        247  mp2:            cjne A, #1, mp3;Если режим вывода, то вызов ;процедуры по метке

1616 12164D        248                  lcall output

1619 B40200        249  mp3:            cjne A, #2, endm

250  ;               hlt

251  endm:

161C D0E0          252  pop ACC

161E C292          253  clr P1.2

1620 22            254          ret

255          Install:; Объявление процедуры

1621 7400          256                  mov A, #0

1623 F573          257                  mov 0073h, A; Сброс флага режима

1625 E8            258                  mov A, R0

1626 B40E06        259                  cjne A, #0Eh, m1; Если клавиша от 1 до 6

1629 9407          260          subb A, #07h; то вычитаем 7, получаем цифру

162B F573          261                  mov 0073h, A; записываем новое К

162D C14C          262                  ajmp instend

263  m1:

162F B41602        264          cjne A, #16h, m2; Если клавиша 7 - С

1632 8006          265          sjmp m3

1634 9409          266  m2:     subb A, #09h; Вычитаем 9, получаем цифру

1636 F573          267          mov 0073h, A; Записываем новое К

1638 C14C          268          ajmp instend

269  m3:

163A B41B02        270          cjne A, #1Bh, m4; Если нажали D - F

163D 8006          271          sjmp m5

163F 940B          272  m4:     subb A, #0Bh; Вычитаем 11, получаем цифру

1641 F573          273          mov 0073h, A; Записываем новое К

1643 C14C          274          ajmp instend

275  m5:

1645 B41C04        276          cjne A, #1Ch, instend; Если нажата клавиша 0

1648 7400          277                  mov A, #0                       ; Формируем 0

164A F573          278          mov 0073h, A; Записываем новое К

279  instend:

164C 22            280          ret                             ; Возврат из процедуры

Ashling Microsystems - A51 Assembler - Version 3.0.0        12-12-99 PAGE   6

LOC   OBJ            LINE   SOURCE

281 

282 

283  Output:

164D E570          284          mov A, 0070h; Текущие значения X1 - X4  сигнализации

164F 90FF14        285          mov DPTR, #0FF14h; Адрес регистра со светодиодами

1652 F0            286          movx @DPTR, A

287          ; Вызов процедуры вывода на дисплей

1653 E571          288          mov A,0071h; A:=Q4

1655 75F00A        289          mov b,#10

1658 84            290          div ab; a:=a div b; b:=a mod b

1659 F8            291          mov R0,A

165A C0E0          292          push ACC

165C E580          293          mov A,10000000b;1-ый символ дисплея

165E 90FF0C        294          mov DPTR, #0FF0Ch

1661 F0            295          movx @DPTR, A

1662 D0E0          296          pop ACC

1664 90FF0D        297          mov DPTR, #0FF0Dh

1667 F0            298          movx @DPTR, A

1668 D083          299          pop DPH

166A D082          300          pop DPL

166C E8            301          mov A, R0

166D C0E0          302          push ACC

166F E581          303          mov A,10000001b;2-ой символ дисплея

1671 90FF0C        304          mov DPTR, #0FF0Ch

1674 F0            305          movx @DPTR, A

1675 22            306          ret

307  end

Ashling Microsystems - A51 Assembler - Version 3.0.0        12-12-99 PAGE   7