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

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

📁 能生成图象和动态曲线的汇编源程序,需要的就下吧,免费的哦!
💻 TXT
📖 第 1 页 / 共 4 页
字号:
                DW 519,403,631,438
                DB 09H,09H              ;迪文科技简介 
                DW 0,202,640,234
                DB 0AH,0AH              ;输入法选择一个字符
                DW 4,455,37,476         
                DB 0BH,0BH              ;重新初始化 
                DW 415,454,639,479
                DB 0CH,0CH              ;时钟设置                                                                                                            
                DB 0FFH                 ;键盘定义结束
                
;***************示波器方式显示AD结果曲线***************
        ADPRO:  MOV     COLORH,#0F8H    ;RED
                MOV     COLORL,#00H
                MOV     BCOLORH,#00H    ;BLACK
                MOV     BCOLORL,#00H
                LCALL   COLORSET
                MOV     DPTR,#CMD5A     ;清除将显示的区域
                LCALL   TXROMS
                MOV     B,VALX0_L
                MOV     A,VALX0_H
                JB      ADJFLG,ADPRO1   ;第一个小窗口必须清除左边的线
                MOV     A,VALX0_L
                ADD     A,#01H
                MOV     B,A
                CLR     A
                ADDC    A,VALX0_H
        ADPRO1: CLR     ADJFLG
                LCALL   TXBYTE
                MOV     A,B
                LCALL   TXBYTE
                MOV     A,#00H
                LCALL   TXBYTE
                MOV     A,#03H
                LCALL   TXBYTE
                MOV     A,VALX1_H       ;右下角
                LCALL   TXBYTE
                MOV     A,VALX1_L
                LCALL   TXBYTE
                MOV     A,#00H
                LCALL   TXBYTE
                MOV     A,#139
                LCALL   TXBYTE
                LCALL   TXFEND
                MOV     DPTR,#CMD56     ;划T线
                LCALL   TXROMS
                MOV     A,VAL_T
                ADD     A,#10
                MOV     VAL_T1,A
                MOV     A,VALX0_H       
                LCALL   TXBYTE
                MOV     A,VALX0_L
                LCALL   TXBYTE
                MOV     A,#00H
                LCALL   TXBYTE
                MOV     A,VAL_T0
                LCALL   TXBYTE
                MOV     A,VALX1_H       
                LCALL   TXBYTE
                MOV     A,VALX1_L
                LCALL   TXBYTE
                MOV     A,#00H
                LCALL   TXBYTE
                MOV     A,VAL_T1
                LCALL   TXBYTE
                LCALL   TXFEND
                MOV     DPTR,#CMD54AD1
                LCALL   TXROMS
                MOV     A,VAL_T1
                LCALL   NUMDSP
                LCALL   TXFEND
                MOV     VAL_T0,VAL_T1
                MOV     COLORH,#07H     ;GREEN
                MOV     COLORL,#0E0H
                MOV     BCOLORH,#00H   ;BLACK
                MOV     BCOLORL,#00H
                LCALL   COLORSET
                MOV     DPTR,#CMD56     ;划H线
                LCALL   TXROMS
                MOV     A,VAL_H
                ADD     A,#74
                MOV     VAL_H1,A
                MOV     A,VALX0_H       
                LCALL   TXBYTE
                MOV     A,VALX0_L
                LCALL   TXBYTE
                MOV     A,#00H
                LCALL   TXBYTE
                MOV     A,VAL_H0
                LCALL   TXBYTE
                MOV     A,VALX1_H       
                LCALL   TXBYTE
                MOV     A,VALX1_L
                LCALL   TXBYTE
                MOV     A,#00H
                LCALL   TXBYTE
                MOV     A,VAL_H1
                LCALL   TXBYTE
                LCALL   TXFEND
                MOV     DPTR,#CMD54AD2
                LCALL   TXROMS
                MOV     A,VAL_T1
                LCALL   NUMDSP
                LCALL   TXFEND
                MOV     VAL_H0,VAL_H1
                NOP
                MOV     VALX0_H,VALX1_H ;重新计算坐标
                MOV     VALX0_L,VALX1_L
                MOV     A,VALX1_L
                ADD     A,#5
                MOV     VALX1_L,A
                CLR     A
                ADDC    A,VALX1_H
                MOV     VALX1_H,A
                CLR     C
                MOV     A,VALX1_L
                SUBB    A,#0A7H         ;423
                MOV     A,VALX1_H
                SUBB    A,#01H
                JC      ADPROE
                MOV     VALX0_H,#00H
                MOV     VALX0_L,#03H
                MOV     VALX1_H,#00H
                MOV     VALX1_L,#08H
                SETB    ADJFLG
        ADPROE: NOP
                RET

        CMD5A:  DB 0AAH,5AH,0FFH
        CMD56:  DB 0AAH,56H,0FFH
        CMD54AD1:DB 0AAH,54H 
                DW 20,140
                DB "温度--",0FFH
        CMD54AD2:DB 0AAH,54H 
                DW 120,140
                DB "湿度--",0FFH

;***************从其它图片剪切小图片来显示***************
        PICCUT: INC     PICPOS
                MOV     A,PICPOS
                MOV     B,#19
                DIV     AB
                MOV     PICPOS,B        ;0-9
                MOV     DPTR,#PCUT_T1
                LCALL   TXROMS
                MOV     A,PICPOS
                MOV     B,#10
                MUL     AB
                MOV     DPTR,#PCUT_T2
                ADD     A,DPL
                MOV     DPL,A
                MOV     A,B
                ADDC    A,DPH
                MOV     DPH,A
                LCALL   TXROMS
                MOV     DPTR,#PCUT_T3
                LCALL   TXROMS
                LCALL   TXFEND
                RET

        PCUT_T1:DB 0AAH,71H,0FFH
        PCUT_T2:DB 0                    ;0
                DW 430,6,635,151
                DB 0FFH
                DB 1                    ;1
                DW 3,6,208,151
                DB 0FFH
                DB 1                    ;2
                DW 217,6,422,151
                DB 0FFH
                DB 1                    ;3
                DW 430,6,635,151
                DB 0FFH
                DB 1                    ;4
                DW 3,167,208,312
                DB 0FFH
                DB 1                    ;5
                DW 217,167,422,312
                DB 0FFH
                DB 1                    ;6
                DW 430,167,635,312
                DB 0FFH
                DB 1                    ;7
                DW 3,329,208,474
                DB 0FFH
                DB 1                    ;8
                DW 217,329,422,474
                DB 0FFH
                DB 1                    ;9
                DW 430,329,635,474
                DB 0FFH
                DB 2                    ;10
                DW 3,6,208,151
                DB 0FFH
                DB 2                    ;11
                DW 217,6,422,151
                DB 0FFH
                DB 2                    ;12
                DW 430,6,635,151
                DB 0FFH
                DB 2                    ;13
                DW 3,167,208,312
                DB 0FFH
                DB 2                    ;14
                DW 217,167,422,312
                DB 0FFH
                DB 2                    ;15
                DW 430,167,635,312
                DB 0FFH
                DB 2                    ;16
                DW 3,329,208,474
                DB 0FFH
                DB 2                    ;17
                DW 217,329,422,474
                DB 0FFH
                DB 2                    ;18
                DW 430,329,635,474
                DB 0FFH

        PCUT_T3:DW 430,6,635,151,0FFH   ;图片大小为205*145               
                                                                                                                                                                   
;***************CPU 初始化***********        
        INITCPU:MOV     VDM0CN,#0C0H
         MOV     RSTSRC,#02H
         MOV     PCA0CN,#00H
         MOV     PCA0MD,#00H
         mov   P0MDIN,#0FCH
         MOV P0MDOUT,#50H ;0001 0000B P0.4 IS TXD
         MOV P0SKIP,#03H ;0000 0011B P0.0 P0.1 IS DAC

         MOV P1MDIN,#0FBH ;1111 1011
         MOV P1MDOUT,#13H    ;1010 0000
         MOV P1SKIP,#04H ;0000 0100B SKIP VERF-M 

         mov   P2MDIN,#0FFh
         MOV P2SKIP,#00H
                MOV     P2MDOUT,#00H

                CLR     BUZZ
                CLR     JDQ0
                CLR     JDQ1

                MOV     XBR0,#01H
                MOV     XBR1,#40H
  
         MOV OSCXCN,#00H
         MOV OSCICN,#0C7H
            CLR A
         DJNZ ACC,$
         NOP
         MOV CLKMUL,#00H
         NOP
         ORL CLKMUL,#03H
         NOP
         ORL CLKMUL,#10H
         NOP
         ORL CLKMUL,#80H
         NOP
         CLR A
         DJNZ ACC,$
         NOP
         ORL CLKMUL,#0C0H
         NOP
        OSCWT2: MOV A,CLKMUL
         JNB ACC.5,OSCWT2
         NOP
         MOV CLKSEL,#02H     ;49MHz SYSTEM CLOCK
         NOP
         NOP
                MOV     TMOD,#21H 
                ;T0
                MOV     TH0,#70         
                MOV     TL0,#70         
                CLR     TR0
                ;T1
                MOV     A,#07H          ;串口波特率设置,7=115200
                MOV     B,#2
                MUL     AB
                MOV     DPTR,#BODE_TAB
                MOV     B,A
                MOVC    A,@A+DPTR
                MOV     CKCON,A
                MOV     A,B
                INC     DPTR
                MOVC    A,@A+DPTR
                MOV     TH1,A
                MOV     TL1,A
                MOV     SCON0,#50H
                SETB    TR1
                ;T2    
                MOV     TMR2RLH,#60H    ;10mS
                MOV     TMR2H,#60H
                MOV     TMR2RLL,#7FH
                MOV     TMR2L,#7FH
                MOV     TMR2CN,#04H                                                                         
                ;T3
                MOV     TMR3RLL,#0DH
                MOV     TMR3RLH,#0F0H   ;1mS
                MOV     TMR3L,#0
                MOV     TMR3H,#0
                MOV     TMR3CN,#00H     ;.2=TR3
                MOV     IE,#00H 
                MOV     EIE1,#00H       ;ET3=1  
                SETB    ES0
                SETB    ET2               
                ;DA  DEFINE
         MOV IDA0CN,#0F7H            
         MOV     IDA1CN,#0F7H
         MOV     REF0CN,#33H             
                ;AD  DEFINE
         MOV ADC0MX,#1FH     ;A/D=GND
         MOV ADC0CF,#28H     ;AD转换时钟为 系统时钟10分频
         MOV     ADC0CN,#90H ;AD0BUSY控制AD转换     
         MOV ADC0TK,#0CH    ;AD仅仅转换一次               
                RET

;***************串口中断服务程序*************
        UARTPRO:PUSH    ACC
                PUSH    PSW
                JB      RI0,UARTRCV
                CLR     TI0
                SETB    TI0FLG
                SJMP    UARTEND
        UARTRCV:MOV     SBUF0_RX,SBUF0
                SETB    RI0FLG
                CLR     RI0
                JB      TCHOK,UARTEND        ;如果有数据没有处理,就禁止接收新的数据
                MOV     RXAA,RX73
                MOV     RX73,RXXH
                MOV     RXXH,RXXL
                MOV     RXXL,RXYH
                MOV     RXYH,RXYL
                MOV     RXYL,SBUF0_RX
                MOV     A,RXAA
                CJNE    A,#0AAH,UARTEND
                MOV     A,RX73
                CJNE    A,#73H,UARTEND
                SETB    TCHOK  
        UARTEND:POP     PSW
                POP     ACC           
                RETI

        ;波特率寄存器表1.2 2.4 4.8 9.6 19.2 38.4 57.6 115.2
        ;0=2041667 1=6125000 2=510417
        BODE_TAB:DB 2,43        ;2400  00
                DB 2,43         ;2400  01
                DB 2,150        ;4800  02
                DB 0,43         ;9600  03
                DB 0,150        ;19200 04
                DB 1,96         ;38400 05
                DB 1,150        ;57600 06
                DB 1,203        ;115200 07

        ;10mS系统定时器中断服务程序
        SYSCLK: PUSH    PSW
                PUSH    ACC
                PUSH    B
                MOV     TMR2CN,#04H
                DJNZ    RTC500,SYSCLK1
                MOV     RTC500,#50
                SETB    RTCOK
        SYSCLK1:DJNZ    RTC1S,SYSCLK2
                MOV     RTC1S,#100
                SETB    PICOK
        SYSCLK2:MOV     A,VAL_T
                ADD     A,TIMES
                ADD     A,R0
                ADD     A,DPL
                ADD     A,DPH
                MOV     B,#7
                MUL     AB
                MOV     B,#11
                DIV     AB
                MOV     A,B
                ADD     A,#17
                MOV     VAL_T,A
        SYSCK22:DEC     VAL_H   
                MOV     A,VAL_H
                MOV     B,DPL
                MUL     AB
                MOV     B,TIMES
                MUL     AB
                MOV     B,VAL_T
                MUL     AB
                ANL     A,#3FH
                MOV     VAL_H,A 
                DJNZ    RTC200,SYSCLK3
                SETB    ADOK
                MOV     RTC200,#20
        SYSCLK3:MOV     A,DL200MS
                JZ      SYSCLK4
                DEC     DL200MS
        SYSCLK4:NOP                                                                                          
                POP     B
                POP     ACC
                POP     PSW
                RETI

⌨️ 快捷键说明

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