📄 stc12c5a60s2-pdip40+ds18b20+lcd1602ʦ
字号:
C51 COMPILER V9.00 DS18B20_3 08/18/2013 22:52:19 PAGE 1
C51 COMPILER V9.00, COMPILATION OF MODULE DS18B20_3
OBJECT MODULE PLACED IN DS18B20_3.OBJ
COMPILER INVOKED BY: E:\Labcenter\Electronics\Keil C51 V8\Setupzone\C51\BIN\C51.EXE DS18B20_3.c BROWSE DEBUG OBJECTEXTEN
-D CODE LISTINCLUDE SYMBOLS
line level source
1 /*-----------------------------------------*/
2 #include "STC12C56.h"
1 =1 /*------------------------------------------------*/
2 =1 /* --- 宏晶科技 STCMCU ---------------------------*/
3 =1 /* --- Mobile: (86)13922805190 -------------------*/
4 =1 /* --- Fax: 86-755-82944243 ----------------------*/
5 =1 /* --- Tel: 86-755-82948412 ----------------------*/
6 =1 /* --- Web: www.STCMCU.com -----------------------*/
7 =1 /* 适用于: STC12C56xx STC12LE56xx ------------*/
8 =1 /* ------- STC12C56xxAD STC12LE56xxAD ----------*/
9 =1 /*------------------------------------------------*/
10 =1
11 =1 #ifndef __STC12C56_H__
12 =1 #define __STC12C56_H__
13 =1
14 =1 //////////////////////////////////////////////////////////////////////////////////////////////////////////
-//////
15 =1
16 =1 sfr PSW = 0xd0; //程序状态字 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bi
-t1 Bit0
17 =1 //位描述 CY AC F0 RS1 RS0 OV F1
- P
18 =1 //初始值=0000,0000 0 0 0 0 0 0 0
- 0
19 =1
20 =1 sbit CY = PSW^7; //进位标志
21 =1 sbit AC = PSW^6; //辅助进位标志
22 =1 sbit F0 = PSW^5; //用户标志
23 =1 sbit RS1 = PSW^4; //寄存器组选择位1
24 =1 sbit RS0 = PSW^3; //寄存器组选择位0
25 =1 sbit OV = PSW^2; //溢出标志
26 =1 sbit P = PSW^0; //ACC的偶校验位
27 =1
28 =1 /////////////////////////////////
29 =1
30 =1 sfr ACC = 0xe0; //累加器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bi
-t1 Bit0
31 =1 //初始值=0000,0000 0 0 0 0 0 0 0
- 0
32 =1
33 =1 sbit ACC7 = ACC^7; //累加器第7位
34 =1 sbit ACC6 = ACC^6; //累加器第6位
35 =1 sbit ACC5 = ACC^5; //累加器第5位
36 =1 sbit ACC4 = ACC^4; //累加器第4位
37 =1 sbit ACC3 = ACC^3; //累加器第3位
38 =1 sbit ACC2 = ACC^2; //累加器第2位
39 =1 sbit ACC1 = ACC^1; //累加器第1位
40 =1 sbit ACC0 = ACC^0; //累加器第0位
41 =1
42 =1 /////////////////////////////////
43 =1
44 =1 sfr B = 0xf0; //B寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bi
-t1 Bit0
45 =1 //初始值=0000,0000 0 0 0 0 0 0 0
C51 COMPILER V9.00 DS18B20_3 08/18/2013 22:52:19 PAGE 2
- 0
46 =1
47 =1 /////////////////////////////////
48 =1
49 =1 sfr SP = 0x81; //堆栈指针 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bi
-t1 Bit0
50 =1 //初始值=0000,0111 0 0 0 0 0 1 1
- 1
51 =1
52 =1 /////////////////////////////////
53 =1
54 =1 sfr DPL = 0x82; //数据指针低字节 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bi
-t1 Bit0
55 =1 //初始值=0000,0000 0 0 0 0 0 0 0
- 0
56 =1
57 =1 /////////////////////////////////
58 =1
59 =1 sfr DPH = 0x83; //数据指针高字节 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bi
-t1 Bit0
60 =1 //初始值=0000,0000 0 0 0 0 0 0 0
- 0
61 =1
62 =1 //////////////////////////////////////////////////////////////////////////////////////////////////////////
-//////
63 =1
64 =1 sfr PCON = 0x87; //电源控制寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bi
-t1 Bit0
65 =1 //位描述 SMOD SMOD0 LVDF POF GF1 GF0 PD
- IDL
66 =1 //初始值=0011,0000 0 0 1 1 0 0 0
- 0
67 =1
68 =1 #define SMOD 0x80 //串口波特率倍速位,置1可使波特率快1倍
69 =1 #define SMOD0 0x40 //FE/SM0选择位,0:SCON.7为SM0 1:SCON.7为FE
70 =1 #define LVDF 0x20 //低压检测中断请求位,由硬件置1,需由软件清0
71 =1 #define POF 0x10 //上电复位标志位,上电时由硬件置1,需由软件清0
72 =1 #define GF1 0x08 //通用标志位1
73 =1 #define GF0 0x04 //通用标志位0
74 =1 #define PD 0x02 //掉电控制位,写1可以使MCU进入PowerDown模式
75 =1 #define IDL 0x01 //空闲控制位,写1可以使MCU进入Idle模式
76 =1
77 =1 /////////////////////////////////
78 =1
79 =1 sfr WAKE_CLKO = 0x8f; //掉电唤醒/时钟输出控制 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bi
-t1 Bit0
80 =1 //位描述 PCAWAKEUP RXDPINIE T1PINIE T0PINIE - - T1V
-LKO T0CLKO
81 =1 //初始值=0000,xx00 0 0 0 0 x x 0
- 0
82 =1
83 =1 #define PCAWAKEUP 0x80 //允许PCA的上升沿/下降沿中断唤醒掉电MCU
84 =1 #define RXD_PIN_IE 0x40 //允许RXD(P3.0)下降沿置位RI中断时唤醒掉电MCU(必须打开相应中断)
85 =1 #define T1_PIN_IE 0x20 //允许T1(P3.5)下降沿置位T1中断时唤醒掉电MCU(必须打开相应中断)
86 =1 #define T0_PIN_IE 0x10 //允许T0(P3.4)下降沿置位T0中断时唤醒掉电MCU(必须打开相应中断)
87 =1 #define T1CLKOEN 0x02 //打开P3.5脚的定时器1时钟溢出脉冲,输出的时钟频率为1/2倍的T1溢出率
88 =1 #define T0CLKOEN 0x01 //打开P3.4脚的定时器0时钟溢出脉冲,输出的时钟频率为1/2倍的T0溢出率
89 =1
90 =1 /////////////////////////////////
91 =1
92 =1 sfr CLK_DIV = 0xc7; //时钟分频寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bi
-t1 Bit0
C51 COMPILER V9.00 DS18B20_3 08/18/2013 22:52:19 PAGE 3
93 =1 //位描述 - - - - - CLKS2 CL
-KS1 CLKS0
94 =1 //初始值=xxxx,x000 x x x x x 0 0
- 0
95 =1
96 =1 #define FOSCD1 0x00 //系统时钟为Fosc
97 =1 #define FOSCD2 0x01 //系统时钟为Fosc/2
98 =1 #define FOSCD4 0x02 //系统时钟为Fosc/4
99 =1 #define FOSCD8 0x03 //系统时钟为Fosc/8
100 =1 #define FOSCD16 0x04 //系统时钟为Fosc/16
101 =1 #define FOSCD32 0x05 //系统时钟为Fosc/32
102 =1 #define FOSCD64 0x06 //系统时钟为Fosc/64
103 =1 #define FOSCD128 0x07 //系统时钟为Fosc/128
104 =1
105 =1 /////////////////////////////////
106 =1
107 =1 sfr WDT_CONTR = 0xe1; //看门狗定时器控制器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bi
-t1 Bit0
108 =1 //位描述 WDT_FLAG - EN_WDT CLR_WDT IDL_WDT PS2 PS
-1 PS0
109 =1 //初始值=0x00,0000 0 x 0 0 0 0 0
- 0
110 =1
111 =1 #define WDT_FLAG 0x80 //看门狗复位标志,当看门狗溢出产生复位后,硬件自动置1,需要由软件清0
112 =1 #define EN_WDT 0x20 //软件使能看门狗,打开后不能用软件的方式关闭
113 =1 #define CLR_WDT 0x10 //清看门狗定时器
114 =1 #define IDLE_WDT 0x08 //IDLE模式下,看门狗定时器是否继续计时
115 =1
116 =1 //////////////////////////////////////////////////////////////////////////////////////////////////////////
-//////
117 =1
118 =1 sfr AUXR = 0x8e; //辅助寄存器 Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bi
-t1 Bit0
119 =1 //位描述 T0x12 T1x12 UM0x6 EADCI ESPI ELVDI -
- -
120 =1 //初始值=0000,00xx 0 0 0 0 0 0 x
- x
121 =1
122 =1 #define T0x12 0x80 //定时器0时钟控制,0:Fosc/12(传统的12分频) 1:Fosc/1(1T模式,不分频,即12倍于
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -