📄 rd_uselcdsp027.lis
字号:
0020 4427 clr R20
0022 0FC0 rjmp L10
0024 L7:
0024 .dbline 86
0024 ; {
0024 .dbline 87
0024 ; LCDSP027_Send_Data(LCDSP027_DISPCODE[LCDSP027_DispBuff[n]]);
0024 80E0 ldi R24,<_LCDSP027_DispBuff
0026 90E0 ldi R25,>_LCDSP027_DispBuff
0028 E42F mov R30,R20
002A FF27 clr R31
002C E80F add R30,R24
002E F91F adc R31,R25
0030 E081 ldd R30,z+0
0032 FF27 clr R31
0034 80E0 ldi R24,<_LCDSP027_DISPCODE
0036 90E0 ldi R25,>_LCDSP027_DISPCODE
0038 E80F add R30,R24
003A F91F adc R31,R25
003C 0081 ldd R16,z+0
003E 1AD0 rcall _LCDSP027_Send_Data
0040 .dbline 88
0040 ; }
0040 L8:
0040 .dbline 85
0040 4395 inc R20
0042 L10:
0042 .dbline 85
0042 4530 cpi R20,5
0044 78F3 brlo L7
0046 X0:
0046 .dbline 89
0046 ; SP027_CLK = LOW;
0046 85B3 in R24,0x15
0048 8F7D andi R24,223
004A 85BB out 0x15,R24
004C .dbline 90
004C ; SP027_CLK = HIGH;
004C 85B3 in R24,0x15
004E 8062 ori R24,32
0050 85BB out 0x15,R24
0052 .dbline -2
0052 L6:
0052 .dbline 0 ; func end
0052 4991 ld R20,y+
0054 0895 ret
0056 .dbsym r n1 20 c
0056 .dbend
0056 .dbfunc e LCDSP027_Clear _LCDSP027_Clear fV
0056 ; n1 -> R16
.even
0056 _LCDSP027_Clear::
0056 .dbline -1
0056 .dbline 100
0056 ; }
0056 ;
0056 ; /***********************************************************
0056 ; * 函数说明:清屏函数 *
0056 ; * 输入: 无 *
0056 ; * 输出: 无 *
0056 ; * 调用函数:无 *
0056 ; ***********************************************************/
0056 ; void LCDSP027_Clear(void)
0056 ; {
0056 .dbline 101
0056 ; char n = 0;
0056 .dbline 102
0056 ; for (n = 0;n<40;n++)
0056 0027 clr R16
0058 0AC0 rjmp L15
005A L12:
005A .dbline 103
005A ; {
005A .dbline 104
005A ; SP027_CLK = LOW;
005A 85B3 in R24,0x15
005C 8F7D andi R24,223
005E 85BB out 0x15,R24
0060 .dbline 105
0060 ; SP027_DI = HIGH;
0060 85B3 in R24,0x15
0062 8061 ori R24,16
0064 85BB out 0x15,R24
0066 .dbline 106
0066 ; SP027_CLK = HIGH;
0066 85B3 in R24,0x15
0068 8062 ori R24,32
006A 85BB out 0x15,R24
006C .dbline 107
006C ; }
006C L13:
006C .dbline 102
006C 0395 inc R16
006E L15:
006E .dbline 102
006E 0832 cpi R16,40
0070 A0F3 brlo L12
0072 X1:
0072 .dbline -2
0072 L11:
0072 .dbline 0 ; func end
0072 0895 ret
0074 .dbsym r n1 16 c
0074 .dbend
0074 .dbfunc s LCDSP027_Send_Data _LCDSP027_Send_Data fV
0074 ; n1 -> R20
0074 ; Data -> R10
.even
0074 _LCDSP027_Send_Data:
0074 AA92 st -y,R10
0076 4A93 st -y,R20
0078 A02E mov R10,R16
007A .dbline -1
007A .dbline 117
007A ; }
007A ;
007A ; /***********************************************************
007A ; * 函数说明:发送数据函数 *
007A ; * 输入: 无 *
007A ; * 输出: 无 *
007A ; * 调用函数:无 *
007A ; ***********************************************************/
007A ; static void LCDSP027_Send_Data(char Data)
007A ; {
007A .dbline 118
007A ; char n = 0;
007A .dbline 119
007A ; for (n = 0;n<8;n++)
007A 4427 clr R20
007C 1AC0 rjmp L20
007E L17:
007E .dbline 120
007E ; {
007E .dbline 121
007E ; SP027_CLK = LOW;
007E 85B3 in R24,0x15
0080 8F7D andi R24,223
0082 85BB out 0x15,R24
0084 .dbline 122
0084 ; if (Data<<n>>7)
0084 0A2D mov R16,R10
0086 142F mov R17,R20
0088 00D0 rcall lsl8
008A 202E mov R2,R16
008C 2694 lsr R2
008E 2694 lsr R2
0090 2694 lsr R2
0092 2694 lsr R2
0094 2694 lsr R2
0096 2694 lsr R2
0098 2694 lsr R2
009A 21F0 breq L21
009C X2:
009C .dbline 123
009C ; {
009C .dbline 124
009C ; SP027_DI = HIGH;
009C 85B3 in R24,0x15
009E 8061 ori R24,16
00A0 85BB out 0x15,R24
00A2 .dbline 125
00A2 ; }
00A2 03C0 rjmp L22
00A4 L21:
00A4 .dbline 127
00A4 ; else
00A4 ; {
00A4 .dbline 128
00A4 ; SP027_DI = LOW;
00A4 85B3 in R24,0x15
00A6 8F7E andi R24,239
00A8 85BB out 0x15,R24
00AA .dbline 129
00AA ; }
00AA L22:
00AA .dbline 130
00AA ; SP027_CLK = HIGH;
00AA 85B3 in R24,0x15
00AC 8062 ori R24,32
00AE 85BB out 0x15,R24
00B0 .dbline 131
00B0 ; }
00B0 L18:
00B0 .dbline 119
00B0 4395 inc R20
00B2 L20:
00B2 .dbline 119
00B2 4830 cpi R20,8
00B4 20F3 brlo L17
00B6 X3:
00B6 .dbline -2
00B6 L16:
00B6 .dbline 0 ; func end
00B6 4991 ld R20,y+
00B8 A990 ld R10,y+
00BA 0895 ret
00BC .dbsym r n1 20 c
00BC .dbsym r Data 10 c
00BC .dbend
00BC ; }
00BC ;
00BC ;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -