arthelife

EdSim Experiment

Jul 30th, 2022 (edited)
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.59 KB | None | 0 0
  1. ORG 0000H
  2. MAIN:
  3.  
  4. CLR P0.3
  5. CALL ONETWOTHREE
  6. JB F0, DONE
  7.  
  8. CLR P0.2
  9. CALL FOURFIVESIX
  10. JB F0, DONE
  11.  
  12. CLR P0.1
  13. CALL SEVENEIGHTNINE
  14. JB F0, DONE
  15.  
  16. CLR P0.0
  17. CALL ZERO
  18. JB F0, DONE
  19.  
  20. JMP MAIN
  21.  
  22. DONE:
  23.  
  24. JMP $
  25.  
  26. ZERO:
  27.  
  28. JNB P0.5, KEYZERO
  29. RET
  30.  
  31. KEYZERO:
  32.  
  33. SETB F0
  34. MOV R7, #1111000000B
  35. MOV P1, R7
  36. CALL ZEROBINARY
  37. RET
  38.  
  39. SEVENEIGHTNINE:
  40.  
  41. JNB P0.4, KEYNINE
  42. JNB P0.5, KEYEIGHT
  43. JNB P0.6, KEYSEVEN
  44. RET
  45.  
  46. KEYNINE:
  47.  
  48. SETB F0
  49. MOV R7, #10011000B
  50. MOV P1, R7
  51. CALL NINEBINARY
  52. RET
  53.  
  54. KEYEIGHT:
  55.  
  56. SETB F0
  57. MOV R7, #10000000B
  58. MOV P1, R7
  59. CALL EIGHTBINARY
  60. RET
  61.  
  62. KEYSEVEN:
  63.  
  64. SETB F0
  65. MOV R7, #11111000B
  66. MOV P1, R7
  67. CALL SEVENBINARY
  68. RET
  69.  
  70. FOURFIVESIX:
  71.  
  72. JNB P0.4, KEYSIX
  73. JNB P0.5, KEYFIVE
  74. JNB P0.6, KEYFOUR
  75. RET
  76.  
  77. KEYSIX:
  78.  
  79. SETB F0
  80. MOV R7, #10000010B
  81. MOV P1, R7
  82. CALL SIXBINARY
  83. RET
  84.  
  85. KEYFIVE:
  86.  
  87. SETB F0
  88. MOV R7, #10010010B
  89. MOV P1, R7
  90. CALL FIVEBINARY
  91. RET
  92.  
  93. KEYFOUR:
  94.  
  95. SETB F0
  96. MOV R7, #10011001B
  97. MOV P1, R7
  98. CALL FOURBINARY
  99. RET
  100.  
  101. ONETWOTHREE:
  102.  
  103. JNB P0.4, KEYTHREE
  104. JNB P0.5, KEYTWO
  105. JNB P0.6, KEYONE
  106. RET
  107.  
  108. KEYTHREE:
  109.  
  110. SETB F0
  111. MOV R7, #10110000B
  112. MOV P1, R7
  113. CALL THREEBINARY
  114. RET
  115.  
  116. KEYTWO:
  117.  
  118. SETB F0
  119. MOV R7, #10100100B
  120. MOV P1, R7
  121. CALL TWOBINARY
  122. RET
  123.  
  124. KEYONE:
  125.  
  126. SETB F0
  127. MOV R7, #11111001B
  128. MOV P1, R7
  129. CALL ONEBINARY
  130. RET
  131.  
  132. ZEROBINARY:
  133.  
  134. SETB P1.7
  135. SETB P1.6
  136. SETB P1.5
  137. SETB P1.4
  138.  
  139. CLR P1.2
  140. SETB P1.2
  141.  
  142. CLR P1.7
  143. CLR P1.6
  144. CLR P1.5
  145. CLR P1.4
  146.  
  147. CLR P1.2
  148. SETB P1.2
  149.  
  150. CALL DELAY0
  151.  
  152. MOV 30H, #'0'
  153. MOV 31H, #'0'
  154. MOV 32H, #'0'
  155. MOV 33H, #'0'
  156. MOV 34H, #'0'
  157. MOV 35H, #0
  158.  
  159. CLR P1.3
  160.  
  161. CLR P1.7
  162. CLR P1.6
  163. SETB P1.5
  164. CLR P1.4
  165.  
  166. SETB P1.2
  167. CLR P1.2
  168.  
  169. CALL DELAY0
  170.  
  171. SETB P1.2
  172. CLR P1.2
  173.  
  174. SETB P1.7
  175.  
  176. SETB P1.2
  177. CLR P1.2
  178.  
  179. CALL DELAY0
  180.  
  181. CLR P1.7
  182. CLR P1.6
  183. CLR P1.5
  184. CLR P1.4
  185.  
  186. SETB P1.2
  187. CLR P1.2
  188.  
  189. SETB P1.6
  190. SETB P1.5
  191.  
  192. SETB P1.2
  193. CLR P1.2
  194.  
  195. CALL DELAY0
  196.  
  197. CLR P1.7
  198. CLR P1.6
  199. CLR P1.5
  200. CLR P1.4
  201.  
  202. SETB P1.2
  203. CLR P1.2
  204.  
  205. SETB P1.7
  206. SETB P1.6
  207. SETB P1.5
  208. SETB P1.4
  209.  
  210. SETB P1.2
  211. CLR P1.2
  212.  
  213. CALL DELAY0
  214.  
  215. SETB P1.3
  216.  
  217. MOV R1, #30H
  218.  
  219. LOOP0:
  220. MOV A, @R1
  221. JZ FINISH0
  222.  
  223. CALL sendCharacter0
  224. INC R1
  225. JMP LOOP0
  226.  
  227. FINISH0:
  228. RET
  229.  
  230. sendCharacter0:
  231. MOV C, ACC.7
  232. MOV P1.7, C
  233. MOV C, ACC.6
  234. MOV P1.6, C
  235. MOV C, ACC.5
  236. MOV P1.5, C
  237. MOV C, ACC.4
  238. MOV P1.4, C
  239.  
  240. SETB P1.2
  241. CLR P1.2
  242.  
  243. MOV C, ACC.3
  244. MOV P1.7, C
  245. MOV C, ACC.2
  246. MOV P1.6, C
  247. MOV C, ACC.1
  248. MOV P1.5, C
  249. MOV C, ACC.0
  250. MOV P1.4, C
  251.  
  252. SETB P1.2
  253. CLR P1.2
  254.  
  255. CALL DELAY0
  256.  
  257. DELAY0:
  258. MOV R0, #19H
  259. DJNZ R0, $
  260. RET
  261.  
  262. NINEBINARY:
  263.  
  264. SETB P1.7
  265. SETB P1.6
  266. SETB P1.5
  267. SETB P1.4
  268.  
  269. CLR P1.2
  270. SETB P1.2
  271.  
  272. CLR P1.7
  273. CLR P1.6
  274. CLR P1.5
  275. CLR P1.4
  276.  
  277. CLR P1.2
  278. SETB P1.2
  279.  
  280. CALL DELAY9
  281.  
  282. MOV 30H, #'9'
  283. MOV 31H, #'9'
  284. MOV 32H, #'9'
  285. MOV 33H, #'9'
  286. MOV 34H, #'9'
  287. MOV 35H, #0
  288.  
  289. CLR P1.3
  290.  
  291. CLR P1.7
  292. CLR P1.6
  293. SETB P1.5
  294. CLR P1.4
  295.  
  296. SETB P1.2
  297. CLR P1.2
  298.  
  299. CALL DELAY9
  300.  
  301. SETB P1.2
  302. CLR P1.2
  303.  
  304. SETB P1.7
  305.  
  306. SETB P1.2
  307. CLR P1.2
  308.  
  309. CALL DELAY9
  310.  
  311. CLR P1.7
  312. CLR P1.6
  313. CLR P1.5
  314. CLR P1.4
  315.  
  316. SETB P1.2
  317. CLR P1.2
  318.  
  319. SETB P1.6
  320. SETB P1.5
  321.  
  322. SETB P1.2
  323. CLR P1.2
  324.  
  325. CALL DELAY9
  326.  
  327. CLR P1.7
  328. CLR P1.6
  329. CLR P1.5
  330. CLR P1.4
  331.  
  332. SETB P1.2
  333. CLR P1.2
  334.  
  335. SETB P1.7
  336. SETB P1.6
  337. SETB P1.5
  338. SETB P1.4
  339.  
  340. SETB P1.2
  341. CLR P1.2
  342.  
  343. CALL DELAY9
  344.  
  345. SETB P1.3
  346.  
  347. MOV R1, #30H
  348.  
  349. LOOP9:
  350. MOV A, @R1
  351. JZ FINISH9
  352.  
  353. CALL sendCharacter9
  354. INC R1
  355. JMP LOOP9
  356.  
  357. FINISH9:
  358. JMP $
  359.  
  360. sendCharacter9:
  361. MOV C, ACC.7
  362. MOV P1.7, C
  363. MOV C, ACC.6
  364. MOV P1.6, C
  365. MOV C, ACC.5
  366. MOV P1.5, C
  367. MOV C, ACC.4
  368. MOV P1.4, C
  369.  
  370. SETB P1.2
  371. CLR P1.2
  372.  
  373. MOV C, ACC.3
  374. MOV P1.7, C
  375. MOV C, ACC.2
  376. MOV P1.6, C
  377. MOV C, ACC.1
  378. MOV P1.5, C
  379. MOV C, ACC.0
  380. MOV P1.4, C
  381.  
  382. SETB P1.2
  383. CLR P1.2
  384.  
  385. CALL DELAY9
  386.  
  387. DELAY9:
  388. MOV R0, #19H
  389. DJNZ R0, $
  390. RET
  391.  
  392. EIGHTBINARY:
  393.  
  394. SETB P1.7
  395. SETB P1.6
  396. SETB P1.5
  397. SETB P1.4
  398.  
  399. CLR P1.2
  400. SETB P1.2
  401.  
  402. CLR P1.7
  403. CLR P1.6
  404. CLR P1.5
  405. CLR P1.4
  406.  
  407. CLR P1.2
  408. SETB P1.2
  409.  
  410. CALL DELAY
  411.  
  412. MOV 30H, #'8'
  413. MOV 31H, #'8'
  414. MOV 32H, #'8'
  415. MOV 33H, #'8'
  416. MOV 34H, #'8'
  417. MOV 35H, #0
  418.  
  419. CLR P1.3
  420.  
  421. CLR P1.7
  422. CLR P1.6
  423. SETB P1.5
  424. CLR P1.4
  425.  
  426. SETB P1.2
  427. CLR P1.2
  428.  
  429. CALL DELAY
  430.  
  431. SETB P1.2
  432. CLR P1.2
  433.  
  434. SETB P1.7
  435.  
  436. SETB P1.2
  437. CLR P1.2
  438.  
  439. CALL DELAY
  440.  
  441. CLR P1.7
  442. CLR P1.6
  443. CLR P1.5
  444. CLR P1.4
  445.  
  446. SETB P1.2
  447. CLR P1.2
  448.  
  449. SETB P1.6
  450. SETB P1.5
  451.  
  452. SETB P1.2
  453. CLR P1.2
  454.  
  455. CALL DELAY
  456.  
  457. CLR P1.7
  458. CLR P1.6
  459. CLR P1.5
  460. CLR P1.4
  461.  
  462. SETB P1.2
  463. CLR P1.2
  464.  
  465. SETB P1.7
  466. SETB P1.6
  467. SETB P1.5
  468. SETB P1.4
  469.  
  470. SETB P1.2
  471. CLR P1.2
  472.  
  473. CALL DELAY
  474.  
  475. SETB P1.3
  476.  
  477. MOV R1, #30H
  478.  
  479. LOOP8:
  480. MOV A, @R1
  481. JZ FINISH8
  482.  
  483. CALL sendCharacter8
  484. INC R1
  485. JMP LOOP8
  486.  
  487. FINISH8:
  488. JMP $
  489.  
  490. sendCharacter8:
  491. MOV C, ACC.7
  492. MOV P1.7, C
  493. MOV C, ACC.6
  494. MOV P1.6, C
  495. MOV C, ACC.5
  496. MOV P1.5, C
  497. MOV C, ACC.4
  498. MOV P1.4, C
  499.  
  500. SETB P1.2
  501. CLR P1.2
  502.  
  503. MOV C, ACC.3
  504. MOV P1.7, C
  505. MOV C, ACC.2
  506. MOV P1.6, C
  507. MOV C, ACC.1
  508. MOV P1.5, C
  509. MOV C, ACC.0
  510. MOV P1.4, C
  511.  
  512. SETB P1.2
  513. CLR P1.2
  514.  
  515. CALL DELAY8
  516.  
  517. DELAY8:
  518. MOV R0, #19H
  519. DJNZ R0, $
  520. RET
  521.  
  522. SEVENBINARY:
  523.  
  524. SETB P1.7
  525. SETB P1.6
  526. SETB P1.5
  527. SETB P1.4
  528.  
  529. CLR P1.2
  530. SETB P1.2
  531.  
  532. CLR P1.7
  533. CLR P1.6
  534. CLR P1.5
  535. CLR P1.4
  536.  
  537. CLR P1.2
  538. SETB P1.2
  539.  
  540. CALL DELAY7
  541.  
  542. MOV 30H, #'7'
  543. MOV 31H, #'7'
  544. MOV 32H, #'7'
  545. MOV 33H, #'7'
  546. MOV 34H, #'7'
  547. MOV 35H, #0
  548.  
  549. CLR P1.3
  550.  
  551. CLR P1.7
  552. CLR P1.6
  553. SETB P1.5
  554. CLR P1.4
  555.  
  556. SETB P1.2
  557. CLR P1.2
  558.  
  559. CALL DELAY7
  560.  
  561. SETB P1.2
  562. CLR P1.2
  563.  
  564. SETB P1.7
  565.  
  566. SETB P1.2
  567. CLR P1.2
  568.  
  569. CALL DELAY7
  570.  
  571. CLR P1.7
  572. CLR P1.6
  573. CLR P1.5
  574. CLR P1.4
  575.  
  576. SETB P1.2
  577. CLR P1.2
  578.  
  579. SETB P1.6
  580. SETB P1.5
  581.  
  582. SETB P1.2
  583. CLR P1.2
  584.  
  585. CALL DELAY7
  586.  
  587. CLR P1.7
  588. CLR P1.6
  589. CLR P1.5
  590. CLR P1.4
  591.  
  592. SETB P1.2
  593. CLR P1.2
  594.  
  595. SETB P1.7
  596. SETB P1.6
  597. SETB P1.5
  598. SETB P1.4
  599.  
  600. SETB P1.2
  601. CLR P1.2
  602.  
  603. CALL DELAY7
  604.  
  605. SETB P1.3
  606.  
  607. MOV R1, #30H
  608.  
  609. LOOP7:
  610. MOV A, @R1
  611. JZ FINISH7
  612.  
  613. CALL sendCharacter7
  614. INC R1
  615. JMP LOOP7
  616.  
  617. FINISH7:
  618. JMP $
  619.  
  620. sendCharacter7:
  621. MOV C, ACC.7
  622. MOV P1.7, C
  623. MOV C, ACC.6
  624. MOV P1.6, C
  625. MOV C, ACC.5
  626. MOV P1.5, C
  627. MOV C, ACC.4
  628. MOV P1.4, C
  629.  
  630. SETB P1.2
  631. CLR P1.2
  632.  
  633. MOV C, ACC.3
  634. MOV P1.7, C
  635. MOV C, ACC.2
  636. MOV P1.6, C
  637. MOV C, ACC.1
  638. MOV P1.5, C
  639. MOV C, ACC.0
  640. MOV P1.4, C
  641.  
  642. SETB P1.2
  643. CLR P1.2
  644.  
  645. CALL DELAY7
  646.  
  647. DELAY7:
  648. MOV R0, #19H
  649. DJNZ R0, $
  650. RET
  651.  
  652. SIXBINARY:
  653.  
  654. SETB P1.7
  655. SETB P1.6
  656. SETB P1.5
  657. SETB P1.4
  658.  
  659. CLR P1.2
  660. SETB P1.2
  661.  
  662. CLR P1.7
  663. CLR P1.6
  664. CLR P1.5
  665. CLR P1.4
  666.  
  667. CLR P1.2
  668. SETB P1.2
  669.  
  670. CALL DELAY6
  671.  
  672. MOV 30H, #'6'
  673. MOV 31H, #'6'
  674. MOV 32H, #'6'
  675. MOV 33H, #'6'
  676. MOV 34H, #'6'
  677. MOV 35H, #0
  678.  
  679. CLR P1.3
  680.  
  681. CLR P1.7
  682. CLR P1.6
  683. SETB P1.5
  684. CLR P1.4
  685.  
  686. SETB P1.2
  687. CLR P1.2
  688.  
  689. CALL DELAY6
  690.  
  691. SETB P1.2
  692. CLR P1.2
  693.  
  694. SETB P1.7
  695.  
  696. SETB P1.2
  697. CLR P1.2
  698.  
  699. CALL DELAY6
  700.  
  701. CLR P1.7
  702. CLR P1.6
  703. CLR P1.5
  704. CLR P1.4
  705.  
  706. SETB P1.2
  707. CLR P1.2
  708.  
  709. SETB P1.6
  710. SETB P1.5
  711.  
  712. SETB P1.2
  713. CLR P1.2
  714.  
  715. CALL DELAY6
  716.  
  717. CLR P1.7
  718. CLR P1.6
  719. CLR P1.5
  720. CLR P1.4
  721.  
  722. SETB P1.2
  723. CLR P1.2
  724.  
  725. SETB P1.7
  726. SETB P1.6
  727. SETB P1.5
  728. SETB P1.4
  729.  
  730. SETB P1.2
  731. CLR P1.2
  732.  
  733. CALL DELAY6
  734.  
  735. SETB P1.3
  736.  
  737. MOV R1, #30H
  738.  
  739. LOOP6:
  740. MOV A, @R1
  741. JZ FINISH6
  742.  
  743. CALL sendCharacter6
  744. INC R1
  745. JMP LOOP6
  746.  
  747. FINISH6:
  748. JMP $
  749.  
  750. sendCharacter6:
  751. MOV C, ACC.7
  752. MOV P1.7, C
  753. MOV C, ACC.6
  754. MOV P1.6, C
  755. MOV C, ACC.5
  756. MOV P1.5, C
  757. MOV C, ACC.4
  758. MOV P1.4, C
  759.  
  760. SETB P1.2
  761. CLR P1.2
  762.  
  763. MOV C, ACC.3
  764. MOV P1.7, C
  765. MOV C, ACC.2
  766. MOV P1.6, C
  767. MOV C, ACC.1
  768. MOV P1.5, C
  769. MOV C, ACC.0
  770. MOV P1.4, C
  771.  
  772. SETB P1.2
  773. CLR P1.2
  774.  
  775. CALL DELAY6
  776.  
  777. DELAY6:
  778. MOV R0, #19H
  779. DJNZ R0, $
  780. RET
  781.  
  782. FIVEBINARY:
  783.  
  784. SETB P1.7
  785. SETB P1.6
  786. SETB P1.5
  787. SETB P1.4
  788.  
  789. CLR P1.2
  790. SETB P1.2
  791.  
  792. CLR P1.7
  793. CLR P1.6
  794. CLR P1.5
  795. CLR P1.4
  796.  
  797. CLR P1.2
  798. SETB P1.2
  799.  
  800. CALL DELAY5
  801.  
  802. MOV 30H, #'H'
  803. MOV 31H, #'E'
  804. MOV 32H, #'P'
  805. MOV 33H, #'C'
  806. MOV 34H, #'Q'
  807. MOV 35H, #0
  808.  
  809. CLR P1.3
  810.  
  811. CLR P1.7
  812. CLR P1.6
  813. SETB P1.5
  814. CLR P1.4
  815.  
  816. SETB P1.2
  817. CLR P1.2
  818.  
  819. CALL DELAY5
  820.  
  821. SETB P1.2
  822. CLR P1.2
  823.  
  824. SETB P1.7
  825.  
  826. SETB P1.2
  827. CLR P1.2
  828.  
  829. CALL DELAY5
  830.  
  831. CLR P1.7
  832. CLR P1.6
  833. CLR P1.5
  834. CLR P1.4
  835.  
  836. SETB P1.2
  837. CLR P1.2
  838.  
  839. SETB P1.6
  840. SETB P1.5
  841.  
  842. SETB P1.2
  843. CLR P1.2
  844.  
  845. CALL DELAY5
  846.  
  847. CLR P1.7
  848. CLR P1.6
  849. CLR P1.5
  850. CLR P1.4
  851.  
  852. SETB P1.2
  853. CLR P1.2
  854.  
  855. SETB P1.7
  856. SETB P1.6
  857. SETB P1.5
  858. SETB P1.4
  859.  
  860. SETB P1.2
  861. CLR P1.2
  862.  
  863. CALL DELAY5
  864.  
  865. SETB P1.3
  866.  
  867. MOV R1, #30H
  868.  
  869. LOOP5:
  870. MOV A, @R1
  871. JZ FINISH5
  872.  
  873. CALL sendCharacter5
  874. INC R1
  875. JMP LOOP5
  876.  
  877. FINISH5:
  878. JMP $
  879.  
  880. sendCharacter5:
  881. MOV C, ACC.7
  882. MOV P1.7, C
  883. MOV C, ACC.6
  884. MOV P1.6, C
  885. MOV C, ACC.5
  886. MOV P1.5, C
  887. MOV C, ACC.4
  888. MOV P1.4, C
  889.  
  890. SETB P1.2
  891. CLR P1.2
  892.  
  893. MOV C, ACC.3
  894. MOV P1.7, C
  895. MOV C, ACC.2
  896. MOV P1.6, C
  897. MOV C, ACC.1
  898. MOV P1.5, C
  899. MOV C, ACC.0
  900. MOV P1.4, C
  901.  
  902. SETB P1.2
  903. CLR P1.2
  904.  
  905. CALL DELAY5
  906.  
  907. DELAY5:
  908. MOV R0, #19H
  909. DJNZ R0, $
  910. RET
  911.  
  912. FOURBINARY:
  913.  
  914. SETB P1.7
  915. SETB P1.6
  916. SETB P1.5
  917. SETB P1.4
  918.  
  919. CLR P1.2
  920. SETB P1.2
  921.  
  922. CLR P1.7
  923. CLR P1.6
  924. CLR P1.5
  925. CLR P1.4
  926.  
  927. CLR P1.2
  928. SETB P1.2
  929.  
  930. CALL DELAY4
  931.  
  932. MOV 30H, #'4'
  933. MOV 31H, #'4'
  934. MOV 32H, #'4'
  935. MOV 33H, #'4'
  936. MOV 34H, #'4'
  937. MOV 35H, #0
  938.  
  939. CLR P1.3
  940.  
  941. CLR P1.7
  942. CLR P1.6
  943. SETB P1.5
  944. CLR P1.4
  945.  
  946. SETB P1.2
  947. CLR P1.2
  948.  
  949. CALL DELAY4
  950.  
  951. SETB P1.2
  952. CLR P1.2
  953.  
  954. SETB P1.7
  955.  
  956. SETB P1.2
  957. CLR P1.2
  958.  
  959. CALL DELAY4
  960.  
  961. CLR P1.7
  962. CLR P1.6
  963. CLR P1.5
  964. CLR P1.4
  965.  
  966. SETB P1.2
  967. CLR P1.2
  968.  
  969. SETB P1.6
  970. SETB P1.5
  971.  
  972. SETB P1.2
  973. CLR P1.2
  974.  
  975. CALL DELAY4
  976.  
  977. CLR P1.7
  978. CLR P1.6
  979. CLR P1.5
  980. CLR P1.4
  981.  
  982. SETB P1.2
  983. CLR P1.2
  984.  
  985. SETB P1.7
  986. SETB P1.6
  987. SETB P1.5
  988. SETB P1.4
  989.  
  990. SETB P1.2
  991. CLR P1.2
  992.  
  993. CALL DELAY4
  994.  
  995. SETB P1.3
  996.  
  997. MOV R1, #30H
  998.  
  999. LOOP4:
  1000. MOV A, @R1
  1001. JZ FINISH4
  1002.  
  1003. CALL sendCharacter4
  1004. INC R1
  1005. JMP LOOP4
  1006.  
  1007. FINISH4:
  1008. JMP $
  1009.  
  1010. sendCharacter4:
  1011. MOV C, ACC.7
  1012. MOV P1.7, C
  1013. MOV C, ACC.6
  1014. MOV P1.6, C
  1015. MOV C, ACC.5
  1016. MOV P1.5, C
  1017. MOV C, ACC.4
  1018. MOV P1.4, C
  1019.  
  1020. SETB P1.2
  1021. CLR P1.2
  1022.  
  1023. MOV C, ACC.3
  1024. MOV P1.7, C
  1025. MOV C, ACC.2
  1026. MOV P1.6, C
  1027. MOV C, ACC.1
  1028. MOV P1.5, C
  1029. MOV C, ACC.0
  1030. MOV P1.4, C
  1031.  
  1032. SETB P1.2
  1033. CLR P1.2
  1034.  
  1035. CALL DELAY4
  1036.  
  1037. DELAY4:
  1038. MOV R0, #19H
  1039. DJNZ R0, $
  1040. RET
  1041.  
  1042. THREEBINARY:
  1043.  
  1044. SETB P1.7
  1045. SETB P1.6
  1046. SETB P1.5
  1047. SETB P1.4
  1048.  
  1049. CLR P1.2
  1050. SETB P1.2
  1051.  
  1052. CLR P1.7
  1053. CLR P1.6
  1054. CLR P1.5
  1055. CLR P1.4
  1056.  
  1057. CLR P1.2
  1058. SETB P1.2
  1059.  
  1060. CALL DELAY3
  1061.  
  1062. MOV 30H, #'3'
  1063. MOV 31H, #'3'
  1064. MOV 32H, #'3'
  1065. MOV 33H, #'3'
  1066. MOV 34H, #'3'
  1067. MOV 35H, #0
  1068.  
  1069. CLR P1.3
  1070.  
  1071. CLR P1.7
  1072. CLR P1.6
  1073. SETB P1.5
  1074. CLR P1.4
  1075.  
  1076. SETB P1.2
  1077. CLR P1.2
  1078.  
  1079. CALL DELAY3
  1080.  
  1081. SETB P1.2
  1082. CLR P1.2
  1083.  
  1084. SETB P1.7
  1085.  
  1086. SETB P1.2
  1087. CLR P1.2
  1088.  
  1089. CALL DELAY3
  1090.  
  1091. CLR P1.7
  1092. CLR P1.6
  1093. CLR P1.5
  1094. CLR P1.4
  1095.  
  1096. SETB P1.2
  1097. CLR P1.2
  1098.  
  1099. SETB P1.6
  1100. SETB P1.5
  1101.  
  1102. SETB P1.2
  1103. CLR P1.2
  1104.  
  1105. CALL DELAY3
  1106.  
  1107. CLR P1.7
  1108. CLR P1.6
  1109. CLR P1.5
  1110. CLR P1.4
  1111.  
  1112. SETB P1.2
  1113. CLR P1.2
  1114.  
  1115. SETB P1.7
  1116. SETB P1.6
  1117. SETB P1.5
  1118. SETB P1.4
  1119.  
  1120. SETB P1.2
  1121. CLR P1.2
  1122.  
  1123. CALL DELAY3
  1124.  
  1125. SETB P1.3
  1126.  
  1127. MOV R1, #30H
  1128.  
  1129. LOOP3:
  1130. MOV A, @R1
  1131. JZ FINISH3
  1132.  
  1133. CALL sendCharacter3
  1134. INC R1
  1135. JMP LOOP3
  1136.  
  1137. FINISH3:
  1138. JMP $
  1139.  
  1140. sendCharacter3:
  1141. MOV C, ACC.7
  1142. MOV P1.7, C
  1143. MOV C, ACC.6
  1144. MOV P1.6, C
  1145. MOV C, ACC.5
  1146. MOV P1.5, C
  1147. MOV C, ACC.4
  1148. MOV P1.4, C
  1149.  
  1150. SETB P1.2
  1151. CLR P1.2
  1152.  
  1153. MOV C, ACC.3
  1154. MOV P1.7, C
  1155. MOV C, ACC.2
  1156. MOV P1.6, C
  1157. MOV C, ACC.1
  1158. MOV P1.5, C
  1159. MOV C, ACC.0
  1160. MOV P1.4, C
  1161.  
  1162. SETB P1.2
  1163. CLR P1.2
  1164.  
  1165. CALL DELAY3
  1166.  
  1167. DELAY3:
  1168. MOV R0, #19H
  1169. DJNZ R0, $
  1170. RET
  1171.  
  1172. TWOBINARY:
  1173.  
  1174. SETB P1.7
  1175. SETB P1.6
  1176. SETB P1.5
  1177. SETB P1.4
  1178.  
  1179. CLR P1.2
  1180. SETB P1.2
  1181.  
  1182. CLR P1.7
  1183. CLR P1.6
  1184. CLR P1.5
  1185. CLR P1.4
  1186.  
  1187. CLR P1.2
  1188. SETB P1.2
  1189.  
  1190. CALL DELAY2
  1191.  
  1192. MOV 30H, #'2'
  1193. MOV 31H, #'2'
  1194. MOV 32H, #'2'
  1195. MOV 33H, #'2'
  1196. MOV 34H, #'2'
  1197. MOV 35H, #0
  1198.  
  1199. CLR P1.3
  1200.  
  1201. CLR P1.7
  1202. CLR P1.6
  1203. SETB P1.5
  1204. CLR P1.4
  1205.  
  1206. SETB P1.2
  1207. CLR P1.2
  1208.  
  1209. CALL DELAY2
  1210.  
  1211. SETB P1.2
  1212. CLR P1.2
  1213.  
  1214. SETB P1.7
  1215.  
  1216. SETB P1.2
  1217. CLR P1.2
  1218.  
  1219. CALL DELAY2
  1220.  
  1221. CLR P1.7
  1222. CLR P1.6
  1223. CLR P1.5
  1224. CLR P1.4
  1225.  
  1226. SETB P1.2
  1227. CLR P1.2
  1228.  
  1229. SETB P1.6
  1230. SETB P1.5
  1231.  
  1232. SETB P1.2
  1233. CLR P1.2
  1234.  
  1235. CALL DELAY2
  1236.  
  1237. CLR P1.7
  1238. CLR P1.6
  1239. CLR P1.5
  1240. CLR P1.4
  1241.  
  1242. SETB P1.2
  1243. CLR P1.2
  1244.  
  1245. SETB P1.7
  1246. SETB P1.6
  1247. SETB P1.5
  1248. SETB P1.4
  1249.  
  1250. SETB P1.2
  1251. CLR P1.2
  1252.  
  1253. CALL DELAY2
  1254.  
  1255. SETB P1.3
  1256.  
  1257. MOV R1, #30H
  1258.  
  1259. LOOP2:
  1260. MOV A, @R1
  1261. JZ FINISH2
  1262.  
  1263. CALL sendCharacter2
  1264. INC R1
  1265. JMP LOOP2
  1266.  
  1267. FINISH2:
  1268. JMP $
  1269.  
  1270. sendCharacter2:
  1271. MOV C, ACC.7
  1272. MOV P1.7, C
  1273. MOV C, ACC.6
  1274. MOV P1.6, C
  1275. MOV C, ACC.5
  1276. MOV P1.5, C
  1277. MOV C, ACC.4
  1278. MOV P1.4, C
  1279.  
  1280. SETB P1.2
  1281. CLR P1.2
  1282.  
  1283. MOV C, ACC.3
  1284. MOV P1.7, C
  1285. MOV C, ACC.2
  1286. MOV P1.6, C
  1287. MOV C, ACC.1
  1288. MOV P1.5, C
  1289. MOV C, ACC.0
  1290. MOV P1.4, C
  1291.  
  1292. SETB P1.2
  1293. CLR P1.2
  1294.  
  1295. CALL DELAY2
  1296.  
  1297. DELAY2:
  1298. MOV R0, #19H
  1299. DJNZ R0, $
  1300. RET
  1301.  
  1302.  
  1303. ONEBINARY:
  1304.  
  1305. SETB P1.7
  1306. SETB P1.6
  1307. SETB P1.5
  1308. SETB P1.4
  1309.  
  1310. CLR P1.2
  1311. SETB P1.2
  1312.  
  1313. CLR P1.7
  1314. CLR P1.6
  1315. CLR P1.5
  1316. CLR P1.4
  1317.  
  1318. CLR P1.2
  1319. SETB P1.2
  1320.  
  1321. MOV P1, #0FFH
  1322. MOV P0, #0FFH
  1323.  
  1324. CALL DELAY
  1325.  
  1326. MOV 30H, #'1'
  1327. MOV 31H, #'1'
  1328. MOV 32H, #'1'
  1329. MOV 33H, #'1'
  1330. MOV 34H, #'1'
  1331. MOV 35H, #'1'
  1332. MOV 36H, #'1'
  1333. MOV 37H, #'1'
  1334. MOV 38H, #0
  1335.  
  1336. CLR P1.3
  1337.  
  1338. CLR P1.7
  1339. CLR P1.6
  1340. SETB P1.5
  1341. CLR P1.4
  1342.  
  1343. SETB P1.2
  1344. CLR P1.2
  1345.  
  1346. CALL DELAY
  1347.  
  1348. SETB P1.2
  1349. CLR P1.2
  1350.  
  1351. SETB P1.7
  1352.  
  1353. SETB P1.2
  1354. CLR P1.2
  1355.  
  1356. CALL DELAY
  1357.  
  1358. CLR P1.7
  1359. CLR P1.6
  1360. CLR P1.5
  1361. CLR P1.4
  1362.  
  1363. SETB P1.2
  1364. CLR P1.2
  1365.  
  1366. SETB P1.6
  1367. SETB P1.5
  1368.  
  1369. SETB P1.2
  1370. CLR P1.2
  1371.  
  1372. CALL DELAY
  1373.  
  1374. CLR P1.7
  1375. CLR P1.6
  1376. CLR P1.5
  1377. CLR P1.4
  1378.  
  1379. SETB P1.2
  1380. CLR P1.2
  1381.  
  1382. SETB P1.7
  1383. SETB P1.6
  1384. SETB P1.5
  1385. SETB P1.4
  1386.  
  1387. SETB P1.2
  1388. CLR P1.2
  1389.  
  1390. CALL DELAY
  1391.  
  1392. SETB P1.3
  1393.  
  1394. MOV R1, #30H
  1395.  
  1396. LOOP:
  1397. MOV A, @R1
  1398. JZ FINISH
  1399.  
  1400. CALL sendCharacter
  1401. INC R1
  1402. JMP LOOP
  1403.  
  1404. FINISH:
  1405. RET
  1406.  
  1407. sendCharacter:
  1408. MOV C, ACC.7
  1409. MOV P1.7, C
  1410. MOV C, ACC.6
  1411. MOV P1.6, C
  1412. MOV C, ACC.5
  1413. MOV P1.5, C
  1414. MOV C, ACC.4
  1415. MOV P1.4, C
  1416.  
  1417. SETB P1.2
  1418. CLR P1.2
  1419.  
  1420. MOV C, ACC.3
  1421. MOV P1.7, C
  1422. MOV C, ACC.2
  1423. MOV P1.6, C
  1424. MOV C, ACC.1
  1425. MOV P1.5, C
  1426. MOV C, ACC.0
  1427. MOV P1.4, C
  1428.  
  1429. SETB P1.2
  1430. CLR P1.2
  1431.  
  1432. CALL DELAY
  1433.  
  1434. DELAY:
  1435. MOV R0, #19H
  1436. DJNZ R0, $
  1437. RET
  1438.  
  1439. END
Add Comment
Please, Sign In to add comment