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

📄 main.src

📁 通用OSD控制(51单片机控制的TFTLCD源码,MTV018)
💻 SRC
📖 第 1 页 / 共 5 页
字号:
; 	disp_str2(2, 19, HZ_IND ? "NTSC" : "PAL ", 6);
			; SOURCE LINE # 616
	JNB  	HZ_IND,?C0134
	MOV  	R6,#HIGH (?SC_39)
	MOV  	R7,#LOW (?SC_39)
	SJMP 	?C0197
?C0134:
	MOV  	R6,#HIGH (?SC_44)
	MOV  	R7,#LOW (?SC_44)
?C0197:
	MOV  	R2,AR6
	MOV  	R3,AR7
?C0135:
	MOV  	?_disp_str2?BYTE+04H,#06H
	MOV  	R5,#013H
	MOV  	R7,#02H
	LJMP 	_disp_str2
; END OF show_video

; }
; 
; void hide_video(void)

	RSEG  ?PR?hide_video?MAIN
hide_video:
	USING	0
			; SOURCE LINE # 619
; {
			; SOURCE LINE # 620
; 	disp_str2(1, 18, "       ", 0);
			; SOURCE LINE # 621
	MOV  	R2,#HIGH (?SC_49)
	MOV  	R3,#LOW (?SC_49)
	CLR  	A
	MOV  	?_disp_str2?BYTE+04H,A
	MOV  	R5,#012H
	MOV  	R7,#01H
	LCALL	_disp_str2
; 	disp_str2(2, 19, "    ", 0);
			; SOURCE LINE # 622
	MOV  	R2,#HIGH (?SC_57)
	MOV  	R3,#LOW (?SC_57)
	CLR  	A
	MOV  	?_disp_str2?BYTE+04H,A
	MOV  	R5,#013H
	MOV  	R7,#02H
	LJMP 	_disp_str2
; END OF hide_video

; }
; 
; void power_turnon(void)

	RSEG  ?PR?power_turnon?MAIN
power_turnon:
	USING	0
			; SOURCE LINE # 625
; {
			; SOURCE LINE # 626
; 	unsigned char i;
; 	struct menuitem_struct code *item;
; 
; 
; 	PIN_POWER = 1;
			; SOURCE LINE # 631
	SETB 	PIN_POWER
; 	mdelay(500);
			; SOURCE LINE # 632
?C0141:
	MOV  	c?38138,#01H
	MOV  	c?38138+01H,#0F4H
?C0143:
	MOV  	A,c?38138+01H
	DEC  	c?38138+01H
	MOV  	R6,c?38138
	JNZ  	?C0192
	DEC  	c?38138
?C0192:
	ORL  	A,R6
	JZ   	?C0139
	MOV  	R7,#090H
	MOV  	R6,#01H
	LCALL	___delay
	SJMP 	?C0143
?C0139:
; // 	PIN_VSEL = 0;
; 	PIN_POWLED = 0;
			; SOURCE LINE # 634
	CLR  	PIN_POWLED
; 
; 	for (i = 0, item = &items[0]; i < NR_ITEMS; i++, item++) {
			; SOURCE LINE # 636
	CLR  	A
	MOV  	i?38140,A
	MOV  	item?38141,#HIGH (items)
	MOV  	item?38141+01H,#LOW (items)
?C0145:
	MOV  	A,i?38140
	CLR  	C
	SUBB 	A,#05H
	JNC  	?C0146
; 		if (item->addr != -1) {
			; SOURCE LINE # 637
	MOV  	DPL,item?38141+01H
	MOV  	DPH,item?38141
	MOV  	A,#02H
	MOVC 	A,@A+DPTR
	MOV  	R7,A
	CPL  	A
	JZ   	?C0147
; 			unsigned char c = item->read(item->addr);
			; SOURCE LINE # 638
	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?38139,R7
; 			item->apply(c);
			; SOURCE LINE # 639
	MOV  	DPL,item?38141+01H
	MOV  	DPH,item?38141
	MOV  	A,#09H
	MOVC 	A,@A+DPTR
	MOV  	R6,A
	MOV  	A,#0AH
	MOVC 	A,@A+DPTR
	MOV  	DPL,A
	MOV  	DPH,R6
	MOV  	R7,c?38139
	LCALL	?C?ICALL2
; 		}
			; SOURCE LINE # 640
; 	}
			; SOURCE LINE # 641
?C0147:
	INC  	i?38140
	MOV  	A,#0DH
	ADD  	A,item?38141+01H
	MOV  	item?38141+01H,A
	CLR  	A
	ADDC 	A,item?38141
	MOV  	item?38141,A
	SJMP 	?C0145
?C0146:
; 
; 	osd_init();
			; SOURCE LINE # 643
	LJMP 	osd_init
; END OF power_turnon

; }
; 
;  void delay500ms()

	RSEG  ?PR?delay500ms?MAIN
delay500ms:
	USING	0
			; SOURCE LINE # 646
; {
			; SOURCE LINE # 647
;   int i;
;   for(i=0;i<3000;i++)
			; SOURCE LINE # 649
;---- Variable 'i?39142' assigned to Register 'R6/R7' ----
	CLR  	A
	MOV  	R7,A
	MOV  	R6,A
?C0150:
;     {;;;}
			; SOURCE LINE # 650
	INC  	R7
	CJNE 	R7,#00H,?C0193
	INC  	R6
?C0193:
	CJNE 	R6,#0BH,?C0150
	CJNE 	R7,#0B8H,?C0150
; }
			; SOURCE LINE # 651
?C0153:
	RET  	
; END OF delay500ms

; 
; void main(void) using 0

	RSEG  ?PR?main?MAIN
main:
	USING	0
	PUSH 	PSW
	MOV  	PSW,#00H
			; SOURCE LINE # 653
; {
; 	unsigned char id = EDIT_NULL;
			; SOURCE LINE # 655
	MOV  	id?40144,#0FFH
; 	unsigned char val;
; 	unsigned char hide_expires;
; 	unsigned char video_expires;
; 	unsigned char powoff_expires = 0;
			; SOURCE LINE # 659
	CLR  	A
	MOV  	powoff_expires?40148,A
; 	bit  sys_ind,pin_off,visible,visiblemenu= 0, auto_powoff = 1;
			; SOURCE LINE # 660
	CLR  	visiblemenu?40152
	SETB 	auto_powoff?40153
; //  bit      backflag=1;
;         
; 	initial();
			; SOURCE LINE # 663
	LCALL	initial
;     power_turnon();
			; SOURCE LINE # 664
	LCALL	power_turnon
; //	show_video();
; //	visible = 1;
; 	PIN_POWER = 0;
			; SOURCE LINE # 667
	CLR  	PIN_POWER
; 	PIN_POWLED = 1;
			; SOURCE LINE # 668
	SETB 	PIN_POWLED
; 	hide_expires = jiffies + HZ*5;
			; SOURCE LINE # 669
	MOV  	A,jiffies
	ADD  	A,#064H
	MOV  	hide_expires?40146,A
; #if 0
; {
; 	unsigned char i;
; 	bit dummy = 1;
; 	power_turnon();
; 	for (i = 0; i < 15; i++)
; 		osd_setrowattr(i, 0);
; 	mtv130_test(0);
; 	i = 0;
; 	for (; dummy;) {
; 		if (!key_on) {
; 			continue;
; 		}
; 		i += 128;
; 		mtv130_test(i);
; 
; 		key_on = 0;
; 	}
; }
; #endif
; 	//////////////////
; //	power_turnon();
; 	///////////////////
; 
; 	for (;;) {
			; SOURCE LINE # 694
; 		wdt_reset();
			; SOURCE LINE # 695
?C0157:
; 		if (!PIN_OFF && visible && time_after(jiffies, video_expires)) {
			; SOURCE LINE # 696
	JB   	PIN_OFF,?C0159
	JNB  	visible?40151,?C0159
	MOV  	R7,jiffies
	CLR  	C
	MOV  	A,video_expires?40147
	SUBB 	A,R7
	CLR  	C
	XRL  	A,#080H
	SUBB 	A,#080H
	JNC  	?C0159
; 				hide_video();
			; SOURCE LINE # 697
	LCALL	hide_video
; 				visible = 0;
			; SOURCE LINE # 698
	CLR  	visible?40151
; 			}
			; SOURCE LINE # 699
?C0159:
; 			if (id != EDIT_NULL && visiblemenu&&time_after(jiffies, hide_expires)) {
			; SOURCE LINE # 700
	MOV  	A,id?40144
	CPL  	A
	JZ   	?C0160
	JNB  	visiblemenu?40152,?C0160
	MOV  	R7,jiffies
	CLR  	C
	MOV  	A,hide_expires?40146
	SUBB 	A,R7
	CLR  	C
	XRL  	A,#080H
	SUBB 	A,#080H
	JNC  	?C0160
; 				hide_menu();
			; SOURCE LINE # 701
	LCALL	hide_menu
; 			//	osd_clear();
; 				id = EDIT_NULL;
			; SOURCE LINE # 703
	MOV  	id?40144,#0FFH
; 			}
			; SOURCE LINE # 704
?C0160:
; 			if (pin_off != PIN_OFF) {// Signal identify
			; SOURCE LINE # 705
	MOV  	C,pin_off?40150
	JNB  	PIN_OFF,?C0194
	CPL  	C
?C0194:
	JNC  	?C0161
; 		           pin_off = PIN_OFF;
			; SOURCE LINE # 706
	MOV  	C,PIN_OFF
	MOV  	pin_off?40150,C
; 		     	   if (PIN_OFF) {
			; SOURCE LINE # 707
	JNB  	PIN_OFF,?C0162
; 					delay500ms();
			; SOURCE LINE # 708
	LCALL	delay500ms
; 					mtv130_puta(VERTD_ROW, VERTD_COL,4);// 4);//6);
			; SOURCE LINE # 709
	MOV  	R3,#04H
	MOV  	R5,#0CH
	MOV  	R7,#0FH
	LCALL	_mtv130_puta
; 					osd_clear();
			; SOURCE LINE # 710
	LCALL	osd_clear
; 					visiblemenu= 0;
			; SOURCE LINE # 711
	CLR  	visiblemenu?40152
; 					osd_back();
			; SOURCE LINE # 712
	LCALL	osd_back
; 					disp_str2(7, 10, "NO SIGNAL", 6|8);
			; SOURCE LINE # 713
	MOV  	R2,#HIGH (?SC_62)
	MOV  	R3,#LOW (?SC_62)
	MOV  	?_disp_str2?BYTE+04H,#0EH
	MOV  	R5,#0AH
	MOV  	R7,#07H
	LCALL	_disp_str2
; 					show_video();
			; SOURCE LINE # 714
; 					visible = 1;
			; SOURCE LINE # 715
; 					video_expires = jiffies + HZ*5;
			; SOURCE LINE # 716
; 			        } else {
			; SOURCE LINE # 717
	SJMP 	?C0198
?C0162:
; 					delay500ms();
			; SOURCE LINE # 718
	LCALL	delay500ms
; 					osd_clear(); //backflag=0;
			; SOURCE LINE # 719
	LCALL	osd_clear
;                     mtv130_puta(VERTD_ROW, VERTD_COL,6);// 4);//6);
			; SOURCE LINE # 720
	MOV  	R3,#06H
	MOV  	R5,#0CH
	MOV  	R7,#0FH
	LCALL	_mtv130_puta
; 					show_video();
			; SOURCE LINE # 721
?C0198:
	LCALL	show_video
; 					visible = 1;
			; SOURCE LINE # 722
	SETB 	visible?40151
; 					video_expires = jiffies + HZ*5;}
			; SOURCE LINE # 723
	MOV  	A,jiffies
	ADD  	A,#064H
	MOV  	video_expires?40147,A
; 			  }
			; SOURCE LINE # 724
?C0161:
; 			  
; 			if (sys_ind != HZ_IND) {
			; SOURCE LINE # 726
	MOV  	C,sys_ind?40149
	JNB  	HZ_IND,?C0195
	CPL  	C
?C0195:
	JNC  	?C0164
; 				sys_ind = HZ_IND;
			; SOURCE LINE # 727
	MOV  	C,HZ_IND
	MOV  	sys_ind?40149,C
; 				mtv130_puta(CH_ROW, CH_COL, HZ_IND ? 0 : 4);
			; SOURCE LINE # 728
	JNB  	HZ_IND,?C0165
	MOV  	R3,#00H
	SJMP 	?C0166
?C0165:
	MOV  	R3,#04H
?C0166:
	MOV  	R5,#0EH
	MOV  	R7,#0FH
	LCALL	_mtv130_puta
; 				show_video();
			; SOURCE LINE # 729
	LCALL	show_video
; 				visible = 1;
			; SOURCE LINE # 730
	SETB 	visible?40151
; 				video_expires = jiffies + HZ*5;
			; SOURCE LINE # 731
	MOV  	A,jiffies
	ADD  	A,#064H
	MOV  	video_expires?40147,A
; 			}
			; SOURCE LINE # 732
?C0164:
; 	    if (!key_on) {
			; SOURCE LINE # 733
	JB   	key_on,$ + 6H
	LJMP 	?main?loop_end
; 		  goto loop_end;
			; SOURCE LINE # 734
; 		}
			; SOURCE LINE # 735
?C0167:
; 		hide_expires = jiffies + HZ*5;
			; SOURCE LINE # 736
	MOV  	A,jiffies
	ADD  	A,#064H
	MOV  	hide_expires?40146,A
; 		powoff_expires = xtime.min+10;
			; SOURCE LINE # 737
	MOV  	A,xtime
	ADD  	A,#0AH
	MOV  	powoff_expires?40148,A
; 
; 		if (key_last == KEY_MENU || key_last == KEY_UP || key_last == KEY_DOWN) {
			; SOURCE LINE # 739
	MOV  	A,key_last
	XRL  	A,#02H
	JZ   	?C0170
	MOV  	A,key_last
	XRL  	A,#06H
	JZ   	?C0170
	MOV  	A,key_last
	XRL  	A,#03H
	JNZ  	?C0169
?C0170:
; 		    visiblemenu= 1;
			; SOURCE LINE # 740
	SETB 	visiblemenu?40152
; 			if (id == EDIT_NULL) {
			; SOURCE LINE # 741
	MOV  	A,id?40144
	CJNE 	A,#0FFH,?C0171
; 				if (key_last != KEY_MENU)
			; SOURCE LINE # 742
	MOV  	A,key_last
	XRL  	A,#02H
	JZ   	$ + 5H
	LJMP 	?main?loop_end
; 					goto loop_end;
			; SOURCE LINE # 743
?C0172:
; 				id = EDIT_FIRST;
			; SOURCE LINE # 744
	CLR  	A
	MOV  	id?40144,A
; 				osd_clear();
			; SOURCE LINE # 745
	LCALL	osd_clear
; 				show_menu();
			; SOURCE LINE # 746
	LCALL	show_menu
; 			} else {
			; SOURCE LINE # 747
	SJMP 	?C0173
?C0171:
; 				select_item(id, 0);
			; SOURCE LINE # 748
	CLR  	?_select_item?BIT
	MOV  	R7,id?40144
	LCALL	_select_item
; 				if (key_last == KEY_UP) {
			; SOURCE LINE # 749
	MOV  	A,key_last
	CJNE 	A,#06H,?C0174
; 					if (id == EDIT_FIRST)
			; SOURCE LINE # 750
	MOV  	A,id?40144
	JNZ  	?C0175
; 						id = EDIT_LAST;
			; SOURCE LINE # 751
	MOV  	id?40144,#04H
	SJMP 	?C0173
?C0175:
; 					else
; 						--id;
			; SOURCE LINE # 753
	DEC  	id?40144
; 				} else {
			; SOURCE LINE # 754
	SJMP 	?C0173
?C0174:
; 					if (id == EDIT_LAST)
			; SOURCE LINE # 755
	MOV  	A,id?40144
	CJNE 	A,#04H,?C0178
; 						id = EDIT_FIRST;
			; SOURCE LINE # 756
	CLR  	A
	MOV  	id?40144,A
	SJMP 	?C0173
?C0178:
; 					else
; 						++id;
			; SOURCE LINE # 758
	INC  	id?40144
; 				}
			; SOURCE LINE # 759
; 			}
			; SOURCE LINE # 760
?C0173:
; 			select_item(id, 1);
			; SOURCE LINE # 761
	SETB 	?_select_item?BIT
	MOV  	R7,id?40144
	LCALL	_select_item
; 			/* add */
; 			val = items[id].read(items[id].addr);
			; SOURCE LINE # 763
	MOV  	A,id?40144
	MOV  	B,#0DH
	MUL  	AB
	ADD  	A,#LOW (items+02H)
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (items+02H)
	MOV  	DPH,A
	CLR  	A
	MOVC 	A,@A+DPTR
	MOV  	R7,A
	MOV  	A,id?40144
	MOV  	B,#0DH
	MUL  	AB
	ADD  	A,#LOW (items+05H)
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (items+05H)
	MOV  	DPH,A
	CLR  	A
	MOVC 	A,@A+DPTR
	MOV  	R4,A
	MOV  	A,#01H
	MOVC 	A,@A+DPTR
	MOV  	R5,A
	MOV  	DPL,A
	MOV  	DPH,R4
	LCALL	?C?ICALL2
	MOV  	val?40145,R7
; 			goto loop_end;
			; SOURCE LINE # 764
	LJMP 	?main?loop_end
; 		}
			; SOURCE LINE # 765
?C0169:
; 	
; 		if ((key_last == KEY_INC || key_last == KEY_DEC) && id != EDIT_NULL) {
			; SOURCE LINE # 767
	MOV  	A,key_last
	JZ   	?C0181
	XRL  	A,#01H
	JZ   	$ + 5H
	LJMP 	?main?loop_end
?C0181:
	MOV  	A,id?40144
	CPL  	A
	JNZ  	$ + 5H
	LJMP 	?main?loop_end
; 			struct menuitem_struct code *item = &items[id];
			; SOURCE LINE # 768
	MOV  	A,id?40144
	MOV  	B,#0DH
	MUL  	AB
	ADD  	A,#LOW (items)
	MOV  	DPL,A
	CLR  	A
	ADDC 	A,#HIGH (items)
	MOV  	R7,DPL
	MOV  	item?40143,A
	MOV  	item?40143+01H,R7
; 
; 			val = item->step(val, key_last == KEY_INC);
			; SOURCE LINE # 770
	MOV  	A,key_last
	JNZ  	?C0182
	MOV  	R5,#01H
	SJMP 	?C0183
?C0182:
	MOV  	R5,#00H
?C0183:
	MOV  	DPL,item?40143+01H
	MOV  	DPH,item?40143
	MOV  	A,#07H
	MOVC 	A,@A+DPTR
	MOV  	R6,A
	MOV  	A,#08H
	MOVC 	A,@A+DPTR
	MOV  	DPL,A
	MOV  	DPH,R6
	MOV  	R7,val?40145
	LCALL	?C?ICALL2
	MOV  	val?40145,R7
; 			item->apply(val);
			; SOURCE LINE # 771
	MOV  	DPL,item?40143+01H
	MOV  	DPH,item?40143
	MOV  	A,#09H
	MOVC 	A,@A+DPTR
	MOV  	R6,A
	MOV  	A,#0AH
	MOVC 	A,@A+DPTR
	MOV  	DPL,A
	MOV  	DPH,R6
	MOV  	R7,val?40145
	LCALL	?C?ICALL2
; 			if (item->flags & MIF_DOCA)
			; SOURCE LINE # 772
	MOV  	DPL,item?40143+01H
	MOV  	DPH,item?40143
	MOV  	A,#03H
	MOVC 	A,@A+DPTR
	JNB  	ACC.0,?C0184
; 				item->draw(ROW_BRI+NR_ITEMS+1, 1, val);
			; 

⌨️ 快捷键说明

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