📄 splc501hardware.lst
字号:
0000E7D1 40 F0 CC E8 CALL F_Send_data
// R1=0x0A1A;
// [P_Lcd501Ctrl]=R1; // MS Column : A
// CALL F_Delay_Bus_Time;
0000E7D3 13 97 00 70 r3=[P_IO_Data_Data]
0000E7D5 0A 95 00 FF r2=C_DataBus
0000E7D7 0A 85 FF FF r2^=0xffff
0000E7D9 02 B7 r3&=r2
0000E7DA 0B A7 00 D2 r3|=0xd200
.if C_BusHighLow
.else
R3 = R3 lsr 4;
R3 = R3 lsr 4;
.endif
0000E7DC 1B D7 00 70 [P_IO_Data_Data]=r3
0000E7DE 40 F0 CC E8 CALL F_Send_data
// R1=0x0AD2;
// [P_Lcd501Ctrl]=R1; // Set driving mode register
// CALL F_Delay_Bus_Time;
0000E7E0 13 97 00 70 r3=[P_IO_Data_Data]
0000E7E2 0A 95 00 FF r2=C_DataBus
0000E7E4 0A 85 FF FF r2^=0xffff
0000E7E6 02 B7 r3&=r2
0000E7E7 40 A6 r3|=0x0000
.if C_BusHighLow
.else
R3 = R3 lsr 4;
R3 = R3 lsr 4;
.endif
0000E7E8 1B D7 00 70 [P_IO_Data_Data]=r3
0000E7EA 40 F0 CC E8 CALL F_Send_data
// R1=0x0A00;
// [P_Lcd501Ctrl]=R1; // LS Column : 0
// CALL F_Delay_Bus_Time;
0000E7EC 13 97 00 70 r3=[P_IO_Data_Data]
0000E7EE 0A 95 00 FF r2=C_DataBus
0000E7F0 0A 85 FF FF r2^=0xffff
0000E7F2 02 B7 r3&=r2
0000E7F3 0B A7 00 2C r3|=0x2c00
.if C_BusHighLow
.else
R3 = R3 lsr 4;
R3 = R3 lsr 4;
.endif
0000E7F5 1B D7 00 70 [P_IO_Data_Data]=r3
0000E7F7 40 F0 CC E8 CALL F_Send_data
// R1=0x0A2C;
// [P_Lcd501Ctrl]=R1; // REGULATOR on
// CALL F_Delay_Bus_Time;
0000E7F9 13 97 00 70 r3=[P_IO_Data_Data]
0000E7FB 0A 95 00 FF r2=C_DataBus
0000E7FD 0A 85 FF FF r2^=0xffff
0000E7FF 02 B7 r3&=r2
0000E800 0B A7 00 2E r3|=0x2e00
.if C_BusHighLow
.else
R3 = R3 lsr 4;
R3 = R3 lsr 4;
.endif
0000E802 1B D7 00 70 [P_IO_Data_Data]=r3
0000E804 40 F0 CC E8 CALL F_Send_data
// R1=0x0A2E;
// [P_Lcd501Ctrl]=R1; // +FOLLOWER oFF
// CALL F_Delay_Bus_Time;
0000E806 13 97 00 70 r3=[P_IO_Data_Data]
0000E808 0A 95 00 FF r2=C_DataBus
0000E80A 0A 85 FF FF r2^=0xffff
0000E80C 02 B7 r3&=r2
0000E80D 0B A7 00 2F r3|=0x2f00
.if C_BusHighLow
.else
R3 = R3 lsr 4;
R3 = R3 lsr 4;
.endif
0000E80F 1B D7 00 70 [P_IO_Data_Data]=r3
0000E811 40 F0 CC E8 CALL F_Send_data
// R1=0x0A2F;
// [P_Lcd501Ctrl]=R1; // +FOLLOWER oFF
// CALL F_Delay_Bus_Time;
0000E813 90 9A RETF;
//////////////////////////////////////////////////////////////////////////////
F_LCD_Display_On:
0000E814 13 97 00 70 r3=[P_IO_Data_Data]
0000E816 0A 95 00 FF r2=C_DataBus
0000E818 0A 85 FF FF r2^=0xffff
0000E81A 02 B7 r3&=r2
0000E81B 0B A7 00 AF r3|=0xaf00
.if C_BusHighLow
.else
R3 = R3 lsr 4;
R3 = R3 lsr 4;
.endif
0000E81D 1B D7 00 70 [P_IO_Data_Data]=r3
0000E81F 40 F0 CC E8 CALL F_Send_data
// R1=0x0AAF;
// [P_Lcd501Ctrl]=R1;
// CALL F_Delay_Bus_Time;
0000E821 90 9A RETF;
//////////////////////////////////////////////////////////////////////////////
F_LCD_ALL_On:
0000E822 13 97 00 70 r3=[P_IO_Data_Data]
0000E824 0A 95 00 FF r2=C_DataBus
0000E826 0A 85 FF FF r2^=0xffff
0000E828 02 B7 r3&=r2
0000E829 0B A7 00 A5 r3|=0xa500
.if C_BusHighLow
.else
R3 = R3 lsr 4;
R3 = R3 lsr 4;
.endif
0000E82B 1B D7 00 70 [P_IO_Data_Data]=r3
0000E82D 40 F0 CC E8 CALL F_Send_data
// R1=0x0AA5; //All points on
// [P_Lcd501Ctrl]=R1;
// CALL F_Delay_Bus_Time;
0000E82F 90 9A RETF;
//////////////////////////////////////////////////////////////////////////////
F_LCD_Normal_Display:
0000E830 13 97 00 70 r3=[P_IO_Data_Data]
0000E832 0A 95 00 FF r2=C_DataBus
0000E834 0A 85 FF FF r2^=0xffff
0000E836 02 B7 r3&=r2
0000E837 0B A7 00 A4 r3|=0xa400
.if C_BusHighLow
.else
R3 = R3 lsr 4;
R3 = R3 lsr 4;
.endif
0000E839 1B D7 00 70 [P_IO_Data_Data]=r3
0000E83B 40 F0 CC E8 CALL F_Send_data
// R1=0x0AA4; //Normal display
// [P_Lcd501Ctrl]=R1;
// CALL F_Delay_Bus_Time;
0000E83D 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:
0000E83E 59 93 r1=r1 lsl 0x04
0000E83F 59 93 r1=r1 lsl 0x04
0000E840 09 A3 00 B0 r1|=0xb000
0000E842 88 D2 PUSH R1,R1 TO [SP]
0000E843 11 93 00 70 r1=[P_IO_Data_Data]
0000E845 88 D4 push r2 to [sp]
0000E846 0A 95 00 FF r2=C_DataBus
0000E848 0A 85 FF FF r2^=0xffff
0000E84A 02 B3 r1&=r2
0000E84B 88 92 pop r2 from [sp]
0000E84C 19 D3 00 70 [P_IO_Data_Data]=r1
0000E84E 88 90 POP R1,R1 FROM [SP]
0000E84F 11 A3 00 70 r1|=[P_IO_Data_Data]
.if C_BusHighLow
.else
R1 = R1 lsr 4;
R1 = R1 lsr 4;
.endif
0000E851 19 D3 00 70 [P_IO_Data_Data]=r1
0000E853 40 F0 CC E8 CALL F_Send_data
// R1 |= 0x0AB0; //Set Page No. (0~7)
// [P_Lcd501Ctrl]=R1;
// CALL F_Delay_Bus_Time;
0000E855 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:
0000E856 13 97 00 70 r3=[P_IO_Data_Data]
0000E858 0A 95 00 FF r2=C_DataBus
0000E85A 0A 85 FF FF r2^=0xffff
0000E85C 02 B7 r3&=r2
0000E85D 59 93 r1=r1 lsl 0x04
0000E85E 59 93 r1=r1 lsl 0x04
0000E85F 0B A7 00 40 r3|=0x4000
0000E861 01 A7 r3|=r1
.if C_BusHighLow
.else
R3 = R3 lsr 4;
R3 = R3 lsr 4;
.endif
0000E862 1B D7 00 70 [P_IO_Data_Data]=r3
0000E864 40 F0 CC E8 CALL F_Send_data
// R1 |= 0x0A40; //Set start line (00D ~ 63D)
// [P_Lcd501Ctrl]=R1;
// CALL F_Delay_Bus_Time;
0000E866 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:
0000E867 88 D2 push r1 to [sp]
0000E868 88 D6 push r3 to [sp]
0000E869 02 93 R1 = R2
0000E86A 59 93 R1 = R1 LSl 4;
0000E86B 09 B3 00 0F R1 &= 0x0F00;
0000E86D 09 A3 00 10 R1 |= 0x1000;
0000E86F 88 D2 push r1,r1 to [sp]
0000E870 11 93 00 70 r1=[P_IO_Data_Data]
// r1&=0x00ff
0000E872 88 D4 push r2 to [sp]
0000E873 0A 95 00 FF r2=C_DataBus
0000E875 0A 85 FF FF r2^=0xffff
0000E877 02 B3 r1&=r2
0000E878 88 92 pop r2 from [sp]
0000E879 19 D3 00 70 [P_IO_Data_Data]=r1
0000E87B 88 90 pop r1,r1 from [sp]
0000E87C 11 A3 00 70 r1|=[P_IO_Data_Data]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -