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

📄 ps2.s

📁 AVRkaifashili.rar
💻 S
📖 第 1 页 / 共 2 页
字号:
	.module PS2.C
	.area lit(rom, con, rel)
_Shifted::
	.byte 28,'A
	.byte 50,'B
	.byte 33,'C
	.byte 35,'D
	.byte 36,'E
	.byte 43,'F
	.byte 52,'G
	.byte 51,'H
	.byte 'C,'I
	.byte 59,'J
	.byte 'B,'K
	.byte 'K,'L
	.byte 58,'M
	.byte 49,'N
	.byte 'D,'O
	.byte 'M,'P
	.byte 21,'Q
	.byte 45,'R
	.byte 27,'S
	.byte 44,'T
	.byte 60,'U
	.byte 42,'V
	.byte 29,'W
	.byte 34,'X
	.byte 53,'Y
	.byte 26,'Z
	.byte 'E,48
	.byte 22,49
	.byte 30,50
	.byte 38,51
	.byte 37,52
	.byte 46,53
	.byte 54,54
	.byte 61,55
	.byte 62,56
	.byte 'F,57
	.byte 14,126
	.byte 123,62
	.byte 'y,61
	.byte 124,63
	.byte 'w,64
	.byte 'T,123
	.byte 91,125
	.byte 'L,58
	.byte 'R,34
	.byte 'A,60
	.byte 224,60
	.byte 'Z,59
	.byte 'q,58
	.byte 'p,48
	.byte 'i,49
	.byte 'r,50
	.byte 'z,51
	.byte 'k,52
	.byte 's,53
	.byte 't,54
	.byte 'l,55
	.byte 'u,56
	.byte 125,57
	.dbfile C:\DOCUME~1\Administrator\桌面\张军\PS2-ICC/Encode.h
	.dbsym e Shifted _Shifted A[118:59:2]kc
_X0::
	.byte 0,224
	.byte 16,8
	.byte 8,16
	.byte 224,0
	.byte 0,15
	.byte 16,32
	.byte 32,16
	.byte 15,0
	.dbsym e X0 _X0 A[16:16]kc
_X1::
	.byte 0,16
	.byte 16,248
	.byte 0,0
	.byte 0,0
	.byte 0,32
	.byte 32,63
	.byte 32,32
	.byte 0,0
	.dbsym e X1 _X1 A[16:16]kc
_X2::
	.byte 0,'p
	.byte 8,8
	.byte 8,136
	.byte 'p,0
	.byte 0,48
	.byte 40,36
	.byte 34,33
	.byte 48,0
	.dbsym e X2 _X2 A[16:16]kc
_X3::
	.byte 0,48
	.byte 8,136
	.byte 136,'H
	.byte 48,0
	.byte 0,24
	.byte 32,32
	.byte 32,17
	.byte 14,0
	.dbsym e X3 _X3 A[16:16]kc
_X4::
	.byte 0,0
	.byte 192,32
	.byte 16,248
	.byte 0,0
	.byte 0,7
	.byte 4,36
	.byte 36,63
	.byte 36,0
	.dbsym e X4 _X4 A[16:16]kc
_X5::
	.byte 0,248
	.byte 8,136
	.byte 136,8
	.byte 8,0
	.byte 0,25
	.byte 33,32
	.byte 32,17
	.byte 14,0
	.dbsym e X5 _X5 A[16:16]kc
_X6::
	.byte 0,224
	.byte 16,136
	.byte 136,24
	.byte 0,0
	.byte 0,15
	.byte 17,32
	.byte 32,17
	.byte 14,0
	.dbsym e X6 _X6 A[16:16]kc
_X7::
	.byte 0,56
	.byte 8,8
	.byte 200,56
	.byte 8,0
	.byte 0,0
	.byte 0,63
	.byte 0,0
	.byte 0,0
	.dbsym e X7 _X7 A[16:16]kc
_X8::
	.byte 0,'p
	.byte 136,8
	.byte 8,136
	.byte 'p,0
	.byte 0,28
	.byte 34,33
	.byte 33,34
	.byte 28,0
	.dbsym e X8 _X8 A[16:16]kc
_X9::
	.byte 0,224
	.byte 16,8
	.byte 8,16
	.byte 224,0
	.byte 0,0
	.byte 49,34
	.byte 34,17
	.byte 15,0
	.dbsym e X9 _X9 A[16:16]kc
_XA::
	.byte 0,0
	.byte 192,56
	.byte 224,0
	.byte 0,0
	.byte 32,60
	.byte 35,2
	.byte 2,39
	.byte 56,32
	.dbsym e XA _XA A[16:16]kc
_XB::
	.byte 8,248
	.byte 136,136
	.byte 136,'p
	.byte 0,0
	.byte 32,63
	.byte 32,32
	.byte 32,17
	.byte 14,0
	.dbsym e XB _XB A[16:16]kc
_XC::
	.byte 192,48
	.byte 8,8
	.byte 8,8
	.byte 56,0
	.byte 7,24
	.byte 32,32
	.byte 32,16
	.byte 8,0
	.dbsym e XC _XC A[16:16]kc
_XD::
	.byte 8,248
	.byte 8,8
	.byte 8,16
	.byte 224,0
	.byte 32,63
	.byte 32,32
	.byte 32,16
	.byte 15,0
	.dbsym e XD _XD A[16:16]kc
_XE::
	.byte 8,248
	.byte 136,136
	.byte 232,8
	.byte 16,0
	.byte 32,63
	.byte 32,32
	.byte 35,32
	.byte 24,0
	.dbsym e XE _XE A[16:16]kc
_XF::
	.byte 8,248
	.byte 136,136
	.byte 232,8
	.byte 16,0
	.byte 32,63
	.byte 32,0
	.byte 3,0
	.byte 0,0
	.dbsym e XF _XF A[16:16]kc
_Space::
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.dbsym e Space _Space A[16:16]kc
	.area data(ram, con, rel)
	.dbfile C:\DOCUME~1\Administrator\桌面\张军\PS2-ICC/Encode.h
_Row::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile C:\DOCUME~1\Administrator\桌面\张军\PS2-ICC/Encode.h
	.dbfile C:\DOCUME~1\Administrator\桌面\张军\PS2-ICC\PS2.C
	.dbsym e Row _Row c
_Column::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile C:\DOCUME~1\Administrator\桌面\张军\PS2-ICC\PS2.C
	.dbsym e Column _Column c
_R_flag::
	.blkb 1
	.area idata
	.byte 0
	.area data(ram, con, rel)
	.dbfile C:\DOCUME~1\Administrator\桌面\张军\PS2-ICC\PS2.C
	.dbsym e R_flag _R_flag c
	.area text(rom, con, rel)
	.dbfile C:\DOCUME~1\Administrator\桌面\张军\PS2-ICC\PS2.C
	.dbfunc e Set_DI _Set_DI fV
;              i -> R16
	.even
_Set_DI::
	.dbline -1
	.dbline 20
; #include <io8535v.h>
; #include <macros.h>
; #include "Encode.h"
; #define uchar unsigned char
; #define uint unsigned int
; 
; uchar Row=0;
; uchar Column=0;
; uchar R_flag=0;  //记录当前行列位置及换行标志;
; uchar Int_Number;//中断计数器;
; uchar Key_Value; //键盘编码值;
; uchar Key_Up;    //键盘被释放标志;
; uchar Byte_Flag; //键盘编码接收完成标志;
; 
; //sbit KEY_CLK=PD^3  
; //sbit KEY_DATA=PD^2;//Interrupt
; 
; //sbit DI=PB^0;  
; void Set_DI(uchar i)
; {if(i==1) PORTB=PORTB|0x01;
	.dbline 20
	cpi R16,1
	brne L2
	.dbline 20
	sbi 0x18,0
	rjmp L3
L2:
	.dbline 21
	in R24,0x18
	andi R24,254
	out 0x18,R24
L3:
	.dbline -2
	.dbline 21
;  else     PORTB=PORTB&0xfe;}
L1:
	.dbline 0 ; func end
	ret
	.dbsym r i 16 c
	.dbend
	.dbfunc e Set_RW _Set_RW fV
;              i -> R16
	.even
_Set_RW::
	.dbline -1
	.dbline 25
;  
; //sbit RW=PB^1;
; void Set_RW(uchar i)
; {if(i==1) PORTB=PORTB|0x02;
	.dbline 25
	cpi R16,1
	brne L5
	.dbline 25
	sbi 0x18,1
	rjmp L6
L5:
	.dbline 26
	in R24,0x18
	andi R24,253
	out 0x18,R24
L6:
	.dbline -2
	.dbline 26
;  else     PORTB=PORTB&0xfd;}
L4:
	.dbline 0 ; func end
	ret
	.dbsym r i 16 c
	.dbend
	.dbfunc e Set_EN _Set_EN fV
;              i -> R16
	.even
_Set_EN::
	.dbline -1
	.dbline 30
;  
; //sbit ENABLE=PB^2;
; void Set_EN(uchar i)
; {if(i==1) PORTB=PORTB|0x04;
	.dbline 30
	cpi R16,1
	brne L8
	.dbline 30
	sbi 0x18,2
	rjmp L9
L8:
	.dbline 31
	in R24,0x18
	andi R24,251
	out 0x18,R24
L9:
	.dbline -2
	.dbline 31
;  else     PORTB=PORTB&0xfb;}
L7:
	.dbline 0 ; func end
	ret
	.dbsym r i 16 c
	.dbend
	.dbfunc e Set_CS1 _Set_CS1 fV
;              i -> R16
	.even
_Set_CS1::
	.dbline -1
	.dbline 35
; 
; //sbit CS1=PB^3;
; void Set_CS1(uchar i)
; {if(i==1) PORTB=PORTB|0x08;
	.dbline 35
	cpi R16,1
	brne L11
	.dbline 35
	sbi 0x18,3
	rjmp L12
L11:
	.dbline 36
	in R24,0x18
	andi R24,247
	out 0x18,R24
L12:
	.dbline -2
	.dbline 36
;  else     PORTB=PORTB&0xf7;}
L10:
	.dbline 0 ; func end
	ret
	.dbsym r i 16 c
	.dbend
	.dbfunc e Set_CS2 _Set_CS2 fV
;              i -> R16
	.even
_Set_CS2::
	.dbline -1
	.dbline 40
; 
; //sbit CS2=PC^6;
; void Set_CS2(uchar i)
; {if(i==1) PORTC=PORTC|0x40;
	.dbline 40
	cpi R16,1
	brne L14
	.dbline 40
	sbi 0x15,6
	rjmp L15
L14:
	.dbline 41
	in R24,0x15
	andi R24,191
	out 0x15,R24
L15:
	.dbline -2
	.dbline 41
;  else     PORTC=PORTC&0xbf;}
L13:
	.dbline 0 ; func end
	ret
	.dbsym r i 16 c
	.dbend
	.dbfunc e Set_RST _Set_RST fV
;              i -> R16
	.even
_Set_RST::
	.dbline -1
	.dbline 45
; 
; //sbit RST=PC^7;
; void Set_RST(uchar i)
; {if(i==1) PORTC=PORTC|0x80;
	.dbline 45
	cpi R16,1
	brne L17
	.dbline 45
	sbi 0x15,7
	rjmp L18
L17:
	.dbline 46
	in R24,0x15
	andi R24,127
	out 0x15,R24
L18:
	.dbline -2
	.dbline 46
;  else     PORTC=PORTC&0x7f;}
L16:
	.dbline 0 ; func end
	ret
	.dbsym r i 16 c
	.dbend
	.dbfunc e Delay _Delay fV
;              j -> R20,R21
;              i -> R16,R17
	.even
_Delay::
	rcall push_gset1
	.dbline -1
	.dbline 50
; 
; //延时//
; void Delay(uint i)
; {uint j;
	.dbline 51
;  for(;i!=0;i--) 
	rjmp L23
L20:
	.dbline 52
	ldi R20,5000
	ldi R21,19
	rjmp L27
L24:
	.dbline 52
	.dbline 52
	.dbline 52
L25:
	.dbline 52
	subi R20,1
	sbci R21,0
L27:
	.dbline 52
	cpi R20,0
	cpc R20,R21
	brne L24
X0:
L21:
	.dbline 51
	subi R16,1
	sbci R17,0
L23:
	.dbline 51
	cpi R16,0
	cpc R16,R17
	brne L20
X1:
	.dbline -2
	.dbline 53
;  	for(j=5000;j!=0;j--) {;}
; }
L19:
	rcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r j 20 i
	.dbsym r i 16 i
	.dbend
	.dbfunc e nop _nop fV
;              i -> R16
	.even
_nop::
	.dbline -1
	.dbline 56
; 
; void nop(uchar i)
; {for(;i!=0;i--) 
	.dbline 56
	rjmp L32
L29:
	.dbline 57
	nop
L30:
	.dbline 56
	dec R16
L32:
	.dbline 56
	tst R16
	brne L29
	.dbline -2
	.dbline 58
;     NOP();
; }
L28:
	.dbline 0 ; func end
	ret
	.dbsym r i 16 c
	.dbend
	.dbfunc e DisplayOnOff _DisplayOnOff fV
;              j -> <dead>
;              i -> R20
	.even
_DisplayOnOff::
	rcall push_gset1
	mov R20,R16
	.dbline -1
	.dbline 63
; 
; 
; // 显示开关控制命令,i=0开显示,i=1关显示//
; void DisplayOnOff(uchar i)
; {uchar j;
	.dbline 64
;  Set_RW(0);// RW=0;
	clr R16
	rcall _Set_RW
	.dbline 65
;  Set_DI(0);//DI=0;
	clr R16
	rcall _Set_DI
	.dbline 66
;  Set_EN(0);//ENABLE=0;
	clr R16
	rcall _Set_EN
	.dbline 67
;  PORTA=62+i;//P0=0x3e+i;
	mov R24,R20
	subi R24,194    ; addi 62
	out 0x1b,R24
	.dbline 68
;  nop(10);//_nop_();
	ldi R16,10
	rcall _nop
	.dbline 69
;  Set_EN(1);//ENABLE=1;
	ldi R16,1
	rcall _Set_EN
	.dbline 70
;  nop(10);//_nop_();
	ldi R16,10
	rcall _nop
	.dbline 71
;  nop(10);//_nop_();
	ldi R16,10
	rcall _nop
	.dbline 72
;  Set_EN(0);//ENABLE=0;
	clr R16
	rcall _Set_EN
	.dbline -2
	.dbline 74
; // Delay(1);
; }
L33:
	rcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym l j 1 c
	.dbsym r i 20 c
	.dbend
	.dbfunc e SetStartLine _SetStartLine fV
;              i -> R20
	.even
_SetStartLine::
	rcall push_gset1
	mov R20,R16
	.dbline -1
	.dbline 78
; 
; //设置显示起始行,i=0~63//
; void SetStartLine(uchar i)
; {Set_RW(0);//RW=0;
	.dbline 78
	clr R16
	rcall _Set_RW
	.dbline 79
;  Set_DI(0);//DI=0;
	clr R16
	rcall _Set_DI
	.dbline 80
;  Set_EN(0);//ENABLE=0;
	clr R16
	rcall _Set_EN
	.dbline 81
;  PORTA=0xc0+i;//P0=0xc0+i;
	mov R24,R20
	subi R24,64    ; addi 192
	out 0x1b,R24
	.dbline 82
;  nop(10);//_nop_();
	ldi R16,10
	rcall _nop
	.dbline 83
;  Set_EN(1);//ENABLE=1;
	ldi R16,1
	rcall _Set_EN
	.dbline 84
;  nop(10);//_nop_();
	ldi R16,10
	rcall _nop
	.dbline 85
;  nop(10);//_nop_();
	ldi R16,10
	rcall _nop
	.dbline 86
;  Set_EN(0);//ENABLE=0;
	clr R16
	rcall _Set_EN
	.dbline -2
	.dbline 88
; // Delay(1);
; }
L34:
	rcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r i 20 c
	.dbend
	.dbfunc e SetX _SetX fV
;              i -> R20
	.even
_SetX::
	rcall push_gset1
	mov R20,R16
	.dbline -1
	.dbline 92
; 
; //设置页(行)地址,i=0~7//
; void SetX(uchar i)
; {Set_RW(0);//RW=0;
	.dbline 92
	clr R16
	rcall _Set_RW
	.dbline 93
;  Set_DI(0);//DI=0;
	clr R16
	rcall _Set_DI
	.dbline 94
;  Set_EN(0);//ENABLE=0;
	clr R16
	rcall _Set_EN
	.dbline 95
;  PORTA=0xb8+i;//P0=0xb8+i;
	mov R24,R20
	subi R24,72    ; addi 184
	out 0x1b,R24
	.dbline 96
;  nop(10);//_nop_();
	ldi R16,10
	rcall _nop
	.dbline 97
;  Set_EN(1);//ENABLE=1;
	ldi R16,1
	rcall _Set_EN
	.dbline 98
;  nop(100);// _nop_();
	ldi R16,100
	rcall _nop
	.dbline 99
;  nop(100);//_nop_();
	ldi R16,100
	rcall _nop
	.dbline 100
;  Set_EN(0);//ENABLE=0;
	clr R16
	rcall _Set_EN
	.dbline -2
	.dbline 102
; // Delay(1);
; }
L35:
	rcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r i 20 c
	.dbend
	.dbfunc e SetY _SetY fV
;              i -> R20
	.even
_SetY::
	rcall push_gset1
	mov R20,R16
	.dbline -1
	.dbline 106
; 
; //设置Y(列)地址,i=0~127//
; void SetY(uchar i)
; {Set_RW(0);//RW=0;
	.dbline 106
	clr R16
	rcall _Set_RW

⌨️ 快捷键说明

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