找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3191|回復(fù): 1
收起左側(cè)

192*64液晶ST7920(帶字庫(kù))測(cè)試匯編程序

[復(fù)制鏈接]
ID:70976 發(fā)表于 2014-12-26 23:26 | 顯示全部樓層 |閱讀模式
  1. ;192*64液晶(帶字庫(kù))測(cè)試程序
  2. ;芯片型號(hào):ST7920
  3. ;晶振11.0592M

  4.          LCD_RS    EQU   P4.0    ;LCD 數(shù)據(jù)/命令選擇端
  5.          LCD_RW    EQU   P4.1    ;LCD 讀/寫選擇端
  6.          LCD_EN    EQU   P4.2    ;LCD 使能信號(hào)
  7.          LCD_BG    EQU   P4.3    ;LCD 背光控制端
  8.          LCD_SJ    EQU   P0      ;LCD 數(shù)據(jù)

  9.          COM EQU 20H
  10.          DAT EQU 21H
  11. ;===========================================================
  12.          ORG  0000H
  13.          AJMP  START
  14.          ORG  0100H
  15. ;===========================================================
  16. START:   MOV  SP,#60H
  17.          CLR  LCD_BG          ;打開LCD背光

  18.          MOV COM,#30H       ;功能設(shè)置--8BIT控制界面,基本指令集
  19.          ACALL WRI          ;調(diào)用寫指令子程序
  20.          LCALL DELAY        ;延遲39uS
  21.          MOV COM,#0CH       ;顯示打開,光標(biāo)關(guān),反白顯示關(guān)
  22.          ACALL WRI          ;調(diào)用寫指令子程序
  23.          LCALL DELAY        ;延遲39uS
  24.          MOV COM,#01H       ;清除屏幕顯示,將DDRAM的地址計(jì)數(shù)器歸零
  25.          ACALL WRI          ;調(diào)用寫指令子程序
  26.          LCALL DELAY        ;延遲39uS
  27.          MOV COM,#06H       ;DDRAM的地址計(jì)數(shù)器(AC)加1
  28.          ACALL WRI          ;調(diào)用寫指令子程序
  29.          LCALL DELAY        ;延遲39uS
  30. ;*************************************以上是模塊初始化
  31.          MOV R2,#64         ;DDRAM地址記數(shù)器設(shè)為最大
  32.          MOV R1,#10H        ;從代碼為“10”處顯示
  33.          MOV COM,#80H       ;DDRAM地址---0000000
  34.          ACALL WRI          ;調(diào)用寫指令子程序
  35. DISP5A:  MOV DAT,R1
  36.          ACALL WRD          ;調(diào)用寫數(shù)據(jù)子程序
  37.          INC R1
  38.          DJNZ R2,DISP5A
  39.          LCALL DELAY1       ;1S延時(shí)子程序
  40. ;*************************************以上是寫入半角字符
  41.          MOV R2,#64         ;DDRAM地址記數(shù)器設(shè)為最大
  42.          MOV R1,#0DEH       ;字符低位地址
  43.          MOV COM,#80H       ;DDRAM地址---0000000
  44.          ACALL WRI          ;調(diào)用寫指令子程序
  45. DISP5:   MOV DAT,#0B4H      ;寫入字符高位地址
  46.          ACALL WRD          ;調(diào)用寫數(shù)據(jù)子程序
  47.          MOV DAT,R1
  48.          ACALL WRD
  49.          INC R1
  50.          DJNZ R2,DISP5
  51.          LCALL DELAY1       ;1S延時(shí)子程序
  52. ;*************************************以上是從字庫(kù)中“崔”字處開始顯示漢字
  53.          MOV COM,#01H       ;清屏
  54.          ACALL WRI
  55.          LCALL DELAY

  56.          MOV COM,#32H       ;功能設(shè)置---8BIT控制界面,繪圖顯示開
  57.          ACALL WRI          ;調(diào)用寫指令子程序
  58.          LCALL DELAY        ;延遲39uS

  59.          MOV COM,#36H       ;功能設(shè)置---8BIT控制界面,擴(kuò)充指令集
  60.          ACALL WRI          ;調(diào)用寫指令子程序
  61.          LCALL DELAY        ;延遲39uS

  62. DISPLAY6:MOV DPTR,#DAB2     ;圖形數(shù)據(jù)入口地址
  63.          MOV R2,#32         ;32行(雙屏結(jié)構(gòu)的上半屏)
  64.          MOV R3,#80H        ;Y地址寄存器
  65. DISP6:   MOV COM,R3         ;設(shè)置繪圖區(qū)的Y地址坐標(biāo)
  66.          INC R3             ;Y地址加1
  67.          LCALL WRI
  68.          MOV COM,#80H       ;設(shè)置繪圖區(qū)的X地址坐標(biāo)
  69.          LCALL WRI
  70.          MOV R1,#16         ;16*8列
  71. DISP7:   CLR A
  72.          MOVC A,@A+DPTR
  73.          MOV DAT,A
  74.          LCALL WRD
  75.          INC DPTR
  76.          DJNZ R1,DISP7
  77.          DJNZ R2,DISP6      ;寫滿全屏的16*8字節(jié)X64

  78.          MOV R2,#32         ;32行(雙屏結(jié)構(gòu)的下半屏)
  79.          MOV R3,#80H        ;Y地址寄存器
  80. DISP8:   MOV COM,R3         ;設(shè)置繪圖區(qū)的Y地址坐標(biāo)
  81.          INC R3             ;Y地址加1
  82.          LCALL WRI
  83.          MOV COM,#88H       ;設(shè)置繪圖區(qū)的X地址坐標(biāo)
  84.          LCALL WRI
  85.          MOV R1,#16         ;16*8列
  86. DISP9:   CLR A
  87.          MOVC A,@A+DPTR
  88.          MOV DAT,A
  89.          LCALL WRD
  90.          INC DPTR
  91.          DJNZ R1,DISP9
  92.          DJNZ R2,DISP8      ;寫滿全屏的16*8字節(jié)X64
  93.          LCALL DELAY1       ;1S延時(shí)子程序
  94.          LJMP START         ;從開始處循環(huán)顯示

  95. ;*************************************以上是寫入圖畫面


  96. WRI:     PUSH ACC
  97.          CLR LCD_RS
  98.          SETB LCD_RW
  99. WRI1:    MOV LCD_SJ,#0FFH
  100.          SETB LCD_EN
  101.          MOV A,LCD_SJ
  102.          CLR LCD_EN
  103.          JB ACC.7,WRI1
  104.          CLR LCD_RW
  105.          MOV LCD_SJ,COM
  106.          SETB LCD_EN
  107.          CLR LCD_EN
  108.          POP ACC
  109.          RET
  110. ;*************************************以上是寫指令子程序
  111. WRD:     PUSH ACC
  112.          CLR LCD_RS
  113.          SETB LCD_RW
  114. WRD1:    MOV LCD_SJ,#0FFH
  115.          SETB LCD_EN
  116.          MOV A,LCD_SJ
  117.          CLR LCD_EN
  118.          JB ACC.7,WRD1
  119.          SETB LCD_RS
  120.          CLR LCD_RW
  121.          MOV LCD_SJ,DAT
  122.          SETB LCD_EN
  123.          CLR LCD_EN
  124.          POP ACC
  125.          RET
  126. ;*************************************以上是寫數(shù)據(jù)子程序
  127. DELAY:   MOV R7,#200         ;延遲39uS;17
  128.          DJNZ R7,$
  129.          RET                ;17*2*(12/11.0592)+2*(12/11.0592)≈39uS

  130. DELAY1:  MOV R4,#200        ;延遲1S,06D;08
  131. DELAY11: MOV R7,#0E2H
  132. DELAY41: MOV R6,#0FFH       ;07D
  133.          DJNZ R6,$
  134.          DJNZ R7,DELAY41
  135.          DJNZ R4,DELAY11

  136.          RET    ;255*2*226*8*(12/11.0592)+2*(12/11.0592)=1000459uS≈1S

  137. ;*************************************以上是延時(shí)子程序
  138. DAB2:                                ;畫面數(shù)據(jù)表
  139. DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
  140. DB 80H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 01H
  141. DB 80H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 01H
  142. DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
  143. DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
  144. DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
  145. DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 11H,0FFH, 80H, 40H, 08H, 30H, 10H, 20H, 00H
  146. DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 0CH, 68H, 3FH,0FFH, 08H, 30H, 11H,0F8H, 00H
  147. DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 0CH, 68H, 3FH,0FFH, 08H, 30H, 11H,0F8H, 00H
  148. DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 01H,0FFH, 00H, 00H, 7FH,0FEH, 7DH, 08H, 00H
  149. DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 11H, 6BH, 07H,0FCH, 16H, 30H, 2DH,0F8H, 00H
  150. DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 0DH,0FFH, 04H, 0CH, 16H, 30H, 2DH, 08H, 00H
  151. DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 0CH, 00H, 3FH,0FFH, 16H, 30H, 2DH,0F8H, 00H
  152. DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 0CH, 00H, 3FH,0FFH, 16H, 30H, 2DH,0F8H, 00H
  153. DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 0CH,0FFH, 30H, 01H, 66H,0FEH, 2DH, 26H, 00H
  154. DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 1CH, 00H, 03H,0F0H, 76H, 82H, 2DH, 28H, 00H
  155. DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 0DH,0FFH, 82H, 11H, 08H, 82H, 11H, 10H, 00H
  156. DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 0CH, 8BH, 04H, 11H, 16H, 82H, 2DH, 28H, 00H
  157. DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 0CH, 8BH, 04H, 11H, 16H, 82H, 2DH, 28H, 00H
  158. DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 0DH, 18H,0B8H, 1FH, 60H,0FEH, 41H,0C6H, 00H
  159. DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
  160. DB 00H, 07H, 8FH,0FFH, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
  161. DB 00H, 08H, 70H, 40H,0EFH, 80H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
  162. DB 00H, 08H, 70H, 40H,0EFH, 80H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
  163. DB 00H, 10H, 00H, 80H, 10H, 60H, 00H, 0FH,0FFH, 30H, 0CH, 00H, 80H, 00H, 00H, 00H
  164. DB 00H, 20H, 18H, 38H, 20H, 60H, 00H, 00H, 60H, 08H, 0CH, 1FH,0FCH, 1CH, 00H, 00H
  165. DB 00H,0C0H, 64H, 45H, 00H, 60H, 00H, 03H,0FCH, 0BH,0FFH, 00H, 80H, 3EH, 00H, 00H
  166. DB 00H,0C1H, 00H, 01H, 00H, 10H, 00H, 00H, 80H, 00H, 0CH, 08H, 88H, 3EH, 00H, 00H
  167. DB 00H,0C1H, 00H, 01H, 00H, 10H, 00H, 00H, 80H, 00H, 0CH, 08H, 88H, 3EH, 00H, 00H
  168. DB 01H, 01H, 00H, 00H,0C0H, 10H, 00H, 1FH,0FFH,0BDH, 8CH, 06H,0B0H, 3EH, 00H, 00H
  169. DB 02H, 0EH, 18H, 1CH,0C0H, 10H, 00H, 01H, 00H, 04H, 4CH, 7FH,0FEH, 1CH, 00H, 00H
  170. DB 02H, 16H, 64H, 22H, 20H, 10H, 00H, 03H,0FCH, 04H, 4CH, 01H,0C0H, 1CH, 00H, 00H
  171. DB 02H, 16H, 64H, 22H, 20H, 10H, 00H, 03H,0FCH, 04H, 4CH, 01H,0C0H, 1CH, 00H, 00H
  172. DB 04H,0E8H, 83H, 41H, 1CH, 08H, 00H, 0DH, 04H, 04H, 0CH, 06H,0B0H, 00H, 00H, 00H
  173. DB 07H, 10H, 8FH, 47H, 03H, 88H, 00H, 11H,0FCH, 04H, 3CH, 08H, 88H, 1CH, 00H, 00H
  174. DB 00H, 20H, 6CH, 26H, 01H, 78H, 00H, 01H, 04H, 0AH, 00H, 70H, 86H, 1CH, 00H, 00H
  175. DB 00H,0C0H, 18H, 1CH, 00H, 80H, 00H, 01H,0FCH, 31H,0FFH, 00H, 80H, 00H, 00H, 00H
  176. DB 00H,0C0H, 18H, 1CH, 00H, 80H, 00H, 01H,0FCH, 31H,0FFH, 00H, 80H, 00H, 00H, 00H
  177. DB 00H,0C1H, 87H, 80H, 00H, 80H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
  178. DB 01H, 06H, 78H, 3CH, 20H, 60H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
  179. DB 01H, 08H, 07H,0C2H,0C0H, 60H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
  180. DB 01H, 08H, 00H, 01H,0C0H, 60H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
  181. DB 01H, 08H, 00H, 01H,0C0H, 60H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
  182. DB 01H, 08H, 18H, 01H,0C0H, 60H, 00H, 00H, 00H,0F1H,0F3H, 87H,0C0H, 00H, 00H, 00H
  183. DB 00H,0C6H, 18H,0C2H, 20H, 80H, 00H, 00H, 03H, 0EH, 1CH, 78H, 70H, 00H, 00H, 00H
  184. DB 00H,0C1H, 00H,0C2H, 00H, 80H, 00H, 00H, 04H, 44H, 11H, 10H, 38H, 00H, 00H, 00H
  185. DB 00H, 26H,0E0H, 04H, 01H, 00H, 00H, 00H, 04H, 80H, 12H, 00H, 38H, 00H, 00H, 00H
  186. DB 00H, 26H,0E0H, 04H, 01H, 00H, 00H, 00H, 04H, 80H, 12H, 00H, 38H, 00H, 00H, 00H
  187. DB 00H, 11H, 18H, 38H, 03H, 00H, 00H, 00H, 04H, 80H, 12H, 00H, 38H, 00H, 00H, 00H
  188. DB 00H, 0EH, 87H,0C2H, 1CH, 00H, 00H, 00H, 04H, 00H, 10H, 00H, 38H, 00H, 00H, 00H
  189. DB 00H, 01H,0E0H, 04H,0E0H, 00H, 00H, 00H, 03H, 00H, 1CH, 00H, 70H, 00H, 00H, 00H
  190. DB 00H, 1EH, 18H, 3FH, 1EH, 00H, 00H, 00H, 00H, 80H, 32H, 00H,0C0H, 00H, 00H, 00H
  191. DB 00H, 1EH, 18H, 3FH, 1EH, 00H, 00H, 00H, 00H, 80H, 32H, 00H,0C0H, 00H, 00H, 00H
  192. DB 00H, 38H, 07H,0C0H, 0FH, 00H, 00H, 00H, 00H, 40H, 61H, 01H, 80H, 00H, 00H, 00H
  193. DB 00H,0E9H,0FFH,0FFH, 0DH, 80H, 00H, 00H, 00H, 31H,0C0H, 87H, 00H, 00H, 00H, 00H
  194. DB 01H,0E9H, 1BH,0B9H, 0DH,0E0H, 00H, 00H, 00H, 0BH, 80H, 6EH, 00H, 00H, 00H, 00H
  195. DB 03H,0C9H,0F0H, 1FH, 0CH,0F0H, 00H, 00H, 00H, 06H, 00H, 18H, 00H, 00H, 00H, 00H
  196. DB 03H,0C9H,0F0H, 1FH, 0CH,0F0H, 00H, 00H, 00H, 06H, 00H, 18H, 00H, 00H, 00H, 00H
  197. DB 07H, 06H,0E0H, 06H, 10H, 78H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
  198. DB 07H,0C1H, 00H, 00H, 20H,0F8H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
  199. DB 07H,0E0H, 80H, 00H,0C1H,0F8H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
  200. DB 07H,0E0H, 80H, 00H,0C1H,0F8H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H
  201. DB 80H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H, 01H
  202. DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH


  203.         END
復(fù)制代碼


回復(fù)

使用道具 舉報(bào)

ID:36173 發(fā)表于 2014-12-27 22:48 | 顯示全部樓層
好厲害哦,都是匯編
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表