📄 temp.src
字号:
; Temp.SRC generated from: Temp.c
; COMPILER INVOKED BY:
; C:\Keil\C51\BIN\C51.EXE Temp.c BROWSE DEBUG OBJECTEXTEND
$NOMOD51
NAME TEMP
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
D18B20 BIT 0B0H.3
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
DPH DATA 083H
DPL DATA 082H
EXEN2 BIT 0C8H.3
REN BIT 098H.4
T2CON DATA 0C8H
RXD BIT 0B0H.0
TXD BIT 0B0H.1
F0 BIT 0D0H.5
PSW DATA 0D0H
?PR?_TempDelay?TEMP SEGMENT CODE
?PR?Init18b20?TEMP SEGMENT CODE
?PR?_WriteByte?TEMP SEGMENT CODE
?PR?ReadByte?TEMP SEGMENT CODE
?PR?_read_bytes?TEMP SEGMENT CODE
?PR?_CRC?TEMP SEGMENT CODE
?PR?GemTemp?TEMP SEGMENT CODE
?PR?Config18b20?TEMP SEGMENT CODE
?PR?ReadID?TEMP SEGMENT CODE
?PR?TemperatuerResult?TEMP SEGMENT CODE
?PR?GetTemp?TEMP SEGMENT CODE
?PR?T1zd?TEMP SEGMENT CODE
?C_INITSEG SEGMENT CODE
?CO?TEMP SEGMENT CODE
?ID?TEMP SEGMENT IDATA
?BI?TEMP SEGMENT BIT
?DT?TEMP SEGMENT DATA
?ID?_WriteByte?TEMP SEGMENT IDATA OVERLAYABLE
?ID?ReadByte?TEMP SEGMENT IDATA OVERLAYABLE
?ID?_read_bytes?TEMP SEGMENT IDATA OVERLAYABLE
?ID?_CRC?TEMP SEGMENT IDATA OVERLAYABLE
PUBLIC p
PUBLIC TIM
PUBLIC id_buff
PUBLIC D
PUBLIC temp_buff
PUBLIC crc_data
PUBLIC TempTick
PUBLIC flag
PUBLIC Temperature
PUBLIC CrcTable
PUBLIC T1zd
PUBLIC GetTemp
PUBLIC TemperatuerResult
PUBLIC ReadID
PUBLIC Config18b20
PUBLIC GemTemp
PUBLIC _CRC
PUBLIC _read_bytes
PUBLIC ReadByte
PUBLIC _WriteByte
PUBLIC Init18b20
PUBLIC _TempDelay
RSEG ?ID?TEMP
Temperature: DS 2
crc_data: DS 1
temp_buff: DS 9
D: DS 20
id_buff: DS 8
RSEG ?BI?TEMP
flag: DBIT 1
RSEG ?DT?TEMP
TempTick: DS 2
TIM: DS 1
p: DS 1
RSEG ?ID?_WriteByte?TEMP
i?242: DS 1
RSEG ?ID?ReadByte?TEMP
i?343: DS 1
RSEG ?ID?ReadByte?TEMP
u?344: DS 1
RSEG ?ID?_read_bytes?TEMP
i?446: DS 1
RSEG ?ID?_CRC?TEMP
i?548: DS 1
RSEG ?ID?_CRC?TEMP
crc_data?549: DS 1
RSEG ?CO?TEMP
CrcTable:
DB 000H
DB 05EH
DB 0BCH
DB 0E2H
DB 061H
DB 03FH
DB 0DDH
DB 083H
DB 0C2H
DB 09CH
DB 07EH
DB 020H
DB 0A3H
DB 0FDH
DB 01FH
DB 041H
DB 09DH
DB 0C3H
DB 021H
DB 07FH
DB 0FCH
DB 0A2H
DB 040H
DB 01EH
DB 05FH
DB 001H
DB 0E3H
DB 0BDH
DB 03EH
DB 060H
DB 082H
DB 0DCH
DB 023H
DB 07DH
DB 09FH
DB 0C1H
DB 042H
DB 01CH
DB 0FEH
DB 0A0H
DB 0E1H
DB 0BFH
DB 05DH
DB 003H
DB 080H
DB 0DEH
DB 03CH
DB 062H
DB 0BEH
DB 0E0H
DB 002H
DB 05CH
DB 0DFH
DB 081H
DB 063H
DB 03DH
DB 07CH
DB 022H
DB 0C0H
DB 09EH
DB 01DH
DB 043H
DB 0A1H
DB 0FFH
DB 046H
DB 018H
DB 0FAH
DB 0A4H
DB 027H
DB 079H
DB 09BH
DB 0C5H
DB 084H
DB 0DAH
DB 038H
DB 066H
DB 0E5H
DB 0BBH
DB 059H
DB 007H
DB 0DBH
DB 085H
DB 067H
DB 039H
DB 0BAH
DB 0E4H
DB 006H
DB 058H
DB 019H
DB 047H
DB 0A5H
DB 0FBH
DB 078H
DB 026H
DB 0C4H
DB 09AH
DB 065H
DB 03BH
DB 0D9H
DB 087H
DB 004H
DB 05AH
DB 0B8H
DB 0E6H
DB 0A7H
DB 0F9H
DB 01BH
DB 045H
DB 0C6H
DB 098H
DB 07AH
DB 024H
DB 0F8H
DB 0A6H
DB 044H
DB 01AH
DB 099H
DB 0C7H
DB 025H
DB 07BH
DB 03AH
DB 064H
DB 086H
DB 0D8H
DB 05BH
DB 005H
DB 0E7H
DB 0B9H
DB 08CH
DB 0D2H
DB 030H
DB 06EH
DB 0EDH
DB 0B3H
DB 051H
DB 00FH
DB 04EH
DB 010H
DB 0F2H
DB 0ACH
DB 02FH
DB 071H
DB 093H
DB 0CDH
DB 011H
DB 04FH
DB 0ADH
DB 0F3H
DB 070H
DB 02EH
DB 0CCH
DB 092H
DB 0D3H
DB 08DH
DB 06FH
DB 031H
DB 0B2H
DB 0ECH
DB 00EH
DB 050H
DB 0AFH
DB 0F1H
DB 013H
DB 04DH
DB 0CEH
DB 090H
DB 072H
DB 02CH
DB 06DH
DB 033H
DB 0D1H
DB 08FH
DB 00CH
DB 052H
DB 0B0H
DB 0EEH
DB 032H
DB 06CH
DB 08EH
DB 0D0H
DB 053H
DB 00DH
DB 0EFH
DB 0B1H
DB 0F0H
DB 0AEH
DB 04CH
DB 012H
DB 091H
DB 0CFH
DB 02DH
DB 073H
DB 0CAH
DB 094H
DB 076H
DB 028H
DB 0ABH
DB 0F5H
DB 017H
DB 049H
DB 008H
DB 056H
DB 0B4H
DB 0EAH
DB 069H
DB 037H
DB 0D5H
DB 08BH
DB 057H
DB 009H
DB 0EBH
DB 0B5H
DB 036H
DB 068H
DB 08AH
DB 0D4H
DB 095H
DB 0CBH
DB 029H
DB 077H
DB 0F4H
DB 0AAH
DB 048H
DB 016H
DB 0E9H
DB 0B7H
DB 055H
DB 00BH
DB 088H
DB 0D6H
DB 034H
DB 06AH
DB 02BH
DB 075H
DB 097H
DB 0C9H
DB 04AH
DB 014H
DB 0F6H
DB 0A8H
DB 074H
DB 02AH
DB 0C8H
DB 096H
DB 015H
DB 04BH
DB 0A9H
DB 0F7H
DB 0B6H
DB 0E8H
DB 00AH
DB 054H
DB 0D7H
DB 089H
DB 06BH
DB 035H
RSEG ?C_INITSEG
DB 002H
DB TempTick
DW 00000H
;
; /*************************此部分为18B20的驱动程序*************************************/
; #include <reg52.H>
; #include <intrins.h>
;
; sbit D18B20=P3^3;
; #define NOP() _nop_() /* 定义空指令 */
; #define _Nop() _nop_() /*定义空指令*/
;
; void TempDelay (unsigned char idata us);
; void Init18b20 (void);
; void WriteByte (unsigned char idata wr); //单字节写入
; void read_bytes (unsigned char idata j);
; unsigned char CRC (unsigned char j);
; void GemTemp (void);
; void Config18b20 (void);
; void ReadID (void);
; void TemperatuerResult(void);
;
;
; bit flag;
; unsigned int idata Temperature,D[10];
; unsigned char idata temp_buff[9]; //存储读取的字节,read scratchpad为9字节,read rom ID为8字节
; unsigned char idata id_buff[8];
; unsigned char idata *p,TIM;
; unsigned char idata crc_data;
;
;
; unsigned char code CrcTable [256]={
; 0, 94, 188, 226, 97, 63, 221, 131, 194, 156, 126, 32, 163, 253, 31, 65,
; 157, 195, 33, 127, 252, 162, 64, 30, 95, 1, 227, 189, 62, 96, 130, 220,
; 35, 125, 159, 193, 66, 28, 254, 160, 225, 191, 93, 3, 128, 222, 60, 98,
; 190, 224, 2, 92, 223, 129, 99, 61, 124, 34, 192, 158, 29, 67, 161, 255,
; 70, 24, 250, 164, 39, 121, 155, 197, 132, 218, 56, 102, 229, 187, 89, 7,
; 219, 133, 103, 57, 186, 228, 6, 88, 25, 71, 165, 251, 120, 38, 196, 154,
; 101, 59, 217, 135, 4, 90, 184, 230, 167, 249, 27, 69, 198, 152, 122, 36,
; 248, 166, 68, 26, 153, 199, 37, 123, 58, 100, 134, 216, 91, 5, 231, 185,
; 140, 210, 48, 110, 237, 179, 81, 15, 78, 16, 242, 172, 47, 113, 147, 205,
; 17, 79, 173, 243, 112, 46, 204, 146, 211, 141, 111, 49, 178, 236, 14, 80,
; 175, 241, 19, 77, 206, 144, 114, 44, 109, 51, 209, 143, 12, 82, 176, 238,
; 50, 108, 142, 208, 83, 13, 239, 177, 240, 174, 76, 18, 145, 207, 45, 115,
; 202, 148, 118, 40, 171, 245, 23, 73, 8, 86, 180, 234, 105, 55, 213, 139,
; 87, 9, 235, 181, 54, 104, 138, 212, 149, 203, 41, 119, 244, 170, 72, 22,
; 233, 183, 85, 11, 136, 214, 52, 106, 43, 117, 151, 201, 74, 20, 246, 168,
; 116, 42, 200, 150, 21, 75, 169, 247, 182, 232, 10, 84, 215, 137, 107, 53};
; //
; /************************************************************
; *Function:延时处理
; *parameter:
; *Return:
; *Modify:
; *************************************************************/
; void TempDelay (unsigned char idata us)
RSEG ?PR?_TempDelay?TEMP
_TempDelay:
USING 0
; SOURCE LINE # 54
;---- Variable 'us?040' assigned to Register 'R7' ----
; {
; SOURCE LINE # 55
?C0001:
; while(us--);
; SOURCE LINE # 56
MOV R6,AR7
DEC R7
MOV A,R6
JNZ ?C0001
; }
; SOURCE LINE # 57
?C0003:
RET
; END OF _TempDelay
;
; /************************************************************
; *Function:18B20初始化
; *parameter:
; *Return:
; *Modify:
; *************************************************************/
; void Init18b20 (void)
RSEG ?PR?Init18b20?TEMP
Init18b20:
USING 0
; SOURCE LINE # 65
; {
; SOURCE LINE # 66
; D18B20=1;
; SOURCE LINE # 67
SETB D18B20
; _nop_();
; SOURCE LINE # 68
NOP
; D18B20=0;
; SOURCE LINE # 69
CLR D18B20
; TempDelay(40); //delay 530 uS//80
; SOURCE LINE # 70
MOV R7,#028H
LCALL _TempDelay
; _nop_();
; SOURCE LINE # 71
NOP
; D18B20=1;
; SOURCE LINE # 72
SETB D18B20
; TempDelay(7); //delay 100 uS//14
; SOURCE LINE # 73
MOV R7,#07H
LCALL _TempDelay
; _nop_();
; SOURCE LINE # 74
NOP
; _nop_();
; SOURCE LINE # 75
NOP
; _nop_();
; SOURCE LINE # 76
NOP
;
; if(D18B20==0)
; SOURCE LINE # 78
JB D18B20,?C0004
; flag = 1; //detect 1820 success!
; SOURCE LINE # 79
SETB flag
SJMP ?C0005
?C0004:
; else
; flag = 0; //detect 1820 fail!
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -