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

📄 hehe.lst

📁 该程序解决了单片机c语言中时序要求严格的问题,已经调试通过
💻 LST
📖 第 1 页 / 共 2 页
字号:
 151   1              write_byte(TH);
 152   1              write_byte(TL);
 153   1              write_byte(confgReg);
 154   1              
 155   1      }
 156          
 157          
 158          /*void read_ROMID(void)                                         // 总线上只有一个DS18B20时,主机读出它的64位ROM代码
 159          {
 160                  uchar i;
 161                  write_byte(0x33);                                       // 启动读ROM
 162                  for(i=0;i<8;i++)
 163                  {
 164                          ROMID[0][i]=read_byte();
 165                  }
 166          }*/
 167          
 168                  
 169          main()
 170          {   
 171   1      
 172   1              uchar k,th,tl,defaulth,defaultl,confi;
 173   1              unit t=0;
 174   1              
 175   1              float result;
 176   1              P1=0x7f;
 177   1              DQ=0;
 178   1          initial();
 179   1          TR1=1;      
C51 COMPILER V7.50   HEHE                                                                  01/10/2006 11:16:02 PAGE 4   

 180   1              
 181   1              
 182   1              while(1)
 183   1              {
 184   2                        
 185   2                      bus_reset();                                            // 如果总线上没有DS18B20,就等待
 186   2                      write_byte(0xCC);
 187   2                      write_scratchPad();                             // 先匹配传感器,再写入TH、TL、配置寄存器
 188   2                      
 189   2              //      bus_reset();                        // 复位
 190   2                      send_matchRom();                                        // 匹配第0个传感器
 191   2                      write_byte(0x44);                                       // 启动转换     
 192   2                      while(!read_bit());                                     // DQ 为低电平,等待,DQ为高表示转换结束  
 193   2      
 194   2                      bus_reset();
 195   2                      write_byte(0xCC);
 196   2                      write_byte(0xBE);                                       // 读取温度值,scratchPad的前两个字节就是温度         
 197   2                      tl=read_byte();
 198   2                      th=read_byte();
 199   2                      defaulth=read_byte();
 200   2                      defaultl=read_byte();
 201   2                      confi=read_byte();
 202   2                      tl&=0xfc;                                                       // 精度是10位,因此最低两位无效,屏蔽掉
 203   2                      t=th;
 204   2                      t<<=8;
 205   2                      t|=tl;
 206   2                      result=t*0.0625;
 207   2                      k=(uchar)result;
 208   2                  
 209   2                  LED=!LED; // 发光二极管亮,提示发出一个数据      
 210   2              SBUF=th;
 211   2              while(TI==0);
 212   2              TI=0;  
 213   2            
 214   2              SBUF=tl;
 215   2              while(TI==0);
 216   2              TI=0;  
 217   2              delay_1s();
 218   2              SBUF=defaulth;
 219   2              while(TI==0);
 220   2              TI=0;  
 221   2              
 222   2              SBUF=defaultl;
 223   2              while(TI==0);
 224   2              TI=0;  
 225   2              delay_1s();
 226   2                          
 227   2              }
 228   1      }
 229          
 230          
 231          
 232          
 233          
 234          
 235          
C51 COMPILER V7.50   HEHE                                                                  01/10/2006 11:16:02 PAGE 5   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
scratchPad . . . . . . . . . . . . . .  PUBLIC   DATA   ARRAY    0000H  9
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
write_scratchPad . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
DQ . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0097H  1
delay_1s . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  j. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0004H  2
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
TH . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0009H  1
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
TL . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   000AH  1
_write_byte. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  val. . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0001H  1
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0002H  1
  temp . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0003H  1
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  k. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  th . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
  tl . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0002H  1
  defaulth . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0003H  1
  defaultl . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0004H  1
  confi. . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0005H  1
  t. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0006H  2
  result . . . . . . . . . . . . . . .  * REG *  DATA   FLOAT    0004H  4
_write_bit . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  bitval . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
confgReg . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   000BH  1
SBUF . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0099H  1
PCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0087H  1
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
read_byte. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0002H  1
  value. . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0003H  1
TMOD . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0089H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
read_bit . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
send_matchRom. . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
TH1. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008DH  1
TL1. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   008BH  1
bus_reset. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  presence . . . . . . . . . . . . . .  AUTO     DATA   BIT      0000H  1
LED. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0096H  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
initial. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
_delay . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  time . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0006H  2
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0004H  2
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1
ROMID. . . . . . . . . . . . . . . . .  PUBLIC   DATA   ARRAY    000CH  8


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    412    ----
   CONSTANT SIZE    =   ----    ----
C51 COMPILER V7.50   HEHE                                                                  01/10/2006 11:16:02 PAGE 6   

   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     20       9
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -