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

📄 ocm4x8c.s

📁 OCMJ4*8lcd液晶程序(汇编) OCMJ4*8lcd液晶程序(汇编)
💻 S
📖 第 1 页 / 共 3 页
字号:
; set_std;set_std;
	sbi 0x12,4
	.dbline 179
	sbi 0x12,4
	.dbline -2
L9:
	.dbline 0 ; func end
	ret
	.dbsym l i 1 c
	.dbsym r dat 16 c
	.dbend
	.dbfunc e write_ocm4x8_data _write_ocm4x8_data fV
;             dd -> R20
;            dat -> R22
	.even
_write_ocm4x8_data::
	rcall push_gset2
	mov R22,R16
	.dbline -1
	.dbline 183
; }
; 
; void write_ocm4x8_data(unsigned char dat)
; {
	.dbline 185
; unsigned char dd;
; start_ocm4x8c();
	rcall _start_ocm4x8c
	.dbline 186
; set_std;set_std;
	sbi 0x12,4
	.dbline 186
	sbi 0x12,4
	.dbline 187
; set_sclk;set_sclk;
	sbi 0x12,5
	.dbline 187
	sbi 0x12,5
	.dbline 188
; clr_sclk;clr_sclk;
	cbi 0x12,5
	.dbline 188
	cbi 0x12,5
	.dbline 189
; dd=dat;
	mov R20,R22
	.dbline 190
; write_ocm4x8c(dd);
	mov R16,R20
	rcall _write_ocm4x8c
	.dbline -2
L26:
	rcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r dd 20 c
	.dbsym r dat 22 c
	.dbend
	.dbfunc e write_ocm4x8_code _write_ocm4x8_code fV
;             dd -> R20
;            dat -> R22
	.even
_write_ocm4x8_code::
	rcall push_gset2
	mov R22,R16
	.dbline -1
	.dbline 194
; }
; 
; void write_ocm4x8_code(unsigned char dat)
; {
	.dbline 196
; unsigned char dd;
; start_ocm4x8c();
	rcall _start_ocm4x8c
	.dbline 197
; clr_std;clr_std;
	cbi 0x12,4
	.dbline 197
	cbi 0x12,4
	.dbline 198
; set_sclk;set_sclk;
	sbi 0x12,5
	.dbline 198
	sbi 0x12,5
	.dbline 199
; clr_sclk;clr_sclk;
	cbi 0x12,5
	.dbline 199
	cbi 0x12,5
	.dbline 200
; dd=dat;
	mov R20,R22
	.dbline 201
; write_ocm4x8c(dd);
	mov R16,R20
	rcall _write_ocm4x8c
	.dbline -2
L27:
	rcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r dd 20 c
	.dbsym r dat 22 c
	.dbend
	.dbfunc e ocm4x8_init _ocm4x8_init fV
	.even
_ocm4x8_init::
	.dbline -1
	.dbline 252
; }
; /*
; void chk_busy(void)
; {
; 
;  DDRA=0X00;
;  DDRC=0XFF;
;  DDRD=0XFF;
;  clr_rs;
;  set_rw;
;  set_e;
;  PORTA=0XFF;
;  
;  while(ask==0x80);
;  clr_e;
;  }
;  
;  void write_ocm4x8_data (unsigned char dat)
;  {
;   chk_busy();
;   DDRA=0XFF;
;   set_rs;
;   clr_rw;
;   set_e;
;   PORTA=dat;
;   clr_e;
;   }
; void write_ocm4x8_code (unsigned char dat)  
;  {
;   chk_busy();
;   DDRA=0XFF;
;   clr_rs;
;   clr_rw;
;   set_e;
;   PORTA=dat;
;   clr_e;
;   }  
; read_ocm4x8_data (void)
; {unsigned char dat;
;  chk_busy();
;  DDRA=0X00;
;  set_rs;
;  set_rw;
;  set_e;
;  dat=PORTA;
;  clr_e;
;  return(dat);
;  }*/
;  
;  void ocm4x8_init(void)
;  {
	.dbline 253
;    clr_reset;clr_reset;
	cbi 0x12,6
	.dbline 253
	cbi 0x12,6
	.dbline 254
;    set_reset;set_reset;
	sbi 0x12,6
	.dbline 254
	sbi 0x12,6
	.dbline 255
;    write_ocm4x8_code(0x30); 
	ldi R16,48
	rcall _write_ocm4x8_code
	.dbline 256
;    delay();
	rcall _delay
	.dbline 257
;    write_ocm4x8_code(0x01);
	ldi R16,1
	rcall _write_ocm4x8_code
	.dbline 258
;    delay();
	rcall _delay
	.dbline 259
;    write_ocm4x8_code(0x02);
	ldi R16,2
	rcall _write_ocm4x8_code
	.dbline 260
;    delay();
	rcall _delay
	.dbline 261
;    write_ocm4x8_code(0x06);
	ldi R16,6
	rcall _write_ocm4x8_code
	.dbline 262
;    delay();
	rcall _delay
	.dbline 263
;    write_ocm4x8_code(0x0c);
	ldi R16,12
	rcall _write_ocm4x8_code
	.dbline 264
;    delay();
	rcall _delay
	.dbline -2
L28:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e asc_tran _asc_tran fV
;          asc_p -> R20,R21
;              x -> R22
	.even
_asc_tran::
	rcall push_gset2
	mov R20,R18
	mov R21,R19
	mov R22,R16
	.dbline -1
	.dbline 268
;  }
;  
; void asc_tran(unsigned char x,unsigned char *asc_p)
;     {
	rjmp L31
L30:
	.dbline 270
	.dbline 271
	mov R16,R22
	subi R16,128    ; addi 128
	rcall _write_ocm4x8_code
	.dbline 272
	mov R30,R20
	mov R31,R21
	ldd R16,z+0
	rcall _write_ocm4x8_data
	.dbline 273
	subi R20,255  ; offset = 1
	sbci R21,255
	.dbline 274
	inc R22
	.dbline 275
L31:
	.dbline 269
; 	 while((*asc_p)!=0)
	mov R30,R20
	mov R31,R21
	ldd R2,z+0
	tst R2
	brne L30
	.dbline -2
L29:
	rcall pop_gset2
	.dbline 0 ; func end
	ret
	.dbsym r asc_p 20 pc
	.dbsym r x 22 c
	.dbend
	.dbfunc e asc_tran1 _asc_tran1 fV
;          asc_p -> R20
	.even
_asc_tran1::
	rcall push_gset1
	mov R20,R16
	.dbline -1
	.dbline 278
; 	    {
; 		 write_ocm4x8_code(0x80+x);
; 		 write_ocm4x8_data(*asc_p);
; 		 asc_p++;
; 		 x++;
; 		}	
; 	 } 
;  void asc_tran1(unsigned char asc_p)
;     {
	.dbline 280
; //		 write_ocm4x8_code(0x80+x);
; 		 write_ocm4x8_data(asc_p);
	mov R16,R20
	rcall _write_ocm4x8_data
	.dbline -2
L33:
	rcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r asc_p 20 c
	.dbend
	.dbfunc e hz_tran1 _hz_tran1 fV
;              i -> R20
;           hz_p -> R22,R23
;              y -> R10
;              x -> R12
	.even
_hz_tran1::
	rcall push_gset4
	mov R10,R18
	mov R12,R16
	ldd R22,y+8
	ldd R23,y+9
	.dbline -1
	.dbline 284
; 	 } 
;  
; void hz_tran1(unsigned char x,unsigned char y,unsigned char *hz_p)
;     {unsigned char i;
	rjmp L36
L35:
	.dbline 290
; 		// write_ocm4x8_code(0x80);
; 		// write_ocm4x8_data(*hz_p);
; 		// hz_p++;
; 		// write_ocm4x8_data(*hz_p);
; 		 while((*hz_p)!=0)
; 	    {if(y==0)
	.dbline 290
	tst R10
	brne L38
	.dbline 291
; 		 i=x;
	mov R20,R12
L38:
	.dbline 292
; 		if(y==1)
	mov R24,R10
	cpi R24,1
	brne L40
	.dbline 293
; 		i=x+0x10;
	mov R20,R12
	subi R20,240    ; addi 16
L40:
	.dbline 294
; 		if(y==2)
	mov R24,R10
	cpi R24,2
	brne L42
	.dbline 295
; 		i=x+0x08;
	mov R20,R12
	subi R20,248    ; addi 8
L42:
	.dbline 296
; 		if(y==3)
	mov R24,R10
	cpi R24,3
	brne L44
	.dbline 297
; 		i=x+0x18;
	mov R20,R12
	subi R20,232    ; addi 24
L44:
	.dbline 298
	mov R16,R20
	subi R16,128    ; addi 128
	rcall _write_ocm4x8_code
	.dbline 299
	mov R30,R22
	mov R31,R23
	ldd R16,z+0
	rcall _write_ocm4x8_data
	.dbline 300
	subi R22,255  ; offset = 1
	sbci R23,255
	.dbline 301
	mov R30,R22
	mov R31,R23
	ldd R16,z+0
	rcall _write_ocm4x8_data
	.dbline 302
	subi R22,255  ; offset = 1
	sbci R23,255
	.dbline 303
	inc R12
	.dbline 304
L36:
	.dbline 289
	mov R30,R22
	mov R31,R23
	ldd R2,z+0
	tst R2
	brne L35
	.dbline -2
L34:
	rcall pop_gset4
	.dbline 0 ; func end
	ret
	.dbsym r i 20 c
	.dbsym r hz_p 22 pc
	.dbsym r y 10 c
	.dbsym r x 12 c
	.dbend
	.area lit(rom, con, rel)
_bmp_dz::
	.byte 3,240
	.byte 0,0
	.byte 15,252
	.byte 0,0
	.byte 31,226
	.byte 0,0
	.byte 63,231
	.byte 0,0
	.byte 63,231
	.byte 0,0
	.byte 127,207
	.byte 128,0
	.byte 127,191
	.byte 128,0
	.byte 127,255
	.byte 128,0
	.byte 127,255
	.byte 135,224
	.byte 127,191
	.byte 159,248
	.byte 127,207
	.byte 191,196
	.byte 63,231
	.byte 127,206
	.byte 63,231
	.byte 127,206
	.byte 31,226
	.byte 255,159
	.byte 15,252
	.byte 255,127
	.byte 3,240
	.byte 255,255
	.byte 3,240
	.byte 255,255
	.byte 15,252
	.byte 255,127
	.byte 31,226
	.byte 255,159
	.byte 63,231
	.byte 127,206
	.byte 63,231
	.byte 127,206
	.byte 127,207
	.byte 191,196
	.byte 127,191
	.byte 159,248
	.byte 127,255
	.byte 135,224
	.byte 127,255
	.byte 128,0
	.byte 127,191
	.byte 128,0
	.byte 127,207
	.byte 128,0
	.byte 63,231
	.byte 0,0
	.byte 63,231
	.byte 0,0
	.byte 31,226
	.byte 0,0
	.byte 15,252
	.byte 0,0
	.byte 3,240
	.byte 0,0
	.dbsym e bmp_dz _bmp_dz A[128:128]kc
_wei::
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,0
	.byte 0,4
	.byte 0,48
	.byte 0,0
	.byte 0,0
	.byte 4,0
	.byte 48,0
	.byte 0,0
	.byte 0,0
	.byte 48,15
	.byte 0,'x
	.byte 0,0
	.byte 0,48
	.byte 15,0
	.byte 'x,0
	.byte 0,0
	.byte 0,0
	.byte 'p,15
	.byte 0,124
	.byte 0,0
	.byte 0,'p
	.byte 15,0
	.byte 124,0
	.byte 0,0
	.byte 0,3
	.byte 225,143
	.byte 24,124
	.byte 0,0
	.byte 3,225
	.byte 143,24
	.byte 124,0
	.byte 0,0
	.byte 0,31
	.byte 225,207
	.byte 24,124
	.byte 0,0
	.byte 31,225
	.byte 207,24
	.byte 124,0
	.byte 0,0
	.byte 0,127
	.byte 193,199
	.byte 28,'x
	.byte 0,0
	.byte 127,193
	.byte 199,28
	.byte 'x,0
	.byte 0,0
	.byte 0,127
	.byte 1,199
	.byte 24,'x
	.byte 0,0
	.byte 127,1
	.byte 199,24
	.byte 'x,0
	.byte 0,0
	.byte 0,62
	.byte 1,199
	.byte 24,248
	.byte 0,0
	.byte 62,1
	.byte 199,24
	.byte 248,0
	.byte 0,0
	.byte 0,0
	.byte 13,255
	.byte 252,248
	.byte 0,0
	.byte 0,13
	.byte 255,252
	.byte 248,0
	.byte 0,0
	.byte 0,0
	.byte 27,255
	.byte 252,240
	.byte 0,0
	.byte 0,27
	.byte 255,252

⌨️ 快捷键说明

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