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

📄 lcd.lis

📁 项目是为日本瑞萨工作所做的BAKE炉温控系统 整个文件夹包括设计文档
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 0451 95                tsx
 0452                   .dbline -2
 0452           L57:
 0452                   .dbline 0 ; func end
 0452 81                rts
 0453                   .dbsym l data 2 c
 0453                   .dbend
 0453                   .dbfunc e DelayTimes _DelayTimes fV
 0453           ;              i -> 0,X
 0453           ;             tn -> 4,X
 0453           _DelayTimes::
 0453                   .dbline -1
 0453 A7FE              ais #-2
 0455 95                tsx
 0456                   .dbline 228
 0456           ; }
 0456           ; 
 0456           ; /*DelayTimes:延时指定时间--------------------------------------------------*
 0456           ; *功  能:延时指定的时间                                                     *
 0456           ; *入  口:tn为延时时间数(0到65535)                                           *
 0456           ; *出  口:无                                                                 *
 0456           ; *-------------------------------------------------------------------------*/
 0456           ; void DelayTimes(INT16U tn)
 0456           ; {
 0456                   .dbline 230
 0456 6F01              clr 1,X
 0458 7F                clr ,X
 0459 200A              bra L62
 045B           L59:
 045B                   .dbline 230
 045B           L60:
 045B                   .dbline 230
 045B E601              lda 1,X
 045D AB01              add #1
 045F E701              sta 1,X
 0461 F6                lda ,X
 0462 A900              adc #0
 0464 F7                sta ,X
 0465           L62:
 0465                   .dbline 230
 0465           ;   INT16U i;    //循环变量
 0465           ;   for(i=0;i<tn;i++);
 0465 E605              lda 5,X
 0467 B700              sta *__r1
 0469 E604              lda 4,X
 046B B700              sta *__r0
 046D E601              lda 1,X
 046F B700              sta *__r3
 0471 F6                lda ,X
 0472 B700              sta *__r2
 0474 5500              ldhx *__r2
 0476 7500              cphx *__r0
 0478 95                tsx
 0479 25E0              blo L59
 047B                   .dbline -2
 047B           L58:
 047B A702              ais #2
 047D                   .dbline 0 ; func end
 047D 81                rts
 047E                   .dbsym l i 0 i
 047E                   .dbsym l tn 4 i
 047E                   .dbend
 047E                   .dbfunc e LcdShBigNum _LcdShBigNum fV
 047E           ;           GBit -> 0,X
 047E           ;           BBit -> 1,X
 047E           ;           SBit -> 2,X
 047E           ;             Yi -> 3,X
 047E           ;            Num -> 10,X
 047E           ; BigNumCodeAdrr -> 8,X
 047E           ;              X -> 7,X
 047E           ;              Y -> 6,X
 047E           _LcdShBigNum::
 047E                   .dbline -1
 047E A7FC              ais #-4
 0480 95                tsx
 0481                   .dbline 243
 0481           ; }
 0481           ; 
 0481           ; //其他特殊功能函数
 0481           ; /*LcdShBigNum:在Lcd上显示自定义32*16点阵的数字(0--999)---------------------*
 0481           ; *功  能:在Lcd上显示自定义32*16点阵的数字(0--999)                           *
 0481           ; *参  数:X表示Lcd上显示字符的横坐标(0--5),Y为显示字符的纵坐标(0--1)         *
 0481           ; *       BigNumCodeAdrr为32*16点阵数字编码首地址,Num为当前的数据值(0--999)  *
 0481           ; *返  回:无                                                                 *
 0481           ; *内部调用:LcdShGr16P:在Lcd指定位置上设置线型16个点的显示                   *
 0481           ; *         Wtite_Command:执行参数中的给定命令                               *
 0481           ; *-------------------------------------------------------------------------*/
 0481           ; void LcdShBigNum(INT8U Y,INT8U X,INT16U * BigNumCodeAdrr,INT16U Num)
 0481           ; {
 0481                   .dbline 246
 0481 E606              lda 6,X
 0483 A101              cmp #1
 0485 2216              bhi L67
 0487 E607              lda 7,X
 0489 A105              cmp #5
 048B 2210              bhi L67
 048D E60B              lda 11,X
 048F B700              sta *__r1
 0491 E60A              lda 10,X
 0493 B700              sta *__r0
 0495 5500              ldhx *__r0
 0497 6503E7            cphx #999
 049A 95                tsx
 049B 2303              bls L64
 049D           L67:
 049D                   .dbline 246
 049D           ;   INT8U GBit,SBit,BBit;               //存放个位,十位,百位数据 
 049D           ;   INT8U Yi;                           //Y坐标方向的循环控制变量  
 049D           ;   if(Y>1||X>5||Num>999) goto LcdShBigNum_End; //参数值范围检测 
 049D CC061B            jmp L68
 04A0           L64:
 04A0                   .dbline 247
 04A0           ;   GBit=Num%10; BBit=Num/100; SBit=(Num%100)/10;
 04A0 E60B              lda 11,X
 04A2 B700              sta *__rlo
 04A4 E60A              lda 10,X
 04A6 B700              sta *__rhi
 04A8 A60A              lda #10
 04AA 87                psha
 04AB 4F                clra
 04AC 87                psha
 04AD CD0000            jsr __divmod16u
 04B0 86                pula
 04B1 86                pula
 04B2 F7                sta ,X
 04B3                   .dbline 247
 04B3 E60B              lda 11,X
 04B5 B700              sta *__rlo
 04B7 E60A              lda 10,X
 04B9 B700              sta *__rhi
 04BB A664              lda #100
 04BD 87                psha
 04BE 4F                clra
 04BF 87                psha
 04C0 CD0000            jsr __divmod16u
 04C3 A702              ais #2
 04C5 4E0000            mov *__rlo,*__r1
 04C8 B600              lda *__r1
 04CA E701              sta 1,X
 04CC                   .dbline 247
 04CC E60B              lda 11,X
 04CE B700              sta *__rlo
 04D0 E60A              lda 10,X
 04D2 B700              sta *__rhi
 04D4 A664              lda #100
 04D6 87                psha
 04D7 4F                clra
 04D8 87                psha
 04D9 CD0000            jsr __divmod16u
 04DC 86                pula
 04DD B700              sta *__r0
 04DF 86                pula
 04E0 B700              sta *__rlo
 04E2 4E0000            mov *__r0,*__rhi
 04E5 A60A              lda #10
 04E7 87                psha
 04E8 4F                clra
 04E9 87                psha
 04EA CD0000            jsr __divmod16u
 04ED A702              ais #2
 04EF 4E0000            mov *__rlo,*__r1
 04F2 B600              lda *__r1
 04F4 E702              sta 2,X
 04F6                   .dbline 248
 04F6           ;   Wtite_Command(0b00110110);          //扩展指令,绘图开
 04F6 A636              lda #54
 04F8 87                psha
 04F9 CD041D            jsr _Wtite_Command
 04FC A701              ais #1
 04FE 95                tsx
 04FF                   .dbline 249
 04FF           ;   if(Y==1) X+=8;                      //参数调整 
 04FF E606              lda 6,X
 0501 A101              cmp #1
 0503 2606              bne L69
 0505                   .dbline 249
 0505 E607              lda 7,X
 0507 AB08              add #8
 0509 E707              sta 7,X
 050B           L69:
 050B                   .dbline 250
 050B           ;   for(Yi=0;Yi<32;Yi++)
 050B 6F03              clr 3,X
 050D CC0609            jmp L74
 0510           L71:
 0510                   .dbline 251
 0510           ;   { 
 0510                   .dbline 252
 0510           ;      if(BBit!=0) LcdShGr16P(Yi,X,*(BigNumCodeAdrr+BBit*32+Yi));
 0510 E601              lda 1,X
 0512 274E              beq L75
 0514                   .dbline 252
 0514 3F00              clr *__r0
 0516 B700              sta *__r1
 0518 A605              lda #5
 051A           X9:
 051A 3800              lsl *__r1
 051C 3900              rol *__r0
 051E 4BFA              dbnza X9
 0520 3800              lsl *__r1
 0522 3900              rol *__r0
 0524 B600              lda *__r1
 0526 EB09              add 9,X
 0528 B700              sta *__r1
 052A B600              lda *__r0
 052C E908              adc 8,X
 052E B700              sta *__r0
 0530 3F00              clr *__r2
 0532 E603              lda 3,X
 0534 B700              sta *__r3
 0536 3800              lsl *__r3
 0538 3900              rol *__r2
 053A B600              lda *__r3
 053C BB00              add *__r1
 053E B700              sta *__r1
 0540 B600              lda *__r2
 0542 B900              adc *__r0
 0544 B700              sta *__r0
 0546 5500              ldhx *__r0
 0548 E601              lda 1,x
 054A B700              sta *__r1
 054C F6                lda ,x
 054D 95                tsx
 054E B700              sta *__r0
 0550 B600              lda *__r1
 0552 87                psha
 0553 B600              lda *__r0
 0555 87                psha
 0556 E607              lda 7,X
 0558 87                psha
 0559 E603              lda 3,X
 055B 87                psha
 055C CD03E7            jsr _LcdShGr16P
 055F A704              ais #4
 0561 95                tsx
 0562           L75:
 0562                   .dbline 253
 0562           ;      if(SBit!=0) LcdShGr16P(Yi,X+1,*(BigNumCodeAdrr+SBit*32+Yi));
 0562 E602              lda 2,X
 0564 2750              beq L77
 0566                   .dbline 253
 0566 3F00              clr *__r0
 0568 B700              sta *__r1
 056A A605              lda #5
 056C           X10:
 056C 3800              lsl *__r1
 056E 3900              rol *__r0
 0570 4BFA              dbnza X10
 0572 3800              lsl *__r1
 0574 3900              rol *__r0
 0576 B600              lda *__r1
 0578 EB09              add 9,X
 057A B700              sta *__r1
 057C B600              lda *__r0
 057E E908              adc 8,X
 0580 B700              sta *__r0
 0582 3F00              clr *__r2
 0584 E603              lda 3,X
 0586 B700              sta *__r3
 0588 3800              lsl *__r3
 058A 3900              rol *__r2
 058C B600              lda *__r3
 058E BB00              add *__r1
 0590 B700              sta *__r1
 0592 B600              lda *__r2
 0594 B900              adc *__r0
 0596 B700              sta *__r0
 0598 5500              ldhx *__r0
 059A E601              lda 1,x
 059C B700              sta *__r1
 059E F6                lda ,x
 059F 95                tsx
 05A0 B700              sta *__r0
 05A2 B600              lda *__r1
 05A4 87                psha
 05A5 B600              lda *__r0
 05A7 87                psha
 05A8 E607              lda 7,X
 05AA AB01              add #1
 05AC 87                psha
 05AD E603              lda 3,X
 05AF 87                psha
 05B0 CD03E7            jsr _LcdShGr16P
 05B3 A704              ais #4
 05B5 95                tsx
 05B6           L77:
 05B6                   .dbline 254
 05B6 3F00              clr *__r0
 05B8 F6                lda ,X
 05B9 B700              sta *__r1
 05BB A605              lda #5
 05BD           X11:
 05BD 3800              lsl *__r1
 05BF 3900              rol *__r0
 05C1 4BFA              dbnza X11
 05C3 3800              lsl *__r1
 05C5 3900              rol *__r0
 05C7 B600              lda *__r1
 05C9 EB09              add 9,X
 05CB B700              sta *__r1
 05CD B600              lda *__r0
 05CF E908              adc 8,X
 05D1 B700              sta *__r0
 05D3 3F00              clr *__r2
 05D5 E603              lda 3,X
 05D7 B700              sta *__r3
 05D9 3800              lsl *__r3
 05DB 3900              rol *__r2
 05DD B600              lda *__r3
 05DF BB00              add *__r1
 05E1 B700              sta *__r1
 05E3 B600              lda *__r2
 05E5 B900              adc *__r0
 05E7 B700              sta *__r0
 05E9 5500              ldhx *__r0
 05EB E601              lda 1,x
 05ED B700              sta *__r1
 05EF F6                lda ,x
 05F0 95                tsx
 05F1 B700              sta *__r0
 05F3 B600              lda *__r1
 05F5 87                psha
 05F6 B600              lda *__r0
 05F8 87                psha
 05F9 E607              lda 7,X
 05FB AB02              add #2
 05FD 87                psha
 05FE E603              lda 3,X
 0600 87                psha
 0601 CD03E7            jsr _LcdShGr16P
 0604 A704              ais #4
 0606 95                tsx
 0607                   .dbline 255
 0607           L72:
 0607                   .dbline 250
 0607 6C03              inc 3,X
 0609           L74:
 0609                   .dbline 250
 0609 E603              lda 3,X
 060B A120              cmp #32
 060D 2403              bhs X12
 060F CC0510            jmp L71
 0612           X12:
 0612                   .dbline 256
 0612           ;      LcdShGr16P(Yi,X+2,*(BigNumCodeAdrr+GBit*32+Yi));
 0612           ;   }
 0612           ;   Wtite_Command(0b00110000);          //基本指令
 0612 A630              lda #48
 0614 87                psha
 0615 CD041D            jsr _Wtite_Command
 0618 A701              ais #1
 061A 95                tsx
 061B           L68:
 061B                   .dbline 257
 061B           ;   LcdShBigNum_End:;
 061B                   .dbline -2
 061B           L63:
 061B A704              ais #4
 061D                   .dbline 0 ; func end
 061D 81                rts
 061E                   .dbsym l GBit 0 c
 061E                   .dbsym l BBit 1 c
 061E                   .dbsym l SBit 2 c
 061E                   .dbsym l Yi 3 c
 061E                   .dbsym l Num 10 i
 061E                   .dbsym l BigNumCodeAdrr 8 pi
 061E                   .dbsym l X 7 c
 061E                   .dbsym l Y 6 c
 061E                   .dbend

⌨️ 快捷键说明

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