📄 serires sub.src
字号:
; .\serires sub.SRC generated from: serires sub.c
; COMPILER INVOKED BY:
; C:\Keil\C51\BIN\C51.EXE serires sub.c BROWSE DEBUG OBJECTEXTEND SRC(.\serires sub.SRC)
$NOMOD51
NAME SERIRES_SUB
P0 DATA 080H
P1 DATA 090H
P2 DATA 0A0H
XICON DATA 0C0H
P3 DATA 0B0H
T0 BIT 0B0H.4
AC BIT 0D0H.6
P4 DATA 0A5H
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
IE2 BIT 0C0H.1
IE3 BIT 0C0H.5
AUXR DATA 08EH
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
IT2 BIT 0C0H.0
EX2 BIT 0C0H.2
P BIT 0D0H.0
IT3 BIT 0C0H.4
EX3 BIT 0C0H.6
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
BDR BIT 090H.5
TR2 BIT 0C8H.2
PX0 BIT 0B8H.0
PX1 BIT 0B8H.2
BDT BIT 0B0H.5
PX2 BIT 0C0H.3
PX3 BIT 0C0H.7
DPH DATA 083H
DPL DATA 082H
EXEN2 BIT 0C8H.3
REN BIT 098H.4
T2CON DATA 0C8H
RES BIT 090H.7
RXD BIT 0B0H.0
TXD BIT 0B0H.1
F0 BIT 0D0H.5
PSW DATA 0D0H
?PR?Baud_Config?SERIRES_SUB SEGMENT CODE
?DT?Baud_Config?SERIRES_SUB SEGMENT DATA OVERLAYABLE
?PR?_Tr_write_sequence?SERIRES_SUB SEGMENT CODE
?DT?_Tr_write_sequence?SERIRES_SUB SEGMENT DATA OVERLAYABLE
?PR?_Config_Eeprom?SERIRES_SUB SEGMENT CODE
?DT?_Config_Eeprom?SERIRES_SUB SEGMENT DATA OVERLAYABLE
?PR?Read_datas?SERIRES_SUB SEGMENT CODE
?DT?Read_datas?SERIRES_SUB SEGMENT DATA OVERLAYABLE
?PR?In_datas?SERIRES_SUB SEGMENT CODE
?DT?In_datas?SERIRES_SUB SEGMENT DATA OVERLAYABLE
?PR?Write_datas?SERIRES_SUB SEGMENT CODE
?DT?Write_datas?SERIRES_SUB SEGMENT DATA OVERLAYABLE
?PR?Erase_datas?SERIRES_SUB SEGMENT CODE
?DT?Erase_datas?SERIRES_SUB SEGMENT DATA OVERLAYABLE
?XD?SERIRES_SUB SEGMENT XDATA
EXTRN CODE (delay100ms)
EXTRN CODE (delay200ms)
EXTRN CODE (_RecByte)
EXTRN CODE (delay104us)
EXTRN CODE (_output)
EXTRN CODE (delay1ms)
EXTRN DATA (Instruction)
EXTRN CODE (input)
EXTRN CODE (delay10ms)
EXTRN CODE (_Trbyte)
EXTRN CODE (delay10us)
EXTRN CODE (delay52us)
PUBLIC Eeprom
PUBLIC Erase_datas
PUBLIC Write_datas
PUBLIC In_datas
PUBLIC Read_datas
PUBLIC _Config_Eeprom
PUBLIC ?_Tr_write_sequence?BYTE
PUBLIC _Tr_write_sequence
PUBLIC Baud_Config
RSEG ?DT?Write_datas?SERIRES_SUB
?Write_datas?BYTE:
addrll?562: DS 1
addrhh?563: DS 1
w_cycle?564: DS 2
Crystal?565: DS 2
Crystal_r?566: DS 2
Data_Size_Write?567: DS 2
back_byte_h?568: DS 1
back_byte_l?569: DS 1
RSEG ?DT?_Config_Eeprom?SERIRES_SUB
?_Config_Eeprom?BYTE:
byte_config?251: DS 2
RSEG ?DT?In_datas?SERIRES_SUB
?In_datas?BYTE:
j_in?460: DS 2
In_size?461: DS 2
RSEG ?DT?Baud_Config?SERIRES_SUB
?Baud_Config?BYTE:
ii?040: DS 2
bytehh?041: DS 1
bytell?042: DS 1
Baud_byte_r?043: DS 2
Baud_vh?044: DS 2
RSEG ?DT?Erase_datas?SERIRES_SUB
?Erase_datas?BYTE:
addrll?670: DS 1
addrhh?671: DS 1
Crystal?672: DS 2
Crystal_r?673: DS 2
Data_Size_Write?674: DS 2
back_byte_h?675: DS 1
RSEG ?DT?Read_datas?SERIRES_SUB
?Read_datas?BYTE:
addrll?352: DS 1
addrhh?353: DS 1
r_cycle?354: DS 2
Crystal?355: DS 2
Crystal_r?356: DS 2
Data_Size_Read?357: DS 2
byte_h?358: DS 1
byte_l?359: DS 1
RSEG ?DT?_Tr_write_sequence?SERIRES_SUB
?_Tr_write_sequence?BYTE:
byte1?145: DS 1
byte2?146: DS 2
byte3?147: DS 2
byte4?148: DS 2
byte5?149: DS 2
byte_config_sub?150: DS 2
RSEG ?XD?SERIRES_SUB
Eeprom: DS 4096
; #include <reg54.h>
; #include <delay subroutine.h>
; #include <byteone.h>
; #include <intrins.h>
; #define uchar unsigned char
; #define uint unsigned int
;
; sbit BDR=P1^5;
; sbit BDT=P3^5;
; sbit RES=P1^7;
; uchar xdata Eeprom[4096];
;
; extern uchar Instruction[5];
; /*
; void Timer_ini()
; {
; TH1=0xff;
; TL1=0x01;
;
; TMOD=0x20;
; SCON=0x50;
; PCON=0x80;
; }
;
; void timer1_isr(void) interrupt 3 using 0
; {
; TH1=0x75;
; TL1=0x5f;
;
; }
; void Timer_Delay(uchar TL1_value,TH1_value)
; {
; TR1=0;
; TH1=TH1_value;
; TL1=TL1_value;
;
; TMOD=0x10;
; TR1=1; //启动定时器1
; while(TF1!=1);
; // TF1=0;
; TR1=0;
; }*/
;
; uint Baud_Config()
RSEG ?PR?Baud_Config?SERIRES_SUB
Baud_Config:
USING 0
; SOURCE LINE # 44
; {
; SOURCE LINE # 45
; int ii;
; uchar bytehh,bytell;
; uint Baud_byte_r;
; uint Baud_vh;
; Baud_vh=1;
; SOURCE LINE # 50
MOV Baud_vh?044,#00H
MOV Baud_vh?044+01H,#01H
; // Baud_vl=1;
;
; BDT=0;
; SOURCE LINE # 53
CLR BDT
; RES=0;
; SOURCE LINE # 54
CLR RES
; delay100ms();
; SOURCE LINE # 55
LCALL delay100ms
; RES=1;
; SOURCE LINE # 56
SETB RES
; delay100ms();
; SOURCE LINE # 57
LCALL delay100ms
; BDT=1;
; SOURCE LINE # 58
SETB BDT
; delay100ms();
; SOURCE LINE # 59
LCALL delay100ms
;
; Trbyte(0x90,Baud_vh,Baud_vh);
; SOURCE LINE # 61
MOV R3,Baud_vh?044+01H
MOV R2,Baud_vh?044
MOV R5,Baud_vh?044+01H
MOV R4,Baud_vh?044
MOV R7,#090H
LCALL _Trbyte
; delay10ms();
; SOURCE LINE # 62
LCALL delay10ms
; for(ii=0;ii<1000;ii++)
; SOURCE LINE # 63
CLR A
MOV ii?040,A
MOV ii?040+01H,A
?C0001:
; {
; SOURCE LINE # 64
; delay10ms();
; SOURCE LINE # 65
LCALL delay10ms
; Baud_byte_r=Baud_vh+1;
; SOURCE LINE # 66
MOV A,Baud_vh?044+01H
ADD A,#01H
MOV Baud_byte_r?043+01H,A
CLR A
ADDC A,Baud_vh?044
MOV Baud_byte_r?043,A
; Trbyte(0xe0,Baud_vh,Baud_vh);Trbyte(0x00,Baud_vh,Baud_vh);Trbyte(0x0b,Baud_vh,Baud_vh);//e0 00 0b
; SOURCE LINE # 67
MOV R3,Baud_vh?044+01H
MOV R2,Baud_vh?044
MOV R5,Baud_vh?044+01H
MOV R4,Baud_vh?044
MOV R7,#0E0H
LCALL _Trbyte
MOV R3,Baud_vh?044+01H
MOV R2,Baud_vh?044
MOV R5,Baud_vh?044+01H
MOV R4,Baud_vh?044
CLR A
MOV R7,A
LCALL _Trbyte
MOV R3,Baud_vh?044+01H
MOV R2,Baud_vh?044
MOV R5,Baud_vh?044+01H
MOV R4,Baud_vh?044
MOV R7,#0BH
LCALL _Trbyte
; delay10us();delay10us();
; SOURCE LINE # 68
LCALL delay10us
LCALL delay10us
; bytehh=RecByte(Baud_byte_r);
; SOURCE LINE # 69
MOV R7,Baud_byte_r?043+01H
LCALL _RecByte
MOV bytehh?041,R7
; bytell=RecByte(Baud_byte_r);
; SOURCE LINE # 70
MOV R7,Baud_byte_r?043+01H
LCALL _RecByte
MOV bytell?042,R7
; // output(bytell);
; // delay1ms();
; if(bytell!=0x00)
; SOURCE LINE # 73
MOV A,bytell?042
JZ ?C0002
; {
; SOURCE LINE # 74
; Baud_vh+=1;
; SOURCE LINE # 75
INC Baud_vh?044+01H
MOV A,Baud_vh?044+01H
JNZ ?C0038
INC Baud_vh?044
?C0038:
;
; // Baud_vl+=1;
; continue;
; SOURCE LINE # 78
; }
; SOURCE LINE # 79
; break;
; SOURCE LINE # 80
; }
; SOURCE LINE # 81
?C0003:
INC ii?040+01H
MOV A,ii?040+01H
JNZ ?C0039
INC ii?040
?C0039:
CLR C
SUBB A,#0E8H
MOV A,ii?040
XRL A,#080H
SUBB A,#083H
JC ?C0001
?C0002:
;
;
; Trbyte(0xe4,Baud_vh,Baud_vh);Trbyte(0xff,Baud_vh,Baud_vh);Trbyte(0x01,Baud_vh,Baud_vh);//e4 ff 01
; SOURCE LINE # 84
MOV R3,Baud_vh?044+01H
MOV R2,Baud_vh?044
MOV R5,Baud_vh?044+01H
MOV R4,Baud_vh?044
MOV R7,#0E4H
LCALL _Trbyte
MOV R3,Baud_vh?044+01H
MOV R2,Baud_vh?044
MOV R5,Baud_vh?044+01H
MOV R4,Baud_vh?044
MOV R7,#0FFH
LCALL _Trbyte
MOV R3,Baud_vh?044+01H
MOV R2,Baud_vh?044
MOV R5,Baud_vh?044+01H
MOV R4,Baud_vh?044
MOV R7,#01H
LCALL _Trbyte
; delay10us();delay10us();
; SOURCE LINE # 85
LCALL delay10us
LCALL delay10us
; bytehh=RecByte(Baud_byte_r);
; SOURCE LINE # 86
MOV R7,Baud_byte_r?043+01H
LCALL _RecByte
MOV bytehh?041,R7
; bytell=RecByte(Baud_byte_r);
; SOURCE LINE # 87
MOV R7,Baud_byte_r?043+01H
LCALL _RecByte
MOV bytell?042,R7
; // output(bytell); //
; if((bytell & 0xc0) == 0xc0)
; SOURCE LINE # 89
MOV A,bytell?042
ANL A,#0C0H
MOV R7,A
CJNE R7,#0C0H,?C0005
; {
; SOURCE LINE # 90
; output(0x55);
; SOURCE LINE # 91
MOV R7,#055H
LCALL _output
; output(0xbb);
; SOURCE LINE # 92
MOV R7,#0BBH
LCALL _output
; }
; SOURCE LINE # 93
SJMP ?C0006
?C0005:
; else
; {
; SOURCE LINE # 95
; output(0xaa);
; SOURCE LINE # 96
MOV R7,#0AAH
LCALL _output
; output(0x00);
; SOURCE LINE # 97
CLR A
MOV R7,A
LCALL _output
;
; P4 &= ~(1 << 3); //报错点亮红灯+
; SOURCE LINE # 99
ANL P4,#0F7H
;
; P4 &= ~(1 << 1);
; SOURCE LINE # 101
ANL P4,#0FDH
; delay200ms();delay200ms();
; SOURCE LINE # 102
LCALL delay200ms
LCALL delay200ms
; P4 |= (1 << 1); //蜂鸣器
; SOURCE LINE # 103
ORL P4,#02H
; delay200ms();delay200ms();
; SOURCE LINE # 104
LCALL delay200ms
LCALL delay200ms
; P4 &= ~(1 << 1);
; SOURCE LINE # 105
ANL P4,#0FDH
; delay200ms();delay200ms();
; SOURCE LINE # 106
LCALL delay200ms
LCALL delay200ms
; P4 |= (1 << 1); //蜂鸣器
; SOURCE LINE # 107
ORL P4,#02H
; delay200ms();delay200ms();
; SOURCE LINE # 108
LCALL delay200ms
LCALL delay200ms
; P4 &= ~(1 << 1);
; SOURCE LINE # 109
ANL P4,#0FDH
; delay200ms();delay200ms();
; SOURCE LINE # 110
LCALL delay200ms
LCALL delay200ms
; P4 |= (1 << 1); //蜂鸣器
; SOURCE LINE # 111
ORL P4,#02H
;
; #pragma asm
; ljmp 8000h
ljmp 8000h
; #pragma endasm
; }
; SOURCE LINE # 116
?C0006:
;
; return(Baud_vh);
; SOURCE LINE # 118
MOV R6,Baud_vh?044
MOV R7,Baud_vh?044+01H
; }
; SOURCE LINE # 119
?C0007:
RET
; END OF Baud_Config
;
; void Tr_write_sequence(uchar byte1,byte2,byte3,byte4,byte5,uint byte_config_sub)
RSEG ?PR?_Tr_write_sequence?SERIRES_SUB
L?0041:
USING 0
MOV R2,#00H
MOV R4,#00H
L?0042:
MOV R5,#01H
MOV R7,#0C0H
_Tr_write_sequence:
USING 0
; SOURCE LINE # 121
MOV byte2?146,R4
MOV byte2?146+01H,R5
MOV byte3?147,R2
MOV byte3?147+01H,R3
;---- Variable 'byte1?145' assigned to Register 'R7' ----
; {
; SOURCE LINE # 122
; Trbyte(byte1,byte_config_sub,byte_config_sub);
; SOURCE LINE # 123
MOV R3,byte_config_sub?150+01H
MOV R2,byte_config_sub?150
MOV R5,byte_config_sub?150+01H
MOV R4,byte_config_sub?150
LCALL _Trbyte
; Trbyte(byte2,byte_config_sub,byte_config_sub);
; SOURCE LINE # 124
MOV R7,byte2?146+01H
MOV R3,byte_config_sub?150+01H
MOV R2,byte_config_sub?150
MOV R5,byte_config_sub?150+01H
MOV R4,byte_config_sub?150
LCALL _Trbyte
; Trbyte(byte3,byte_config_sub,byte_config_sub);
; SOURCE LINE # 125
MOV R7,byte3?147+01H
MOV R3,byte_config_sub?150+01H
MOV R2,byte_config_sub?150
MOV R5,byte_config_sub?150+01H
MOV R4,byte_config_sub?150
LCALL _Trbyte
; Trbyte(byte4,byte_config_sub,byte_config_sub);
; SOURCE LINE # 126
MOV R7,byte4?148+01H
MOV R3,byte_config_sub?150+01H
MOV R2,byte_config_sub?150
MOV R5,byte_config_sub?150+01H
MOV R4,byte_config_sub?150
LCALL _Trbyte
; Trbyte(byte5,byte_config_sub,byte_config_sub);
; SOURCE LINE # 127
MOV R7,byte5?149+01H
MOV R3,byte_config_sub?150+01H
MOV R2,byte_config_sub?150
MOV R5,byte_config_sub?150+01H
MOV R4,byte_config_sub?150
LJMP _Trbyte
; END OF _Tr_write_sequence
; }
;
; void Config_Eeprom(uint byte_config)
RSEG ?PR?_Config_Eeprom?SERIRES_SUB
_Config_Eeprom:
USING 0
; SOURCE LINE # 130
MOV byte_config?251,R6
MOV byte_config?251+01H,R7
; {
; SOURCE LINE # 131
; delay104us();
; SOURCE LINE # 132
LCALL delay104us
; Tr_write_sequence(0xc0,0x00,0x12,0x41,0x41,byte_config);
; SOURCE LINE # 133
MOV ?_Tr_write_sequence?BYTE+05H,#00H
MOV ?_Tr_write_sequence?BYTE+06H,#041H
MOV ?_Tr_write_sequence?BYTE+07H,#00H
MOV ?_Tr_write_sequence?BYTE+08H,#041H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -