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

📄 splc501hardware.lst

📁 单片机开发的数字电压表,带保护提示功能,精确度比较高
💻 LST
📖 第 1 页 / 共 4 页
字号:
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 + -