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

📄 display.lis

📁 测量脉搏的源码 Cypress公司使用 CY27443 完成相关的功能
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 002D           ; 
 002D           ;   LcdSendCommand(0x20); 
 002D 5020              mov A,32
 002F 08                push A
 0030 95C5              xcall _LcdSendCommand
 0032                   .dbline 27
 0032           ;   LcdSendCommand(0x0C); // LCD in normal mode.
 0032 500C              mov A,12
 0034 08                push A
 0035 95C0              xcall _LcdSendCommand
 0037 38FE              add SP,-2
 0039                   .dbline 30
 0039           ;   
 0039           ;   //clear display
 0039           ;   LcdSendCommand(0x40);
 0039 5040              mov A,64
 003B 08                push A
 003C 95B9              xcall _LcdSendCommand
 003E                   .dbline 31
 003E           ;   LcdSendCommand(0x80);
 003E 5080              mov A,-128
 0040 08                push A
 0041 95B4              xcall _LcdSendCommand
 0043 38FE              add SP,-2
 0045                   .dbline 32
 0045 560100            mov [X+1],0
 0048 560000            mov [X+0],0
 004B           L3:
 004B                   .dbline 32
 004B 5000              mov A,0
 004D 08                push A
 004E 958D              xcall _LcdSendData
 0050 38FF              add SP,-1
 0052           L4:
 0052                   .dbline 32
 0052           ;   for(i=0; i<504; i++) LcdSendData(0x00);
 0052 7701              inc [X+1]
 0054 0F0000            adc [X+0],0
 0057                   .dbline 32
 0057 5200              mov A,[X+0]
 0059 3180              xor A,-128
 005B 5300              mov [__rY],A
 005D 5001              mov A,1
 005F 3180              xor A,-128
 0061 5300              mov [__rZ],A
 0063 550000            mov [__rX],0
 0066 5201              mov A,[X+1]
 0068 11F8              sub A,-8
 006A 2C00              or [__rX],A
 006C 5100              mov A,[__rY]
 006E 1A00              sbb A,[__rZ]
 0070 2C00              or [__rX],A
 0072 CFD8              jc L3
 0074           X0:
 0074                   .dbline -2
 0074                   .dbline 33
 0074           ; }
 0074           L2:
 0074 38FE              add SP,-2
 0076 20                pop X
 0077                   .dbline 0 ; func end
 0077 7F                ret
 0078                   .dbsym l i 0 I
 0078                   .dbend
 0078                   .dbfunc e LcdContrast _LcdContrast fV
 0078           ;       contrast -> X-4
 0078           _LcdContrast::
 0078                   .dbline -1
 0078 10                push X
 0079 4F                mov X,SP
 007A                   .dbline 43
 007A           ; 
 007A           ; //--------------------------------------------------------------------------------------------------
 007A           ; // Name : LcdContrast
 007A           ; // Description : Set display contrast.
 007A           ; // Argument(s) : contrast -> Contrast value from 0x00 to 0x7F.
 007A           ; // Return value : None.
 007A           ; // Notes : No change visible at ambient temperature.
 007A           ; //--------------------------------------------------------------------------------------------------
 007A           ; void LcdContrast ( char contrast )
 007A           ; {
 007A                   .dbline 45
 007A           ;   // LCD Extended Commands.
 007A           ;   LcdSendCommand(0x21);
 007A 5021              mov A,33
 007C 08                push A
 007D 9578              xcall _LcdSendCommand
 007F 38FF              add SP,-1
 0081                   .dbline 47
 0081           ;   // Set LCD Vop (Contrast).
 0081           ;   LcdSendCommand(0x80);
 0081 5080              mov A,-128
 0083 08                push A
 0084 9571              xcall _LcdSendCommand
 0086                   .dbline 49
 0086           ;   // LCD Standard Commands, horizontal addressing mode.
 0086           ;   LcdSendCommand(0x20);
 0086 5020              mov A,32
 0088 08                push A
 0089 956C              xcall _LcdSendCommand
 008B 38FE              add SP,-2
 008D                   .dbline -2
 008D                   .dbline 50
 008D           ; }
 008D           L7:
 008D 20                pop X
 008E                   .dbline 0 ; func end
 008E 7F                ret
 008F                   .dbsym l contrast 0 I
 008F                   .dbsym l contrast -4 c
 008F                   .dbend
 008F                   .dbfunc e LcdClear _LcdClear fV
 008F           ;              i -> X+0
 008F           _LcdClear::
 008F                   .dbline -1
 008F 10                push X
 0090 4F                mov X,SP
 0091 3802              add SP,2
 0093                   .dbline 59
 0093           ; 
 0093           ; //--------------------------------------------------------------------------------------------------
 0093           ; // Name : LcdClear
 0093           ; // Description : Clears the display.
 0093           ; // Argument(s) : None.
 0093           ; // Return value : None.
 0093           ; //--------------------------------------------------------------------------------------------------
 0093           ; void LcdClear ( void )
 0093           ; {
 0093                   .dbline 61
 0093 560100            mov [X+1],0
 0096 560000            mov [X+0],0
 0099           L9:
 0099                   .dbline 61
 0099 5000              mov A,0
 009B 08                push A
 009C 953F              xcall _LcdSendData
 009E 38FF              add SP,-1
 00A0           L10:
 00A0                   .dbline 61
 00A0           ;   int i;
 00A0           ;   for(i=0; i<504; i++) LcdSendData(0x00);
 00A0 7701              inc [X+1]
 00A2 0F0000            adc [X+0],0
 00A5                   .dbline 61
 00A5 5200              mov A,[X+0]
 00A7 3180              xor A,-128
 00A9 5300              mov [__rY],A
 00AB 5001              mov A,1
 00AD 3180              xor A,-128
 00AF 5300              mov [__rZ],A
 00B1 550000            mov [__rX],0
 00B4 5201              mov A,[X+1]
 00B6 11F8              sub A,-8
 00B8 2C00              or [__rX],A
 00BA 5100              mov A,[__rY]
 00BC 1A00              sbb A,[__rZ]
 00BE 2C00              or [__rX],A
 00C0 CFD8              jc L9
 00C2           X1:
 00C2                   .dbline 62
 00C2           ;   LcdSendCommand(0x40);
 00C2 5040              mov A,64
 00C4 08                push A
 00C5 9530              xcall _LcdSendCommand
 00C7                   .dbline 63
 00C7           ;   LcdSendCommand(0x80);
 00C7 5080              mov A,-128
 00C9 08                push A
 00CA 952B              xcall _LcdSendCommand
 00CC 38FE              add SP,-2
 00CE                   .dbline -2
 00CE                   .dbline 64
 00CE           ; }
 00CE           L8:
 00CE 38FE              add SP,-2
 00D0 20                pop X
 00D1                   .dbline 0 ; func end
 00D1 7F                ret
 00D2                   .dbsym l i 0 I
 00D2                   .dbend
 00D2                   .dbfunc e LcdGoto _LcdGoto fV
 00D2           ;              y -> X-5
 00D2           ;              x -> X-4
 00D2           _LcdGoto::
 00D2                   .dbline -1
 00D2 10                push X
 00D3 4F                mov X,SP
 00D4                   .dbline 73
 00D4           ; 
 00D4           ; //--------------------------------------------------------------------------------------------------
 00D4           ; // Name : LcdGotoXY
 00D4           ; // Description : Sets cursor location to xy location corresponding to basic font size.
 00D4           ; // Argument(s) : x, y -> Coordinate for new cursor position. x range 0..83, y - 0..5
 00D4           ; // Return value : None.
 00D4           ; //--------------------------------------------------------------------------------------------------
 00D4           ; void LcdGoto ( char x, char y )
 00D4           ; {
 00D4                   .dbline 74
 00D4           ;   LcdSendCommand(0x40 | y);
 00D4 52FB              mov A,[X-5]
 00D6 2940              or A,64
 00D8 08                push A
 00D9 951C              xcall _LcdSendCommand
 00DB                   .dbline 75
 00DB           ;   LcdSendCommand(0x80 | x);
 00DB 52FC              mov A,[X-4]
 00DD 2980              or A,-128
 00DF 08                push A
 00E0 9515              xcall _LcdSendCommand
 00E2 38FE              add SP,-2
 00E4                   .dbline -2
 00E4                   .dbline 76
 00E4           ; }
 00E4           L13:
 00E4 20                pop X
 00E5                   .dbline 0 ; func end
 00E5 7F                ret
 00E6                   .dbsym l y 0 I
 00E6                   .dbsym l y -5 c
 00E6                   .dbsym l x 0 I
 00E6                   .dbsym l x -4 c
 00E6                   .dbend
 00E6                   .dbfunc e LcdChr _LcdChr fV
 00E6           ;              i -> X+0
 00E6           ;             ch -> X-4
 00E6           _LcdChr::
 00E6                   .dbline -1
 00E6 10                push X
 00E7 4F                mov X,SP
 00E8 3802              add SP,2
 00EA                   .dbline 87
 00EA           ; 
 00EA           ; //--------------------------------------------------------------------------------------------------
 00EA           ; // Name : LcdChr
 00EA           ; // Description : Displays a character at current cursor location and increment cursor location.
 00EA           ; // Argument(s) : ch -> Character to write.
 00EA           ; //               dt (available only with DRAW_OVER_BACKGROUND directive) -> drawing type  
 00EA           ; // Return value : None.
 00EA           ; //--------------------------------------------------------------------------------------------------
 00EA           ; 
 00EA           ; void LcdChr ( char ch )
 00EA           ; {
 00EA                   .dbline 89
 00EA 560100            mov [X+1],0
 00ED 560000            mov [X+0],0
 00F0           L15:
 00F0                   .dbline 89
 00F0 550005            mov [__r1],5
 00F3 550000            mov [__r0],0
 00F6 52FC              mov A,[X-4]
 00F8 5300              mov [__r3],A
 00FA 550000            mov [__r2],0
 00FD 550000            mov [__rX],0
 0100 550000            mov [__rY],0
 0103           X2:
 0103 3C0000            cmp [__r0],0
 0106 B006              jnz X5
 0108 3C0000            cmp [__r1],0
 010B A017              jz X4
 010D           X5:
 010D 70FB              and F,-5
 010F 6E00              rrc [__r0]
 0111 6E00              rrc [__r1]
 0113 D009              jnc X3
 0115 5100              mov A,[__r3]
 0117 0400              add [__rX],A
 0119 5100              mov A,[__r2]
 011B 0C00              adc [__rY],A
 011D           X3:
 011D 6500              asl [__r3]
 011F 6B00              rlc [__r2]
 0121 8FE1              jmp X2
 0123           X4:
 0123 5F0000            mov [__r1],[__rX]
 0126 5F0000            mov [__r0],[__rY]
 0129 060060            add [__r1],<_FontLookup-160
 012C 0E0060            adc [__r0],>_FontLookup-160
 012F 5201              mov A,[X+1]
 0131 0200              add A,[__r1]
 0133 5300              mov [__r1],A
 0135 5200              mov A,[X+0]
 0137 0A00              adc A,[__r0]
 0139 10                push X
 013A 5800              mov X,[__r1]
 013C 28                romx
 013D 20                pop X
 013E 08                push A
 013F 949C              xcall _LcdSendData
 0141 38FF              add SP,-1
 0143           L16:
 0143                   .dbline 89
 0143           ;   int i;
 0143           ;   for(i=0; i<5; i++) LcdSendData(FontLookup[ch-32][i]);
 0143 7701              inc [X+1]
 0145 0F0000            adc [X+0],0
 0148                   .dbline 89
 0148 5200              mov A,[X+0]
 014A 3180              xor A,-128
 014C 5300              mov [__rY],A
 014E 5000              mov A,0
 0150 3180              xor A,-128
 0152 5300              mov [__rZ],A
 0154 550000            mov [__rX],0
 0157 5201              mov A,[X+1]
 0159 1105              sub A,5
 015B 2C00              or [__rX],A
 015D 5100              mov A,[__rY]
 015F 1A00              sbb A,[__rZ]
 0161 2C00              or [__rX],A
 0163 CF8C              jc L15
 0165           X6:
 0165                   .dbline 91
 0165           ;   // empty space after character 
 0165           ;   LcdSendData(0x00);
 0165 5000              mov A,0
 0167 08                push A
 0168 9473              xcall _LcdSendData
 016A 38FF              add SP,-1
 016C                   .dbline -2
 016C                   .dbline 92
 016C           ; }
 016C           L14:
 016C 38FE              add SP,-2
 016E 20                pop X
 016F                   .dbline 0 ; func end
 016F 7F                ret
 0170                   .dbsym l i 0 I
 0170                   .dbsym l ch 0 I
 0170                   .dbsym l ch -4 c
 0170                   .dbend
 0170                   .dbfunc e LcdStr _LcdStr fV
 0170           ;             ch -> X+2
 0170           ;              i -> X+0
 0170           ;        dataPtr -> X-5
 0170           _LcdStr::
 0170                   .dbline -1
 0170 10                push X
 0171 4F                mov X,SP
 0172 3803              add SP,3
 0174                   .dbline 95
 0174           ; 
 0174           ; void LcdStr ( char *dataPtr )
 0174           ; {

⌨️ 快捷键说明

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