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

📄 触摸键盘、拼音输入法、动态曲线和区域图片切换.txt

📁 能生成图象和动态曲线的汇编源程序,需要的就下吧,免费的哦!
💻 TXT
📖 第 1 页 / 共 4 页
字号:
                MOV     TEXTY_H,A
                CLR     C
                MOV     A,TEXTY_L
                SUBB    A,#164
                JNC     BKPRO1
                MOV     TEXTY_H,#00H
                MOV     TEXTY_L,#164
                MOV     TEXTX_H,#00H
                MOV     TEXTX_L,#6
        BKPRO1: MOV     COLORH,#0FFH            
                MOV     COLORL,#0FFH
                MOV     BCOLORH,#00H
                MOV     BCOLORL,#1FH
                LCALL   COLORSET
                MOV     DPTR,#CMD54
                LCALL   TXROMS
                MOV     R0,#TEXTX_H
                MOV     R7,#4
                LCALL   TXRAMS
                MOV     A,#" "
                LCALL   TXBYTE               
                LCALL   TXFEND
                RET

        ;选择一个汉字
        HZSEL:  MOV     DPTR,#0FFH
                MOVX    A,@DPTR
                JZ      HZSELE
                DEC     A
                CLR     C
                SUBB    A,HZPOS
                JC      HZSELE
                MOV     COLORH,#0FFH            
                MOV     COLORL,#0FFH
                MOV     BCOLORH,#00H
                MOV     BCOLORL,#1FH
                LCALL   COLORSET
                MOV     DPTR,#CMD54
                LCALL   TXROMS
                MOV     R0,#TEXTX_H
                MOV     R7,#4
                LCALL   TXRAMS 
                MOV     A,HZPOS
                CLR     C
                RLC     A
                MOV     DPL,A
                MOV     DPH,#00H
                MOVX    A,@DPTR
                LCALL   TXBYTE
                INC     DPTR
                MOVX    A,@DPTR
                LCALL   TXBYTE
                LCALL   TXFEND
                MOV     A,TEXTX_L               ;调整坐标位置
                ADD     A,#16
                MOV     TEXTX_L,A
                CLR     A
                ADDC    A,TEXTX_H
                MOV     TEXTX_H,A
                CLR     C
                MOV     A,TEXTX_L
                SUBB    A,#67H
                MOV     A,TEXTX_H
                SUBB    A,#02H
                JC      HZSELE
                MOV     TEXTX_H,#0
                MOV     TEXTX_L,#6
                MOV     A,TEXTY_L
                ADD     A,#18
                MOV     TEXTY_L,A
                CLR     A
                ADDC    A,TEXTY_H
                MOV     TEXTY_H,A
                CLR     C
                MOV     A,TEXTY_L
                SUBB    A,#199
                MOV     A,TEXTY_H
                SUBB    A,#00H
                JC      HZSELE
                MOV     TEXTY_H,#0
                MOV     TEXTY_L,#164
        HZSELE: NOP  
                RET

        ;************拼音输入法*********
        PYPRO:  MOV     DL200MS,#10
                LCALL   DELAY           ;延时100mS
                MOV     DPTR,#CMDB001
                LCALL   TXROMS
                MOV     R0,#PYCODE0
                MOV     R7,#6
        PYPRO0: MOV     A,@R0
                MOV     B,A
                CLR     C
                SUBB    A,#"A"
                JC      PYPR0E
                MOV     SBUF0,B
                JNB     TI0FLG,$
                CLR     TI0FLG
        PYPR0E: INC     R0
                DJNZ    R7,PYPRO0
                LCALL   TXFEND
                CLR     RI0FLG
                MOV     SBUF0_RX,#00H
                MOV     DL200MS,#10     ;最多等待100mS应答
                CLR     TCHOK
                MOV     R7,#00H
                MOV     R6,#00H
                MOV     R5,#00H
                MOV     R4,#00H
        PYPRO1: JB      TCHOK,PYPROE
                MOV     A,DL200MS
                JZ      PYPROE
                JNB     RI0FLG,PYPRO1
                MOV     A,R6
                MOV     R7,A
                MOV     A,R5
                MOV     R6,A
                MOV     A,R4
                MOV     R5,A
                MOV     R4,SBUF0_RX
                CLR     RI0FLG
                CJNE    R7,#0AAH,PYPRO1
                CJNE    R6,#0B0H,PYPRO1
                CJNE    R5,#01H,PYPRO1
                MOV     A,R4
                JZ      PYPROE
                MOV     DPTR,#0FFH
                MOVX    @DPTR,A
                MOV     A,R4
                CLR     C
                RLC     A
                MOV     R4,A
                MOV     R7,A
                MOV     DPTR,#0000H
                MOV     DL200MS,#3
        PYPRO2: MOV     A,DL200MS
                JZ      PYPROE
                JNB     RI0FLG,PYPRO2
                MOV     A,SBUF0_RX
                CLR     RI0FLG
                MOVX    @DPTR,A
                INC     DPTR
                DJNZ    R7,PYPRO2
                MOV     DL200MS,#5
                LCALL   DELAY           ;延时50mS
                MOV     COLORH,#0F8H
                MOV     COLORL,#00H
                MOV     BCOLORH,#00H
                MOV     BCOLORL,#1FH
                LCALL   COLORSET
                MOV     DPTR,#CMDPY0
                LCALL   TXROMS
                LCALL   TXFEND
                MOV     DPTR,#CMDPY1
                LCALL   TXROMS
                MOV     DPTR,#0000H
        PYPR21: MOVX    A,@DPTR
                LCALL   TXBYTE
                INC     DPTR
                DJNZ    R4,PYPR21
                LCALL   TXFEND  
        PYPROE: MOV     DL200MS,#5
                LCALL   DELAY
                RET

        CMDB001:DB 0AAH,0B0H,01H,0FFH 
        CMDPY0: DB 0AAH,5AH
                DW 3,202,636,236
                DB 0FFH
        CMDPY1: DB 0AAH,54H
                DW 3,203
                DB 0FFH

        ;把触摸位置转换成按键
        TCHKEY: CLR     KEYOK
                MOV     DPTR,#KEYTAB
        TCHKEY1:CLR     A
                MOVC    A,@A+DPTR
                MOV     R7,A
                CJNE    A,#0FFH,TCHKEY2
                CLR     TCHOK
                RET                     ;结束
        TCHKEY2:MOV     A,#01H
                MOVC    A,@A+DPTR
                MOV     R6,A            ;左上角X坐标
                CLR     C
                MOV     A,R6
                SUBB    A,RXXL
                MOV     A,R7
                SUBB    A,RXXH
                JNC     TCHKEYE
                MOV     A,#02H
                MOVC    A,@A+DPTR
                MOV     R7,A
                MOV     A,#03H
                MOVC    A,@A+DPTR
                MOV     R6,A            ;左上角Y坐标
                CLR     C
                MOV     A,R6
                SUBB    A,RXYL
                MOV     A,R7
                SUBB    A,RXYH
                JNC     TCHKEYE
                MOV     A,#04H
                MOVC    A,@A+DPTR
                MOV     R7,A
                MOV     A,#05H
                MOVC    A,@A+DPTR
                MOV     R6,A            ;右上角X坐标
                CLR     C
                MOV     A,R6
                SUBB    A,RXXL
                MOV     A,R7
                SUBB    A,RXXH
                JC      TCHKEYE
                MOV     A,#06H
                MOVC    A,@A+DPTR
                MOV     R7,A
                MOV     A,#07H
                MOVC    A,@A+DPTR
                MOV     R6,A            ;右上角Y坐标
                CLR     C
                MOV     A,R6
                SUBB    A,RXYL
                MOV     A,R7
                SUBB    A,RXYH
                JC      TCHKEYE
                SETB    KEYOK
                CLR     A
                MOV     C,CAPSLK
                ADDC    A,#08H
                MOVC    A,@A+DPTR
                MOV     KEYCODE,A
                CJNE    A,#0AH,HZKEY4
                CLR     C
                MOV     A,RXYL
                SUBB    A,#202
                MOV     B,#16
                DIV     AB
                MOV     B,#40
                MUL     AB
                PUSH    ACC
                MOV     A,RXXH
                SWAP    A
                ANL     A,#0F0H
                MOV     B,A
                MOV     A,RXXL
                SWAP    A
                ANL     A,#0FH
                ADD     A,B
                MOV     B,A
                CLR     C
                SUBB    A,#40
                JC      HZKEY3
                MOV     B,#39
        HZKEY3: POP     ACC
                ADD     A,B
                MOV     HZPOS,A
        HZKEY4: CLR     TCHOK
                RET
        TCHKEYE:MOV     A,DPL
                ADD     A,#10
                MOV     DPL,A
                CLR     A
                ADDC    A,DPH
                MOV     DPH,A
                LJMP    TCHKEY1                                        
                RET
                     
        KEYTAB: DW 5,249,40,294         ;第一排
                DB "1!"
                DW 43,249,78,294
                DB "2@"
                DW 80,249,115,294
                DB "3#"
                DW 118,249,153,294
                DB "4$"
                DW 155,249,190,294
                DB "5%"
                DW 193,249,228,294
                DB "6^"
                DW 230,249,265,294
                DB "7&"
                DW 268,249,303,294
                DB "8*"
                DW 305,249,340,294
                DB "9("
                DW 343,249,378,294
                DB "0)"
                DW 380,249,415,294
                DB "-_"
                DW 418,249,453,294
                DB "=+"
                DW 457,249,508,294
                DB 00H,00H              ;BACK SPACE
                DW 4,298,55,333         ;第二排
                DB 01H,01H              ;TAB
                DW 58,298,93,333
                DB "qQ"
                DW 95,298,130,333
                DB "wW"
                DW 133,298,168,333
                DB "eE"
                DW 170,298,205,333
                DB "rR"
                DW 208,298,243,333
                DB "tT"
                DW 245,298,280,333
                DB "yY"
                DW 283,298,318,333
                DB "uU"
                DW 320,298,355,333
                DB "iI"
                DW 358,298,393,333
                DB "oO"
                DW 395,298,430,333
                DB "pP"
                DW 433,298,468,333
                DB "[{"
                DW 472,298,507,333
                DB "]}"               
                DW 4,337,63,372         ;第三排
                DB 02H,02H              ;CAPS LOCK
                DW 67,337,102,372
                DB "aA"
                DW 106,337,141,372
                DB "sS"
                DW 145,337,180,372
                DB "dD"
                DW 184,337,219,372
                DB "fF"
                DW 221,337,256,372
                DB "gG"
                DW 259,337,294,372
                DB "hH"
                DW 296,337,331,372
                DB "jJ"
                DW 334,337,369,372
                DB "kK"
                DW 373,337,408,372
                DB "lL"
                DW 410,337,445,372
                DB ";:"
                DW 448,337,507,372      ;enter
                DB 03H,03H
                DW 4,376,55,411         ;第四排
                DB 04H,04H              ;Esc
                DW 58,376,93,411
                DB "zZ"
                DW 95,376,130,411
                DB "xX"
                DW 133,376,168,411
                DB "cC"
                DW 170,376,205,411
                DB "vV"
                DW 208,376,243,411
                DB "bB"
                DW 245,376,280,411
                DB "nN"
                DW 283,376,318,411
                DB "mM"
                DW 320,376,355,411
                DB ",<"
                DW 358,376,393,411
                DB ".>"
                DW 395,376,430,411
                DB "/?"
                DW 433,376,468,411
                DB "\|"
                DW 472,376,507,411
                DB "`~"         
                DW 5,415,40,450         ;第五排
                DB "@@"
                DW 43,415,78,450
                DB "--"
                DW 80,415,115,450
                DB "++"
                DW 118,415,153,450
                DB "=="
                DW 155,415,340,450
                DB "  "
                DW 343,415,378,450
                DB "<<"
                DW 380,415,415,450
                DB ">>"
                DW 418,415,453,450
                DB "??"
                DW 457,415,508,450
                DB 05H,05H              ;中/英
                DW 519,275,631,310
                DB 06H,06H              ;文本功能介绍
                DW 519,318,631,353
                DB 07H,07H              ;图形功能介绍
                DW 519,360,631,395
                DB 08H,08H              ;应用功能介绍

⌨️ 快捷键说明

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