⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qc0409a.asm

📁 2005年全国大学生电子设计大赛实验程序 附各个模块以及生成文件
💻 ASM
📖 第 1 页 / 共 2 页
字号:

;    伪彩320*240 LCD控制板(QXVLCM1.1)演示例程
;    通过这个例程你可以知道怎样显示图形和中文的技巧

 CSEG   AT  0000H

;LCD控制板接口
;P1   为数据线

AOO  EQU   P3.1     ;AO   高电平时写入的数据是地址,低电平时写入的数据是显示数据。       
E    EQU   P3.2     ;WR   当P1口的数据有效时,WR产生一个下降沿,写一个数据完成。
RS   EQU   P3.0     ;
RW   EQU   P3.3      ;

WRDATA   EQU  28H        ;数据变量
ADDRL    EQU  30H        ;地址低位变量
ADDRH    EQU  31H        ;地址高位变量..................以一个字节为单元(8/3个像素)
ADDBL    EQU  32H        ;地址低位   
ADDBH    EQU  33H        ;地址高位 .....................以三个字节为单元(8个像素)
TEMP1    EQU  3AH        ;
TEMP2    EQU  39H        ;通用变量
TEMP3    EQU  38H        ;
TEMP4    EQU  3BH        ;
TEMP5    EQU  3CH
TEMP6    EQU  3DH
XSTARL   EQU  42H
XSTARH   EQU  43H
YSTAR    EQU  44H
VTEMP1   EQU  46H
VTEMP2   EQU  47H

CODEN    EQU  3EH        ;  中文字模位置代码
FCOLOR   EQU  40H        ;  前景颜色
BCOLOR   EQU  41H        ;  背景颜色

MAIN:
  NOP
  NOP
MAIN1:
  LCALL  DISPLAY2
  LCALL  DELAYLL
  LCALL  DELAYLL
  NOP
  LCALL  CLREA            ;  调用清屏子程序,
  LCALL  DISCHIN          ;  调用中文说明书子程序
  LCALL   DELAYLL         ;  延时
  LCALL  CLREA
  NOP
  LCALL  DISWT
  LCALL  DISLINE          ;  画直线
  MOV  XSTARH,#00
  MOV  XSTARL,#15
  MOV  FCOLOR,#01
  MOV  TEMP1,#00
  MOV  VTEMP2,#0
  MOV  VTEMP1,#15
KKC:
  MOV   A,#1
  CJNE  A,VTEMP2,KKTO
  MOV   A,#30H
  CJNE  A,VTEMP1,KKTO
  LJMP  KKEND
KKTO:
  LCALL  DISYY
  LCALL  DISPLAY
  LCALL  DISLINE2
  ;LCALL  DELAYL
  LCALL  DELAYL
  INC   TEMP1
  INC   XSTARL
  INC   XSTARL
  INC   VTEMP1
  INC   VTEMP1
  LCALL  CLREA2
  LCALL  CLREA3
  MOV   A,#0FFH
  CJNE  A,VTEMP1,KKC2
  INC   XSTARH
  INC   VTEMP2
  INC  XSTARL
  INC  VTEMP1
KKC2:
  MOV   A,#08
  CJNE  A,TEMP1,KKC
  MOV  TEMP1,#00
  LJMP  KKC
KKEND:
  NOP
  LJMP  MAIN1
  NOP
  NOP

DELAY:
  MOV   R5,#0
  MOV   R6,#50
DELA1:
  DJNZ  R5,DELA1
  DJNZ  R6,DELA1
  RET
DELAYL:
  MOV  R5,#0
  MOV  R6,#0
  MOV  R4,#5
DELAL:
  DJNZ  R5,DELAL
  DJNZ  R6,DELAL
  DJNZ  R4,DELAL
  RET
DELAYLL:
   MOV  R5,#0
   MOV  R6,#0
   MOV  R4,#100
DELALL:
   DJNZ  R5,DELALL
   DJNZ  R6,DELALL
   DJNZ  R4,DELALL
   RET

WRDAT:
  CLR   E
  SETB  E
  RET

REBUSY:
  CLR   RW
  CLR   AOO
  JNB   P1.7,REBUSY
  SETB  AOO
  SETB  RW
  RET

DISPLAY:
  LCALL  REBUSY
  CLR    RS
  NOP
  MOV  P1,#02H
  LCALL  WRDAT
  MOV  P1,#47H
  LCALL  WRDAT
  MOV  P1,#10
  LCALL  WRDAT
  MOV  P1,#60
  LCALL  WRDAT
  MOV  P1,TEMP1
  LCALL  WRDAT
  MOV  P1,#0DH
  LCALL  WRDAT
  NOP
  SETB  RS
  RET
DISPLAY2:
  LCALL  REBUSY
  CLR    RS
  NOP
  MOV  P1,#02H
  LCALL  WRDAT
  MOV  P1,#47H
  LCALL  WRDAT
  MOV  P1,#00
  LCALL  WRDAT
  MOV  P1,#00
  LCALL  WRDAT
  MOV  P1,#09
  LCALL  WRDAT
  MOV  P1,#0DH
  LCALL  WRDAT
  NOP
  SETB  RS
  RET


DISWT:
  LCALL  REBUSY
  CLR    RS
  MOV  P1,#02H
  LCALL  WRDAT
  MOV  P1,#47H
  LCALL  WRDAT

  MOV  P1,#2
  LCALL  WRDAT
  MOV  P1,#204
  LCALL  WRDAT
  MOV  P1,#8
  LCALL  WRDAT
  MOV  P1,#0DH
  LCALL  WRDAT
  NOP
  SETB  RS
  RET


DISYY:
  LCALL  REBUSY
  CLR  RS
  NOP
  MOV  P1,#07H
  LCALL  WRDAT
  MOV  A,FCOLOR
  SWAP  A
  MOV  P1,A
  MOV  P1,#27H
  LCALL  WRDAT
  MOV  P1,XSTARH
  LCALL  WRDAT
  MOV  P1,XSTARL
  LCALL  WRDAT
  MOV  P1,#15
  LCALL  WRDAT
  MOV  P1,#9
  LCALL  WRDAT
  MOV  P1,#0DH
  LCALL  WRDAT
  SETB  RS
  RET
DISLINE:
  LCALL  REBUSY
  CLR  RS
  MOV  P1,#08H
  LCALL  WRDAT
  MOV  P1,#44H     ;COLOR
  LCALL  WRDAT
  MOV  P1,#00      ;XSTH
  LCALL  WRDAT
  MOV  P1,#00      ;XSTL
  LCALL  WRDAT
  MOV  P1,#25     ;YST
  LCALL  WRDAT
  MOV  P1,#01      ;XENH
  LCALL  WRDAT 
  MOV  P1,#63      ;XENL
  LCALL  WRDAT
  MOV  P1,#25      ;YEN
  LCALL  WRDAT
  MOV  P1,#0D      
  LCALL  WRDAT
  SETB  RS
  RET
DISLINE2:
  LCALL  REBUSY
  CLR  RS
  MOV  P1,#08H
  LCALL  WRDAT
  MOV  P1,#44H     ;COLOR
  LCALL  WRDAT
  MOV  P1,VTEMP2     ;XSTH
  LCALL  WRDAT
  MOV  P1,VTEMP1      ;XSTL
  LCALL  WRDAT
  MOV  P1,#15     ;YST
  LCALL  WRDAT
  MOV  P1,#00      ;XENH
  LCALL  WRDAT 
  MOV  P1,#152      ;XENL
  LCALL  WRDAT
  MOV  P1,#130      ;YEN
  LCALL  WRDAT
  MOV  P1,#0D      
  LCALL  WRDAT
  SETB  RS
  RET

DISCHIN:
  MOV   CODEN,#00
  MOV   ADDBL,#125
  MOV   ADDBH,#0
  MOV   FCOLOR,#04
  MOV   BCOLOR,#07
  LCALL  WRCHINA24
  LCALL  WRCHINA24
  LCALL  WRCHINA24
  LCALL  WRCHINA24
  LCALL  WRCHINA24
  LCALL  WRCHINA24
  LCALL  WRCHINA24
  LCALL  WRCHINA24
  LCALL  WRCHINA24
  NOP
  LCALL   REBUSY
  CLR  RS
  NOP
  MOV   P1,#01H
  LCALL  WRDAT
  MOV   P1,#07H
  LCALL  WRDAT
  MOV   P1,#00
  LCALL  WRDAT
  MOV   P1,#30
  LCALL  WRDAT
  MOV  DPTR,#NMTAB
DISCHIN1:
  CLR   A
  MOVC  A,@A+DPTR
  MOV  R5,A
  MOV  P1,A
  LCALL  WRDAT
  INC   DPTR
  CJNE  R5,#0DH,DISCHIN1
  CLR   A
  MOVC  A,@A+DPTR
  CJNE  A,#0AH,DISCHIN2
  LJMP  DISCHIN1
DISCHIN2:
  MOV  P1,#0
  LCALL  WRDAT
  NOP
  SETB  RS
   RET

;;================================================================================
;清屏
CLREA:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -