📄 t6963.lis
字号:
0054 ; port_conp |= (1<<WR); //WR=1;
0054 D89A sbi 0x1b,0
0056 .dbline -2
0056 .dbline 74
0056 ; }
0056 L7:
0056 .dbline 0 ; func end
0056 0895 ret
0058 .dbsym r val 16 c
0058 .dbend
0058 .dbfunc e fnSTA01 _fnSTA01 fc
0058 ; i -> R20
.even
0058 _fnSTA01::
0058 0E940000 xcall push_gset1
005C .dbline -1
005C .dbline 80
005C ; /************************************************/
005C ; /* 状态位STA1,STA0判断读写指令和读写数据*/
005C ; /* 在读写数据或者写入命令前必须保证均为1 */
005C ; /************************************************/
005C ; unsigned char fnSTA01(void)
005C ; {
005C .dbline 82
005C ; unsigned char i;
005C ; for(i=10;i>0;i--)
005C 4AE0 ldi R20,10
005E 07C0 xjmp L12
0060 L9:
0060 .dbline 83
0060 ; {
0060 .dbline 84
0060 ; if((RD_LCM() & 0x03) == 0x03) // 读取状态
0060 D5DF xcall _RD_LCM
0062 802F mov R24,R16
0064 8370 andi R24,3
0066 8330 cpi R24,3
0068 09F4 brne L13
006A .dbline 85
006A ; {
006A .dbline 86
006A ; break;
006A 04C0 xjmp L11
006C L13:
006C .dbline 88
006C L10:
006C .dbline 82
006C 4A95 dec R20
006E L12:
006E .dbline 82
006E 2224 clr R2
0070 2416 cp R2,R20
0072 B0F3 brlo L9
0074 L11:
0074 .dbline 89
0074 ; }
0074 ; }
0074 ; return(i); // 若返回零说明错误
0074 042F mov R16,R20
0076 .dbline -2
0076 L8:
0076 0E940000 xcall pop_gset1
007A .dbline 0 ; func end
007A 0895 ret
007C .dbsym r i 20 c
007C .dbend
007C .dbfunc e fnSTA2 _fnSTA2 fc
007C ; i -> R20
.even
007C _fnSTA2::
007C 0E940000 xcall push_gset1
0080 .dbline -1
0080 .dbline 95
0080 ; }
0080 ; /********************************************/
0080 ; /* 检查STA2,如果STA2=1 为自动读状态*/
0080 ; /********************************************/
0080 ; unsigned char fnSTA2(void)
0080 ; {
0080 .dbline 97
0080 ; unsigned char i;
0080 ; for(i=10;i>0;i--)
0080 4AE0 ldi R20,10
0082 07C0 xjmp L19
0084 L16:
0084 .dbline 98
0084 ; {
0084 .dbline 99
0084 ; if((RD_LCM() & 0x04) == 0x04)
0084 C3DF xcall _RD_LCM
0086 802F mov R24,R16
0088 8470 andi R24,4
008A 8430 cpi R24,4
008C 09F4 brne L20
008E .dbline 100
008E ; {
008E .dbline 101
008E ; break;
008E 04C0 xjmp L18
0090 L20:
0090 .dbline 103
0090 L17:
0090 .dbline 97
0090 4A95 dec R20
0092 L19:
0092 .dbline 97
0092 2224 clr R2
0094 2416 cp R2,R20
0096 B0F3 brlo L16
0098 L18:
0098 .dbline 104
0098 ; }
0098 ; }
0098 ; return(i); // 若返回零说明错误
0098 042F mov R16,R20
009A .dbline -2
009A L15:
009A 0E940000 xcall pop_gset1
009E .dbline 0 ; func end
009E 0895 ret
00A0 .dbsym r i 20 c
00A0 .dbend
00A0 .dbfunc e fnSTA3 _fnSTA3 fc
00A0 ; i -> R20
.even
00A0 _fnSTA3::
00A0 0E940000 xcall push_gset1
00A4 .dbline -1
00A4 .dbline 110
00A4 ; }
00A4 ; /***********************************************/
00A4 ; /* 状态位STA3 判断STA3 = 1 数据自动写状态*/
00A4 ; /***********************************************/
00A4 ; unsigned char fnSTA3(void)
00A4 ; {
00A4 .dbline 112
00A4 ; unsigned char i;
00A4 ; for(i=10;i>0;i--)
00A4 4AE0 ldi R20,10
00A6 07C0 xjmp L26
00A8 L23:
00A8 .dbline 113
00A8 ; {
00A8 .dbline 114
00A8 ; if((RD_LCM() & 0x08) == 0x08)
00A8 B1DF xcall _RD_LCM
00AA 802F mov R24,R16
00AC 8870 andi R24,8
00AE 8830 cpi R24,8
00B0 09F4 brne L27
00B2 .dbline 115
00B2 ; {
00B2 .dbline 116
00B2 ; break;
00B2 04C0 xjmp L25
00B4 L27:
00B4 .dbline 118
00B4 L24:
00B4 .dbline 112
00B4 4A95 dec R20
00B6 L26:
00B6 .dbline 112
00B6 2224 clr R2
00B8 2416 cp R2,R20
00BA B0F3 brlo L23
00BC L25:
00BC .dbline 119
00BC ; }
00BC ; }
00BC ; return(i); // 若返回零说明错误
00BC 042F mov R16,R20
00BE .dbline -2
00BE L22:
00BE 0E940000 xcall pop_gset1
00C2 .dbline 0 ; func end
00C2 0895 ret
00C4 .dbsym r i 20 c
00C4 .dbend
00C4 .dbfunc e fnSTA6 _fnSTA6 fc
00C4 ; i -> R20
.even
00C4 _fnSTA6::
00C4 0E940000 xcall push_gset1
00C8 .dbline -1
00C8 .dbline 125
00C8 ; }
00C8 ; /************************************************/
00C8 ; /* 状态位STA6 判断STA6 =1 屏读/屏拷贝状态*/
00C8 ; /************************************************/
00C8 ; unsigned char fnSTA6(void)
00C8 ; {
00C8 .dbline 127
00C8 ; unsigned char i;
00C8 ; for(i=10;i>0;i--)
00C8 4AE0 ldi R20,10
00CA 07C0 xjmp L33
00CC L30:
00CC .dbline 128
00CC ; {
00CC .dbline 129
00CC ; if((RD_LCM() & 0x40) == 0x40)
00CC 9FDF xcall _RD_LCM
00CE 802F mov R24,R16
00D0 8074 andi R24,64
00D2 8034 cpi R24,64
00D4 09F4 brne L34
00D6 .dbline 130
00D6 ; {
00D6 .dbline 131
00D6 ; break;
00D6 04C0 xjmp L32
00D8 L34:
00D8 .dbline 133
00D8 L31:
00D8 .dbline 127
00D8 4A95 dec R20
00DA L33:
00DA .dbline 127
00DA 2224 clr R2
00DC 2416 cp R2,R20
00DE B0F3 brlo L30
00E0 L32:
00E0 .dbline 134
00E0 ; }
00E0 ; }
00E0 ; return(i); // 若返回零说明错误
00E0 042F mov R16,R20
00E2 .dbline -2
00E2 L29:
00E2 0E940000 xcall pop_gset1
00E6 .dbline 0 ; func end
00E6 0895 ret
00E8 .dbsym r i 20 c
00E8 .dbend
00E8 .dbfunc e fnPR1 _fnPR1 fc
00E8 ; uPar2 -> y+4
00E8 ; uPar1 -> R22
00E8 ; uCmd -> R20
.even
00E8 _fnPR1::
00E8 0E940000 xcall push_gset2
00EC 622F mov R22,R18
00EE 402F mov R20,R16
00F0 .dbline -1
00F0 .dbline 140
00F0 ; }
00F0 ; /************************/
00F0 ; /* 写双参数的指令*/
00F0 ; /************************/
00F0 ; unsigned char fnPR1(unsigned char uCmd,unsigned char uPar1,unsigned char uPar2)
00F0 ; {
00F0 .dbline 141
00F0 ; if(fnSTA01() == 0)
00F0 B3DF xcall _fnSTA01
00F2 0023 tst R16
00F4 11F4 brne L37
00F6 .dbline 142
00F6 ; {
00F6 .dbline 143
00F6 ; return 1;
00F6 01E0 ldi R16,1
00F8 11C0 xjmp L36
00FA L37:
00FA .dbline 145
00FA ; }
00FA ; WR_DAT(uPar1);
00FA 062F mov R16,R22
00FC 9BDF xcall _WR_DAT
00FE .dbline 146
00FE ; if(fnSTA01() == 0)
00FE ACDF xcall _fnSTA01
0100 0023 tst R16
0102 11F4 brne L39
0104 .dbline 147
0104 ; {
0104 .dbline 148
0104 ; return 2;
0104 02E0 ldi R16,2
0106 0AC0 xjmp L36
0108 L39:
0108 .dbline 150
0108 ; }
0108 ; WR_DAT(uPar2);
0108 0C81 ldd R16,y+4
010A 94DF xcall _WR_DAT
010C .dbline 151
010C ; if(fnSTA01() == 0)
010C A5DF xcall _fnSTA01
010E 0023 tst R16
0110 11F4 brne L41
0112 .dbline 152
0112 ; {
0112 .dbline 153
0112 ; return 3;
0112 03E0 ldi R16,3
0114 03C0 xjmp L36
0116 L41:
0116 .dbline 155
0116 ; }
0116 ; WR_CMD(uCmd);
0116 042F mov R16,R20
0118 96DF xcall _WR_CMD
011A .dbline 156
011A ; return(0); // 返回0 成功
011A 0027 clr R16
011C .dbline -2
011C L36:
011C 0E940000 xcall pop_gset2
0120 .dbline 0 ; func end
0120 0895 ret
0122 .dbsym l uPar2 4 c
0122 .dbsym r uPar1 22 c
0122 .dbsym r uCmd 20 c
0122 .dbend
0122 .dbfunc e fnPR11 _fnPR11 fc
0122 ; uPar1 -> R22
0122 ; uCmd -> R20
.even
0122 _fnPR11::
0122 0E940000 xcall push_gset2
0126 622F mov R22,R18
0128 402F mov R20,R16
012A .dbline -1
012A .dbline 162
012A ; }
012A ; /************************/
012A ; /* 写单参数的指令*/
012A ; /************************/
012A ; unsigned char fnPR11(unsigned char uCmd,unsigned char uPar1)
012A ; {
012A .dbline 163
012A ; if(fnSTA01() == 0)
012A 96DF xcall _fnSTA01
012C 0023 tst R16
012E 11F4 brne L44
0130 .dbline 164
0130 ; {
0130 .dbline 165
0130 ; return 1;
0130 01E0 ldi R16,1
0132 0AC0 xjmp L43
0134 L44:
0134 .dbline 167
0134 ; }
0134 ; WR_DAT(uPar1);
0134 062F mov R16,R22
0136 7EDF xcall _WR_DAT
0138 .dbline 168
0138 ; if(fnSTA01() == 0)
0138 8FDF xcall _fnSTA01
013A 0023 tst R16
013C 11F4 brne L46
013E .dbline 169
013E ; {
013E .dbline 170
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -