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

📄 succeed.lst

📁 单片机单片机单单片机单片机单片机单片机单片机单片机单片机单片机单片机单片机单片机单片机单片机单片机单片机单片机单片机单片机片机单片机单片机单片机
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V6.12  SUCCEED                                                                04/28/2009 23:07:23 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE SUCCEED
OBJECT MODULE PLACED IN succeed.obj
COMPILER INVOKED BY: E:\Keil\C51\BIN\C51.EXE .\sucess\succeed.c DEBUG OBJECTEXTEND PRINT(.\succeed.lst) OBJECT(succeed.o
                    -bj) 

stmt level    source

   1          #include<reg52.h>
   2          #include<stdio.h>
   3          #include<intrins.h>
   4          
   5          #define uchar unsigned char 
   6          #define uint unsigned int 
   7          
   8          sbit dula=P2^6;
   9          sbit wela=P2^7;
  10          sbit dq=P2^2;
  11          sbit feng=P2^3;
  12          
  13          uint c1_temper,c2_temper;
  14          float f1_temper,f2_temper;
  15          
  16          uint L_temper;
  17          uint H_temper;
  18          
  19          uchar iccode[16]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
  20          ,0x00,0x00,0x00,0x00};
  21          
  22          uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,
  23          0xBf,0x86,0xDb,0xCf,0xE6, 0xEd,0xEd,0x87,0xFf,0xEf};
  24          
  25          void delay_ms(uint z);
  26          void delay_us();
  27          void dq_reset();
  28          void write_cmd(uchar z);
  29          uchar read_temper();
  30          uint get_temper();
  31          uchar read_bit();
  32          void get_firstid();
  33          void get_seconedid();
  34          void write_date(uchar z);
  35          uchar read_date();
  36          void write_bit(uchar dd);
  37          void convert();
  38          void deal_temper();
  39          void deal_ds1();
  40          void deal_ds2();
  41          void display_temper(uint wengdu,uchar fc);
  42          void init1();
  43          void init2();
  44          void warn_temper(uchar dj);
  45          /*******************delaytime********************/
  46          
  47          void delay_ms(uint z)//毫秒级的延迟
  48          {	
  49   1      	uint x,y;
  50   1      	for(x=z;x>0;x--)
  51   1      		for(y=110;y>0;y--);	
  52   1      }
  53          
  54          void delay_us()//延时微秒
C51 COMPILER V6.12  SUCCEED                                                                04/28/2009 23:07:23 PAGE 2   

  55          {
  56   1      	_nop_();
  57   1      }
  58          /********************dqreset**************************/
  59          
  60          void dq_reset()//复位
  61          {
  62   1      	uchar t;
  63   1      	
  64   1      	dq=0;
  65   1      	for(t=250;t>0;t--);
  66   1      	dq=1;
  67   1      	for(t=100;t>0;t--);
  68   1      }
  69          
  70          /***********************temper*********************/
  71          
  72          uchar read_temper()//读温度
  73          { 
  74   1      	uchar i;
  75   1      	uchar temp; 
  76   1      	uchar dd;
  77   1      
  78   1      	temp=0x00; 
  79   1      	for(i=0;i<8;i++) 
  80   1      	{ 
  81   2      		temp=_cror_(temp,1); 
  82   2      		
  83   2      		dd=read_bit();
  84   2      		if(dd==1) 
  85   2      		{ 
  86   3      			temp=temp|0x80; 
  87   3      		} 
  88   2      		else 
  89   2      		{ 
  90   3      			temp=temp|0x00; 
  91   3      		} 
  92   2      	} 
  93   1      	return(temp); 
  94   1      } 
  95          
  96          uint get_temper()//get centigrad for the ram
  97          {
  98   1      
  99   1      	uchar LSB_temper;
 100   1      	uchar MSB_temper;
 101   1      	uint c_temper=0;
 102   1      	float f_temper=0;
 103   1      
 104   1      	//dq_reset();
 105   1      	//write_cmd(0xcc);
 106   1      	//write_cmd(0xcc);
 107   1      	write_cmd(0xbe);
 108   1      
 109   1      	LSB_temper=read_temper();
 110   1      	MSB_temper=read_temper();
 111   1      	
 112   1      	c_temper=MSB_temper;
 113   1      	c_temper=c_temper<<8;
 114   1      	c_temper=c_temper|LSB_temper;
 115   1      	f_temper=c_temper*0.0625;
 116   1      	c_temper=f_temper*10+0.5;
C51 COMPILER V6.12  SUCCEED                                                                04/28/2009 23:07:23 PAGE 3   

 117   1      	
 118   1      	return c_temper;
 119   1      }
 120          
 121          void write_cmd(uchar z)//写命令
 122          {
 123   1      	uchar i,t;
 124   1      	uchar temper;
 125   1      	uchar cmd=z;
 126   1      
 127   1      	for(i=0;i<8;i++)
 128   1      	{
 129   2      		temper=cmd&0x01;
 130   2      		if(temper)
 131   2      		{
 132   3      			dq=0;
 133   3      			delay_us();
 134   3      			delay_us();
 135   3      			dq=1;
 136   3      			for(t=30;t>0;t--);	
 137   3      		}
 138   2      		else
 139   2      		{
 140   3      			dq=0;
 141   3      			for(t=50;t>0;t--);
 142   3      			dq=1;
 143   3      			delay_us();	delay_us();		
 144   3      		}
 145   2      		cmd=_cror_(cmd,1);
 146   2      	}	
 147   1      	
 148   1      }
 149          
 150          /************************writeorreadbit********************************/
 151          
 152          uchar read_bit()
 153          {
 154   1      	uchar dd;
 155   1      	uchar t;
 156   1      
 157   1      	dq=0;
 158   1      	delay_us();
 159   1      	dq=1;
 160   1      	for(t=2;t>0;t--);
 161   1      	dd=dq;//get the signal
 162   1      	for(t=20;t>0;t--);
 163   1      	return(dd);	
 164   1      }
 165          
 166          void write_bit(uchar dd)
 167          {
 168   1      	uchar t;
 169   1      
 170   1      	if(dd==1)
 171   1      	{
 172   2      		dq=0;
 173   2      		delay_us();
 174   2      		dq=1;
 175   2      		for(t=30;t>0;t--);	
 176   2      	}	
 177   1      	else
 178   1      	{
C51 COMPILER V6.12  SUCCEED                                                                04/28/2009 23:07:23 PAGE 4   

 179   2      		dq=0;
 180   2      		for(t=20;t>0;t--);
 181   2      		dq=1;
 182   2      		delay_us();
 183   2      		delay_us();
 184   2      	}
 185   1      }
 186          
 187          /*************************getid*************************/
 188          
 189          void get_firstid()
 190          {
 191   1      	uchar t;
 192   1      	uchar w=0;
 193   1      	uchar d1,d2;
 194   1      	
 195   1      	dq_reset();
 196   1      	write_cmd(0xf0);
 197   1      
 198   1      	for(t=0;t<64;t++)
 199   1      	{
 200   2      		d1=read_bit();
 201   2      		d2=read_bit();
 202   2      		if((t>0)&&(t%8==0)) ++w;	
 203   2      		iccode[w]=_cror_(iccode[w],1);
 204   2      		
 205   2      		if( (d1==1) && (d2==0) )
 206   2      		{
 207   3      			iccode[w]=(iccode[w])|0x80;
 208   3      			write_bit(1);
 209   3      		}
 210   2      		else if( (d1==0) && (d2==1))
 211   2      		{
 212   3      			iccode[w]=(iccode[w])|0x00;
 213   3      			write_bit(0);
 214   3      		}
 215   2      		else if( (d1==0) && (d2==0) )
 216   2      		{
 217   3      			iccode[w]=(iccode[w])|0x00;
 218   3      			write_bit(0);
 219   3      		}
 220   2      	}
 221   1      }
 222          
 223          void get_seconedid()
 224          {
 225   1      	uchar t;
 226   1      	uchar w=8;
 227   1      	uchar d1,d2;
 228   1      	
 229   1      	dq_reset();
 230   1      	write_cmd(0xf0);
 231   1      
 232   1      	for(t=0;t<64;t++)
 233   1      	{
 234   2      		d1=read_bit();
 235   2      		d2=read_bit();
 236   2      		if( (t>0) && (t%8==0) ) ++w;
 237   2      		iccode[w]=_cror_(iccode[w],1);
 238   2      		
 239   2      		if( (d1==1) && (d2==0) )
 240   2      		{
C51 COMPILER V6.12  SUCCEED                                                                04/28/2009 23:07:23 PAGE 5   

 241   3      			write_bit(1);

⌨️ 快捷键说明

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