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

📄 practise.lst

📁 单片机单片机单单片机单片机单片机单片机单片机单片机单片机单片机单片机单片机单片机单片机单片机单片机单片机单片机单片机单片机片机单片机单片机单片机
💻 LST
字号:
C51 COMPILER V6.12  PRACTISE                                                               04/29/2009 13:12:57 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE PRACTISE
OBJECT MODULE PLACED IN .\practise.OBJ
COMPILER INVOKED BY: E:\Keil\C51\BIN\C51.EXE .\practise.c DEBUG OBJECTEXTEND

stmt level    source

   1          #include<reg52.h>
   2          #include<intrins.h>
   3          
   4          #define uchar unsigned char
   5          #define uint unsigned int
   6          
   7          sbit feng=P2^3;
   8          sbit dq=P2^2;
   9          sbit led=P1^0;
  10          sbit dula=P2^6;
  11          sbit wela=P2^7;
  12          
  13          uchar L_temper;
  14          uchar H_temper;
  15          
  16          uint C_temper;
  17          
  18          uchar code table[]={
  19          0x3f,0x06,0x5b,0x4f,
  20          0x66,0x6d,0x7d,0x07,
  21          0x7f,0x6f,0x77,0x7c,
  22          0x39,0x5e,0x79,0x71	
  23          };
  24          
  25          uchar code table2[]={
  26          0xfe,0xfd,0xfb,0xf7,0xef,0xdf
  27          };
  28          
  29          /******************延时***************************/
  30          
  31          void delay_us()
  32          {
  33   1      	_nop_();
  34   1      }
  35          
  36          void delay_ms(uint z)
  37          {
  38   1      	uint ii,jj;
  39   1      	for(ii=z;ii>0;ii--)
  40   1      		for(jj=110;jj>0;jj--);
  41   1      }
  42          
  43          /****************复位与存在***********************/
  44          
  45          void reset()
  46          {	
  47   1      	dq=1;
  48   1      	delay_us(5);
*** ERROR C267 IN LINE 48 OF .\PRACTISE.C: 'delay_us': requires ANSI-style prototype
  49   1      	dq=0;
  50   1      	delay_us(600);
  51   1      	dq=1;
  52   1      	delay_us(30);
  53   1      }
  54          
C51 COMPILER V6.12  PRACTISE                                                               04/29/2009 13:12:57 PAGE 2   

  55          void exist()
  56          {
  57   1      	uchar ii=20;
  58   1      	while(dq==0||ii<0) ii--;
  59   1      	delay_us(500);
  60   1      	dq=1;	
  61   1      }
  62          
  63          /*************************************************/
  64          bit read_bit()
  65          {
  66   1      	bit bb;
  67   1      	
  68   1      	dq=0;
  69   1      	delay_us(2);
  70   1      	dq=1;
  71   1      	delay_us(5);
  72   1      	bb=dq;
  73   1      	delay_us(60);	
  74   1      	
  75   1      	return bb;
  76   1      }
  77          
  78          /*************************************************/
  79          
  80          //读字节
  81          uchar read_byte()
  82          {
  83   1      	uchar byte=0x00;
  84   1      	uchar ii=0,jj;
  85   1      	bit temp;
  86   1      	//uchar tt=0x01;
  87   1      	
  88   1      	while(ii < 8)
  89   1      	{	
  90   2      		delay_us(2);
  91   2      		temp=read_bit();
  92   2      		byte=(byte>>1)|(temp<<7);
*** ERROR C193 IN LINE 92 OF .\PRACTISE.C: '<<': bad operand type
  93   2      		++ii;	
  94   2      		/*
  95   2      		delay_us(2);
  96   2      		temp=read_bit();
  97   2      		byte=byte+temp&tt;
  98   2      		tt<<1;
  99   2      		*/		
 100   2      	}
 101   1      	
 102   1      	return(byte);
 103   1      }
 104          
 105          //写入字节
 106          void write_byte(uchar xx)
 107          {
 108   1      	bit bb;
 109   1      	uchar test=0x01;//*********************************这里可能有问题?
 110   1      	uchar date=xx;
 111   1      	uchar ii=0;
 112   1      	
 113   1      	while(ii < 8)
 114   1      	{
 115   2      		bb=test&date;
C51 COMPILER V6.12  PRACTISE                                                               04/29/2009 13:12:57 PAGE 3   

 116   2      		if(bb)
 117   2      		{
 118   3      			dq=0;
 119   3      			delay_us(5);
 120   3      			dq=1;
 121   3      			delay_us(15);
 122   3      		}
 123   2      		else
 124   2      		{
 125   3      			dq=0;
 126   3      			delay_us(100);
 127   3      			dq=1;
 128   3      			delay_us(2);
 129   3      		}
 130   2      		++ii;		
 131   2      	}
 132   1      			
 133   1      }
 134          
 135          /**********************温度************************/
 136          
 137          void convert_temper()
 138          {
 139   1      	reset();
 140   1      	exist();
 141   1      	write_byte(0xCC);
 142   1      	write_byte(0x44);
 143   1      }
 144          
 145          void read_temper()
 146          {
 147   1      	uchar LSB_temper=0x00;
 148   1      	uchar MSB_temper=0x00;
 149   1      
 150   1      	reset();
 151   1      	exist();
 152   1      	write_byte(0xCC);
 153   1      	write_byte(0xBE);		
 154   1      	LSB_temper=read_byte();
 155   1      	MSB_temper=read_byte();
 156   1      	
 157   1      	C_temper=MSB_temper;
 158   1      	C_temper=(C_temper<<8)|LSB_temper;
 159   1      	C_temper=C_temper*0.0625*10+0.5;
 160   1      	
 161   1      	return C_temper;			
 162   1      }
 163          
 164          /******************响应******************************/
 165          
 166          void display_temper()
 167          {
 168   1      	uchar aa,bb,cc;
 169   1      	
 170   1      	aa=C_temper/100;
 171   1      	bb=C_temper%10/10;
 172   1      	cc=C_temper/10;
 173   1      	
 174   1      	wela=1;
 175   1      	P0=table2[0];
 176   1      	wela=0;
 177   1      	delay_ms(2);
C51 COMPILER V6.12  PRACTISE                                                               04/29/2009 13:12:57 PAGE 4   

 178   1      	
 179   1      	dula=1;
 180   1      	P0=table[cc];
 181   1      	dula=0;
 182   1      	delay_ms(2);
 183   1      	
 184   1      	wela=1;
 185   1      	P0=table2[1];
 186   1      	wela=0;
 187   1      	delay_ms(2);
 188   1      	
 189   1      	dula=1;
 190   1      	P0=table[bb+0x80];
 191   1      	dula=0;
 192   1      	delay_ms(2);
 193   1      
 194   1      	wela=1;
 195   1      	P0=table2[2];
 196   1      	wela=0;
 197   1      	delay_ms(2);
 198   1      	
 199   1      	dula=1;
 200   1      	P0=table[aa];
 201   1      	dula=0;
 202   1      	delay_ms(2);
 203   1      
 204   1      }
 205          
 206          void init1()
 207          {
 208   1      	
 209   1      }
 210          
 211          
 212          
 213          
 214          
 215          void main()
 216          {
 217   1      	feng=1;	
 218   1      }
 219          

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

⌨️ 快捷键说明

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