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

📄 lcd.lis

📁 项目是为日本瑞萨工作所做的BAKE炉温控系统 整个文件夹包括设计文档
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 0459           L59:
 0459                   .dbline 231
 0459           L60:
 0459                   .dbline 231
 0459 E601              lda 1,X
 045B AB01              add #1
 045D E701              sta 1,X
 045F F6                lda ,X
 0460 A900              adc #0
 0462 F7                sta ,X
 0463           L62:
 0463                   .dbline 231
 0463           ;   INT16U i;    //循环变量
 0463           ;   for(i=0;i<tn;i++);
 0463 E605              lda 5,X
 0465 B700              sta *__r1
 0467 E604              lda 4,X
 0469 B700              sta *__r0
 046B E601              lda 1,X
 046D B700              sta *__r3
 046F F6                lda ,X
 0470 B700              sta *__r2
 0472 5500              ldhx *__r2
 0474 7500              cphx *__r0
 0476 95                tsx
 0477 25E0              blo L59
 0479                   .dbline -2
 0479           L58:
 0479 A702              ais #2
 047B                   .dbline 0 ; func end
 047B 81                rts
 047C                   .dbsym l i 0 i
 047C                   .dbsym l tn 4 i
 047C                   .dbend
 047C                   .dbfunc e LcdShBigNum _LcdShBigNum fV
 047C           ;           GBit -> 0,X
 047C           ;           SBit -> 1,X
 047C           ;           BBit -> 2,X
 047C           ;             Yi -> 3,X
 047C           ;            Num -> 10,X
 047C           ; BigNumCodeAdrr -> 8,X
 047C           ;              X -> 7,X
 047C           ;              Y -> 6,X
 047C           _LcdShBigNum::
 047C                   .dbline -1
 047C A7FC              ais #-4
 047E 95                tsx
 047F                   .dbline 244
 047F           ; }
 047F           ; 
 047F           ; //其他特殊功能函数
 047F           ; //LcdShBigNum:在Lcd上显示自定义32*16点阵的数字(0--999)---------------------*
 047F           ; //功  能:在Lcd上显示自定义32*16点阵的数字(0--999)                          *
 047F           ; //参  数:X表示Lcd上显示字符的横坐标(0--5),Y为显示字符的纵坐标(0--1)        *
 047F           ; //       BigNumCodeAdrr为32*16点阵数字编码首地址,Num为当前的数据值(0--999) *
 047F           ; //返  回:无                                                                *
 047F           ; //内部调用:LcdShGr16P:在Lcd指定位置上设置线型16个点的显示                  *
 047F           ; //         Wtite_Command:执行参数中的给定命令                              *
 047F           ; //-------------------------------------------------------------------------*
 047F           ; void LcdShBigNum(INT8U Y,INT8U X,INT16U * BigNumCodeAdrr,INT16U Num)
 047F           ; {
 047F                   .dbline 247
 047F E606              lda 6,X
 0481 A101              cmp #1
 0483 2216              bhi L67
 0485 E607              lda 7,X
 0487 A105              cmp #5
 0489 2210              bhi L67
 048B E60B              lda 11,X
 048D B700              sta *__r1
 048F E60A              lda 10,X
 0491 B700              sta *__r0
 0493 5500              ldhx *__r0
 0495 6503E7            cphx #999
 0498 95                tsx
 0499 2303              bls L64
 049B           L67:
 049B                   .dbline 247
 049B           ;   INT8U GBit,SBit,BBit;               //存放个位,十位,百位数据 
 049B           ;   INT8U Yi;                           //Y坐标方向的循环控制变量  
 049B           ;   if(Y>1||X>5||Num>999) goto LcdShBigNum_End; //参数值范围检测 
 049B CC064B            jmp L68
 049E           L64:
 049E                   .dbline 248
 049E           ;   GBit=Num%10; BBit=Num/100; SBit=(Num%100)/10;
 049E E60B              lda 11,X
 04A0 B700              sta *__rlo
 04A2 E60A              lda 10,X
 04A4 B700              sta *__rhi
 04A6 A60A              lda #10
 04A8 87                psha
 04A9 4F                clra
 04AA 87                psha
 04AB CD0000            jsr __divmod16u
 04AE 86                pula
 04AF 86                pula
 04B0 F7                sta ,X
 04B1                   .dbline 248
 04B1 E60B              lda 11,X
 04B3 B700              sta *__rlo
 04B5 E60A              lda 10,X
 04B7 B700              sta *__rhi
 04B9 A664              lda #100
 04BB 87                psha
 04BC 4F                clra
 04BD 87                psha
 04BE CD0000            jsr __divmod16u
 04C1 A702              ais #2
 04C3 4E0000            mov *__rlo,*__r1
 04C6 B600              lda *__r1
 04C8 E702              sta 2,X
 04CA                   .dbline 248
 04CA E60B              lda 11,X
 04CC B700              sta *__rlo
 04CE E60A              lda 10,X
 04D0 B700              sta *__rhi
 04D2 A664              lda #100
 04D4 87                psha
 04D5 4F                clra
 04D6 87                psha
 04D7 CD0000            jsr __divmod16u
 04DA 86                pula
 04DB B700              sta *__r0
 04DD 86                pula
 04DE B700              sta *__rlo
 04E0 4E0000            mov *__r0,*__rhi
 04E3 A60A              lda #10
 04E5 87                psha
 04E6 4F                clra
 04E7 87                psha
 04E8 CD0000            jsr __divmod16u
 04EB A702              ais #2
 04ED 4E0000            mov *__rlo,*__r1
 04F0 B600              lda *__r1
 04F2 E701              sta 1,X
 04F4                   .dbline 249
 04F4           ;   Wtite_Command(0b00110110);          //扩展指令,绘图开
 04F4 A636              lda #54
 04F6 87                psha
 04F7 CD041B            jsr _Wtite_Command
 04FA A701              ais #1
 04FC 95                tsx
 04FD                   .dbline 250
 04FD           ;   if(Y==1) X+=8;                      //参数调整 
 04FD E606              lda 6,X
 04FF A101              cmp #1
 0501 2606              bne L69
 0503                   .dbline 250
 0503 E607              lda 7,X
 0505 AB08              add #8
 0507 E707              sta 7,X
 0509           L69:
 0509                   .dbline 251
 0509           ;   for(Yi=0;Yi<32;Yi++)
 0509 6F03              clr 3,X
 050B CC0639            jmp L74
 050E           L71:
 050E                   .dbline 252
 050E           ;   { 
 050E                   .dbline 253
 050E           ;      if(BBit!=0) LcdShGr16P(Yi,X,*(BigNumCodeAdrr+BBit*32+Yi));
 050E E602              lda 2,X
 0510 2750              beq L75
 0512                   .dbline 253
 0512 3F00              clr *__r0
 0514 B700              sta *__r1
 0516 A605              lda #5
 0518           X9:
 0518 3800              lsl *__r1
 051A 3900              rol *__r0
 051C 4BFA              dbnza X9
 051E 3800              lsl *__r1
 0520 3900              rol *__r0
 0522 B600              lda *__r1
 0524 EB09              add 9,X
 0526 B700              sta *__r1
 0528 B600              lda *__r0
 052A E908              adc 8,X
 052C B700              sta *__r0
 052E 3F00              clr *__r2
 0530 E603              lda 3,X
 0532 B700              sta *__r3
 0534 3800              lsl *__r3
 0536 3900              rol *__r2
 0538 B600              lda *__r3
 053A BB00              add *__r1
 053C B700              sta *__r1
 053E B600              lda *__r2
 0540 B900              adc *__r0
 0542 B700              sta *__r0
 0544 5500              ldhx *__r0
 0546 E601              lda 1,x
 0548 B700              sta *__r1
 054A F6                lda ,x
 054B 95                tsx
 054C B700              sta *__r0
 054E B600              lda *__r1
 0550 87                psha
 0551 B600              lda *__r0
 0553 87                psha
 0554 E607              lda 7,X
 0556 87                psha
 0557 E603              lda 3,X
 0559 87                psha
 055A CD03E5            jsr _LcdShGr16P
 055D A704              ais #4
 055F 95                tsx
 0560 2014              bra L76
 0562           L75:
 0562                   .dbline 254
 0562           ;      else LcdShGr16P(Yi,X,0x0000);
 0562 450000            ldhx #0
 0565 89                pshx
 0566 8B                pshh
 0567 95                tsx
 0568 AF02              aix #2
 056A E607              lda 7,X
 056C 87                psha
 056D E603              lda 3,X
 056F 87                psha
 0570 CD03E5            jsr _LcdShGr16P
 0573 A704              ais #4
 0575 95                tsx
 0576           L76:
 0576                   .dbline 256
 0576 E601              lda 1,X
 0578 2604              bne L79
 057A E602              lda 2,X
 057C 2754              beq L77
 057E           L79:
 057E                   .dbline 256
 057E           ;        
 057E           ;      if((SBit!=0) ||(BBit!=0)) LcdShGr16P(Yi,X+1,*(BigNumCodeAdrr+SBit*32+Yi));
 057E 3F00              clr *__r0
 0580 E601              lda 1,X
 0582 B700              sta *__r1
 0584 A605              lda #5
 0586           X10:
 0586 3800              lsl *__r1
 0588 3900              rol *__r0
 058A 4BFA              dbnza X10
 058C 3800              lsl *__r1
 058E 3900              rol *__r0
 0590 B600              lda *__r1
 0592 EB09              add 9,X
 0594 B700              sta *__r1
 0596 B600              lda *__r0
 0598 E908              adc 8,X
 059A B700              sta *__r0
 059C 3F00              clr *__r2
 059E E603              lda 3,X
 05A0 B700              sta *__r3
 05A2 3800              lsl *__r3
 05A4 3900              rol *__r2
 05A6 B600              lda *__r3
 05A8 BB00              add *__r1
 05AA B700              sta *__r1
 05AC B600              lda *__r2
 05AE B900              adc *__r0
 05B0 B700              sta *__r0
 05B2 5500              ldhx *__r0
 05B4 E601              lda 1,x
 05B6 B700              sta *__r1
 05B8 F6                lda ,x
 05B9 95                tsx
 05BA B700              sta *__r0
 05BC B600              lda *__r1
 05BE 87                psha
 05BF B600              lda *__r0
 05C1 87                psha
 05C2 E607              lda 7,X
 05C4 AB01              add #1
 05C6 87                psha
 05C7 E603              lda 3,X
 05C9 87                psha
 05CA CD03E5            jsr _LcdShGr16P
 05CD A704              ais #4
 05CF 95                tsx
 05D0 2014              bra L78
 05D2           L77:
 05D2                   .dbline 257
 05D2           ;      else LcdShGr16P(Yi,X,0x0000);
 05D2 450000            ldhx #0
 05D5 89                pshx
 05D6 8B                pshh
 05D7 95                tsx
 05D8 AF02              aix #2
 05DA E607              lda 7,X
 05DC 87                psha
 05DD E603              lda 3,X
 05DF 87                psha
 05E0 CD03E5            jsr _LcdShGr16P
 05E3 A704              ais #4
 05E5 95                tsx
 05E6           L78:
 05E6                   .dbline 258
 05E6 3F00              clr *__r0
 05E8 F6                lda ,X
 05E9 B700              sta *__r1
 05EB A605              lda #5
 05ED           X11:
 05ED 3800              lsl *__r1
 05EF 3900              rol *__r0
 05F1 4BFA              dbnza X11
 05F3 3800              lsl *__r1
 05F5 3900              rol *__r0
 05F7 B600              lda *__r1
 05F9 EB09              add 9,X
 05FB B700              sta *__r1
 05FD B600              lda *__r0
 05FF E908              adc 8,X
 0601 B700              sta *__r0
 0603 3F00              clr *__r2
 0605 E603              lda 3,X
 0607 B700              sta *__r3
 0609 3800              lsl *__r3
 060B 3900              rol *__r2
 060D B600              lda *__r3
 060F BB00              add *__r1
 0611 B700              sta *__r1
 0613 B600              lda *__r2
 0615 B900              adc *__r0
 0617 B700              sta *__r0
 0619 5500              ldhx *__r0
 061B E601              lda 1,x
 061D B700              sta *__r1
 061F F6                lda ,x
 0620 95                tsx
 0621 B700              sta *__r0
 0623 B600              lda *__r1
 0625 87                psha
 0626 B600              lda *__r0
 0628 87                psha
 0629 E607              lda 7,X
 062B AB02              add #2
 062D 87                psha
 062E E603              lda 3,X
 0630 87                psha
 0631 CD03E5            jsr _LcdShGr16P
 0634 A704              ais #4
 0636 95                tsx
 0637                   .dbline 259
 0637           L72:
 0637                   .dbline 251
 0637 6C03              inc 3,X
 0639           L74:
 0639                   .dbline 251
 0639 E603              lda 3,X
 063B A120              cmp #32
 063D 2403              bhs X12
 063F CC050E            jmp L71
 0642           X12:
 0642                   .dbline 260
 0642           ;      LcdShGr16P(Yi,X+2,*(BigNumCodeAdrr+GBit*32+Yi));
 0642           ;   }
 0642           ;   Wtite_Command(0b00110000);          //基本指令
 0642 A630              lda #48
 0644 87                psha
 0645 CD041B            jsr _Wtite_Command
 0648 A701              ais #1
 064A 95                tsx
 064B           L68:
 064B                   .dbline 261
 064B           ;   LcdShBigNum_End:;
 064B                   .dbline -2
 064B           L63:
 064B A704              ais #4
 064D                   .dbline 0 ; func end
 064D 81                rts
 064E                   .dbsym l GBit 0 c
 064E                   .dbsym l SBit 1 c
 064E                   .dbsym l BBit 2 c
 064E                   .dbsym l Yi 3 c
 064E                   .dbsym l Num 10 i
 064E                   .dbsym l BigNumCodeAdrr 8 pi
 064E                   .dbsym l X 7 c
 064E                   .dbsym l Y 6 c
 064E                   .dbend

⌨️ 快捷键说明

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