⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stc12c5a60s2-pdip40+ds18b20+lcd1602ʦ

📁 基于8051仿真 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 + -