📄 function.lis
字号:
.module Function.c
.area text
0000 .dbfile Function.c
0000 .dbfunc e DownBtn _DownBtn fV
0000 ; i -> 0,X
0000 ; CurrentRow -> 3,X
0000 _DownBtn::
0000 .dbline -1
0000 A7FF ais #-1
0002 95 tsx
0003 .dbline 9
0003 ; #include "Function.h"
0003 ; #include "SCI.h"
0003 ; //UpBtn:向移按钮功能函数--------------------------------------------------*
0003 ; //功 能:将LCD屏幕中的光标向下移一行 *
0003 ; //参 数:当前光标所在行号CurrentRow(取值1/2/3) *
0003 ; //返 回:无 *
0003 ; //------------------------------------------------------------------------*
0003 ; void DownBtn(INT8U *CurrentRow)
0003 ; {
0003 .dbline 11
0003 ; INT8U i;
0003 ; i=(*CurrentRow-1)*16;
0003 E603 lda 3,X
0005 EE04 ldx 4,X
0007 87 psha
0008 8A pulh
0009 F6 lda ,x
000A 95 tsx
000B A001 sub #1
000D 62 nsa
000E A4F0 and #-16
0010 F7 sta ,X
0011 .dbline 12
0011 ; LcdShowBuff[i]=' ';
0011 3F00 clr *__r0
0013 AB00 add #<_LcdShowBuff
0015 B700 sta *__r1
0017 B600 lda *__r0
0019 A900 adc #>_LcdShowBuff
001B B700 sta *__r0
001D A620 lda #32
001F 5500 ldhx *__r0
0021 F7 sta ,x
0022 95 tsx
0023 .dbline 13
0023 ; (*CurrentRow)++;
0023 E603 lda 3,X
0025 EE04 ldx 4,X
0027 87 psha
0028 8A pulh
0029 F6 lda ,x
002A 95 tsx
002B AB01 add #1
002D B700 sta *__r1
002F E604 lda 4,X
0031 B700 sta *__r3
0033 E603 lda 3,X
0035 B700 sta *__r2
0037 B600 lda *__r1
0039 5500 ldhx *__r2
003B F7 sta ,x
003C 95 tsx
003D .dbline 14
003D ; if(*CurrentRow>=3) *CurrentRow=3;
003D E603 lda 3,X
003F EE04 ldx 4,X
0041 87 psha
0042 8A pulh
0043 F6 lda ,x
0044 95 tsx
0045 A103 cmp #3
0047 250E blo L2
0049 .dbline 14
0049 E604 lda 4,X
004B B700 sta *__r1
004D E603 lda 3,X
004F B700 sta *__r0
0051 A603 lda #3
0053 5500 ldhx *__r0
0055 F7 sta ,x
0056 95 tsx
0057 L2:
0057 .dbline 15
0057 ; Print(*CurrentRow,1,">",1);//在当前行显示选中标志'>>'
0057 A601 lda #1
0059 87 psha
005A 450000 ldhx #L4
005D 89 pshx
005E 8B pshh
005F 95 tsx
0060 AF03 aix #3
0062 87 psha
0063 E603 lda 3,X
0065 EE04 ldx 4,X
0067 87 psha
0068 8A pulh
0069 F6 lda ,x
006A 87 psha
006B CD0000 jsr _Print
006E A705 ais #5
0070 .dbline 16
0070 ; LcdShCh(LcdShowBuff);
0070 450000 ldhx #_LcdShowBuff
0073 89 pshx
0074 8B pshh
0075 CD0000 jsr _LcdShCh
0078 A702 ais #2
007A 95 tsx
007B .dbline -2
007B L1:
007B A701 ais #1
007D .dbline 0 ; func end
007D 81 rts
007E .dbsym l i 0 c
007E .dbsym l CurrentRow 3 pc
007E .dbend
007E .dbfunc e UpBtn _UpBtn fV
007E ; i -> 0,X
007E ; CurrentRow -> 3,X
007E _UpBtn::
007E .dbline -1
007E A7FF ais #-1
0080 95 tsx
0081 .dbline 24
0081 ; }
0081 ; //DownBtn:向上移按钮功能函数----------------------------------------------*
0081 ; //功 能:将LCD屏幕中的光标向上移一行 *
0081 ; //参 数:当前光标所在行号CurrentRow(取值1/2/3) *
0081 ; //返 回: 无 *
0081 ; //------------------------------------------------------------------------*
0081 ; void UpBtn(INT8U *CurrentRow)
0081 ; {
0081 .dbline 26
0081 ; INT8U i;
0081 ; i=(*CurrentRow-1)*16;
0081 E603 lda 3,X
0083 EE04 ldx 4,X
0085 87 psha
0086 8A pulh
0087 F6 lda ,x
0088 95 tsx
0089 A001 sub #1
008B 62 nsa
008C A4F0 and #-16
008E F7 sta ,X
008F .dbline 27
008F ; LcdShowBuff[i]=' ';
008F 3F00 clr *__r0
0091 AB00 add #<_LcdShowBuff
0093 B700 sta *__r1
0095 B600 lda *__r0
0097 A900 adc #>_LcdShowBuff
0099 B700 sta *__r0
009B A620 lda #32
009D 5500 ldhx *__r0
009F F7 sta ,x
00A0 95 tsx
00A1 .dbline 28
00A1 ; (*CurrentRow)--;
00A1 E603 lda 3,X
00A3 EE04 ldx 4,X
00A5 87 psha
00A6 8A pulh
00A7 F6 lda ,x
00A8 95 tsx
00A9 A001 sub #1
00AB B700 sta *__r1
00AD E604 lda 4,X
00AF B700 sta *__r3
00B1 E603 lda 3,X
00B3 B700 sta *__r2
00B5 B600 lda *__r1
00B7 5500 ldhx *__r2
00B9 F7 sta ,x
00BA 95 tsx
00BB .dbline 29
00BB ; if(*CurrentRow<=0) *CurrentRow=1;
00BB E603 lda 3,X
00BD EE04 ldx 4,X
00BF 87 psha
00C0 8A pulh
00C1 F6 lda ,x
00C2 95 tsx
00C3 A100 cmp #0
00C5 220E bhi L6
00C7 .dbline 29
00C7 E604 lda 4,X
00C9 B700 sta *__r1
00CB E603 lda 3,X
00CD B700 sta *__r0
00CF A601 lda #1
00D1 5500 ldhx *__r0
00D3 F7 sta ,x
00D4 95 tsx
00D5 L6:
00D5 .dbline 30
00D5 ; Print(*CurrentRow,1,">",1);//在当前行显示选中标志'>>'
00D5 A601 lda #1
00D7 87 psha
00D8 450000 ldhx #L4
00DB 89 pshx
00DC 8B pshh
00DD 95 tsx
00DE AF03 aix #3
00E0 87 psha
00E1 E603 lda 3,X
00E3 EE04 ldx 4,X
00E5 87 psha
00E6 8A pulh
00E7 F6 lda ,x
00E8 87 psha
00E9 CD0000 jsr _Print
00EC A705 ais #5
00EE .dbline 31
00EE ; LcdShCh(LcdShowBuff);
00EE 450000 ldhx #_LcdShowBuff
00F1 89 pshx
00F2 8B pshh
00F3 CD0000 jsr _LcdShCh
00F6 A702 ais #2
00F8 95 tsx
00F9 .dbline -2
00F9 L5:
00F9 A701 ais #1
00FB .dbline 0 ; func end
00FB 81 rts
00FC .dbsym l i 0 c
00FC .dbsym l CurrentRow 3 pc
00FC .dbend
00FC .dbfunc e AddBtn _AddBtn fV
00FC ; i -> 2,X
00FC ; CurrentRow -> 5,X
00FC _AddBtn::
00FC .dbline -1
00FC A7FD ais #-3
00FE 95 tsx
00FF .dbline 39
00FF ; }
00FF ; //AddBtn:增加待调节的值---------------------------------------------------*
00FF ; //功 能:将待调节的值增加0.1 *
00FF ; //参 数:当前光标所在行号CurrentRow(取值1/2/3) *
00FF ; //返 回: 无 *
00FF ; //------------------------------------------------------------------------*
00FF ; void AddBtn(INT8U CurrentRow)
00FF ; {
00FF .dbline 41
00FF ; INT8U i;
00FF ; i=(CurrentRow-1)*16;
00FF E605 lda 5,X
0101 A001 sub #1
0103 62 nsa
0104 A4F0 and #-16
0106 E702 sta 2,X
0108 .dbline 42
0108 ; switch (CurrentRow)
0108 7F clr ,X
0109 E605 lda 5,X
010B E701 sta 1,X
010D F6 lda ,X
010E 2606 bne X0
0110 E601 lda 1,X
0112 A101 cmp #1
0114 2714 beq L12
0116 X0:
0116 F6 lda ,X
0117 2606 bne X1
0119 E601 lda 1,X
011B A102 cmp #2
011D 274D beq L23
011F X1:
011F F6 lda ,X
0120 2606 bne X2
0122 E601 lda 1,X
0124 A103 cmp #3
0126 2762 beq L26
0128 X2:
0128 206D bra L9
012A X3:
012A .dbline 43
012A ; {
012A L12:
012A .dbline 45
012A ; case 1://温度加1
012A ; if(SignBT=='+')//正数
012A B600 lda *_SignBT
012C A12B cmp #43
012E 2614 bne L13
0130 .dbline 46
0130 ; {if(BasicT<1400) BasicT=BasicT+10;
0130 .dbline 46
0130 5500 ldhx *_BasicT
0132 650578 cphx #1400
0135 95 tsx
0136 245F bhs L10
0138 .dbline 46
0138 B601 lda *_BasicT+1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -