📄 splc501hardware.lst
字号:
R3 = R3 lsr 4;
.endif
0000CB73 1B D7 00 70 [P_IO_Data_Data]=r3
0000CB75 40 F0 63 CC CALL F_Send_data
// R1=0x0AD2;
// [P_Lcd501Ctrl]=R1; // Set driving mode register
// CALL F_Delay_Bus_Time;
0000CB77 13 97 00 70 r3=[P_IO_Data_Data]
0000CB79 0A 95 00 FF r2=C_DataBus
0000CB7B 0A 85 FF FF r2^=0xffff
0000CB7D 02 B7 r3&=r2
0000CB7E 40 A6 r3|=0x0000
.if C_BusHighLow
.else
R3 = R3 lsr 4;
R3 = R3 lsr 4;
.endif
0000CB7F 1B D7 00 70 [P_IO_Data_Data]=r3
0000CB81 40 F0 63 CC CALL F_Send_data
// R1=0x0A00;
// [P_Lcd501Ctrl]=R1; // LS Column : 0
// CALL F_Delay_Bus_Time;
0000CB83 13 97 00 70 r3=[P_IO_Data_Data]
0000CB85 0A 95 00 FF r2=C_DataBus
0000CB87 0A 85 FF FF r2^=0xffff
0000CB89 02 B7 r3&=r2
0000CB8A 0B A7 00 2C r3|=0x2c00
.if C_BusHighLow
.else
R3 = R3 lsr 4;
R3 = R3 lsr 4;
.endif
0000CB8C 1B D7 00 70 [P_IO_Data_Data]=r3
0000CB8E 40 F0 63 CC CALL F_Send_data
// R1=0x0A2C;
// [P_Lcd501Ctrl]=R1; // REGULATOR on
// CALL F_Delay_Bus_Time;
0000CB90 13 97 00 70 r3=[P_IO_Data_Data]
0000CB92 0A 95 00 FF r2=C_DataBus
0000CB94 0A 85 FF FF r2^=0xffff
0000CB96 02 B7 r3&=r2
0000CB97 0B A7 00 2E r3|=0x2e00
.if C_BusHighLow
.else
R3 = R3 lsr 4;
R3 = R3 lsr 4;
.endif
0000CB99 1B D7 00 70 [P_IO_Data_Data]=r3
0000CB9B 40 F0 63 CC CALL F_Send_data
// R1=0x0A2E;
// [P_Lcd501Ctrl]=R1; // +FOLLOWER oFF
// CALL F_Delay_Bus_Time;
0000CB9D 13 97 00 70 r3=[P_IO_Data_Data]
0000CB9F 0A 95 00 FF r2=C_DataBus
0000CBA1 0A 85 FF FF r2^=0xffff
0000CBA3 02 B7 r3&=r2
0000CBA4 0B A7 00 2F r3|=0x2f00
.if C_BusHighLow
.else
R3 = R3 lsr 4;
R3 = R3 lsr 4;
.endif
0000CBA6 1B D7 00 70 [P_IO_Data_Data]=r3
0000CBA8 40 F0 63 CC CALL F_Send_data
// R1=0x0A2F;
// [P_Lcd501Ctrl]=R1; // +FOLLOWER oFF
// CALL F_Delay_Bus_Time;
0000CBAA 90 9A RETF;
//////////////////////////////////////////////////////////////////////////////
F_LCD_Display_On:
0000CBAB 13 97 00 70 r3=[P_IO_Data_Data]
0000CBAD 0A 95 00 FF r2=C_DataBus
0000CBAF 0A 85 FF FF r2^=0xffff
0000CBB1 02 B7 r3&=r2
0000CBB2 0B A7 00 AF r3|=0xaf00
.if C_BusHighLow
.else
R3 = R3 lsr 4;
R3 = R3 lsr 4;
.endif
0000CBB4 1B D7 00 70 [P_IO_Data_Data]=r3
0000CBB6 40 F0 63 CC CALL F_Send_data
// R1=0x0AAF;
// [P_Lcd501Ctrl]=R1;
// CALL F_Delay_Bus_Time;
0000CBB8 90 9A RETF;
//////////////////////////////////////////////////////////////////////////////
F_LCD_ALL_On:
0000CBB9 13 97 00 70 r3=[P_IO_Data_Data]
0000CBBB 0A 95 00 FF r2=C_DataBus
0000CBBD 0A 85 FF FF r2^=0xffff
0000CBBF 02 B7 r3&=r2
0000CBC0 0B A7 00 A5 r3|=0xa500
.if C_BusHighLow
.else
R3 = R3 lsr 4;
R3 = R3 lsr 4;
.endif
0000CBC2 1B D7 00 70 [P_IO_Data_Data]=r3
0000CBC4 40 F0 63 CC CALL F_Send_data
// R1=0x0AA5; //All points on
// [P_Lcd501Ctrl]=R1;
// CALL F_Delay_Bus_Time;
0000CBC6 90 9A RETF;
//////////////////////////////////////////////////////////////////////////////
F_LCD_Normal_Display:
0000CBC7 13 97 00 70 r3=[P_IO_Data_Data]
0000CBC9 0A 95 00 FF r2=C_DataBus
0000CBCB 0A 85 FF FF r2^=0xffff
0000CBCD 02 B7 r3&=r2
0000CBCE 0B A7 00 A4 r3|=0xa400
.if C_BusHighLow
.else
R3 = R3 lsr 4;
R3 = R3 lsr 4;
.endif
0000CBD0 1B D7 00 70 [P_IO_Data_Data]=r3
0000CBD2 40 F0 63 CC CALL F_Send_data
// R1=0x0AA4; //Normal display
// [P_Lcd501Ctrl]=R1;
// CALL F_Delay_Bus_Time;
0000CBD4 90 9A RETF;
//////////////////////////////////////////////////////////////////////////////
//Filename : F_Set_LCD_Page_No
//Function : Set the LCD page No.
//Input : Page No. (R1:0x0000~0x0007)
//Output : None
//Destroy : R1
//////////////////////////////////////////////////////////////////////////////
.public _Set_LCD_Page_No
.public F_Set_LCD_Page_No
F_Set_LCD_Page_No:
_Set_LCD_Page_No:
0000CBD5 59 93 r1=r1 lsl 0x04
0000CBD6 59 93 r1=r1 lsl 0x04
0000CBD7 09 A3 00 B0 r1|=0xb000
0000CBD9 88 D2 PUSH R1,R1 TO [SP]
0000CBDA 11 93 00 70 r1=[P_IO_Data_Data]
0000CBDC 88 D4 push r2 to [sp]
0000CBDD 0A 95 00 FF r2=C_DataBus
0000CBDF 0A 85 FF FF r2^=0xffff
0000CBE1 02 B3 r1&=r2
0000CBE2 88 92 pop r2 from [sp]
0000CBE3 19 D3 00 70 [P_IO_Data_Data]=r1
0000CBE5 88 90 POP R1,R1 FROM [SP]
0000CBE6 11 A3 00 70 r1|=[P_IO_Data_Data]
.if C_BusHighLow
.else
R1 = R1 lsr 4;
R1 = R1 lsr 4;
.endif
0000CBE8 19 D3 00 70 [P_IO_Data_Data]=r1
0000CBEA 40 F0 63 CC CALL F_Send_data
// R1 |= 0x0AB0; //Set Page No. (0~7)
// [P_Lcd501Ctrl]=R1;
// CALL F_Delay_Bus_Time;
0000CBEC 90 9A RETF;
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//Filename : F_Set_LCD_Start_Line
//Function : Set the LCD start line
//Input : Page No. (R1:0x0000~0x003F)
//Output : None
//Destroy : R1
//////////////////////////////////////////////////////////////////////////////
F_Set_LCD_Start_Line:
0000CBED 13 97 00 70 r3=[P_IO_Data_Data]
0000CBEF 0A 95 00 FF r2=C_DataBus
0000CBF1 0A 85 FF FF r2^=0xffff
0000CBF3 02 B7 r3&=r2
0000CBF4 59 93 r1=r1 lsl 0x04
0000CBF5 59 93 r1=r1 lsl 0x04
0000CBF6 0B A7 00 40 r3|=0x4000
0000CBF8 01 A7 r3|=r1
.if C_BusHighLow
.else
R3 = R3 lsr 4;
R3 = R3 lsr 4;
.endif
0000CBF9 1B D7 00 70 [P_IO_Data_Data]=r3
0000CBFB 40 F0 63 CC CALL F_Send_data
// R1 |= 0x0A40; //Set start line (00D ~ 63D)
// [P_Lcd501Ctrl]=R1;
// CALL F_Delay_Bus_Time;
0000CBFD 90 9A RETF;
//////////////////////////////////////////////////////////////////////////////
//Filename : F_Set_LCD_Column_Addr
//Function : Set the LCD column address
//Input : Page No. (R2:0x0000~0x0083)
//Output : None
//Destroy : R1,R2
//////////////////////////////////////////////////////////////////////////////
.public _Set_LCD_Column_Addr
.public F_Set_LCD_Column_Addr
F_Set_LCD_Column_Addr:
_Set_LCD_Column_Addr:
0000CBFE 88 D2 push r1 to [sp]
0000CBFF 88 D6 push r3 to [sp]
0000CC00 02 93 R1 = R2
0000CC01 59 93 R1 = R1 LSl 4;
0000CC02 09 B3 00 0F R1 &= 0x0F00;
0000CC04 09 A3 00 10 R1 |= 0x1000;
0000CC06 88 D2 push r1,r1 to [sp]
0000CC07 11 93 00 70 r1=[P_IO_Data_Data]
// r1&=0x00ff
0000CC09 88 D4 push r2 to [sp]
0000CC0A 0A 95 00 FF r2=C_DataBus
0000CC0C 0A 85 FF FF r2^=0xffff
0000CC0E 02 B3 r1&=r2
0000CC0F 88 92 pop r2 from [sp]
0000CC10 19 D3 00 70 [P_IO_Data_Data]=r1
0000CC12 88 90 pop r1,r1 from [sp]
0000CC13 11 A3 00 70 r1|=[P_IO_Data_Data]
.if C_BusHighLow
.else
R1 = R1 lsr 4;
R1 = R1 lsr 4;
.endif
0000CC15 19 D3 00 70 [P_IO_Data_Data]=r1
0000CC17 40 F0 63 CC CALL F_Send_data
0000CC19 02 93 R1 = R2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -