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

📄 main.lst

📁 使用单片机AT89S52所编写的高级频率计!
💻 LST
字号:
C51 COMPILER V6.12  MAIN                                                                   05/27/2008 23:45:32 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\main.OBJ
COMPILER INVOKED BY: D:\Program Files\KEIL\C51\BIN\C51.EXE .\main.c DEBUG OBJECTEXTEND

stmt level    source

   1          #include<reg52.h>
   2          #define uint unsigned int
   3          #define uchar unsigned char
   4          uchar code table[]={
   5          0x5f,0x41,0x9d,0xd5,
   6          0xc3,0xd6,0xde,0x45,
   7          0xdf,0xd7,0xcf,0xda,
   8          0x1e,0xd9,0x9e,0x8e};
   9          sbit dula=P2^6;
  10          sbit wela=P2^7;
  11          sbit test=P2^5;
  12          unsigned long f;
  13          uint t_0,n=0;
  14          
  15          
  16          void delay(uint z);
  17          void init();
  18          void print(uint number);
  19          void print_1(uint num_p,uint wei);
  20          
  21          void main()
  22          {
  23   1      	init();
  24   1      	while(1)
  25   1      	{
  26   2      		print(f);
  27   2      	}
  28   1      }
  29          void init()
  30          {	
  31   1      	wela=0;
  32   1      	dula=0;
  33   1      	EA=0;
  34   1      	T1=1;	
  35   1      	TMOD=0x51;
  36   1      	TH0=15536/256;
  37   1      	TL0=15536%256;
  38   1      	TH1=0;
  39   1      	TL1=0;
  40   1      	ET0=1;
  41   1      	ET1=1;
  42   1      	TR0=1;
  43   1      	TR1=1;
  44   1      	EA=1;
  45   1      	test=0;
  46   1      }
  47          void delay(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      }void print(uint number)//阻值分解为三个数,并调用数码管显示函数,number为AD转换读取数。
  53          {
  54   1      	uint num_1=number;
  55   1      	print_1(num_1%10,0x06);//第三位
C51 COMPILER V6.12  MAIN                                                                   05/27/2008 23:45:32 PAGE 2   

  56   1      	print_1(num_1%100/10,0x05);//第二位
  57   1      	print_1(num_1%1000/100,0x03);//第一位
  58   1      }
  59          void print_1(uint num_p,uint wei)//数码管显示函数,num_p为显示数,wei为选择数码管
  60          {
  61   1      	
  62   1      	wela=1;
  63   1      	P0=wei;
  64   1      	wela=0;
  65   1      	dula=1;
  66   1      	P0=table[num_p];
  67   1      	dula=0;
  68   1      	delay(2);
  69   1      }
  70          
  71          void time0() interrupt 1 
  72          {
  73   1      	EA=0;
  74   1      	TH0=15536/256;
  75   1      	TL0=15536%256;
  76   1      	t_0++;
  77   1      	test=~test;
  78   1      	if(t_0==20)
  79   1      	{
  80   2      		TR0=0;
  81   2      		TR1=0;
  82   2      		t_0=0;
  83   2      		f=(TH1*256+TL1+65535*n);
  84   2      		if(f<1000)
  85   2      		{
  86   3      			P1=0xfe;
  87   3      		}else
  88   2      		if((f>999)&&(f<999999))
  89   2      		{
  90   3      			f=f/1000;
  91   3      			P1=0xfd;
  92   3      		}else
  93   2      		{
  94   3      		if(f>999999)
  95   3      			f=f/1000000;
  96   3      			P1=0xfb;
  97   3      		}
  98   2      		n=0;
  99   2      		TH1=0;
 100   2      		TL1=0;
 101   2      		TR0=1;
 102   2      		TR1=1;
 103   2      	}
 104   1      	EA=1;
 105   1      
 106   1      }
 107          void time1() interrupt 3 
 108          {
 109   1      	n++;
 110   1      	TH1=0;
 111   1      	TL1=0;
 112   1      
 113   1      
 114   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
C51 COMPILER V6.12  MAIN                                                                   05/27/2008 23:45:32 PAGE 3   

   CODE SIZE        =    511    ----
   CONSTANT SIZE    =     16    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      8       2
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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