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

📄 main.src

📁 通用OSD控制(51单片机控制的TFTLCD源码,MTV018)
💻 SRC
📖 第 1 页 / 共 5 页
字号:
; 
; 	struct progbar_struct pb;
;        // flag=7;	
; //	disp_char(ROW_BRI+2,2,172);
; //	disp_char(ROW_BRI+2,3,173);
; 	pb.step = 1;
			; SOURCE LINE # 458
	MOV  	pb?25108+03H,#01H
; 	pb.range = ABS(BRI_RANGE/BRI_FAC);
			; SOURCE LINE # 459
	MOV  	pb?25108+01H,#05CH
; 	pb.pos = (BRI_RANGE-(val-BRI_OFF))/BRI_FAC;
			; SOURCE LINE # 460
	CLR  	C
	MOV  	A,#09EH
	SUBB 	A,R3
	MOV  	pb?25108+02H,A
; 	pb.val = BRI_RANGE-val;
			; SOURCE LINE # 461
	CLR  	C
	MOV  	A,#05CH
	SUBB 	A,R3
	MOV  	pb?25108,A
; 	draw_progbar(row, col, &pb);
			; SOURCE LINE # 462
	MOV  	R3,#LOW (pb?25108)
	LJMP 	_draw_progbar
; END OF _bri_draw

; }
; 
; 
; 
; void cont_draw(char row, char col, unsigned char val)

	RSEG  ?PR?_cont_draw?MAIN
_cont_draw:
	USING	0
			; SOURCE LINE # 467
;---- Variable 'row?26109' assigned to Register 'R7' ----
;---- Variable 'val?26111' assigned to Register 'R3' ----
;---- Variable 'col?26110' assigned to Register 'R5' ----
; {
			; SOURCE LINE # 468
; 	struct progbar_struct pb;
; 	pb.step = 1;
			; SOURCE LINE # 470
	MOV  	pb?26112+03H,#01H
; 	pb.range = ABS(CONT_RANGE/CONT_FAC);
			; SOURCE LINE # 471
	MOV  	pb?26112+01H,#05CH
; 	pb.pos = (CONT_RANGE-(val-CONT_OFF))/CONT_FAC;
			; SOURCE LINE # 472
	CLR  	C
	MOV  	A,#09EH
	SUBB 	A,R3
	MOV  	pb?26112+02H,A
; 	pb.val = CONT_RANGE-val;
			; SOURCE LINE # 473
	CLR  	C
	MOV  	A,#05CH
	SUBB 	A,R3
	MOV  	pb?26112,A
; 	draw_progbar(row, col, &pb);
			; SOURCE LINE # 474
	MOV  	R3,#LOW (pb?26112)
	LJMP 	_draw_progbar
; END OF _cont_draw

; }
; 
; void col_draw(char row, char col, unsigned char val)

	RSEG  ?PR?_col_draw?MAIN
_col_draw:
	USING	0
			; SOURCE LINE # 477
;---- Variable 'row?27113' assigned to Register 'R7' ----
;---- Variable 'val?27115' assigned to Register 'R3' ----
;---- Variable 'col?27114' assigned to Register 'R5' ----
; {
			; SOURCE LINE # 478
; 	struct progbar_struct pb;
; 	pb.step = 1;
			; SOURCE LINE # 480
	MOV  	pb?27116+03H,#01H
; 	pb.range = ABS(COL_RANGE/COL_FAC);
			; SOURCE LINE # 481
	MOV  	pb?27116+01H,#05CH
; 	pb.pos = (val-COL_OFF)/COL_FAC;
			; SOURCE LINE # 482
	MOV  	A,R3
	ADD  	A,#093H
	MOV  	pb?27116+02H,A
; 	pb.val = val;
			; SOURCE LINE # 483
	MOV  	pb?27116,R3
; 	draw_progbar(row, col, &pb);
			; SOURCE LINE # 484
	MOV  	R3,#LOW (pb?27116)
	LJMP 	_draw_progbar
; END OF _col_draw

; }
; 
; void tint_draw(char row, char col, unsigned char val)

	RSEG  ?PR?_tint_draw?MAIN
_tint_draw:
	USING	0
			; SOURCE LINE # 487
;---- Variable 'row?28117' assigned to Register 'R7' ----
;---- Variable 'val?28119' assigned to Register 'R3' ----
;---- Variable 'col?28118' assigned to Register 'R5' ----
; {
			; SOURCE LINE # 488
; 	unsigned char Row,Col; 
; 	struct progbar_struct pb;
; 
; 	Row = row;
			; SOURCE LINE # 492
	MOV  	Row?28120,R7
; 	Col = col;
			; SOURCE LINE # 493
	MOV  	Col?28121,R5
; 
; 	pb.step = 1;
			; SOURCE LINE # 495
	MOV  	pb?28122+03H,#01H
; 	pb.range = ABS(TINT_RANGE/TINT_FAC);
			; SOURCE LINE # 496
	MOV  	pb?28122+01H,#05CH
; 	pb.pos = (val-TINT_OFF)/TINT_FAC;
			; SOURCE LINE # 497
	MOV  	A,R3
	ADD  	A,#089H
	MOV  	pb?28122+02H,A
; 	pb.val = val;
			; SOURCE LINE # 498
	MOV  	pb?28122,R3
; 	draw_progbar(row, col, &pb);
			; SOURCE LINE # 499
	MOV  	R3,#LOW (pb?28122)
	LJMP 	_draw_progbar
; END OF _tint_draw

; }
; 
; 
; void reset_draw(char row, char col, unsigned char val)

	RSEG  ?PR?_reset_draw?MAIN
_reset_draw:
			; SOURCE LINE # 503
;---- Variable 'row?29123' assigned to Register 'R7' ----
;---- Variable 'val?29125' assigned to Register 'R3' ----
;---- Variable 'col?29124' assigned to Register 'R5' ----
; {
			; SOURCE LINE # 504
; 	unsigned char ROW,COL,VAL;
; 	ROW = row;
			; SOURCE LINE # 506
	MOV  	ROW?29126,R7
; 	COL = col;
			; SOURCE LINE # 507
	MOV  	COL?29127,R5
; 	VAL = val;
			; SOURCE LINE # 508
	MOV  	VAL?29128,R3
; }
			; SOURCE LINE # 509
	RET  	
; END OF _reset_draw

; 
; /*----------------------------------------------------------------------------------------------------*/
; 
; void show_menu(void)//显示菜单项目

	RSEG  ?PR?show_menu?MAIN
show_menu:
	USING	0
			; SOURCE LINE # 513
; {
			; SOURCE LINE # 514
; 	unsigned char i;
; 	struct menuitem_struct code *item;
; 
; 	for (i = 0, item = &items[0]; i < NR_ITEMS; i++, item++) {
			; SOURCE LINE # 518
	CLR  	A
	MOV  	i?30130,A
	MOV  	item?30131,#HIGH (items)
	MOV  	item?30131+01H,#LOW (items)
?C0109:
	MOV  	A,i?30130
	CLR  	C
	SUBB 	A,#05H
	JC   	$ + 5H
	LJMP 	?C0115
; 		osd_setrowattr(ROW_BRI+i, 0);
			; SOURCE LINE # 519
	CLR  	A
	MOV  	R3,A
	MOV  	R5,#01EH
	MOV  	R7,i?30130
	LCALL	_mtv130_putd
; 		paint_line(ROW_BRI+i, 0, 12, 6);
			; SOURCE LINE # 520
	MOV  	?_paint_line?BYTE+03H,#06H
	MOV  	R3,#0CH
	CLR  	A
	MOV  	R5,A
	MOV  	R7,i?30130
	LCALL	_paint_line
; 		disp_str3(ROW_BRI+i, 1, item->title);
			; SOURCE LINE # 521
	MOV  	DPL,item?30131+01H
	MOV  	DPH,item?30131
	MOV  	R5,#01H
	MOV  	R7,i?30130
	LCALL	L?0202
; 		if (!(item->flags & MIF_DOCA)) {
			; SOURCE LINE # 522
	MOV  	DPL,item?30131+01H
	MOV  	DPH,item?30131
	MOV  	A,#03H
	MOVC 	A,@A+DPTR
	JB   	ACC.0,?C0111
; 			unsigned char c = item->read(item->addr);
			; SOURCE LINE # 523
	MOV  	A,#02H
	MOVC 	A,@A+DPTR
	MOV  	R7,A
	MOV  	A,#05H
	MOVC 	A,@A+DPTR
	MOV  	R4,A
	MOV  	A,#06H
	MOVC 	A,@A+DPTR
	MOV  	R5,A
	MOV  	DPL,A
	MOV  	DPH,R4
	LCALL	?C?ICALL2
	MOV  	c?30129,R7
; 			paint_line(ROW_BRI+i, 12, 18, c == item->defval ? 2 : 4);
			; SOURCE LINE # 524
	MOV  	DPL,item?30131+01H
	MOV  	DPH,item?30131
	MOV  	A,#04H
	MOVC 	A,@A+DPTR
	CJNE 	A,c?30129,?C0113
	MOV  	R7,#02H
	SJMP 	?C0114
?C0113:
	MOV  	R7,#04H
?C0114:
	MOV  	?_paint_line?BYTE+03H,R7
	MOV  	R3,#012H
	MOV  	R5,#0CH
	MOV  	R7,i?30130
	LCALL	_paint_line
; 			item->draw(ROW_BRI+i, 12, c);
			; SOURCE LINE # 525
	MOV  	DPL,item?30131+01H
	MOV  	DPH,item?30131
	MOV  	A,#0BH
	MOVC 	A,@A+DPTR
	MOV  	R6,A
	MOV  	A,#0CH
	MOVC 	A,@A+DPTR
	MOV  	DPL,A
	MOV  	DPH,R6
	MOV  	R3,c?30129
	MOV  	R5,#0CH
	MOV  	R7,i?30130
	LCALL	?C?ICALL2
; 		}
			; SOURCE LINE # 526
; 	}
			; SOURCE LINE # 527
?C0111:
	INC  	i?30130
	MOV  	A,#0DH
	ADD  	A,item?30131+01H
	MOV  	item?30131+01H,A
	CLR  	A
	ADDC 	A,item?30131
	MOV  	item?30131,A
	LJMP 	?C0109
; }
			; SOURCE LINE # 528
?C0115:
	RET  	
; END OF show_menu

; 
; void select_item(unsigned char id, bit selected)

	RSEG  ?PR?_select_item?MAIN
_select_item:
	USING	0
			; SOURCE LINE # 530
;---- Variable 'id?31132' assigned to Register 'R7' ----
; {
			; SOURCE LINE # 531
; 	struct menuitem_struct code *item = &items[id];
			; SOURCE LINE # 532
	MOV  	A,R7
	MOV  	B,#0DH
	MUL  	AB
	ADD  	A,#LOW (items)
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (items)
	MOV  	R5,DPL
	MOV  	item?31135,A
	MOV  	item?31135+01H,R5
; //	paint_line(ROW_BRI+id, 0, strlen(item->title), selected ? 5|8 : 6);
; 	disp_str2(ROW_BRI+id, 1, item->title, selected ? 5|8 : 6);
			; SOURCE LINE # 534
	MOV  	DPH,A
	CLR  	A
	MOVC 	A,@A+DPTR
	MOV  	R2,A
	MOV  	A,#01H
	MOVC 	A,@A+DPTR
	MOV  	R3,A
	JNB  	selected?31133,?C0116
	MOV  	R6,#0DH
	SJMP 	?C0117
?C0116:
	MOV  	R6,#06H
?C0117:
	MOV  	?_disp_str2?BYTE+04H,R6
	MOV  	R5,#01H
	LCALL	_disp_str2
; 	if (item->flags & MIF_DOCA) {
			; SOURCE LINE # 535
	MOV  	DPL,item?31135+01H
	MOV  	DPH,item?31135
	MOV  	A,#03H
	MOVC 	A,@A+DPTR
	JNB  	ACC.0,?C0121
; 		if (selected) {
			; SOURCE LINE # 536
	JNB  	selected?31133,?C0119
; 			unsigned char c = item->read(item->addr);
			; SOURCE LINE # 537
	MOV  	A,#02H
	MOVC 	A,@A+DPTR
	MOV  	R7,A
	MOV  	A,#05H
	MOVC 	A,@A+DPTR
	MOV  	R4,A
	MOV  	A,#06H
	MOVC 	A,@A+DPTR
	MOV  	R5,A
	MOV  	DPL,A
	MOV  	DPH,R4
	LCALL	?C?ICALL2
	MOV  	c?31134,R7
; 			paint_line(ROW_BRI+NR_ITEMS+0, 8, 10, 5);
			; SOURCE LINE # 538
	MOV  	?_paint_line?BYTE+03H,#05H
	MOV  	R3,#0AH
	MOV  	R5,#08H
	MOV  	R7,#05H
	LCALL	_paint_line
; 			paint_line(ROW_BRI+NR_ITEMS+0, 18, 12, 6);
			; SOURCE LINE # 539
	MOV  	?_paint_line?BYTE+03H,#06H
	MOV  	R3,#0CH
	MOV  	R5,#012H
	MOV  	R7,#05H
	LCALL	_paint_line
; 			paint_line(ROW_BRI+NR_ITEMS+1, 0, 30, 6);
			; SOURCE LINE # 540
	MOV  	?_paint_line?BYTE+03H,#06H
	MOV  	R3,#01EH
	CLR  	A
	MOV  	R5,A
	MOV  	R7,#06H
	LCALL	_paint_line
; 			disp_str3(ROW_BRI+NR_ITEMS+0, 8, item->title);
			; SOURCE LINE # 541
	MOV  	DPL,item?31135+01H
	MOV  	DPH,item?31135
	MOV  	R5,#08H
	MOV  	R7,#05H
	LCALL	L?0202
; 			item->draw(ROW_BRI+NR_ITEMS+1, 1, c);
			; SOURCE LINE # 542
	MOV  	DPL,item?31135+01H
	MOV  	DPH,item?31135
	MOV  	A,#0BH
	MOVC 	A,@A+DPTR
	MOV  	R6,A
	MOV  	A,#0CH
	MOVC 	A,@A+DPTR
	MOV  	DPL,A
	MOV  	DPH,R6
	MOV  	R3,c?31134
	MOV  	R5,#01H
	MOV  	R7,#06H
	LJMP 	?C?ICALL2
; 		} else {
			; SOURCE LINE # 543
?C0119:
; 			clear_line(ROW_BRI+NR_ITEMS+0);
			; SOURCE LINE # 544
	MOV  	R7,#05H
	LCALL	_clear_line
; 			clear_line(ROW_BRI+NR_ITEMS+1);
			; SOURCE LINE # 545
	MOV  	R7,#06H
	LCALL	_clear_line
; 		}
			; SOURCE LINE # 546
; 	}
			; SOURCE LINE # 547
; }
			; SOURCE LINE # 548
?C0121:
	RET  	
; END OF _select_item

; #if 1
; void hide_menu(void)

	RSEG  ?PR?hide_menu?MAIN
hide_menu:
	USING	0
			; SOURCE LINE # 550
; {
			; SOURCE LINE # 551
; 	unsigned char i;
; 	for (i = 0; i < NR_ITEMS; i++) {
			; SOURCE LINE # 553
	CLR  	A
	MOV  	i?32136,A
?C0122:
; 		clear_line(ROW_BRI+i);
			; SOURCE LINE # 554
	MOV  	R7,i?32136
	LCALL	_clear_line
; //		osd_setctrl1(CTRL1_OSDEN|CTRL1_RAMCLR);
; //		osd_setctrl1(CTRL1_OSDEN);
; 	}
			; SOURCE LINE # 557
	INC  	i?32136
	MOV  	A,i?32136
	CLR  	C
	SUBB 	A,#05H
	JC   	?C0122
?C0123:
; 	clear_line(ROW_BRI+NR_ITEMS+1);
			; SOURCE LINE # 558
	MOV  	R7,#06H
	LCALL	_clear_line
; 	clear_line(ROW_BRI+NR_ITEMS+2);
			; SOURCE LINE # 559
	MOV  	R7,#07H
	LJMP 	_clear_line
; END OF hide_menu

; }
; #endif
; 
; 
; #if 0
; bit mtv130_test(unsigned short c)
; {
; 	unsigned char i,j;
; 
; 	for (i = 0; i < 8; i++) {
; 		for (j = 0; j < 16; j++) {
; 			osd_putchar(i, j, c, 0x16);
; 			c++;
; 		}
; 	}
; 	return 1;
; }
; #endif
; 
; #if 1
; void osd_back(void)

	RSEG  ?PR?osd_back?MAIN
osd_back:
	USING	0
			; SOURCE LINE # 580
; {
			; SOURCE LINE # 581
;     mtv130_puta(WIN1ROW_ROW, WIN1ROW_COL, 0x0f);
			; SOURCE LINE # 582
	MOV  	R3,#0FH
	CLR  	A
	MOV  	R5,A
	MOV  	R7,#0FH
	LCALL	_mtv130_puta
; 	mtv130_puta(WIN1COLS_ROW, WIN1COLS_COL, 0x04);
			; SOURCE LINE # 583
	MOV  	R3,#04H
	MOV  	R5,#01H
	MOV  	R7,#0FH
	LCALL	_mtv130_puta
; 	mtv130_puta(WIN1COLE_ROW, WIN1COLE_COL,0xf1);
			; SOURCE LINE # 584
	MOV  	R3,#0F1H
	MOV  	R5,#02H
	MOV  	R7,#0FH
	LJMP 	_mtv130_puta
; END OF osd_back

; }
; #endif
; 
; void osd_clear(void)

	RSEG  ?PR?osd_clear?MAIN
osd_clear:
	USING	0
			; SOURCE LINE # 588
; {
			; SOURCE LINE # 589
; 	osd_setctrl1(CTRL1_OSDEN|CTRL1_WENCLR|CTRL1_RAMCLR);
			; SOURCE LINE # 590
	MOV  	R3,#086H
	MOV  	R5,#011H
	MOV  	R7,#0FH
	LCALL	_mtv130_puta
; 	osd_setctrl1(CTRL1_OSDEN);
			; SOURCE LINE # 591
	MOV  	R3,#080H
	MOV  	R5,#011H
	MOV  	R7,#0FH
	LJMP 	_mtv130_puta
; END OF osd_clear

; }
; 
; void osd_init(void)

	RSEG  ?PR?osd_init?MAIN
osd_init:
	USING	0
			; SOURCE LINE # 594
; {
			; SOURCE LINE # 595
; 	unsigned char i;
; 	osd_setctrl1(CTRL1_OSDEN|CTRL1_WENCLR|CTRL1_RAMCLR);
			; SOURCE LINE # 597
	MOV  	R3,#086H
	MOV  	R5,#011H
	MOV  	R7,#0FH
	LCALL	_mtv130_puta
; 	osd_setctrl1(CTRL1_OSDEN);
			; SOURCE LINE # 598
	MOV  	R3,#080H
	MOV  	R5,#011H
	MOV  	R7,#0FH
	LCALL	_mtv130_puta
; 	osd_setctrl2(CTRL2_FBKGP);
			; SOURCE LINE # 599
	MOV  	R3,#040H
	MOV  	R5,#012H
	MOV  	R7,#0FH
	LCALL	_mtv130_puta
; 	for (i = 0; i < 15; i++) {
			; SOURCE LINE # 600
;---- Variable 'i?35137' assigned to Register 'R1' ----
	CLR  	A
	MOV  	R1,A
?C0128:
; #ifdef CWS
; 		osd_setrowattr(i, RACR_CHS|RACR_CWS);
; #else
; 		osd_setrowattr(i, 0);
			; SOURCE LINE # 604
	MOV  	R7,AR1
	CLR  	A
	MOV  	R3,A
	MOV  	R5,#01EH
	LCALL	_mtv130_putd
; #endif
; 	}
			; SOURCE LINE # 606
	INC  	R1
	CJNE 	R1,#0FH,?C0128
?C0129:
; 	mtv130_puta(HORD_ROW, HORD_COL,5);//12);
			; SOURCE LINE # 607
	MOV  	R3,#05H
	MOV  	R5,#0DH
	MOV  	R7,#0FH
	LCALL	_mtv130_puta
; 	mtv130_puta(VERTD_ROW, VERTD_COL,4);// 4);//6);
			; SOURCE LINE # 608
	MOV  	R3,#04H
	MOV  	R5,#0CH
	MOV  	R7,#0FH
	LCALL	_mtv130_puta
; 	mtv130_puta(CH_ROW, CH_COL, HZ_IND ? 0 : 4);
			; SOURCE LINE # 609
	JNB  	HZ_IND,?C0131
	MOV  	R3,#00H
	SJMP 	?C0132
?C0131:
	MOV  	R3,#04H
?C0132:
	MOV  	R5,#0EH
	MOV  	R7,#0FH
	LCALL	_mtv130_puta
; 	mtv130_puta(HORR_ROW, HORR_COL,36);
			; SOURCE LINE # 610
	MOV  	R3,#024H
	MOV  	R5,#0FH
	MOV  	R7,#0FH
	LJMP 	_mtv130_puta
; END OF osd_init

; }
; 
; void show_video(void)

	RSEG  ?PR?show_video?MAIN
show_video:
	USING	0
			; SOURCE LINE # 613
; {
			; SOURCE LINE # 614
; 	disp_str2(1, 18, "VIDEO", 2);
			; SOURCE LINE # 615
	MOV  	R2,#HIGH (?SC_33)
	MOV  	R3,#LOW (?SC_33)
	MOV  	?_disp_str2?BYTE+04H,#02H
	MOV  	R5,#012H
	MOV  	R7,#01H
	LCALL	_disp_str2

⌨️ 快捷键说明

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