找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3041|回复: 1
打印 上一主题 下一主题
收起左侧

12864液晶屏测试程序(汇编)

[复制链接]
跳转到指定楼层
楼主
ID:70976 发表于 2014-12-26 22:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


  1.         DI   BIT  P4.0
  2.         RW   BIT  P4.1
  3.         E    BIT  P4.2
  4.         PSB  BIT P2.7
  5.         RESET BIT P2.3
  6.         LCDBG BIT P4.3
  7.         ORG 00H
  8.         AJMP MAIN
  9.         ORG 0030H
  10. MAIN:
  11.         SETB PSB
  12.         CLR LCDBG
  13.         MOV SP,#40H
  14.         LCALL INIT
  15.         LCALL BMP1              ;全屏显示花格子
  16. LCALL DEL200MS
  17. LCALL BMP2              ;全屏显示另一种花格子
  18. LCALL DEL200MS
  19. LCALL BMP4              ;全屏显示大方格,每行8个,共32个
  20. LCALL DEL200MS

  21.         MOV R1,#0D2H           ;全屏显示“液”
  22. MOV R0,#0BAH
  23. LCALL BMP3
  24. LCALL DEL200MS

  25. MOV R1,#0BEH           ;全屏显示“示”
  26. MOV R0,#0A7H
  27. LCALL BMP3
  28. LCALL DEL200MS

  29. MOV R1,#0C6H           ;全屏显示“屏”
  30. MOV R0,#0C1H
  31. LCALL BMP3
  32. LCALL DEL200MS


  33.         LCALL BMP5             ;全屏显示“晶汉达”等文字
  34.         LCALL DEL200MS

  35.         AJMP MAIN
  36. BMP1:                           ;全屏显示花格子
  37.         MOV R3,#20H
  38. MOV A,#40H
  39. LCALL WC1
  40. MOV A,#0AAH
  41. MOV R4,#02H
  42. BMP10:
  43. LCALL WD1
  44. DJNZ R4,BMP100
  45. CPL A
  46. MOV R4,#02H
  47. BMP100:
  48. DJNZ R3,BMP10

  49. MOV R3,#20H
  50. MOV A,#80H
  51.         LCALL WC1
  52. BMP11:
  53.         MOV A,#00H
  54. LCALL WD1
  55. MOV A,#00H
  56. LCALL WD1
  57. DJNZ R3,BMP11
  58. RET
  59. BMP2:
  60.         MOV R3,#80H             ;128个
  61. MOV A,#60H              ;造字CGRAM,可以自定义
  62. LCALL WC1
  63. MOV A,#0FFH
  64. BMP20:
  65. DJNZ R3,BMP20

  66. MOV R3,#80H
  67. MOV A,#80H
  68.         LCALL WC1
  69. BMP21:
  70.         MOV A,#00H
  71. LCALL WD1
  72. MOV A,#02H
  73. LCALL WD1
  74. DJNZ R3,BMP21
  75. RET
  76. BMP3:
  77.         MOV R3,#20H            ;显示32个字
  78. MOV A,#80H             ;从第1行第1个地址开始显示
  79. LCALL WC1
  80. BMP31:
  81.         MOV A,R1
  82. LCALL WD1
  83. MOV A,R0
  84. LCALL WD1
  85. DJNZ R3,BMP31
  86. RET
  87. BMP4:                          ;自定义图片,显示方格“口”
  88. MOV A,#40H             ;造字CGRAM
  89. LCALL WC1

  90. MOV A,#0FFH            ;第一行显示
  91. LCALL WD1
  92. MOV A,#0FFH
  93. LCALL WD1

  94. MOV A,#80H
  95. LCALL WD1
  96. MOV A,#01H
  97. LCALL WD1

  98. MOV A,#80H
  99. LCALL WD1
  100. MOV A,#01H
  101. LCALL WD1

  102.         MOV A,#80H
  103. LCALL WD1
  104. MOV A,#01H
  105. LCALL WD1

  106.         MOV A,#80H
  107. LCALL WD1
  108. MOV A,#01H
  109. LCALL WD1

  110. MOV A,#80H
  111. LCALL WD1
  112. MOV A,#01H
  113. LCALL WD1

  114.         MOV A,#80H
  115. LCALL WD1
  116. MOV A,#01H
  117. LCALL WD1

  118.         MOV A,#80H
  119. LCALL WD1
  120. MOV A,#01H
  121. LCALL WD1

  122. MOV A,#80H
  123. LCALL WD1
  124. MOV A,#01H
  125. LCALL WD1

  126.         MOV A,#80H
  127. LCALL WD1
  128. MOV A,#01H
  129. LCALL WD1

  130.         MOV A,#80H
  131. LCALL WD1
  132. MOV A,#01H
  133. LCALL WD1

  134. MOV A,#80H
  135. LCALL WD1
  136. MOV A,#01H
  137. LCALL WD1

  138.         MOV A,#80H
  139. LCALL WD1
  140. MOV A,#01H
  141. LCALL WD1

  142.         MOV A,#80H
  143. LCALL WD1
  144. MOV A,#01H
  145. LCALL WD1

  146.         MOV A,#80H
  147. LCALL WD1
  148. MOV A,#01H
  149. LCALL WD1


  150. MOV A,#0FFH           ;第一字符最后一行显示
  151. LCALL WD1
  152. MOV A,#0FFH
  153. LCALL WD1

  154. MOV A,#80H
  155.         LCALL WC1
  156. BMP41:
  157.         MOV A,#00H
  158. LCALL WD1
  159. MOV A,#00H
  160. LCALL WD1
  161. DJNZ R3,BMP41
  162. RET
  163. BMP5:                        ;第5幅画面
  164.         MOV A,#01H           ;清除显示
  165. LCALL WC1            ;写指令
  166.         MOV A,#82H           ;从第一行第3个地址开始显示
  167.         LCALL WC1

  168.         MOV A,#0BEH          ;显示“晶”(查表得编码BEA7)
  169.         LCALL WD1            ;写数据
  170.         MOV A,#0A7H
  171.         LCALL WD1

  172.         MOV A,#0BAH          ;显示“汉”
  173.         LCALL WD1
  174.         MOV A,#0BAH
  175.         LCALL WD1

  176.         MOV A,#0B4H          ;显示“达”
  177.         LCALL WD1
  178.         MOV A,#0EFH
  179.         LCALL WD1

  180.         MOV A,#91H           ;从第二行第2个地址开始显示
  181.         LCALL WC1            ;写指令

  182.         MOV A,#0A3H          ;显示“1”
  183.         LCALL WD1
  184.         MOV A,#0B1H
  185.         LCALL WD1

  186.         MOV A,#0A3H          ;显示“2”
  187.         LCALL WD1
  188.         MOV A,#0B2H
  189.         LCALL WD1

  190.         MOV A,#0A3H          ;显示“8”
  191.         LCALL WD1
  192.         MOV A,#0B8H
  193.         LCALL WD1

  194.         MOV A,#0A3H          ;显示“6”
  195.         LCALL WD1
  196.         MOV A,#0B6H
  197.         LCALL WD1

  198.         MOV A,#0A3H          ;显示“4”
  199.         LCALL WD1
  200.         MOV A,#0B4H
  201.         LCALL WD1

  202.         MOV A,#0A3H          ;显示“F”
  203.         LCALL WD1
  204.         MOV A,#0C6H
  205.         LCALL WD1

  206.         MOV A,#8AH           ;从第三行第3个地址开始显示
  207.         LCALL WC1

  208.         MOV A,#0CDH          ;显示“图”
  209.         LCALL WD1
  210.         MOV A,#0BCH
  211.         LCALL WD1

  212.         MOV A,#0D0H          ;显示“形”
  213.         LCALL WD1
  214.         MOV A,#0CEH
  215.         LCALL WD1

  216.         MOV A,#0B5H          ;显示“点”
  217.         LCALL WD1
  218.         MOV A,#0E3H
  219.         LCALL WD1

  220.         MOV A,#0D5H          ;显示“阵”
  221.         LCALL WD1
  222.         MOV A,#0F3H
  223.         LCALL WD1

  224.         MOV A,#99H           ;从第四行第2个地址开始显示
  225.         LCALL WC1

  226.         MOV A,#0D7H          ;显示“自”
  227.         LCALL WD1
  228.         MOV A,#0D4H
  229.         LCALL WD1

  230.         MOV A,#0B4H          ;显示“带”
  231.         LCALL WD1
  232.         MOV A,#0F8H
  233.         LCALL WD1

  234.         MOV A,#0BAH          ;显示“汉”
  235.         LCALL WD1
  236.         MOV A,#0BAH
  237.         LCALL WD1

  238.         MOV A,#0D7H          ;显示“字”
  239.         LCALL WD1
  240.         MOV A,#0D6H
  241.         LCALL WD1

  242.         MOV A,#0D7H          ;显示“字”
  243.         LCALL WD1
  244.         MOV A,#0D6H
  245.         LCALL WD1

  246.         MOV A,#0BFH          ;显示“库”
  247.         LCALL WD1
  248.         MOV A,#0E2H
  249.         LCALL WD1
  250.         RET
  251. INIT:                        ;初始化LCD程序
  252.         CLR RESET            ;复位
  253.         SETB RESET

  254.         MOV A,#30H           ;8位基本指令操作
  255.         LCALL WC1

  256.         MOV A,#30H
  257.         LCALL WC1

  258.         MOV A,#0CH
  259.         LCALL WC1

  260.         MOV A,#01H           ;清除屏幕显示
  261.         LCALL WC1

  262.         MOV A,#06H           ;DDRAM地址计数器加1
  263.         LCALL WC1

  264.         RET
  265. WC1:                          ;写指令
  266.      PUSH ACC
  267.      MOV P0,A
  268.      CLR RW
  269.      CLR DI
  270.      SETB E
  271.      NOP
  272.      CLR E
  273.      CALL RFG1
  274.      POP ACC
  275.      RET
  276. WD1:                          ;写数据
  277.      PUSH ACC
  278.      MOV P0,A
  279.      CLR RW
  280.      SETB DI
  281.      SETB E
  282.      NOP
  283.      CLR E
  284.      CALL RFG1
  285.      POP ACC
  286.      RET

  287. RFG1:                         ;读取忙标志和地址
  288.      MOV P0,#0FFH
  289.      SETB RW
  290.      CLR DI
  291. BUSY:                         ;读忙标志程序
  292.      SETB E
  293.      MOV A,P0
  294.      CLR E
  295.      JB ACC.7,BUSY
  296.      RET
  297. DEL20MS:                      ;延时
  298.         MOV R7,#20D
  299. DD6:    MOV R6,#200D
  300. DD5:    NOP
  301.         NOP
  302.         NOP
  303.         DJNZ R6,DD5
  304.         DJNZ R7,DD6
  305.         RET
  306. DEL200MS:
  307.         MOV R7,#15D
  308. DEL2:   MOV R6,#200D
  309. DEL1:   MOV R5,#200D
  310. DEL0:   DJNZ R5,DEL0
  311.         DJNZ R6,DEL1
  312.         DJNZ R7,DEL2
  313.         RET
  314. END
复制代码


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:7485 发表于 2014-12-29 19:40 | 只看该作者
使用循环查表方法输入汉字会更简洁。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表