?? mine.src
字號:
; .\mine.SRC generated from: mine.c
; COMPILER INVOKED BY:
; D:\Keil\C51\BIN\C51.EXE mine.c OPTIMIZE(2,SPEED) BROWSE NOINTVECTOR DEBUG OBJECTEXTEND SRC(.\mine.SRC)
$NOMOD51
NAME MINE
P0 DATA 080H
P1 DATA 090H
P2 DATA 0A0H
P3 DATA 0B0H
T0 BIT 0B0H.4
AC BIT 0D0H.6
T1 BIT 0B0H.5
T2 BIT 090H.0
EA BIT 0A8H.7
IE DATA 0A8H
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
T2EX BIT 090H.1
OV BIT 0D0H.2
RCAP2L DATA 0CAH
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
TR1 BIT 088H.6
TR2 BIT 0C8H.2
PX0 BIT 0B8H.0
PX1 BIT 0B8H.2
int_0 BIT 0B0H.2
DPH DATA 083H
int_1 BIT 0B0H.3
DPL DATA 082H
EXEN2 BIT 0C8H.3
REN BIT 098H.4
T2CON DATA 0C8H
RXD BIT 0B0H.0
Flash BIT 0B0H.4
TXD BIT 0B0H.1
F0 BIT 0D0H.5
PSW DATA 0D0H
?PR?main?MINE SEGMENT CODE
?PR?show_init?MINE SEGMENT CODE
?PR?display?MINE SEGMENT CODE
?PR?_show?MINE SEGMENT CODE
?DT?_show?MINE SEGMENT DATA OVERLAYABLE
?PR?_sEOS_init?MINE SEGMENT CODE
?DT?_sEOS_init?MINE SEGMENT DATA OVERLAYABLE
?PR?intp0?MINE SEGMENT CODE
?PR?timer2?MINE SEGMENT CODE
?PR?intp1?MINE SEGMENT CODE
?PR?timer0?MINE SEGMENT CODE
?C_INITSEG SEGMENT CODE
?DT?MINE SEGMENT DATA
EXTRN CODE (?C_STARTUP)
EXTRN CODE (?C?UIDIV)
EXTRN CODE (?C?LMUL)
EXTRN CODE (?C?ULDIV)
PUBLIC time_temp_G
PUBLIC flash_t
PUBLIC time_G
PUBLIC min
PUBLIC dis
PUBLIC Sys_flag
PUBLIC sec
PUBLIC Add_one
PUBLIC speed
PUBLIC timer0
PUBLIC intp1
PUBLIC timer2
PUBLIC intp0
PUBLIC _sEOS_init
PUBLIC _show
PUBLIC display
PUBLIC show_init
PUBLIC main
RSEG ?DT?_show?MINE
?_show?BYTE:
addr?340: DS 1
dat?341: DS 1
ORG 2
k?342: DS 2
RSEG ?DT?_sEOS_init?MINE
?_sEOS_init?BYTE:
TICK?443: DS 1
ORG 1
Inc?444: DS 4
Reload_16?445: DS 2
Reload_08H?446: DS 1
Reload_08L?447: DS 1
RSEG ?DT?MINE
speed: DS 1
Add_one: DS 4
sec: DS 1
Sys_flag: DS 1
dis: DS 2
min: DS 1
time_G: DS 1
flash_t: DS 1
time_temp_G: DS 1
RSEG ?C_INITSEG
DB 001H
DB flash_t
DB 032H
; #include <reg52.h>
;
;
; #define OSC_FREQ (12000000ul)
; #define OSC_PER_INST 12
; #define INT_0 0 //計數中斷
; #define TIMER_0 1 //暫停時,控制閃爍時間
; #define INT_1 2 //暫停中斷
; #define TIMER_2 5 //系統時鐘
; #define DIS 22 //edit it if necessary
;
; #define SELECT_4 P1 //位選
; #define OUT_3 P0 //段選
;
; sbit int_0=P3^2;
; sbit int_1=P3^3;
; sbit Flash=P3^4; //控制CD4514B INHIBIT位以使LED在暫停時閃爍
;
; typedef unsigned char tbyte;
; typedef unsigned int tword;
; typedef unsigned long tlong;
; typedef enum{WORK,TIMEOUT}Sys_state;
;
;
; tbyte min;
; tbyte sec;
; tbyte speed;
; tword dis;
; //tbyte num[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};
; tlong Add_one; //對中斷0計數
; tbyte time_G; //現在時間
; tbyte time_temp_G; //與現在時間求時間間隔以計算速度
; Sys_state Sys_flag;
;
; tbyte flash_t=50;
;
;
; void show_init(void);
; void sEOS_init(const char);
; void show(tbyte,tbyte);
; void display(void);
;
;
; void main(void)
RSEG ?PR?main?MINE
main:
USING 0
; SOURCE LINE # 44
; {
; SOURCE LINE # 45
; show_init();
; SOURCE LINE # 46
LCALL show_init
; sEOS_init(10);//setup interrupt &&timer2
; SOURCE LINE # 47
MOV R7,#0AH
LCALL _sEOS_init
?C0001:
;
; while(1)
; SOURCE LINE # 49
; {
; SOURCE LINE # 50
; display();
; SOURCE LINE # 51
LCALL display
; }
; SOURCE LINE # 52
SJMP ?C0001
RET
; END OF main
; }
;
;
; void show_init(void)
RSEG ?PR?show_init?MINE
show_init:
; SOURCE LINE # 56
; {
; SOURCE LINE # 57
; min=0;
; SOURCE LINE # 58
MOV min,#00H
; sec=0;
; SOURCE LINE # 59
MOV sec,#00H
; speed=0;
; SOURCE LINE # 60
MOV speed,#00H
; dis=0;
; SOURCE LINE # 61
MOV dis,#00H
MOV dis+01H,#00H
; Flash=0;
; SOURCE LINE # 62
CLR Flash
; Sys_flag=WORK;
; SOURCE LINE # 63
MOV Sys_flag,#00H
; }
; SOURCE LINE # 64
RET
; END OF show_init
;
; //**************************
;
; void display(void)
RSEG ?PR?display?MINE
display:
USING 0
; SOURCE LINE # 68
; {
; SOURCE LINE # 69
; show(0,sec%10);
; SOURCE LINE # 70
MOV A,sec
MOV B,#0AH
DIV AB
MOV R5,B
MOV R7,#00H
LCALL _show
; show(1,sec/10);
; SOURCE LINE # 71
MOV A,sec
MOV B,#0AH
DIV AB
MOV R5,A
MOV R7,#01H
LCALL _show
; show(2,min%10);
; SOURCE LINE # 72
MOV A,min
MOV B,#0AH
DIV AB
MOV R5,B
MOV R7,#02H
LCALL _show
; show(3,min/10);
; SOURCE LINE # 73
MOV A,min
MOV B,#0AH
DIV AB
MOV R5,A
MOV R7,#03H
LCALL _show
; show(4,dis%10);
; SOURCE LINE # 74
MOV R6,dis
MOV R7,dis+01H
MOV R4,#00H
MOV R5,#0AH
LCALL ?C?UIDIV
MOV R7,#04H
LCALL _show
; show(5,dis/10%10);
; SOURCE LINE # 75
MOV R6,dis
MOV R7,dis+01H
MOV R4,#00H
MOV R5,#0AH
LCALL ?C?UIDIV
MOV R4,#00H
MOV R5,#0AH
LCALL ?C?UIDIV
MOV R7,#05H
LCALL _show
; show(6,dis/100%10);
; SOURCE LINE # 76
MOV R6,dis
MOV R7,dis+01H
MOV R4,#00H
MOV R5,#064H
LCALL ?C?UIDIV
MOV R4,#00H
MOV R5,#0AH
LCALL ?C?UIDIV
MOV R7,#06H
LCALL _show
; show(7,dis/1000%10);
; SOURCE LINE # 77
MOV R6,dis
MOV R7,dis+01H
MOV R4,#03H
MOV R5,#0E8H
LCALL ?C?UIDIV
MOV R4,#00H
MOV R5,#0AH
LCALL ?C?UIDIV
MOV R7,#07H
LCALL _show
; show(8,speed%10);
; SOURCE LINE # 78
MOV A,speed
MOV B,#0AH
DIV AB
MOV R5,B
MOV R7,#08H
LCALL _show
; show(9,speed/10);
; SOURCE LINE # 79
MOV A,speed
MOV B,#0AH
DIV AB
MOV R5,A
MOV R7,#09H
LCALL _show
; }
; SOURCE LINE # 80
RET
; END OF display
;
; void show(tbyte addr,tbyte dat)
RSEG ?PR?_show?MINE
_show:
USING 0
; SOURCE LINE # 82
MOV addr?340,R7
MOV dat?341,R5
; {
; SOURCE LINE # 83
; tword k=50;
; SOURCE LINE # 84
MOV k?342,#00H
MOV k?342+01H,#032H
;
; OUT_3 =dat;
; SOURCE LINE # 86
MOV P0,dat?341
; SELECT_4 =addr;
; SOURCE LINE # 87
MOV P1,addr?340
?C0006:
;
; while(--k);
; SOURCE LINE # 89
MOV A,k?342+01H
DEC k?342+01H
JNZ ?C0021
DEC k?342
?C0021:
DEC A
MOV R7,A
MOV R6,k?342
MOV A,R7
ORL A,R6
JNZ ?C0006
; }
; SOURCE LINE # 90
?C0008:
RET
; END OF _show
;
;
;
; void sEOS_init(const tbyte TICK)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -