📄 rd_uselcdsp027.lis
字号:
.module RD_UseLCDSP027.c
.area text(rom, con, rel)
0000 .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块应用版\Relative_Locate_Module\RD_UseLCDSP027.c
.area data(ram, con, rel)
0000 .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块应用版\Relative_Locate_Module\RD_UseLCDSP027.c
0000 _LCDSP027_DispBuff:
0000 .blkb 2
.area idata
0000 0000 .byte 0,0
.area data(ram, con, rel)
0002 .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块应用版\Relative_Locate_Module\RD_UseLCDSP027.c
0002 .blkb 2
.area idata
0002 0000 .byte 0,0
.area data(ram, con, rel)
0004 .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块应用版\Relative_Locate_Module\RD_UseLCDSP027.c
0004 .blkb 1
.area idata
0004 00 .byte 0
.area data(ram, con, rel)
0005 .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块应用版\Relative_Locate_Module\RD_UseLCDSP027.c
0005 _LCDSP027_DISPCODE:
0005 .blkb 2
.area idata
0005 09CF .byte 9,207
.area data(ram, con, rel)
0007 .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块应用版\Relative_Locate_Module\RD_UseLCDSP027.c
0007 .blkb 2
.area idata
0007 9185 .byte 145,133
.area data(ram, con, rel)
0009 .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块应用版\Relative_Locate_Module\RD_UseLCDSP027.c
0009 .blkb 2
.area idata
0009 4725 .byte 'G,37
.area data(ram, con, rel)
000B .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块应用版\Relative_Locate_Module\RD_UseLCDSP027.c
000B .blkb 2
.area idata
000B 218F .byte 33,143
.area data(ram, con, rel)
000D .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块应用版\Relative_Locate_Module\RD_UseLCDSP027.c
000D .blkb 2
.area idata
000D 0105 .byte 1,5
.area data(ram, con, rel)
000F .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块应用版\Relative_Locate_Module\RD_UseLCDSP027.c
000F .blkb 2
.area idata
000F 0361 .byte 3,'a
.area data(ram, con, rel)
0011 .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块应用版\Relative_Locate_Module\RD_UseLCDSP027.c
0011 .blkb 2
.area idata
0011 39C1 .byte 57,193
.area data(ram, con, rel)
0013 .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块应用版\Relative_Locate_Module\RD_UseLCDSP027.c
0013 .blkb 2
.area idata
0013 3133 .byte 49,51
.area data(ram, con, rel)
0015 .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块应用版\Relative_Locate_Module\RD_UseLCDSP027.c
0015 .blkb 2
.area idata
0015 29FF .byte 41,255
.area data(ram, con, rel)
0017 .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块应用版\Relative_Locate_Module\RD_UseLCDSP027.c
0017 .blkb 2
.area idata
0017 F717 .byte 247,23
.area data(ram, con, rel)
0019 .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块应用版\Relative_Locate_Module\RD_UseLCDSP027.c
.area text(rom, con, rel)
0000 .dbfile E:\单片机\ROOBCO~1\全向定位系统\坐标转换模块\相对定位模块应用版\Relative_Locate_Module\RD_UseLCDSP027.c
0000 .dbfunc e LCDSP027_PrintN _LCDSP027_PrintN fV
0000 ; NumberA1 -> R10
0000 ; NumberB1 -> R12
0000 ; NumberC1 -> R14
0000 ; wAbsNUM0 -> R10,R11
0000 ; nNumber -> R20,R21
.even
0000 _LCDSP027_PrintN::
0000 00D0 rcall push_xgsetF0FC
0002 A801 movw R20,R16
0004 2597 sbiw R28,5
0006 .dbline -1
0006 .dbline 92
0006 ; /***********************************************************
0006 ; * 函数库说明:SP-027液晶段码显示器驱动函数库 *
0006 ; * 版本: v1.00 *
0006 ; * 作者: 王卓然 *
0006 ; * 创建日期: 2006年5月11日 *
0006 ; * -------------------------------------------------------- *
0006 ; * [支 持 库] *
0006 ; * 支持库名称:RD_UseLCDPS027.h *
0006 ; * 需要版本: v1.00 *
0006 ; * 支持库说明:SP-027液晶段码显示器驱动函数库 *
0006 ; * -------------------------------------------------------- *
0006 ; * [版本更新] *
0006 ; * 修改: *
0006 ; * 修改日期: *
0006 ; * 版本: *
0006 ; * -------------------------------------------------------- *
0006 ; * [版本历史] *
0006 ; * -------------------------------------------------------- *
0006 ; * [说 明] *
0006 ; ***********************************************************/
0006 ;
0006 ; /********************
0006 ; * 头 文 件 配 置 区 *
0006 ; ********************/
0006 ; # include "RD_UseLCDSP027.h"
0006 ;
0006 ; /********************
0006 ; * 系 统 宏 定 义 *
0006 ; ********************/
0006 ;
0006 ; /*------------------*
0006 ; * 硬 件 连 接 定 义 *
0006 ; *------------------*/
0006 ; #ifndef SP027_DI
0006 ; #error None defined SP027 PIN: SP027_DI
0006 ; #endif
0006 ; #ifndef SP027_CLK
0006 ; #error None defined SP027 PIN: SP027_CLK
0006 ; #endif
0006 ; # define SP027_NO_ICON 17
0006 ; # define SP027_MID_LINE 18
0006 ; # define SP027_CIRCLE 19
0006 ; /********************
0006 ; * 模块变量声明区 *
0006 ; ********************/
0006 ; static unsigned char LCDSP027_DispBuff[5] = {0,0,0,0,0};
0006 ; static unsigned char LCDSP027_DISPCODE[] = {0x09,0xcf,0x91,0x85,0x47,0x25,0x21,0x8f,0x01,0x05,
0006 ; 0x03,0x61,0x39,0xc1,0x31,0x33,0x29,0xff,0xf7,0x17};
0006 ;
0006 ; /********************
0006 ; * 函 数 声 明 区 *
0006 ; ********************/
0006 ; void Set_DISP_BUFF_SP027(char a,char b,char c,char d,char e);
0006 ; void LCDSP027_refresh_DISP_BUFF(void);
0006 ; void LCDSP027_Clear(void);
0006 ; void LCDSP027_PrintN(int16 nNumber);
0006 ; //void LCDSP027_PrintU(uint16 nNumber);
0006 ;
0006 ; /********************
0006 ; * 模块函数声明区 *
0006 ; ********************/
0006 ; static void LCDSP027_Send_Data(char Data);
0006 ;
0006 ; /*
0006 ; void LCDSP027_PrintU(uint16 nNumber)
0006 ; {
0006 ; uint16 wAbsNUM = nNumber;
0006 ; uint8 NumberA = 0;
0006 ; uint8 NumberB = 0;
0006 ; uint8 NumberC = 0;
0006 ; uint8 NumberD = 0;
0006 ;
0006 ; NumberD = wAbsNUM % 10;
0006 ; wAbsNUM = wAbsNUM * 0.1;
0006 ; NumberC = wAbsNUM % 10;
0006 ; wAbsNUM = wAbsNUM * 0.1;
0006 ; NumberB = wAbsNUM % 10;
0006 ; wAbsNUM = wAbsNUM * 0.1;
0006 ; NumberA = wAbsNUM % 10;
0006 ;
0006 ; Set_DISP_BUFF_SP027
0006 ; (
0006 ; NumberA,
0006 ; NumberB,
0006 ; NumberC,
0006 ; NumberD,
0006 ; SP027_NO_ICON
0006 ; );
0006 ; }
0006 ; */
0006 ; void LCDSP027_PrintN(int16 nNumber)
0006 ; {
0006 .dbline 93
0006 ; uint16 wAbsNUM = ABS(nNumber);
0006 4030 cpi R20,0
0008 E0E0 ldi R30,0
000A 5E07 cpc R21,R30
000C 34F4 brge L2
000E X0:
000E BA01 movw R22,R20
0010 6095 com R22
0012 7095 com R23
0014 6F5F subi R22,0xFF
0016 7F4F sbci R23,0xFF
0018 01C0 rjmp L3
001A L2:
001A BA01 movw R22,R20
001C L3:
001C 5B01 movw R10,R22
001E .dbline 94
001E ; uint8 NumberA = 0;
001E .dbline 95
001E ; uint8 NumberB = 0;
001E .dbline 96
001E ; uint8 NumberC = 0;
001E .dbline 98
001E ;
001E ; NumberC = wAbsNUM % 10;
001E 2AE0 ldi R18,10
0020 30E0 ldi R19,0
0022 8501 movw R16,R10
0024 00D0 rcall mod16u
0026 7801 movw R14,R16
0028 .dbline 99
0028 ; wAbsNUM = wAbsNUM * 0.1;
0028 00E0 ldi R16,<L4
002A 10E0 ldi R17,>L4
002C 00D0 rcall lpm32
002E 1801 movw R2,R16
0030 2901 movw R4,R18
0032 8501 movw R16,R10
0034 00D0 rcall uint2fp
0036 3A93 st -y,R19
0038 2A93 st -y,R18
003A 1A93 st -y,R17
003C 0A93 st -y,R16
003E 8101 movw R16,R2
0040 9201 movw R18,R4
0042 00D0 rcall fpmule2
0044 00D0 rcall fpint
0046 5801 movw R10,R16
0048 .dbline 100
0048 ; NumberB = wAbsNUM % 10;
0048 2AE0 ldi R18,10
004A 30E0 ldi R19,0
004C 00D0 rcall mod16u
004E 6801 movw R12,R16
0050 .dbline 101
0050 ; wAbsNUM = wAbsNUM * 0.1;
0050 00E0 ldi R16,<L4
0052 10E0 ldi R17,>L4
0054 00D0 rcall lpm32
0056 1801 movw R2,R16
0058 2901 movw R4,R18
005A 8501 movw R16,R10
005C 00D0 rcall uint2fp
005E 3A93 st -y,R19
0060 2A93 st -y,R18
0062 1A93 st -y,R17
0064 0A93 st -y,R16
0066 8101 movw R16,R2
0068 9201 movw R18,R4
006A 00D0 rcall fpmule2
006C 00D0 rcall fpint
006E .dbline 102
006E ; NumberA = wAbsNUM % 10;
006E 2AE0 ldi R18,10
0070 30E0 ldi R19,0
0072 00D0 rcall mod16u
0074 5801 movw R10,R16
0076 .dbline 104
0076 ;
0076 ; if (nNumber < 0)
0076 4030 cpi R20,0
0078 E0E0 ldi R30,0
007A 5E07 cpc R21,R30
007C 44F4 brge L5
007E X1:
007E .dbline 105
007E ; {
007E .dbline 106
007E ; Set_DISP_BUFF_SP027
007E 83E1 ldi R24,19
0080 8C83 std y+4,R24
0082 EA82 std y+2,R14
0084 C882 std y+0,R12
0086 2A2D mov R18,R10
0088 02E1 ldi R16,18
008A 0AD0 rcall _Set_DISP_BUFF_SP027
008C .dbline 114
008C ; (
008C ; SP027_MID_LINE,
008C ; NumberA,
008C ; NumberB,
008C ; NumberC,
008C ; SP027_CIRCLE
008C ; );
008C ; }
008C 07C0 rjmp L6
008E L5:
008E .dbline 116
008E ; else
008E ; {
008E .dbline 117
008E ; Set_DISP_BUFF_SP027
008E 83E1 ldi R24,19
0090 8C83 std y+4,R24
0092 EA82 std y+2,R14
0094 C882 std y+0,R12
0096 2A2D mov R18,R10
0098 01E1 ldi R16,17
009A 02D0 rcall _Set_DISP_BUFF_SP027
009C .dbline 125
009C ; (
009C ; SP027_NO_ICON,
009C ; NumberA,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -