?? embed.src
字號:
; .\embed.SRC generated from: embed.c
; COMPILER INVOKED BY:
; D:\hardWare\Keil\C51\BIN\C51.EXE embed.c BROWSE DEBUG OBJECTEXTEND SRC(.\embed.SRC)
$NOMOD51
NAME EMBED
P0 DATA 080H
P1 DATA 090H
P2 DATA 0A0H
P3 DATA 0B0H
AC BIT 0D0H.6
T0 BIT 0B0H.4
T1 BIT 0B0H.5
EA BIT 0A8H.7
T2 BIT 090H.0
IE DATA 0A8H
P0_0 BIT 080H.0
P1_0 BIT 090H.0
P0_1 BIT 080H.1
FL BIT 0D0H.1
P2_0 BIT 0A0H.0
P1_1 BIT 090H.1
P0_2 BIT 080H.2
P3_0 BIT 0B0H.0
P2_1 BIT 0A0H.1
P1_2 BIT 090H.2
P0_3 BIT 080H.3
P3_1 BIT 0B0H.1
P2_2 BIT 0A0H.2
P1_3 BIT 090H.3
P0_4 BIT 080H.4
P3_2 BIT 0B0H.2
P2_3 BIT 0A0H.3
P1_4 BIT 090H.4
P0_5 BIT 080H.5
EXF2 BIT 0C8H.6
RD BIT 0B0H.7
P3_3 BIT 0B0H.3
P2_4 BIT 0A0H.4
P1_5 BIT 090H.5
P0_6 BIT 080H.6
P3_4 BIT 0B0H.4
P2_5 BIT 0A0H.5
P1_6 BIT 090H.6
P0_7 BIT 080H.7
P3_5 BIT 0B0H.5
ES BIT 0A8H.4
P2_6 BIT 0A0H.6
P1_7 BIT 090H.7
P3_6 BIT 0B0H.6
P2_7 BIT 0A0H.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
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
EX1 BIT 0A8H.2
TB8 BIT 098H.3
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
RS0 BIT 0D0H.3
PT1 BIT 0B8H.3
RS1 BIT 0D0H.4
PT2 BIT 0B8H.5
TR0 BIT 088H.4
TR1 BIT 088H.6
TR2 BIT 0C8H.2
PX0 BIT 0B8H.0
PX1 BIT 0B8H.2
DPH DATA 083H
DPL DATA 082H
EXEN2 BIT 0C8H.3
REN BIT 098H.4
T2MOD DATA 0C9H
T2CON DATA 0C8H
RXD BIT 0B0H.0
TXD BIT 0B0H.1
F0 BIT 0D0H.5
PSW DATA 0D0H
?PR?initial?EMBED SEGMENT CODE
?PR?_delay10ms?EMBED SEGMENT CODE
?PR?getKey?EMBED SEGMENT CODE
?PR?_show?EMBED SEGMENT CODE
?PR?Buzzer?EMBED SEGMENT CODE
?PR?clearAlarm?EMBED SEGMENT CODE
?PR?_stateMachine?EMBED SEGMENT CODE
?PR?_setplay?EMBED SEGMENT CODE
?DT?_setplay?EMBED SEGMENT DATA OVERLAYABLE
?PR?main?EMBED SEGMENT CODE
?DT?main?EMBED SEGMENT DATA OVERLAYABLE
?PR?TIME0?EMBED SEGMENT CODE
?PR?TIME1?EMBED SEGMENT CODE
?PR?EX0INT?EMBED SEGMENT CODE
?PR?EX1INT?EMBED SEGMENT CODE
?PR?SERIAL?EMBED SEGMENT CODE
?C_INITSEG SEGMENT CODE
?CO?EMBED SEGMENT CODE
?DT?EMBED SEGMENT DATA
EXTRN CODE (?C?UIDIV)
EXTRN CODE (?C_STARTUP)
PUBLIC Num_Of_Circle
PUBLIC key_down
PUBLIC cur_state
PUBLIC key
PUBLIC next_state
PUBLIC inkey
PUBLIC array
PUBLIC CON
PUBLIC SEGNEG
PUBLIC SEGPOS
PUBLIC SERIAL
PUBLIC EX1INT
PUBLIC EX0INT
PUBLIC TIME1
PUBLIC TIME0
PUBLIC main
PUBLIC _setplay
PUBLIC _stateMachine
PUBLIC clearAlarm
PUBLIC Buzzer
PUBLIC _show
PUBLIC getKey
PUBLIC _delay10ms
PUBLIC initial
DSEG AT 030H
inkey: DS 1
DSEG AT 07EH
key_down: DS 1
RSEG ?DT?_setplay?EMBED
?_setplay?BYTE:
h2bit?746: DS 2
RSEG ?DT?main?EMBED
?main?BYTE:
display?849: DS 2
ORG 2
LED?850: DS 2
RSEG ?DT?EMBED
array: DS 12
next_state: DS 1
key: DS 1
cur_state: DS 1
Num_Of_Circle: DS 2
RSEG ?CO?EMBED
SEGPOS:
DB 0C0H
DB 0F9H
DB 0A4H
DB 0B0H
DB 099H
DB 092H
DB 082H
DB 0F8H
DB 080H
DB 090H
DB 088H
DB 083H
DB 0C6H
DB 0A1H
DB 086H
DB 08EH
DB 0BFH
DB 0FFH
DB 040H
DB 079H
DB 024H
DB 030H
DB 019H
DB 012H
DB 002H
DB 078H
DB 000H
DB 010H
DB 008H
DB 003H
DB 046H
DB 021H
DB 006H
DB 00EH
SEGNEG:
DB 03FH
DB 006H
DB 05BH
DB 04FH
DB 066H
DB 06DH
DB 07DH
DB 007H
DB 07FH
DB 06FH
DB 077H
DB 07CH
DB 039H
DB 05EH
DB 079H
DB 071H
DB 040H
DB 000H
DB 0BFH
DB 086H
DB 0D4H
DB 0CFH
DB 0E6H
DB 0EDH
DB 0FDH
DB 087H
DB 0FFH
DB 0EFH
DB 0F7H
DB 0FCH
DB 0B9H
DB 0DEH
DB 0F9H
DB 0F1H
CON:
DB 0FEH
DB 0FDH
DB 0FBH
DB 0F7H
DB 0EFH
DB 0DFH
RSEG ?C_INITSEG
DB 00CH
DB array
DW 00001H
DW 00002H
DW 00003H
DW 00004H
DW 00005H
DW 00006H
; #include <AT89X52.H>
; #include "intrins.h"
; #include "absacc.h"
;
; #define uchar unsigned char
; #define uint unsigned int
;
;
; uchar cur_state;
; uchar next_state;
;
; uint Num_Of_Circle;
; uint array[6]={1,2,3,4,5,6}; //顯示數據存儲區
;
; //陽極段碼
; uchar code SEGPOS[34]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,0xBF,0xFF,0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0x08,0x03,0x46,0x21,0x06,0x0E};
; //"0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "A" "B" "C" "D" "E" "F" "-" "空" "0." "1." "2." "3.""4." "5.""6." "7.""8." "9.""A." "B.""C." "D.""E." "F."
; //帶點的比不帶點的大18個位置
; //陰極段碼
; uchar code SEGNEG[34]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x40,0x00,0xBF,0x86,0xD4,0xCF,0xE6,0xED,0xFD,0x87,0xFF,0xEF,0xF7,0xFC,0xB9,0xDE,0xF9,0xF1};
; uchar code CON[6]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF};//數據顯示的位選信號11111110 到11011111
;
;
; uchar data inkey _at_ 0x30;//按鍵值
; uchar data key_down _at_ 0x7E;//按鍵次數
; uchar key;
; void initial(void)
RSEG ?PR?initial?EMBED
initial:
; SOURCE LINE # 27
; {
; SOURCE LINE # 28
; /*
; T2CON=0x34;
; SCON=0xD0;
;
; PCON=0x00;//波特率不加倍
; RCAP2L=0xC7;
; RCAP2H=0xFE;//定時器2波特率1200
; TR2 = 1;
; //*/
;
; inkey=0;key_down=0;
; SOURCE LINE # 39
CLR A
MOV inkey,A
MOV key_down,A
; cur_state = 0;
; SOURCE LINE # 40
MOV cur_state,A
; next_state =0;
; SOURCE LINE # 41
MOV next_state,A
; Num_Of_Circle=0;
; SOURCE LINE # 42
MOV Num_Of_Circle,A
MOV Num_Of_Circle+01H,A
;
; TMOD=0x16;//T0 計數(方式2),T1 計時(方式1),T2 波特率 GATE C/~T M1 M0
; SOURCE LINE # 44
MOV TMOD,#016H
; TH0=0xFF; TL0=0xFF;
; SOURCE LINE # 45
MOV TH0,#0FFH
MOV TL0,#0FFH
; TH1=0x3C; TL1=0xB0;//50ms
; SOURCE LINE # 46
MOV TH1,#03CH
MOV TL1,#0B0H
;
; TR0=1; TR1=0;
; SOURCE LINE # 48
SETB TR0
CLR TR1
;
; ET0=0; ET1=1;
; SOURCE LINE # 50
CLR ET0
SETB ET1
; EX0=0; EX1=0;
; SOURCE LINE # 51
CLR EX0
CLR EX1
; ES=0;
; SOURCE LINE # 52
CLR ES
; EA=0;
; SOURCE LINE # 53
CLR EA
; }
; SOURCE LINE # 54
RET
; END OF initial
;
; void delay10ms(uint s)//100 == 1second
RSEG ?PR?_delay10ms?EMBED
_delay10ms:
USING 0
; SOURCE LINE # 56
;---- Variable 'i?141' assigned to Register 'R4/R5' ----
;---- Variable 's?140' assigned to Register 'R6/R7' ----
; {
; SOURCE LINE # 57
?C0002:
; uint i;
; while(s--)
; SOURCE LINE # 59
MOV A,R7
DEC R7
MOV R2,AR6
JNZ ?C0047
DEC R6
?C0047:
ORL A,R2
JZ ?C0007
; {
; SOURCE LINE # 60
; for(i=0;i<255;i++)
; SOURCE LINE # 61
CLR A
MOV R4,A
MOV R5,A
?C0004:
CLR C
MOV A,R5
SUBB A,#0FFH
MOV A,R4
SUBB A,#00H
JNC ?C0002
; {
; SOURCE LINE # 62
; _nop_();
; SOURCE LINE # 63
NOP
; _nop_();
; SOURCE LINE # 64
NOP
; _nop_();
; SOURCE LINE # 65
NOP
; _nop_();
; SOURCE LINE # 66
NOP
; _nop_();
; SOURCE LINE # 67
NOP
; _nop_();
; SOURCE LINE # 68
NOP
; _nop_();
; SOURCE LINE # 69
NOP
; _nop_();
; SOURCE LINE # 70
NOP
; _nop_();
; SOURCE LINE # 71
NOP
; _nop_();
; SOURCE LINE # 72
NOP
; _nop_();
; SOURCE LINE # 73
NOP
; _nop_();
; SOURCE LINE # 74
NOP
; _nop_();
; SOURCE LINE # 75
NOP
; _nop_();
; SOURCE LINE # 76
NOP
; _nop_();
; SOURCE LINE # 77
NOP
; _nop_();
; SOURCE LINE # 78
NOP
; _nop_();
; SOURCE LINE # 79
NOP
; _nop_();
; SOURCE LINE # 80
NOP
; _nop_();
; SOURCE LINE # 81
NOP
; _nop_();
; SOURCE LINE # 82
NOP
; _nop_();
; SOURCE LINE # 83
NOP
; _nop_();
; SOURCE LINE # 84
NOP
; _nop_();
; SOURCE LINE # 85
NOP
; _nop_();
; SOURCE LINE # 86
NOP
; _nop_();
; SOURCE LINE # 87
NOP
; _nop_();
; SOURCE LINE # 88
NOP
; _nop_();
; SOURCE LINE # 89
NOP
; }
; SOURCE LINE # 90
INC R5
CJNE R5,#00H,?C0048
INC R4
?C0048:
SJMP ?C0004
; }
; SOURCE LINE # 91
; }
; SOURCE LINE # 92
?C0007:
RET
; END OF _delay10ms
; void getKey()
RSEG ?PR?getKey?EMBED
getKey:
USING 0
; SOURCE LINE # 93
; {
; SOURCE LINE # 94
; P3=P3|0xF0;
; SOURCE LINE # 95
ORL P3,#0F0H
; delay10ms(1);
; SOURCE LINE # 96
MOV R7,#01H
MOV R6,#00H
LCALL _delay10ms
; key=P3&0xF0;
; SOURCE LINE # 97
MOV A,P3
ANL A,#0F0H
MOV key,A
; if(key!=0xF0 && key_down==0)
; SOURCE LINE # 98
XRL A,#0F0H
JZ ?C0015
MOV A,key_down
JNZ ?C0015
; {
; SOURCE LINE # 99
; key_down+=1;
; SOURCE LINE # 100
INC key_down
; switch(key)
; SOURCE LINE # 101
MOV A,key
ADD A,#050H
JZ ?C0011
ADD A,#0E0H
JZ ?C0012
ADD A,#0F0H
JZ ?C0013
ADD A,#070H
JNZ ?C0014
; {
; SOURCE LINE # 102
; case 0x70:
; SOURCE LINE # 103
?C0010:
; inkey=1;
; SOURCE LINE # 104
MOV inkey,#01H
; break;
; SOURCE LINE # 105
RET
; case 0xB0:
; SOURCE LINE # 106
?C0011:
; inkey=2;
; SOURCE LINE # 107
MOV inkey,#02H
; break;
; SOURCE LINE # 108
RET
; case 0xD0:
; SOURCE LINE # 109
?C0012:
; inkey=3;
; SOURCE LINE # 110
MOV inkey,#03H
; break;
; SOURCE LINE # 111
RET
; case 0xE0:
; SOURCE LINE # 112
?C0013:
; inkey=4;
; SOURCE LINE # 113
MOV inkey,#04H
; break;
; SOURCE LINE # 114
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -