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

📄 tg1286~1.lst

📁 项目是为日本瑞萨工作所做的BAKE炉温控系统 整个文件夹包括设计文档
💻 LST
📖 第 1 页 / 共 5 页
字号:
    92CE B6 44        ldA	*__r4
    92D0 87           pshA	
    92D1 B6 43        ldA	*__r3
    92D3 87           pshA	
    92D4 B6 42        ldA	*__r2
    92D6 87           pshA	
    92D7 CD 9998      jsr	__mul16
    92DA A7 04        aiS	#4
    92DC 4E 4D43      mov	*__rlo,*__r3
    92DF 4E 4C42      mov	*__rhi,*__r2
    92E2 B6 41        ldA	*__r1
    92E4 B0 43        sub	*__r3
    92E6 B7 41        stA	*__r1
    92E8 B6 40        ldA	*__r0
    92EA B2 42        sbc	*__r2
    92EC B7 40        stA	*__r0
    92EE 4F           clrA	
    92EF E7 02        stA	2,X
    92F1 E7 01        stA	1,X
    92F3 B6 41        ldA	*__r1
    92F5 E7 04        stA	4,X
    92F7 B6 40        ldA	*__r0
    92F9 E7 03        stA	3,X
    92FB 2A 04        bpl	0x9301
    92FD 63 02        com	2,X
    92FF 63 01        com	1,X
(0093) 	      mistake=(x-Cx)*(x-Cx)+(y-Cy)*(y-Cy)-CR*CR;
(0094) 	      //误差在范围之内时,显示该点
(0095) 	      if((mistake<=GrCilMV)&&(mistake>=-GrCilMV))
    9301 3F 42        clr	*__r2
    9303 3F 41        clr	*__r1
    9305 3F 40        clr	*__r0
    9307 E6 0B        ldA	11,X
    9309 B7 43        stA	*__r3
    930B E6 04        ldA	4,X
    930D 87           pshA	
    930E E6 03        ldA	3,X
    9310 87           pshA	
    9311 E6 02        ldA	2,X
    9313 87           pshA	
    9314 E6 01        ldA	1,X
    9316 87           pshA	
    9317 B6 43        ldA	*__r3
    9319 87           pshA	
    931A B6 42        ldA	*__r2
    931C 87           pshA	
    931D B6 41        ldA	*__r1
    931F 87           pshA	
    9320 B6 40        ldA	*__r0
    9322 87           pshA	
    9323 CD 98AC      jsr	__cmp32
    9326 A7 08        aiS	#8
    9328 93 03        ble	0x932D
    932A CC 93C4      jmp	0x93C4
    932D 3F 40        clr	*__r0
    932F E6 0B        ldA	11,X
    9331 B7 41        stA	*__r1
    9333 B6 40        ldA	*__r0
    9335 40           negA	
    9336 87           pshA	
    9337 B6 41        ldA	*__r1
    9339 40           negA	
    933A B7 41        stA	*__r1
    933C 86           pulA	
    933D A2 00        sbc	#0
    933F B7 40        stA	*__r0
    9341 4E 4143      mov	*__r1,*__r3
    9344 4E 4042      mov	*__r0,*__r2
    9347 3F 41        clr	*__r1
    9349 3F 40        clr	*__r0
    934B 3D 42        tst	*__r2
    934D 2A 04        bpl	0x9353
    934F 33 41        com	*__r1
    9351 33 40        com	*__r0
    9353 E6 04        ldA	4,X
    9355 87           pshA	
    9356 E6 03        ldA	3,X
    9358 87           pshA	
    9359 E6 02        ldA	2,X
    935B 87           pshA	
    935C E6 01        ldA	1,X
    935E 87           pshA	
    935F B6 43        ldA	*__r3
    9361 87           pshA	
    9362 B6 42        ldA	*__r2
    9364 87           pshA	
    9365 B6 41        ldA	*__r1
    9367 87           pshA	
    9368 B6 40        ldA	*__r0
    936A 87           pshA	
    936B CD 98AC      jsr	__cmp32
    936E A7 08        aiS	#8
    9370 91 52        blt	0x93C4
(0096) 	 	     {
    9372 E6 0C        ldA	12,X
    9374 A1 01        cmp	#1
    9376 26 0D        bne	0x9385
(0097)  	          if(GrE==1)     LcdShGr1P(y,x);//显示该点
    9378 E6 05        ldA	5,X
    937A 87           pshA	
    937B F6           ldA	0,X
    937C 87           pshA	
    937D CD 94FC      jsr	_LcdShGr1P
    9380 A7 02        aiS	#2
    9382 95           tSX	
    9383 20 3F        bra	0x93C4
(0098) 	 	      //清除该点
(0099) 	 	      else if(y<=31) LcdShGr16P(y,(x/16),0);        
    9385 F6           ldA	0,X
    9386 A1 1F        cmp	#31
    9388 22 1C        bhi	0x93A6
    938A 45 0000      ldHX	#0x0000
    938D 89           pshX	
    938E 8B           pshH	
    938F 95           tSX	
    9390 AF 02        aiX	#2
    9392 E6 05        ldA	5,X
    9394 AE 10        ldX	#16
    9396 8C           clrH	
    9397 52           div	
    9398 95           tSX	
    9399 AF 02        aiX	#2
    939B 87           pshA	
    939C F6           ldA	0,X
    939D 87           pshA	
    939E CD 9569      jsr	_LcdShGr16P
    93A1 A7 04        aiS	#4
    93A3 95           tSX	
    93A4 20 1E        bra	0x93C4
(0100) 	 	      else           LcdShGr16P(y-32,x/16+8,0); 
    93A6 45 0000      ldHX	#0x0000
    93A9 89           pshX	
    93AA 8B           pshH	
    93AB 95           tSX	
    93AC AF 02        aiX	#2
    93AE E6 05        ldA	5,X
    93B0 AE 10        ldX	#16
    93B2 8C           clrH	
    93B3 52           div	
    93B4 95           tSX	
    93B5 AF 02        aiX	#2
    93B7 AB 08        add	#8
    93B9 87           pshA	
    93BA F6           ldA	0,X
    93BB A0 20        sub	#32
    93BD 87           pshA	
    93BE CD 9569      jsr	_LcdShGr16P
    93C1 A7 04        aiS	#4
    93C3 95           tSX	
(0101) 	 	     }
    93C4 6C 05        inc	5,X
    93C6 E6 09        ldA	9,X
    93C8 EB 0A        add	10,X
    93CA B7 40        stA	*__r0
    93CC E6 05        ldA	5,X
    93CE B1 40        cmp	*__r0
    93D0 22 03        bhi	0x93D5
    93D2 CC 9262      jmp	0x9262
    93D5 7C           inc	0,X
    93D6 E6 08        ldA	8,X
    93D8 EB 0A        add	10,X
    93DA B7 40        stA	*__r0
    93DC F6           ldA	0,X
    93DD B1 40        cmp	*__r0
    93DF 22 03        bhi	0x93E4
    93E1 CC 9259      jmp	0x9259
(0102) 	 	 } 
(0103)   //LcdShGr1P(Cy,Cx);//显示圆心       	   
(0104)   Wtite_Command(0b00110000);//基本指令
    93E4 A6 30        ldA	#48
    93E6 87           pshA	
    93E7 CD 959F      jsr	_Wtite_Command
    93EA A7 01        aiS	#1
    93EC 95           tSX	
    93ED A7 06        aiS	#6
    93EF 81           rts	
_LcdShGrRe:
  RC                   --> X+0
  LC                   --> X+2
  TBC                  --> X+4
  i                    --> X+6
  y                    --> X+7
  Px                   --> X+8
  GrE                  --> X+12
  ln                   --> X+11
    93F0 A7 F7        aiS	#-9
    93F2 95           tSX	
(0105) }
(0106) 
(0107) /*LcdShGrRe:在Lcd的指定行上显示或取消矩型边框------------------------------*
(0108) *功  能:在Lcd上指定行上显示或取消矩型边框                                  *
(0109) *参  数:ln为指定的行数(0-3), GrE确定图形是否有效                           *
(0110) *返  回:无                                                                 *
(0111) *-------------------------------------------------------------------------*/
(0112) void LcdShGrRe(INT8U ln,INT8U GrE)
(0113) {  
    93F3 E6 0B        ldA	11,X
    93F5 27 04        beq	0x93FB
    93F7 A1 02        cmp	#2
    93F9 26 04        bne	0x93FF
(0114)   INT8U  Px,y;       //行页号坐标,列坐标
(0115)   INT8U  i;          //循环变量
(0116)   INT16S LC,RC,TBC;  //左,右和上下边框色
(0117)   //[确定ln所在行的起始坐标(左上角)]
(0118)   if((ln==0)||(ln==2))  y=0;
    93FB 6F 07        clr	7,X
    93FD 20 04        bra	0x9403
(0119)   else  y=16;
    93FF A6 10        ldA	#16
    9401 E7 07        stA	7,X
(0120)   if(ln<=1)  Px=0;
    9403 E6 0B        ldA	11,X
    9405 A1 01        cmp	#1
    9407 22 04        bhi	0x940D
    9409 6F 08        clr	8,X
    940B 20 04        bra	0x9411
(0121)   else  Px=8;
    940D A6 08        ldA	#8
    940F E7 08        stA	8,X
(0122)   //[确定有无边框(有GrE决定)]
(0123)   if(GrE==1)   //有表框
    9411 E6 0C        ldA	12,X
    9413 A1 01        cmp	#1
    9415 26 18        bne	0x942F
(0124)   	 {TBC=65535;LC=32768;RC=1;}
    9417 A6 FF        ldA	#-1
    9419 E7 04        stA	4,X
    941B A6 FF        ldA	#-1
    941D E7 05        stA	5,X
    941F A6 80        ldA	#-128
    9421 E7 02        stA	2,X
    9423 A6 00        ldA	#0
    9425 E7 03        stA	3,X
    9427 4F           clrA	
    9428 F7           stA	0,X
    9429 A6 01        ldA	#1
    942B E7 01        stA	1,X
    942D 20 0B        bra	0x943A
(0125)   else         //无边框
(0126)      {TBC=0;LC=0;RC=0;}
    942F 6F 05        clr	5,X
    9431 6F 04        clr	4,X
    9433 6F 03        clr	3,X
    9435 6F 02        clr	2,X
    9437 6F 01        clr	1,X
    9439 7F           clr	0,X
(0127)   Wtite_Command(0b00110110);//扩展指令,绘图开
    943A A6 36        ldA	#54
    943C 87           pshA	
    943D CD 959F      jsr	_Wtite_Command
    9440 A7 01        aiS	#1
    9442 95           tSX	
(0128)   //[在Lcd上指定行上显示矩型边框]
(0129)   for(i=0;i<=7;i++,Px++)
    9443 6F 06        clr	6,X
    9445 20 2A        bra	0x9471
(0130)      {   
    9447 E6 05        ldA	5,X
    9449 87           pshA	
    944A E6 04        ldA	4,X
    944C 87           pshA	
    944D E6 08        ldA	8,X
    944F 87           pshA	
    9450 E6 07        ldA	7,X
    9452 87           pshA	
    9453 CD 9569      jsr	_LcdShGr16P
    9456 A7 04        aiS	#4
    9458 95           tSX	
(0131)         LcdShGr16P(y,Px,TBC);    //显示上边框 
(0132)         LcdShGr16P(y+15,Px,TBC); //显示下边框
    9459 E6 05        ldA	5,X
    945B 87           pshA	
    945C E6 04        ldA	4,X
    945E 87           pshA	
    945F E6 08        ldA	8,X
    9461 87           pshA	
    9462 E6 07        ldA	7,X
    9464 AB 0F        add	#15
    9466 87           pshA	
    9467 CD 9569      jsr	_LcdShGr16P
    946A A7 04        aiS	#4
    946C 95           tSX	
(0133)      }  
    946D 6C 06        inc	6,X
    946F 6C 08        inc	8,X
    9471 E6 06        ldA	6,X
    9473 A1 07        cmp	#7
    9475 23 D0        bls	0x9447
(0134)   for(i=1,y++,Px--;i<=14;i++,y++)
    9477 A6 01        ldA	#1
    9479 E7 06        stA	6,X
    947B 6C 07        inc	7,X
    947D 6A 08        dec	8,X
    947F 20 29        bra	0x94AA
(0135)      {
    9481 E6 01        ldA	1,X
    9483 87           pshA	
    9484 F6           ldA	0,X
    9485 87           pshA	
    9486 E6 08        ldA	8,X
    9488 87           pshA	
    9489 E6 07        ldA	7,X
    948B 87           pshA	
    948C CD 9569      jsr	_LcdShGr16P
    948F A7 04        aiS	#4
    9491 95           tSX	
(0136)         LcdShGr16P(y,Px,RC);    //显示右边框 
(0137)         LcdShGr16P(y,Px-7,LC);  //显示左边框      
    9492 E6 03        ldA	3,X
    9494 87           pshA	
    9495 E6 02        ldA	2,X
    9497 87           pshA	
    9498 E6 08        ldA	8,X
    949A A0 07        sub	#7
    949C 87           pshA	
    949D E6 07        ldA	7,X
    949F 87           pshA	
    94A0 CD 9569      jsr	_LcdShGr16P
    94A3 A7 04        aiS	#4
    94A5 95           tSX	
(0138)      }
    94A6 6C 06        inc	6,X
    94A8 6C 07        inc	7,X
    94AA E6 06        ldA	6,X
    94AC A1 0E        cmp	#14
    94AE 23 D1        bls	0x9481
(0139)   Wtite_Command(0b00110000);//基本指令
    94B0 A6 30        ldA	#48
    94B2 87           pshA	
    94B3 CD 959F      jsr	_Wtite_Command
    94B6 A7 01        aiS	#1
    94B8 95           tSX	
    94B9 A7 09        aiS	#9
    94BB 81           rts	
_LcdShGrClr:
  y                    --> X+0
  Px                   --> X+1
    94BC A7 FE        aiS	#-2
    94BE 95           tSX	
(0140) }
(0141) 
(0142) /*LcdShGrClr:在Lcd上清图形显示屏-------------------------------------------*
(0143) *功  能:在Lcd上清图形显示屏(清GDRAM)                                       *
(0144) *参  数:无                                                                 *

⌨️ 快捷键说明

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