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

📄 char_dis.asm

📁 51单片机驱动TFT彩色显示屏 可以学习51单片机熟悉TFT驱动
💻 ASM
📖 第 1 页 / 共 2 页
字号:
	MOV  COMD,#SET_X_ADDR   
        CALL TFT_SEND_COMMAND
        MOV  A,STARTX
        INC  A
        MOV  DAT,A
        CALL TFT_SEND_DATA
        MOV  A,ENDX
        INC  A
        MOV  DAT,A
        CALL TFT_SEND_DATA
	MOV  COMD,#SET_Y_ADDR   
        CALL TFT_SEND_COMMAND
        MOV  A,STARTY
        INC  A
        MOV  DAT,A
        CALL TFT_SEND_DATA
        MOV  A,ENDY
        INC  A
        MOV  DAT,A
        CALL TFT_SEND_DATA
        RET
;**********************************************************
; 用指定的颜色清屏     子程序
;**********************************************************
TFT_CLEAN:
        MOV STARTX,#DISP_X_START  
        MOV STARTY,#DISP_Y_START  
        MOV ENDX,#DISP_X_END
        MOV ENDY,#DISP_Y_END
        CALL TFT_SET_WINDOWS
	MOV  COMD,#MEM_WRITE   
        CALL TFT_SEND_COMMAND
        MOV  TEMP_H,#0X46
SEND_LOOP:        
        MOV  TEMP_L,#0XFF
LOOP_1: MOV  QUICK_S_DATA,#0XFF
        CALL QUICK_SEND_1
        DJNZ TEMP_L,LOOP_1
        DJNZ TEMP_H,SEND_LOOP
        RET
;**********************************************************
; 快速发送一字节象素(8个点)到TFT显示RAM(单色)     子程序
;**********************************************************

QUICK_SEND_BYTE:
	MOV A,Q_S_B
Q_ST_7: JNB  ACC.7,Q_S_7
        MOV QUICK_S_DATA,#0X00
        JMP Q_Q_7
Q_S_7:
        MOV QUICK_S_DATA,#0XFF
Q_Q_7:
        CALL QUICK_SEND_1
Q_ST_6: JNB  ACC.6,Q_S_6
        MOV QUICK_S_DATA,#0X00
        JMP Q_Q_6
Q_S_6:
        MOV QUICK_S_DATA,#0XFF
Q_Q_6:
        CALL QUICK_SEND_1
Q_ST_5: JNB  ACC.5,Q_S_5
        MOV QUICK_S_DATA,#0X00
        JMP Q_Q_5
Q_S_5:
        MOV QUICK_S_DATA,#0XFF
Q_Q_5:
        CALL QUICK_SEND_1
Q_ST_4: JNB  ACC.4,Q_S_4
        MOV QUICK_S_DATA,#0X00
        JMP Q_Q_4
Q_S_4:
        MOV QUICK_S_DATA,#0XFF
Q_Q_4:
        CALL QUICK_SEND_1
Q_ST_3: JNB  ACC.3,Q_S_3
        MOV QUICK_S_DATA,#0X00
        JMP Q_Q_3
Q_S_3:
        MOV QUICK_S_DATA,#0XFF
Q_Q_3:
        CALL QUICK_SEND_1
Q_ST_2: JNB  ACC.2,Q_S_2
        MOV QUICK_S_DATA,#0X00
        JMP Q_Q_2
Q_S_2:
        MOV QUICK_S_DATA,#0XFF
Q_Q_2:
        CALL QUICK_SEND_1
Q_ST_1: JNB  ACC.1,Q_S_1
        MOV QUICK_S_DATA,#0X00
        JMP Q_Q_1
Q_S_1:
        MOV QUICK_S_DATA,#0XFF
Q_Q_1:
        CALL QUICK_SEND_1
Q_ST_0: JNB  ACC.0,Q_S_0
        MOV QUICK_S_DATA,#0X00
        JMP Q_Q_0
Q_S_0:
        MOV QUICK_S_DATA,#0XFF
Q_Q_0:
        CALL QUICK_SEND_1
        RET
;**********************************************************
; 快速发送一个字符象素(64个点)到TFT显示RAM(单色)     子程序
;**********************************************************
DIS_CHIN:
        PUSH DPH
        PUSH DPL
	MOV  STARTX,#10
	MOV  ENDX  ,#33
	MOV  STARTY,#10
        MOV  ENDY,  #33
        CALL TFT_SET_WINDOWS
        MOV  COMD,#MEM_WRITE   
        CALL TFT_SEND_COMMAND
        MOV R7,#02
        MOV DPTR,#HzDotTable24
CHI_LOOP:
        MOV  A,R7
        MOVC A,@A+DPTR
        MOV  Q_S_B,A
        CALL QUICK_SEND_BYTE
        INC R7
        CJNE R7,#72,CHI_LOOP

	MOV  STARTX,#34
	MOV  ENDX  ,#57
	MOV  STARTY,#10
        MOV  ENDY,  #33
        CALL TFT_SET_WINDOWS
        MOV  COMD,#MEM_WRITE   
        CALL TFT_SEND_COMMAND
        MOV R7,#02
        MOV DPTR,#HzDotTable24+74

CHI_LOOP1:
        MOV  A,R7
        MOVC A,@A+DPTR
        MOV  Q_S_B,A
        CALL QUICK_SEND_BYTE
        INC R7
        CJNE R7,#72,CHI_LOOP1

	MOV  STARTX,#58
	MOV  ENDX  ,#81
	MOV  STARTY,#10
        MOV  ENDY,  #33
        CALL TFT_SET_WINDOWS
        MOV  COMD,#MEM_WRITE   
        CALL TFT_SEND_COMMAND
        MOV R7,#02
        MOV DPTR,#HzDotTable24+148

CHI_LOOP2:
        MOV  A,R7
        MOVC A,@A+DPTR
        MOV  Q_S_B,A
        CALL QUICK_SEND_BYTE
        INC R7
        CJNE R7,#72,CHI_LOOP2

	MOV  STARTX,#82
	MOV  ENDX  ,#105
	MOV  STARTY,#10
        MOV  ENDY,  #33
        CALL TFT_SET_WINDOWS
        MOV  COMD,#MEM_WRITE   
        CALL TFT_SEND_COMMAND
        MOV R7,#02
        MOV DPTR,#HzDotTable24+222

CHI_LOOP3:
        MOV  A,R7
        MOVC A,@A+DPTR
        MOV  Q_S_B,A
        CALL QUICK_SEND_BYTE
        INC R7
        CJNE R7,#72,CHI_LOOP3

        POP DPL
        POP DPH
        RET


DIS_PIC:
        PUSH DPH
        PUSH DPL
	MOV  STARTX,#10
	MOV  ENDX  ,#113
	MOV  STARTY,#50
        MOV  ENDY,  #95
        CALL TFT_SET_WINDOWS
        MOV  COMD,#MEM_WRITE   
        CALL TFT_SEND_COMMAND
        MOV DPTR,#nBitmapDot
        MOV R4,#2
PIC_NXT:MOV R7,#00
PIC_LOOP:
        MOV  A,R7
        MOVC A,@A+DPTR
        MOV  Q_S_B,A
        CALL QUICK_SEND_BYTE
        INC R7
        CJNE R7,#0XFF,PIC_LOOP
        INC DPH
        DEC DPL
        DJNZ R4,PIC_NXT
        MOV R7,#00
PIC_MOD:
        MOV  A,R7
        MOVC A,@A+DPTR
        MOV  Q_S_B,A
        CALL QUICK_SEND_BYTE
        INC R7
        CJNE R7,#88,PIC_MOD
        POP DPL
        POP DPH
        RET
;* ------------------  汉字字模的数据结构定义 ------------------------ *;
;typedef struct typFNT_GB24        // 汉字字模数据结构
;{
;       signed char Index[2];      // 汉字内码索引
;       char Msk[72];              // 点阵码数据
;};

;*-------------------------------------------------------------------- *
;* 汉字字模表                                                          *
;* 汉字库: 仿宋24.dot,横向取模左高位,数据排列:从左到右从上到下         *
;*-------------------------------------------------------------------- *
HzDotTable24:                              ; 数据表

	db "志", 00h, 1Ch, 00h, 00h, 0Ch, 00h, 00h, 0Ch
	db	 00h, 00h, 0Ch, 00h, 00h, 0Eh, 00h, 00h
	db	 1Fh, 00h, 00h, 3Fh, 00h, 01h,0FCh, 00h
	db	 00h,0FCh, 00h, 00h, 7Fh, 00h, 00h, 1Fh
	db	 00h, 00h, 7Eh, 00h, 01h,0F8h, 30h, 00h
	db	0D8h,0D8h, 01h, 1Fh, 38h, 06h, 9Eh, 10h
	db	 04h, 89h, 00h, 0Ch,0C1h, 80h, 0Ch, 60h
	db	0E0h, 0Ch, 3Fh,0F0h, 04h, 0Fh,0E0h, 00h
	db	 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h

	db "博", 00h, 03h, 00h, 00h, 03h, 20h, 03h, 03h
	db	 98h, 03h, 07h,0DCh, 03h, 0Fh, 80h, 03h
	db	 83h,0C0h, 07h, 87h,0A0h, 0Fh, 2Fh,0A0h
	db	 3Eh, 1Bh,0A0h, 1Eh, 1Fh,0A0h, 02h, 17h
	db	0A0h, 02h, 1Fh,0A0h, 02h, 17h,0F0h, 02h
	db	 1Fh,0F8h, 02h, 78h,0C0h, 02h, 7Ch,0C0h
	db	 02h, 0Eh,0C0h, 02h, 0Ch,0C0h, 02h, 10h
	db	0C0h, 00h, 0Ch,0C0h, 00h, 03h, 80h, 00h
	db	 01h, 80h, 00h, 00h, 00h, 00h, 00h, 00h

	db "电", 00h, 00h, 00h, 00h, 00h, 00h, 00h, 60h
	db	 00h, 00h, 70h, 00h, 00h, 70h, 00h, 00h
	db	 30h, 00h, 00h, 3Fh, 00h, 00h,0F0h,0C0h
	db	 09h,0B1h,0C0h, 0Eh, 79h,0E0h, 0Eh,0FFh
	db	0C0h, 0Fh,0F3h, 80h, 06h, 77h, 00h, 07h
	db	0FEh, 00h, 07h,0FEh, 00h, 03h,0FEh, 00h
	db	 03h,0E0h, 00h, 00h, 60h, 00h, 00h, 3Fh
	db	 80h, 00h, 1Fh,0C0h, 00h, 00h, 00h, 00h
	db	 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h

	db "子", 00h, 00h, 00h, 00h, 07h, 00h, 00h, 4Dh
	db	 80h, 00h, 79h, 80h, 00h,0F3h, 80h, 01h
	db	0E7h, 00h, 01h,0DEh, 00h, 01h,0BCh, 00h
	db	 00h, 3Eh, 00h, 00h, 17h, 80h, 00h, 1Fh
	db	0E0h, 00h,0E3h,0E0h, 01h,0C3h, 00h, 03h
	db	 83h, 00h, 03h, 03h, 00h, 02h, 03h, 00h
	db	 02h, 03h, 00h, 01h, 83h, 00h, 00h, 46h
	db	 00h, 00h, 3Eh, 00h, 00h, 0Ch, 00h, 00h
	db	 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h


;* 汉字表:
;* 志博电子欢迎你!
;*-------------------------------------------------------------------- *
;*-------------------------------------------------------------------- *
;* Bitmap点阵数据表                                                    *
;* 图片: E:\..cmzim\216.bmp,横向取模左高位,数据排列:从左到右从上到下   *
;* 图片尺寸: 104 * 46                                                  *
;*-------------------------------------------------------------------- *
nBitmapDot:                                   ; 数据表

	db   02h, 08h, 00h, 08h, 00h, 00h, 04h, 00h
	db	 07h, 00h, 00h, 00h, 00h, 00h,0D0h, 06h
	db	 04h, 08h, 03h, 02h, 00h, 38h, 80h, 00h
	db	 00h, 00h, 41h, 00h, 09h, 43h, 00h, 04h
	db	0A1h, 80h, 41h,0FFh, 00h, 00h, 00h, 42h
	db	 00h, 29h, 00h, 00h, 14h, 80h, 00h, 8Eh
	db	 00h,0E7h, 00h, 00h, 32h, 88h, 29h, 30h
	db	 04h, 14h, 98h, 00h, 70h, 00h, 1Ch, 80h
	db	 00h, 0Ch, 00h, 16h, 48h, 00h, 0Bh, 24h
	db	 00h, 20h, 00h, 08h, 60h, 00h, 00h, 20h
	db	 4Dh, 80h, 00h, 26h,0C0h, 00h, 40h, 00h
	db	 08h, 10h, 00h, 40h, 20h, 00h, 10h, 00h
	db	 00h, 08h, 00h, 4Ch, 00h, 08h, 10h, 00h
	db	 04h, 24h, 00h, 00h, 00h, 00h, 00h, 00h
	db	 90h, 00h, 08h, 20h, 00h, 00h, 20h, 00h
	db	 00h, 00h, 00h, 00h, 00h, 80h, 08h, 09h
	db	0C0h, 00h, 18h, 10h, 00h, 00h, 00h, 00h
	db	 00h, 01h, 00h, 04h, 00h, 40h, 00h, 25h
	db	 3Fh,0C3h,0FEh, 3Fh,0E0h, 00h, 01h, 10h
	db	 04h, 00h, 40h, 00h,0A4h, 08h, 40h, 20h
	db	 00h, 41h, 80h, 01h, 10h, 00h, 00h, 20h
	db	 00h,0A4h,0C8h, 47h,0FFh, 00h, 83h,0C0h
	db	 01h, 00h, 40h, 00h, 20h, 00h, 59h, 28h
	db	 40h, 20h, 03h, 03h,0C0h, 02h, 00h, 40h
	db	 00h, 20h, 00h, 36h, 08h, 81h,0FCh, 02h
	db	 03h,0C0h, 02h,0F0h, 40h, 10h, 20h, 00h
	db	 00h, 44h, 81h, 24h, 02h, 01h, 80h, 05h
	db	 0Ch, 04h, 10h, 20h, 00h, 00h, 05h, 01h
	db	0FCh, 02h, 01h, 80h, 05h, 42h, 00h, 14h
	db	 40h, 00h, 00h, 02h, 01h, 24h, 02h, 00h
	db	 00h, 05h, 51h, 00h, 1Ch, 40h, 00h, 00h
	db	 05h, 03h,0FEh, 02h, 01h, 80h, 04h, 91h
	db	 03h,0C0h, 40h, 00h, 00h, 18h,0C0h, 20h
	db	 02h, 01h, 80h, 04h, 61h, 00h, 00h, 40h
	db	 00h, 02h, 60h, 37h,0FFh, 0Eh, 00h, 00h
	db	 04h, 1Eh, 00h, 00h, 80h, 00h, 80h, 00h
	db	 00h, 00h, 00h, 00h, 00h, 02h, 00h, 00h
	db	 00h, 80h, 00h, 40h, 7Fh,0F4h, 0Ah, 3Bh
	db	0F3h,0FEh, 01h, 01h,0F0h, 01h, 00h, 00h
	db	 38h, 05h, 02h, 0Ah, 2Ah, 90h, 04h, 00h
	db	0C7h,0F8h, 02h, 00h, 00h, 04h, 3Fh,0E2h
	db	0FFh, 2Ah, 90h, 08h, 00h, 70h,0F8h, 04h
	db	 00h, 00h, 20h, 25h, 20h, 88h, 3Ah, 90h
	db	 30h, 00h,0C7h, 00h, 08h, 00h, 00h, 00h
	db	 3Fh,0E2h,0F9h, 2Bh,0F0h, 20h, 01h, 00h
	db	 00h,0FEh, 00h, 00h, 00h, 04h, 02h, 89h
	db	 2Ah, 00h, 20h, 02h, 20h, 00h, 01h, 00h
	db	 00h, 41h, 7Fh,0F4h,0FAh, 3Ah, 00h, 20h
	db	 04h, 48h, 00h, 00h, 80h, 00h, 18h, 08h
	db	 84h,0D4h, 2Ah, 00h, 20h, 08h, 80h, 08h
	db	 00h, 80h, 00h, 20h, 1Dh, 05h, 75h, 2Ah
	db	 10h, 20h, 09h, 00h, 00h, 00h, 40h, 00h
	db	 40h, 03h, 85h, 4Bh, 4Ah, 10h, 20h, 12h
	db	 30h, 00h, 80h, 40h, 00h, 50h, 7Ch, 62h
	db	 11h, 5Bh,0F0h,0E0h, 13h, 8Fh,0C0h, 80h
	db	 20h, 00h, 80h, 00h, 00h, 00h, 00h, 00h
	db	 00h, 14h, 78h, 3Fh, 00h, 20h, 00h, 04h
	db	 00h, 00h, 00h, 00h, 00h, 00h, 20h, 03h
	db	0C0h, 80h, 20h, 00h, 04h, 00h, 00h, 00h
	db	 00h, 00h, 00h, 28h, 00h, 0Fh, 80h, 20h
	db	 00h, 84h, 80h, 00h, 1Ch, 08h, 0Eh, 04h
	db	 28h, 00h, 00h, 40h, 20h, 00h, 04h, 1Ch
	db	 08h, 22h, 00h, 11h, 00h, 18h, 00h, 00h
	db	 20h, 20h, 00h, 02h, 22h, 00h, 21h, 00h
	db	 10h, 80h, 08h, 00h, 00h, 20h, 20h, 00h
	db	0A1h,0A1h, 00h, 24h,0E0h, 12h, 70h, 10h
	db	 00h, 00h, 30h, 20h, 00h, 80h, 24h,0E0h
	db	 18h, 10h, 0Ch, 08h, 10h, 00h, 00h, 28h
	db	 20h, 00h, 98h, 18h, 10h, 00h, 80h, 00h
	db	 40h, 10h, 08h, 00h, 25h,0E0h, 00h, 24h
	db	 00h, 81h, 00h, 00h, 80h, 00h, 1Ah, 08h
	db	 00h, 22h, 20h, 00h,0C1h, 00h, 00h, 00h
	db	 00h, 00h, 00h, 1Dh, 46h, 00h, 22h,0A0h
	db	 00h, 08h, 00h, 00h, 01h, 04h, 00h, 82h
	db	 0Fh, 93h, 40h, 21h, 40h, 00h
END

⌨️ 快捷键说明

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