📄 main.src
字号:
; .\MAIN.SRC generated from: MAIN.C
; COMPILER INVOKED BY:
; E:\Program Files\Keil C\C51\BIN\C51.EXE MAIN.C BROWSE DEBUG OBJECTEXTEND SRC(.\MAIN.SRC)
$NOMOD51
NAME MAIN
P0 DATA 080H
P1 DATA 090H
P2 DATA 0A0H
P3 DATA 0B0H
PIN_VSEL BIT 0A0H.7
T0 BIT 0B0H.4
AC BIT 0D0H.6
T1 BIT 0B0H.5
T2 BIT 090H.0
EA BIT 0A8H.7
PIN_DIMMER BIT 090H.7
IE DATA 0A8H
PIN_POWLED BIT 090H.6
EXF2 BIT 0C8H.6
RD BIT 0B0H.7
ES BIT 0A8H.4
IP DATA 0B8H
RI BIT 098H.0
INT0 BIT 0B0H.2
CY BIT 0D0H.7
TI BIT 098H.1
INT1 BIT 0B0H.3
RCAP2H DATA 0CBH
PS BIT 0B8H.4
SP DATA 081H
PIN_OFF BIT 0B0H.3
T2EX BIT 090H.1
OV BIT 0D0H.2
RCAP2L DATA 0CAH
PIN_UPDOWN BIT 0A0H.3
C_T2 BIT 0C8H.1
WR BIT 0B0H.6
RCLK BIT 0C8H.5
TCLK BIT 0C8H.4
SBUF DATA 099H
PCON DATA 087H
SCON DATA 098H
TMOD DATA 089H
TCON DATA 088H
IE0 BIT 088H.1
IE1 BIT 088H.3
B DATA 0F0H
CP_RL2 BIT 0C8H.0
ACC DATA 0E0H
ET0 BIT 0A8H.1
ET1 BIT 0A8H.3
TF0 BIT 088H.5
ET2 BIT 0A8H.5
TF1 BIT 088H.7
TF2 BIT 0C8H.7
RB8 BIT 098H.2
TH0 DATA 08CH
EX0 BIT 0A8H.0
IT0 BIT 088H.0
TH1 DATA 08DH
TB8 BIT 098H.3
EX1 BIT 0A8H.2
IT1 BIT 088H.2
TH2 DATA 0CDH
P BIT 0D0H.0
SM0 BIT 098H.7
TL0 DATA 08AH
SM1 BIT 098H.6
TL1 DATA 08BH
SM2 BIT 098H.5
TL2 DATA 0CCH
PT0 BIT 0B8H.1
PT1 BIT 0B8H.3
RS0 BIT 0D0H.3
PT2 BIT 0B8H.5
TR0 BIT 088H.4
RS1 BIT 0D0H.4
PIN_POWER BIT 0A0H.6
TR1 BIT 088H.6
TR2 BIT 0C8H.2
PX0 BIT 0B8H.0
PX1 BIT 0B8H.2
PIN_MOD1 BIT 0A0H.2
PIN_MOD2 BIT 0A0H.1
PIN_MOD3 BIT 0A0H.0
DPH DATA 083H
HZ_IND BIT 0B0H.1
DPL DATA 082H
EXEN2 BIT 0C8H.3
REN BIT 098H.4
PIN_RLSHIFT BIT 0A0H.4
T2CON DATA 0C8H
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
?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
?DT?osd_init?MAIN SEGMENT DATA OVERLAYABLE
?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
?C_INITSEG SEGMENT CODE
?BI?MAIN SEGMENT BIT
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 PIN_SIGIND
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
col?349: DS 1
str?350: DS 2
color?351: DS 1
ORG 5
c?352: DS 1
RSEG ?DT?_reset_read?MAIN
?_reset_read?BYTE:
addr?1381: DS 1
RSEG ?DT?_paint_line?MAIN
?_paint_line?BYTE:
row?659: DS 1
col?660: DS 1
count?661: DS 1
color?662: DS 1
RSEG ?DT?_reset_apply?MAIN
?_reset_apply?BYTE:
val?2498: DS 1
ORG 1
i?2499: DS 1
item?24100: DS 2
RSEG ?DT?_reset_draw?MAIN
?_reset_draw?BYTE:
row?29117: DS 1
col?29118: DS 1
val?29119: DS 1
RSEG ?DT?_reset_step?MAIN
?_reset_step?BYTE:
inc?1993: DS 1
RSEG ?DT?main?MAIN
?main?BYTE:
ORG 5
item?40134: DS 2
ORG 0
id?40135: DS 1
val?40136: DS 1
hide_expires?40137: DS 1
video_expires?40138: DS 1
powoff_expires?40139: DS 1
RSEG ?BI?main?MAIN
?main?BIT:
sys_ind?40140: DBIT 1
pin_off?40141: DBIT 1
visible?40142: DBIT 1
visiblemenu?40143: DBIT 1
auto_powoff?40144: DBIT 1
RSEG ?DT?_cont_draw?MAIN
?_cont_draw?BYTE:
pb?26108: DS 4
RSEG ?DT?_bri_draw?MAIN
?_bri_draw?BYTE:
pb?25104: DS 4
RSEG ?DT?_col_draw?MAIN
?_col_draw?BYTE:
pb?27112: DS 4
RSEG ?DT?_tint_draw?MAIN
?_tint_draw?BYTE:
pb?28116: DS 4
RSEG ?DT?hide_menu?MAIN
?hide_menu?BYTE:
i?32127: DS 1
RSEG ?DT?power_turnon?MAIN
?power_turnon?BYTE:
ORG 3
c?38129: DS 2
c?38130: DS 1
ORG 0
i?38131: DS 1
item?38132: DS 2
RSEG ?DT?_disp_str?MAIN
?_disp_str?BYTE:
row?244: DS 1
col?245: DS 1
str?246: DS 3
ORG 5
c?247: DS 1
RSEG ?DT?show_menu?MAIN
?show_menu?BYTE:
ORG 3
c?30120: DS 1
ORG 0
i?30121: DS 1
item?30122: DS 2
RSEG ?DT?osd_init?MAIN
?osd_init?BYTE:
i?35128: DS 1
RSEG ?DT?_draw_progbar?MAIN
?_draw_progbar?BYTE:
row?865: DS 1
col?866: DS 1
ORG 2
range?868: DS 1
step?869: DS 1
pos?870: DS 1
i?871: DS 1
RSEG ?DT?_simple_read?MAIN
?_simple_read?BYTE:
c?1483: DS 1
RSEG ?DT?_clear_line?MAIN
?_clear_line?BYTE:
row?763: DS 1
ORG 1
col?764: DS 1
RSEG ?DT?_select_item?MAIN
?_select_item?BYTE:
ORG 2
c?31125: DS 1
ORG 0
item?31126: DS 2
RSEG ?BI?_select_item?MAIN
?_select_item?BIT:
selected?31124: DBIT 1
RSEG ?DT?MAIN
num_str?557: DS 4
RSEG ?BI?MAIN
PIN_SIGIND: DBIT 1
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
RSEG ?C_INITSEG
DB 0C1H, PIN_SIGIND + 000H ; bit-init
; #pragma REGISTERBANK(0)
;
; #include <stdlib.h>
; #include <reg52.h>
; #include <intrins.h>
; #include <string.h>
; #include "def.h"
; #include "key.h"
; #include "at24c02.h"
; #include "mtv130.h"
; #include "timer.h"
; #include "delay.h"
; #include "def.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:
USING 0
; SOURCE LINE # 28
; {
; SOURCE LINE # 29
; /* disable all interrupts */
; IE = 0;
; SOURCE LINE # 31
CLR A
MOV IE,A
; IP = 0;
; SOURCE LINE # 32
MOV IP,A
;
; /* deactivate output ports */
; P0=P1=P2=P3 = 0xff;
; SOURCE LINE # 35
MOV P3,#0FFH
MOV P2,#0FFH
MOV P1,#0FFH
MOV P0,#0FFH
;
; /* timer 0 16 bits, timer 1 16 bits */
; TMOD = 0x51;
; SOURCE LINE # 38
MOV TMOD,#051H
; PCON = 0x80;
; SOURCE LINE # 39
MOV PCON,#080H
;
; timer_init();
; SOURCE LINE # 41
LCALL timer_init
; i2c_init();
; SOURCE LINE # 42
LCALL i2c_init
; at24c02_init();
; SOURCE LINE # 43
LCALL at24c02_init
; mtv130_init();
; SOURCE LINE # 44
LCALL mtv130_init
; key_init();
; SOURCE LINE # 45
LCALL key_init
;
; EA = 1;
; SOURCE LINE # 47
SETB EA
; }
; SOURCE LINE # 48
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -