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

📄 splc501sys.lst

📁 单片机开发的数字电压表,带保护提示功能,精确度比较高
💻 LST
📖 第 1 页 / 共 5 页
字号:
                            	//Input    : none
                            	//Output   : [bank1]	  zk_data at rom bank
                            	//Destory  : R1,R2,R3,R4
                            	//////////////////////////////////////////////////////////////////////////////	
                            	.external bank1
                            	.external	tiny3		//zk_data
                            	.public		F_zk_bank
                            	F_zk_bank:
0000B409 40 98              			r4=0x00
                            			//////
0000B40A 06 95              			r2=sr
0000B40B 0A B5 FF 03        			r2&=0x03ff
0000B40D 09 93 94 84        			r1=tiny3		//zk_data    			//zk_data at zk.asm
                            	F_zk_bank_loop:		
0000B40F 02 9D              			sr=r2
0000B410 E1 96              			r3=D:[r1]
0000B411 0B 47 FF 00        			cmp r3,0x00ff
0000B413 05 5E              			je F_zk_bank_0
0000B414 0C 09 00 04        			r4+=0x0400
0000B416 0A 05 00 04        			r2+=0x0400
0000B418 4A EE              			jmp F_zk_bank_loop
                            	F_zk_bank_0:	
0000B419 1C D9 A5 01        			[bank1]=r4
0000B41B 90 9A              			retf		
                            	//////////////////////////////////////////////////////////////////////////////  
                            	//Filename : _pixel
                            	//Function : display appoint pixel
                            	//Input    : x,y
                            	//Output   : display a appoint pixel on lcd
                            	//Destroy  : R1,r2,r3
                            	////////////////////////////////////////////////////////////////////////////// 	
                            	.external		pixel_page
                            	.external		pixel_column
                            	.external		pixel_bit
                            	.external		TAB_pixel	
                            	.public	_pixel 
                            	_pixel:  .proc
0000B41C 88 DA              			PUSH BP,BP TO [SP];
0000B41D 00 9B              			bp=sp
0000B41E 44 0A              			bp+=0x04
0000B41F C5 92              			r1=[bp]
0000B420 41 0A              			bp+=0x01
0000B421 C5 94              			r2=[bp]
                            	F_pixel: 		
0000B422 19 D3 A7 01        			[pixel_column]=r1			//work out column
0000B424 40 92              			r1=0x00
0000B425 19 D3 A6 01        			[pixel_page]=r1
                            	F_pixel_2:	
0000B427 48 44              			cmp	r2,0x08
0000B428 09 0E              			jb	F_pixel_1
0000B429 48 44              			cmp	r2,0x08
0000B42A 07 5E              			je	F_pixel_1
0000B42B 48 24              			r2-=0x08
0000B42C 11 93 A6 01        			r1=[pixel_page]
0000B42E 41 02              			r1+=0x01
0000B42F 19 D3 A6 01        			[pixel_page]=r1
0000B431 4B EE              			jmp F_pixel_2
                            	F_pixel_1:	
0000B432 09 93 5A 84        			r1=TAB_pixel
0000B434 02 03              			r1+=r2
0000B435 C1 94              			r2=[r1]
0000B436 1A D5 A8 01        			[pixel_bit]=r2				//work out pixel_bit,pixel_page
                            	//		R1 = [pixel_page]               
                            	//        CALL    F_Set_LCD_Page_No
                            	//        R2 = [pixel_column]                
                            	//        CALL    F_Set_LCD_Column_Addr
0000B438 11 93 A6 01        			r1=[pixel_page]                   
0000B43A 19 D3 1A 02        			[_page]=r1
0000B43C 11 93 A7 01        			r1=[pixel_column]
0000B43E 19 D3 1B 02        	        [_page_place]=r1    
0000B440 13 97 A8 01        	        r3=[pixel_bit]
0000B442 1B D7 21 02        	        [_point_value]=r3
0000B444 40 F0 8C B9        	        call	display_a_point
0000B446 13 97 02 02        	        r3=[sign]
0000B448 41 B6              	        r3&=0x01
0000B449 01 4E              	        jnz	F_pixel_end
0000B44A 88 98              	        POP BP,BP FROM [SP]
                            	F_pixel_end:
0000B44B 13 97 02 02        			r3=[sign]
0000B44D 0B B7 FE FF        	        r3&=0xfffe
0000B44F 1B D7 02 02        	        [sign]=r3		
0000B451 90 9A              			retf
                            	        .endp
                            	//////////////////////////////////////////////////////////////////////////////  
                            	//Filename : F_Get_pixel
                            	//参数: PlotX,PlotY
                            	//Function : appoint pixel state,if r1=0 then point is white else point is black.
                            	//Get the pixel color at (PlotX,PlotY), and store in A.
                            	//Input    : x,y
                            	//Output   : r1      appoint pixel state on lcd
                            	//Destroy  : R1,r2,r3
                            	//用法: 	FG_GetPixel(short PlotX,short PlotY)
                            	//Example:	FG_GetPixel()
                            	//			FG_GetPixel(10,20)
                            	//////////////////////////////////////////////////////////////////////////////         
                            	F_Get_pixel:
0000B452 19 D3 A7 01        			[pixel_column]=r1			//work out column
0000B454 40 92              			r1=0x00
0000B455 19 D3 A6 01        			[pixel_page]=r1
                            	F_Get_pixel_2:	
0000B457 48 44              			cmp	r2,0x08
0000B458 09 0E              			jb	F_Get_pixel_1
0000B459 48 44              			cmp	r2,0x08
0000B45A 07 5E              			je	F_Get_pixel_1
0000B45B 48 24              			r2-=0x08
0000B45C 11 93 A6 01        			r1=[pixel_page]
0000B45E 41 02              			r1+=0x01
0000B45F 19 D3 A6 01        			[pixel_page]=r1
0000B461 4B EE              			jmp F_Get_pixel_2
                            	F_Get_pixel_1:	
0000B462 09 93 5A 84        			r1=TAB_pixel				
0000B464 02 03              			r1+=r2
0000B465 C1 94              			r2=[r1]
0000B466 1A D5 A8 01        			[pixel_bit]=r2				//work out pixel_bit,pixel_page
0000B468 11 93 A6 01        			R1 = [pixel_page]               
0000B46A 40 F0 3E E8        	        CALL    F_Set_LCD_Page_No
0000B46C 12 95 A7 01        	        R2 = [pixel_column]                
0000B46E 40 F0 67 E8        	        CALL    F_Set_LCD_Column_Addr
0000B470 40 F0 E9 E8        	        call	F_Read_Lcd_data
0000B472 11 93 A8 01        	        r1=[pixel_bit]
0000B474 7B 97              	        r3=r3 lsr 0x04
0000B475 7B 97              	        r3=r3 lsr 0x04
0000B476 03 B3              	        r1&=r3
                            	F_Get_pixel_end:
0000B477 90 9A              			retf
                            	//////////////////////////////////////////////////////////////////////////////  
                            	//Filename : image
                            	//Function : display image
                            	//Input    : x,y,tab
                            	//Output   : display image at appoint place
                            	//Destroy  : R1,r2,r3
                            	////////////////////////////////////////////////////////////////////////////// 
                            	.external		image_width_byte
                            	.external		image_high_bit
                            	.external		image_jumpoff_point_x
                            	.external		image_jumpoff_point_y
                            	.external		image_tab
                            	.external		image_page			
                            	.external		image_bit
                            	.external		image_lcd_data
                            	.external		image_temp_data	
                            	.external		image_temp_data1
                            	.external		image_tab_pointer	
                            	.public		image
                            	image:			.proc
0000B478 88 DA              			PUSH BP,BP TO [SP];
0000B479 00 9B              			bp=sp
0000B47A 44 0A              			bp+=0x04
0000B47B C5 92              			r1=[bp]
0000B47C 19 D3 A8 01        			[image_jumpoff_point_x]=r1
0000B47E 41 0A              			bp+=0x01
0000B47F C5 92              			r1=[bp]
0000B480 19 D3 A9 01        			[image_jumpoff_point_y]=r1
0000B482 41 0A              			bp+=0x01
0000B483 C5 92              			r1=[bp]
0000B484 41 02              			r1+=0x01
0000B485 19 D3 AA 01        			[image_tab]=r1
0000B487 41 0A              			bp+=0x01
0000B488 C5 92              			r1=[bp]
0000B489 19 D3 A6 01        			[image_width_byte]=r1
0000B48B 41 0A              			bp+=0x01
0000B48C C5 92              			r1=[bp]
0000B48D 19 D3 A7 01        			[image_high_bit]=r1					//get parameter form c
                            	F_image:
0000B48F 40 92              			r1=0x00
0000B490 19 D3 AB 01        			[image_page]=r1
0000B492 19 D3 B1 01        			[image_temp_data1]=r1
0000B494 12 95 A9 01        			r2=[image_jumpoff_point_y]
                            	F_image_page_no_end:		
0000B496 48 44              			cmp	r2,0x08
0000B497 09 0E              			jb	F_image_page_end
0000B498 48 44              			cmp	r2,0x08
0000B499 07 5E              			je	F_image_page_end
0000B49A 48 24              			r2-=0x08
0000B49B 11 93 AB 01        			r1=[image_page]
0000B49D 41 02              			r1+=0x01
0000B49E 19 D3 AB 01        			[image_page]=r1
0000B4A0 4B EE              			jmp F_image_page_no_end
                            	F_image_page_end:
0000B4A1 1A D5 AC 01        			[image_bit]=r2						//work out page and bit of jumping off point 		
0000B4A3 40 94              			r2=0x00
                            	F_image_no_end:		
0000B4A4 11 93 AA 01        			r1=[image_tab]	
0000B4A6 19 D3 B0 01        			[image_tab_pointer]=r1
0000B4A8 11 93 A8 01        			r1=[image_jumpoff_point_x]	
0000B4AA 90 D4              			push r1,r2 to [sp]					//save [image_jumpoff_point_x],r2
                            	//		call	F_image_process_1			//display eight row
0000B4AB 40 F0 CD B4        			call	F_image_display_eightrow 
0000B4AD 90 90              			pop r1,r2 from [sp]
0000B4AE 41 04              			r2+=0x01
0000B4AF 19 D3 A8 01        			[image_jumpoff_point_x]=r1
0000B4B1 11 93 AA 01        			r1=[image_tab]
0000B4B3 41 02              			r1+=0x01
0000B4B4 19 D3 AA 01        			[image_tab]=r1	
0000B4B6 19 D3 B0 01        			[image_tab_pointer]=r1				//data pointer of image
0000B4B8 11 93 AB 01        			R1 = [image_page]
0000B4BA 41 22              			r1-=0x01
0000B4BB 19 D3 AB 01        			[image_page]=r1
0000B4BD 12 45 A6 01        			cmp	r2,[image_width_byte]			//if image end
0000B4BF 01 5E              			je	F_image_finish
0000B4C0 5D EE              			jmp	F_image_no_end
                            	F_image_finish:
0000B4C1 11 93 02 02        			r1=[sign]							//if assembler transfer
0000B4C3 41 B2              			r1&=0x01
0000B4C4 01 4E              			jne	F_image_end
0000B4C5 88 98              			POP BP,BP FROM [SP];
                            	F_image_end:
0000B4C6 11 93 02 02        			r1=[sign]
0000B4C8 09 B3 FE FF        			r1&=0xfffe
0000B4CA 19 D3 02 02        			[sign]=r1		
0000B4CC 90 9A              			retf
                            	        .endp
                            	/////////////////////////////////////////////////////////////////////////        
                            	F_image_display_eightrow:
0000B4CD 40 98              			r4=0x00								//pointer of tier data
                            	image_display_eightrow_begin:		 
0000B4CE 11 93 AB 01        			R1 = [image_page]  
0000B4D0 49 42              			cmp	r1,0x0009						//area of	page
0000B4D1 01 0E              			jb	  image_eightrow_begin

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -