📄 ps2_kb.lis
字号:
00F2 .dbline 57
00F2 9498 cbi 0x12,4
00F4 01C0 xjmp L22
00F6 L21:
00F6 .dbline 59
00F6 949A sbi 0x12,4
00F8 L22:
00F8 .dbline 61
00F8 9598 cbi 0x12,5
00FA .dbline 62
00FA 969A sbi 0x12,6
00FC .dbline 63
00FC 48BB out 0x18,R20
00FE .dbline 64
00FE 01E0 ldi R16,1
0100 10E0 ldi R17,0
0102 96DF xcall _Delayms
0104 .dbline 65
0104 9698 cbi 0x12,6
0106 .dbline -2
0106 .dbline 66
0106 L20:
0106 0E940000 xcall pop_gset2
010A .dbline 0 ; func end
010A 0895 ret
010C .dbsym r dByte 20 c
010C .dbsym r DatCmd 22 c
010C .dbend
010C .dbfunc e LCD1602_sendstr _LCD1602_sendstr fV
010C ; ptString -> R20,R21
.even
010C _LCD1602_sendstr::
010C 0E940000 xcall push_gset1
0110 A801 movw R20,R16
0112 .dbline -1
0112 .dbline 74
0112 05C0 xjmp L25
0114 L24:
0114 .dbline 76
0114 .dbline 77
0114 FA01 movw R30,R20
0116 2191 ld R18,Z+
0118 AF01 movw R20,R30
011A 01E0 ldi R16,1
011C E4DF xcall _LCD1602_sendbyte
011E .dbline 78
011E L25:
011E .dbline 75
011E FA01 movw R30,R20
0120 2080 ldd R2,z+0
0122 2220 tst R2
0124 B9F7 brne L24
0126 .dbline -2
0126 .dbline 79
0126 L23:
0126 0E940000 xcall pop_gset1
012A .dbline 0 ; func end
012A 0895 ret
012C .dbsym r ptString 20 pc
012C .dbend
012C .dbfunc e LCD1602_clear _LCD1602_clear fV
.even
012C _LCD1602_clear::
012C .dbline -1
012C .dbline 87
012C ; const uchar shifted[][2]= //shift键按下译码表
012C ; {
012C ; 0x0e,'~',
012C .dbline 88
012C ; 0x15,'Q',
012C 21E0 ldi R18,1
012E 0027 clr R16
0130 DADF xcall _LCD1602_sendbyte
0132 .dbline 89
0132 ; 0x16,'!',
0132 02E0 ldi R16,2
0134 10E0 ldi R17,0
0136 .dbline -2
0136 .dbline 90
0136 ; 0x1a,'Z',
0136 L27:
0136 .dbline 0 ; func end
0136 7CCF xjmp _Delayms
0138 .dbend
0138 .dbfunc e LCD1602_readBF _LCD1602_readBF fc
0138 ; busy -> R20
.even
0138 _LCD1602_readBF::
0138 0E940000 xcall push_gset1
013C .dbline -1
013C .dbline 98
013C ; 0x1b,'S',
013C ; 0x1c,'A',
013C ; 0x1d,'W',
013C ; 0x1e,'@',
013C ; 0x21,'C',
013C ; 0x22,'X',
013C ; 0x23,'D',
013C ; 0x24,'E',
013C .dbline 100
013C ; 0x25,'$',
013C ; 0x26,'#',
013C 0027 clr R16
013E BBDF xcall _LCD1602_readbyte
0140 402F mov R20,R16
0142 .dbline 101
0142 ; 0x29,' ',
0142 07FF sbrs R16,7
0144 02C0 rjmp L29
0146 .dbline 102
0146 ; 0x2a,'V',
0146 41E0 ldi R20,1
0148 01C0 xjmp L30
014A L29:
014A .dbline 104
014A ; 0x2b,'F',
014A ; 0x2c,'T',
014A 4427 clr R20
014C L30:
014C .dbline 105
014C ; 0x2d,'R',
014C 042F mov R16,R20
014E .dbline -2
014E L28:
014E 0E940000 xcall pop_gset1
0152 .dbline 0 ; func end
0152 0895 ret
0154 .dbsym r busy 20 c
0154 .dbend
0154 .dbfunc e LCD1602_gotoXY _LCD1602_gotoXY fV
0154 ; Col -> R20
0154 ; Row -> R22
.even
0154 _LCD1602_gotoXY::
0154 0E940000 xcall push_gset2
0158 422F mov R20,R18
015A 602F mov R22,R16
015C .dbline -1
015C .dbline 115
015C ; 0x2e,'%',
015C ; 0x31,'N',
015C ; 0x32,'B',
015C ; 0x33,'H',
015C ; 0x34,'G',
015C ; 0x35,'Y',
015C ; 0x36,'^',
015C ; 0x39,'L',
015C ; 0x3a,'M',
015C ; 0x3b,'J',
015C .dbline 116
015C ; 0x3c,'U',
015C 7727 clr R23
015E 6230 cpi R22,2
0160 E0E0 ldi R30,0
0162 7E07 cpc R23,R30
0164 09F0 breq L35
0166 05C0 xjmp L32
0168 X0:
0168 .dbline 117
0168 ; 0x3d,'&',
0168 L35:
0168 .dbline 119
0168 ; 0x3e,'*',
0168 ; 0x41,'<',
0168 242F mov R18,R20
016A 2054 subi R18,64 ; addi 192
016C 0027 clr R16
016E BBDF xcall _LCD1602_sendbyte
0170 .dbline 119
0170 04C0 xjmp L33
0172 L32:
0172 .dbline 121
0172 242F mov R18,R20
0174 2058 subi R18,128 ; addi 128
0176 0027 clr R16
0178 B6DF xcall _LCD1602_sendbyte
017A .dbline 121
017A L33:
017A .dbline -2
017A .dbline 123
017A ; 0x42,'K',
017A ; 0x43,'I',
017A ; 0x44,'O',
017A ; 0x45,')',
017A L31:
017A 0E940000 xcall pop_gset2
017E .dbline 0 ; func end
017E 0895 ret
0180 .dbsym r Col 20 c
0180 .dbsym r Row 22 c
0180 .dbend
0180 .dbfunc e LCD1602_initial _LCD1602_initial fV
.even
0180 _LCD1602_initial::
0180 .dbline -1
0180 .dbline 131
0180 ; 0x46,'(',
0180 ; 0x49,'>',
0180 ; 0x4a,'?',
0180 ; 0x4b,'L',
0180 ; 0x4c,':',
0180 ; 0x4d,'P',
0180 ; 0x4e,'_',
0180 ; 0x52,'"',
0180 .dbline 132
0180 ; 0x54,'{',
0180 04E6 ldi R16,100
0182 10E0 ldi R17,0
0184 55DF xcall _Delayms
0186 .dbline 133
0186 ; 0x55,'+',
0186 90DF xcall _LCD1602_portini
0188 .dbline 135
0188 ; 0x5b,'}',
0188 ; 0x5d,'|',
0188 28E3 ldi R18,56
018A 0027 clr R16
018C ACDF xcall _LCD1602_sendbyte
018E L37:
018E .dbline 136
018E L38:
018E .dbline 136
018E ; 0x61,'>',
018E D4DF xcall _LCD1602_readBF
0190 0023 tst R16
0192 E9F7 brne L37
0194 .dbline 137
0194 ; 0x69,'1',
0194 2CE0 ldi R18,12
0196 0027 clr R16
0198 A6DF xcall _LCD1602_sendbyte
019A L40:
019A .dbline 138
019A L41:
019A .dbline 138
019A ; 0x6b,'4',
019A CEDF xcall _LCD1602_readBF
019C 0023 tst R16
019E E9F7 brne L40
01A0 .dbline 139
01A0 ; 0x6c,'7',
01A0 C5DF xcall _LCD1602_clear
01A2 L43:
01A2 .dbline 140
01A2 L44:
01A2 .dbline 140
01A2 ; 0x70,'0',
01A2 CADF xcall _LCD1602_readBF
01A4 0023 tst R16
01A6 E9F7 brne L43
01A8 .dbline 141
01A8 ; 0x71,'.',
01A8 26E0 ldi R18,6
01AA 0027 clr R16
01AC .dbline -2
01AC .dbline 142
01AC ; 0x72,'2',
01AC L36:
01AC .dbline 0 ; func end
01AC 9CCF xjmp _LCD1602_sendbyte
01AE .dbend
.area vector(rom, abs)
.org 4
0004 0C94F700 jmp _Int0
.area text(rom, con, rel)
01AE .dbfile C:\icc\examples.avr\AVR_PQ1A_DEMO\19_PS2/YJ1602.C
.area code(ram, con, rel)
0000 .dbfile C:\icc\examples.avr\AVR_PQ1A_DEMO\19_PS2/YJ1602.C
.area lit(rom, con, rel)
0000 _unshifted::
0000 0E60 .byte 14,96
0002 1571 .byte 21,'q
0004 1631 .byte 22,49
0006 1A7A .byte 26,'z
0008 1B73 .byte 27,'s
000A 1C61 .byte 28,'a
000C 1D77 .byte 29,'w
000E 1E32 .byte 30,50
0010 2163 .byte 33,'c
0012 2278 .byte 34,'x
0014 2364 .byte 35,'d
0016 2465 .byte 36,'e
0018 2534 .byte 37,52
001A 2633 .byte 38,51
001C 2920 .byte 41,32
001E 2A76 .byte 42,'v
0020 2B66 .byte 43,'f
0022 2C74 .byte 44,'t
0024 2D72 .byte 45,'r
0026 2E35 .byte 46,53
0028 316E .byte 49,'n
002A 3262 .byte 50,'b
002C 3368 .byte 51,'h
002E 3467 .byte 52,'g
0030 3579 .byte 53,'y
0032 3636 .byte 54,54
0034 392C .byte 57,44
0036 3A6D .byte 58,'m
0038 3B6A .byte 59,'j
003A 3C75 .byte 60,'u
003C 3D37 .byte 61,55
003E 3E38 .byte 62,56
0040 412C .byte 'A,44
0042 426B .byte 'B,'k
0044 4369 .byte 'C,'i
0046 446F .byte 'D,'o
0048 4530 .byte 'E,48
004A 4639 .byte 'F,57
004C 492E .byte 'I,46
004E 4A2F .byte 'J,47
0050 4B6C .byte 'K,'l
0052 4C3B .byte 'L,59
0054 4D70 .byte 'M,'p
0056 4E2D .byte 'N,45
0058 5227 .byte 'R,39
005A 545B .byte 'T,91
005C 553D .byte 'U,61
005E 5B5D .byte 91,93
0060 5D5C .byte 93,92
0062 613C .byte 'a,60
0064 6931 .byte 'i,49
0066 6B34 .byte 'k,52
0068 6C37 .byte 'l,55
006A 7030 .byte 'p,48
006C 712E .byte 'q,46
006E 7232 .byte 'r,50
0070 7335 .byte 's,53
0072 7436 .byte 't,54
0074 7538 .byte 'u,56
0076 792B .byte 'y,43
0078 7A33 .byte 'z,51
007A 7B2D .byte 123,45
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -