📄 main.src
字号:
; .\Obj\main.SRC generated from: Source\main.c
; COMPILER INVOKED BY:
; C:\Keil\C51\BIN\C51.EXE Source\main.c REGFILE(.\Obj\MTVOSD.ORC) BROWSE DEBUG OBJECTEXTEND PRINT(.\Lst\main.lst) SRC(.\Obj\main.SRC)
$NOMOD51
NAME MAIN
P1 DATA 090H
P3 DATA 0B0H
AC BIT 0D0H.6
T0 BIT 0B0H.4
T1 BIT 0B0H.5
EA BIT 0A8H.7
PIN_DIMMER BIT 0B0H.4
AIN0 BIT 090H.0
AIN1 BIT 090H.1
IE DATA 0A8H
P1_0 BIT 090H.0
FL BIT 0D0H.1
P1_1 BIT 090H.1
P3_0 BIT 0B0H.0
P1_2 BIT 090H.2
P3_1 BIT 0B0H.1
P1_3 BIT 090H.3
P3_2 BIT 0B0H.2
P1_4 BIT 090H.4
PIN_POWLED BIT 0B0H.5
P3_3 BIT 0B0H.3
P1_5 BIT 090H.5
P3_4 BIT 0B0H.4
P1_6 BIT 090H.6
P3_5 BIT 0B0H.5
ES BIT 0A8H.4
P1_7 BIT 090H.7
IP DATA 0B8H
P3_7 BIT 0B0H.7
RI BIT 098H.0
CY BIT 0D0H.7
INT0 BIT 0B0H.2
INT1 BIT 0B0H.3
TI BIT 098H.1
PS BIT 0B8H.4
SP DATA 081H
PIN_OFF BIT 0B0H.3
OV BIT 0D0H.2
SBUF DATA 099H
PCON DATA 087H
SCON DATA 098H
TMOD DATA 089H
TCON DATA 088H
AOUT BIT 0B0H.6
IE0 BIT 088H.1
IE1 BIT 088H.3
B DATA 0F0H
ACC DATA 0E0H
ET0 BIT 0A8H.1
ET1 BIT 0A8H.3
TF0 BIT 088H.5
ET2 BIT 0A8H.5
TF1 BIT 088H.7
RB8 BIT 098H.2
TH0 DATA 08CH
EX0 BIT 0A8H.0
IT0 BIT 088H.0
TH1 DATA 08DH
EX1 BIT 0A8H.2
TB8 BIT 098H.3
IT1 BIT 088H.2
P BIT 0D0H.0
SM0 BIT 098H.7
TL0 DATA 08AH
SM1 BIT 098H.6
TL1 DATA 08BH
SM2 BIT 098H.5
PT0 BIT 0B8H.1
RS0 BIT 0D0H.3
PT1 BIT 0B8H.3
RS1 BIT 0D0H.4
TR0 BIT 088H.4
PIN_POWER BIT 0B0H.0
TR1 BIT 088H.6
PX0 BIT 0B8H.0
PX1 BIT 0B8H.2
DPH DATA 083H
HZ_IND BIT 0B0H.1
DPL DATA 082H
REN BIT 098H.4
PIN_RLSHIFT BIT 090H.6
RXD BIT 0B0H.0
TXD BIT 0B0H.1
F0 BIT 0D0H.5
PSW DATA 0D0H
?PR?initial?MAIN SEGMENT CODE
?PR?_disp_char?MAIN SEGMENT CODE
?PR?_disp_str?MAIN SEGMENT CODE
?DT?_disp_str?MAIN SEGMENT DATA OVERLAYABLE
?PR?_disp_str2?MAIN SEGMENT CODE
?DT?_disp_str2?MAIN SEGMENT DATA OVERLAYABLE
?PR?_disp_str3?MAIN SEGMENT CODE
?PR?_get_num_str?MAIN SEGMENT CODE
?DT?MAIN SEGMENT DATA
?PR?_paint_line?MAIN SEGMENT CODE
?DT?_paint_line?MAIN SEGMENT DATA OVERLAYABLE
?PR?_clear_line?MAIN SEGMENT CODE
?DT?_clear_line?MAIN SEGMENT DATA OVERLAYABLE
?PR?_draw_progbar?MAIN SEGMENT CODE
?DT?_draw_progbar?MAIN SEGMENT DATA OVERLAYABLE
?PR?_bri_read?MAIN SEGMENT CODE
?PR?_cont_read?MAIN SEGMENT CODE
?PR?_col_read?MAIN SEGMENT CODE
?PR?_tint_read?MAIN SEGMENT CODE
?PR?_reset_read?MAIN SEGMENT CODE
?DT?_reset_read?MAIN SEGMENT DATA OVERLAYABLE
?PR?_simple_read?MAIN SEGMENT CODE
?DT?_simple_read?MAIN SEGMENT DATA OVERLAYABLE
?PR?_bri_step?MAIN SEGMENT CODE
?PR?_cont_step?MAIN SEGMENT CODE
?PR?_col_step?MAIN SEGMENT CODE
?PR?_tint_step?MAIN SEGMENT CODE
?PR?_reset_step?MAIN SEGMENT CODE
?DT?_reset_step?MAIN SEGMENT DATA OVERLAYABLE
?PR?_bri_apply?MAIN SEGMENT CODE
?PR?_cont_apply?MAIN SEGMENT CODE
?PR?_col_apply?MAIN SEGMENT CODE
?PR?_tint_apply?MAIN SEGMENT CODE
?DT?_tint_apply?MAIN SEGMENT DATA OVERLAYABLE
?PR?_reset_apply?MAIN SEGMENT CODE
?DT?_reset_apply?MAIN SEGMENT DATA OVERLAYABLE
?PR?_bri_draw?MAIN SEGMENT CODE
?DT?_bri_draw?MAIN SEGMENT DATA OVERLAYABLE
?PR?_cont_draw?MAIN SEGMENT CODE
?DT?_cont_draw?MAIN SEGMENT DATA OVERLAYABLE
?PR?_col_draw?MAIN SEGMENT CODE
?DT?_col_draw?MAIN SEGMENT DATA OVERLAYABLE
?PR?_tint_draw?MAIN SEGMENT CODE
?DT?_tint_draw?MAIN SEGMENT DATA OVERLAYABLE
?PR?_reset_draw?MAIN SEGMENT CODE
?DT?_reset_draw?MAIN SEGMENT DATA OVERLAYABLE
?PR?show_menu?MAIN SEGMENT CODE
?DT?show_menu?MAIN SEGMENT DATA OVERLAYABLE
?PR?_select_item?MAIN SEGMENT CODE
?DT?_select_item?MAIN SEGMENT DATA OVERLAYABLE
?BI?_select_item?MAIN SEGMENT BIT OVERLAYABLE
?PR?hide_menu?MAIN SEGMENT CODE
?DT?hide_menu?MAIN SEGMENT DATA OVERLAYABLE
?PR?osd_back?MAIN SEGMENT CODE
?PR?osd_clear?MAIN SEGMENT CODE
?PR?osd_init?MAIN SEGMENT CODE
?PR?show_video?MAIN SEGMENT CODE
?PR?hide_video?MAIN SEGMENT CODE
?PR?power_turnon?MAIN SEGMENT CODE
?DT?power_turnon?MAIN SEGMENT DATA OVERLAYABLE
?PR?delay500ms?MAIN SEGMENT CODE
?PR?main?MAIN SEGMENT CODE
?DT?main?MAIN SEGMENT DATA OVERLAYABLE
?BI?main?MAIN SEGMENT BIT OVERLAYABLE
?CO?MAIN SEGMENT CODE
EXTRN CODE (mtv130_init)
EXTRN BIT (key_on)
EXTRN CODE (i2c_init)
EXTRN CODE (at24c02_init)
EXTRN DATA (xtime)
EXTRN CODE (___delay)
EXTRN CODE (_at24cxx_writebyte)
EXTRN CODE (timer_init)
EXTRN CODE (key_init)
EXTRN DATA (key_last)
EXTRN DATA (jiffies)
EXTRN CODE (_mtv130_puta)
EXTRN CODE (_mtv130_putd)
EXTRN CODE (_at24cxx_read)
EXTRN CODE (?C?CLDPTR)
EXTRN CODE (?C?ICALL2)
EXTRN CODE (?C_STARTUP)
PUBLIC items
PUBLIC main
PUBLIC delay500ms
PUBLIC power_turnon
PUBLIC hide_video
PUBLIC show_video
PUBLIC osd_init
PUBLIC osd_clear
PUBLIC osd_back
PUBLIC hide_menu
PUBLIC ?_select_item?BIT
PUBLIC _select_item
PUBLIC show_menu
PUBLIC _reset_draw
PUBLIC _tint_draw
PUBLIC _col_draw
PUBLIC _cont_draw
PUBLIC _bri_draw
PUBLIC _reset_apply
PUBLIC _tint_apply
PUBLIC _col_apply
PUBLIC _cont_apply
PUBLIC _bri_apply
PUBLIC _reset_step
PUBLIC _tint_step
PUBLIC _col_step
PUBLIC _cont_step
PUBLIC _bri_step
PUBLIC _simple_read
PUBLIC _reset_read
PUBLIC _tint_read
PUBLIC _col_read
PUBLIC _cont_read
PUBLIC _bri_read
PUBLIC _draw_progbar
PUBLIC _clear_line
PUBLIC ?_paint_line?BYTE
PUBLIC _paint_line
PUBLIC _get_num_str
PUBLIC _disp_str3
PUBLIC ?_disp_str2?BYTE
PUBLIC _disp_str2
PUBLIC _disp_str
PUBLIC _disp_char
RSEG ?DT?_disp_str2?MAIN
?_disp_str2?BYTE:
row?348: DS 1
ORG 1
col?349: DS 1
ORG 2
str?350: DS 2
ORG 4
color?351: DS 1
ORG 5
c?352: DS 1
RSEG ?DT?_reset_read?MAIN
?_reset_read?BYTE:
ucData?1382: DS 1
RSEG ?DT?_paint_line?MAIN
?_paint_line?BYTE:
row?659: DS 1
ORG 1
col?660: DS 1
ORG 1
count?661: DS 1
ORG 3
color?662: DS 1
RSEG ?DT?_reset_apply?MAIN
?_reset_apply?BYTE:
i?24102: DS 1
ORG 1
VAL?24103: DS 1
ORG 2
item?24104: DS 2
RSEG ?DT?_reset_draw?MAIN
?_reset_draw?BYTE:
ROW?29126: DS 1
ORG 1
COL?29127: DS 1
ORG 2
VAL?29128: DS 1
RSEG ?DT?_reset_step?MAIN
?_reset_step?BYTE:
ucData?1995: DS 1
RSEG ?DT?main?MAIN
?main?BYTE:
ORG 5
item?40143: DS 2
ORG 0
id?40144: DS 1
ORG 1
val?40145: DS 1
ORG 2
hide_expires?40146: DS 1
ORG 3
video_expires?40147: DS 1
ORG 4
powoff_expires?40148: DS 1
RSEG ?BI?main?MAIN
?main?BIT:
sys_ind?40149: DBIT 1
ORG 1
pin_off?40150: DBIT 1
ORG 2
visible?40151: DBIT 1
ORG 3
visiblemenu?40152: DBIT 1
ORG 4
auto_powoff?40153: DBIT 1
RSEG ?DT?_cont_draw?MAIN
?_cont_draw?BYTE:
pb?26112: DS 4
RSEG ?DT?_tint_apply?MAIN
?_tint_apply?BYTE:
ucData?23100: DS 1
RSEG ?DT?_bri_draw?MAIN
?_bri_draw?BYTE:
pb?25108: DS 4
RSEG ?DT?_col_draw?MAIN
?_col_draw?BYTE:
pb?27116: DS 4
RSEG ?DT?_tint_draw?MAIN
?_tint_draw?BYTE:
Row?28120: DS 1
ORG 1
Col?28121: DS 1
ORG 2
pb?28122: DS 4
RSEG ?DT?hide_menu?MAIN
?hide_menu?BYTE:
i?32136: DS 1
RSEG ?DT?power_turnon?MAIN
?power_turnon?BYTE:
ORG 3
c?38138: DS 2
ORG 3
c?38139: DS 1
ORG 0
i?38140: DS 1
ORG 1
item?38141: DS 2
RSEG ?DT?_disp_str?MAIN
?_disp_str?BYTE:
row?244: DS 1
ORG 1
col?245: DS 1
ORG 2
str?246: DS 3
RSEG ?DT?show_menu?MAIN
?show_menu?BYTE:
ORG 3
c?30129: DS 1
ORG 0
i?30130: DS 1
ORG 1
item?30131: DS 2
RSEG ?DT?_draw_progbar?MAIN
?_draw_progbar?BYTE:
row?865: DS 1
ORG 1
col?866: DS 1
ORG 2
range?868: DS 1
ORG 3
step?869: DS 1
ORG 4
pos?870: DS 1
RSEG ?DT?_simple_read?MAIN
?_simple_read?BYTE:
c?1484: DS 1
RSEG ?DT?_clear_line?MAIN
?_clear_line?BYTE:
row?763: DS 1
RSEG ?DT?_select_item?MAIN
?_select_item?BYTE:
ORG 2
c?31134: DS 1
ORG 0
item?31135: DS 2
RSEG ?BI?_select_item?MAIN
?_select_item?BIT:
selected?31133: DBIT 1
RSEG ?DT?MAIN
num_str?557: DS 4
RSEG ?CO?MAIN
?SC_0:
DB 'B' ,'R' ,'I' ,'G' ,'H' ,'T' ,000H
?SC_7:
DB 'C' ,'O' ,'N' ,'T' ,'R' ,'A' ,'S' ,'T' ,000H
?SC_16:
DB 'C' ,'O' ,'L' ,'O' ,'R' ,000H
?SC_22:
DB 'T' ,'I' ,'N' ,'T' ,000H
?SC_27:
DB 'R' ,'E' ,'S' ,'E' ,'T' ,000H
?SC_33:
DB 'V' ,'I' ,'D' ,'E' ,'O' ,000H
?SC_39:
DB 'N' ,'T' ,'S' ,'C' ,000H
?SC_44:
DB 'P' ,'A' ,'L' ,' ' ,000H
?SC_49:
DB ' ' ,' ' ,' ' ,' ' ,' ' ,' ' ,' ' ,000H
?SC_57:
DB ' ' ,' ' ,' ' ,' ' ,000H
?SC_62:
DB 'N' ,'O' ,' ' ,'S' ,'I' ,'G' ,'N' ,'A' ,'L' ,000H
items:
DW ?SC_0 ; ptr2
DB 009H
DB 003H
DB 070H
DW _bri_read + 0
DW _bri_step + 0
DW _bri_apply + 0
DW _bri_draw + 0
DW ?SC_7 ; ptr2
DB 00AH
DB 003H
DB 070H
DW _cont_read + 0
DW _cont_step + 0
DW _cont_apply + 0
DW _cont_draw + 0
DW ?SC_16 ; ptr2
DB 00CH
DB 003H
DB 09BH
DW _col_read + 0
DW _col_step + 0
DW _col_apply + 0
DW _col_draw + 0
DW ?SC_22 ; ptr2
DB 00DH
DB 003H
DB 0A5H
DW _tint_read + 0
DW _tint_step + 0
DW _tint_apply + 0
DW _tint_draw + 0
DW ?SC_27 ; ptr2
DB 0FFH
DB 000H
DB 000H
DW _reset_read + 0
DW _reset_step + 0
DW _reset_apply + 0
DW _reset_draw + 0
; #pragma REGISTERBANK(0)
;
; #include "Header.H"
;
; extern bit key_on;
; extern unsigned char key_last;
; extern void timer_init(void);
; extern void i2c_init(void);
; extern void mtv130_init(void);
; extern void at24c02_init(void);
; extern void key_init(void);
;
; //#define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0]))
;
; //bit PIN_SIGIND = 0;
;
;
; static void initial(void)
RSEG ?PR?initial?MAIN
initial:
; SOURCE LINE # 18
; {
; SOURCE LINE # 19
; /* disable all interrupts */
; IE = 0;
; SOURCE LINE # 21
CLR A
MOV IE,A
; IP = 0;
; SOURCE LINE # 22
MOV IP,A
;
; /* deactivate output ports */
; P1=P3 = 0xff;
; SOURCE LINE # 25
MOV P3,#0FFH
MOV P1,#0FFH
;
; /* timer 0 16 bits, timer 1 16 bits */
; TMOD = 0x51;
; SOURCE LINE # 28
MOV TMOD,#051H
; // PCON = 0x80;
;
; timer_init();
; SOURCE LINE # 31
LCALL timer_init
; i2c_init();
; SOURCE LINE # 32
LCALL i2c_init
; at24c02_init();
; SOURCE LINE # 33
LCALL at24c02_init
; mtv130_init();
; SOURCE LINE # 34
LCALL mtv130_init
; key_init();
; SOURCE LINE # 35
LCALL key_init
;
; EA = 1;
; SOURCE LINE # 37
SETB EA
; }
; SOURCE LINE # 38
RET
; END OF initial
;
; struct progbar_struct {
; // unsigned char row, col;
; unsigned char val;
; unsigned char range, pos, step;
; };
; void delay500ms();
; unsigned char bri_read(unsigned char addr);//读亮度值
; unsigned char cont_read(unsigned char addr);//读对比度值
; unsigned char col_read(unsigned char addr);//读彩色值
; unsigned char tint_read(unsigned char addr);
; unsigned char reset_read(unsigned char addr);
; unsigned char simple_read(unsigned char addr);
; unsigned char bri_step(unsigned char val, unsigned char inc);
; unsigned char cont_step(unsigned char val, unsigned char inc);
; unsigned char col_step(unsigned char val, unsigned char inc);
; unsigned char tint_step(unsigned char val, unsigned char inc);
; unsigned char reset_step(unsigned char val, unsigned char inc);
; //unsigned char bival_step(unsigned char val, unsigned char inc);
; void bri_apply(unsigned char val);
; void cont_apply(unsigned char val);
; void col_apply(unsigned char val);
; void tint_apply(unsigned char val);
; void reset_apply(unsigned char val);
; void bri_draw(char row, char col, unsigned char val);
; void cont_draw(char row, char col, unsigned char val);
; void col_draw(char row, char col, unsigned char val);
; void tint_draw(char row, char col, unsigned char val);
; void reset_draw(char row, char col, unsigned char val);
;
; #define ABS(x) ((x) > 0 ? (x) : -(x))
;
;
;
; #define BRI_ADDR 9//亮度控制的存储地址。
; #define BRI_OFF 66//亮度的最大值
; #define BRI_RANGE 92//亮度值的范围。
; #define BRI_FAC 1//亮度的间隙值。
; #define BRI_DEF 112//亮度的默认值。
;
; #define CONT_ADDR 10//对比度控制的存储地址。
; #define CONT_OFF 66
; #define CONT_RANGE 92
; #define CONT_FAC 1
; #define CONT_DEF 112
;
; #define COL_ADDR 12//彩色控制的存储地址。
; #define COL_OFF 109
; #define COL_RANGE 92
; #define COL_FAC 1
; #define COL_DEF 155
;
; #define TINT_ADDR 13//色调控制的地址。
; #define TINT_OFF 119
; #define TINT_RANGE 92
; #define TINT_FAC 1
; #define TINT_DEF 165
;
;
; struct menuitem_struct {//菜单结构体
; unsigned char code *title;//菜单标号
; unsigned char addr;//对应的菜单存储地址。
; unsigned char flags;//对应的选中的菜单项颜色标志。
; #define MIF_DOCA 0x01
; #define MIF_RESET 0x02
; unsigned char defval;//对应菜单值的默认值。
; unsigned char (code *read)(unsigned char addr);//指向相应菜单函数的入口地址。
; unsigned char (code *step)(unsigned char val, unsigned char inc);//指向相应菜单函数的设置步数。
; void (code *apply)(unsigned char val);//
; void (code *draw)(char row, char col, unsigned char val);//画相应菜单的进度条。
; };
;
; struct menuitem_struct code items[] = {
; { "BRIGHT", BRI_ADDR, MIF_DOCA|MIF_RESET, BRI_DEF, bri_read, bri_step, bri_apply, bri_draw },
; { "CONTRAST", CONT_ADDR, MIF_DOCA|MIF_RESET, CONT_DEF, cont_read, cont_step, cont_apply, cont_draw },
; { "COLOR", COL_ADDR, MIF_DOCA|MIF_RESET, COL_DEF, col_read, col_step, col_apply, col_draw },
; { "TINT", TINT_ADDR, MIF_DOCA|MIF_RESET, TINT_DEF, tint_read, tint_step, tint_apply, tint_draw },
; { "RESET", -1, 0, 0, reset_read, reset_step, reset_apply, reset_draw },
; };
;
; #define NR_ITEMS (sizeof(items)/sizeof(items[0]))//计算
;
; #define EDIT_FIRST 0
; #define EDIT_BRIGHTNESS (EDIT_FIRST)
; #define EDIT_CONTRAST (EDIT_FIRST+1)
; #define EDIT_COLOR (EDIT_FIRST+2)
; #define EDIT_TINT (EDIT_FIRST+3)
; #define EDIT_RESET (EDIT_FIRST+4)
; #define EDIT_LAST (EDIT_FIRST+4)
; #define EDIT_COUNT 5
; #define EDIT_NULL 255
;
; #undef CHS
; #undef CWS
;
; #ifdef MTV130
;
; #define BAR_N 4
; #define BAR_B 128
; #define BAR_F 129
; #define BAR_E (BAR_F+BAR_N+1)
;
; #else
;
; #define BAR_N 4
; #define BAR_B 128
; #define BAR_F 129
; #define BAR_E (BAR_F+BAR_N+1)
;
; #endif
;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -