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

📄 tongbuxianshi.lst

📁 单片机采集数据
💻 LST
字号:
C51 COMPILER V6.12  TONGBUXIANSHI                                                          04/28/2008 09:19:00 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE TONGBUXIANSHI
OBJECT MODULE PLACED IN .\tongbuxianshi.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE .\tongbuxianshi.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include "reg52.h"
   2          #include "intrins.h"
   3          #define uchar unsigned char 
   4          #include <absacc.h>
   5          
   6          sbit    Clk=P1^5;	//定义时钟端
   7          sbit    RCK=P1^2;	//定义控制端
   8          sbit    E=P1^3;
   9          sbit    SRCK=P1^1;
  10          sbit    SER=P1^0;
  11          
  12          sbit  Dat=P1^4;	//定义串行数据输入端
  13          sbit RDSG=0xD8^0;
  14          sbit RDQB=0xD8^1;  
  15          sbit PRE=0xD8^2;
  16          sbit CLR=0xD8^3;
  17          
  18          unsigned char a[4];
  19          unsigned char  c,d,e,f;
  20          unsigned char   *p,*q;
  21          uchar code DispTab[]={0x3F,0x03,0x6D,0x67,0x53,0x76,0x7E,0x23,0x7F, 
  22          0x73,0x00};//定义定形码表
  23          
  24          
  25          void SendData(unsigned char SendDat)	//传送一个字节的数据数据
  26          {	unsigned char i;
  27   1      		for(i=0;i<8;i++)
  28   1      		{	if((SendDat&0x80)==0)
  29   2      				SER=0;
  30   2      			else
  31   2      				SER=1;
  32   2      			_nop_();
  33   2      		SRCK=0;
  34   2      			_nop_();
  35   2              		SRCK=1;
  36   2      			SendDat=SendDat<<1;
  37   2      		}
  38   1      }
  39          
  40          
  41          
  42          void Disp()
  43          {	uchar c;
  44   1      	uchar i;
  45   1      	RCK=0;						//关闭存储寄存器的输入
  46   1      	for(i=0;i<3;i++)
  47   1      	{
  48   2      	unsigned char  g;
  49   2      	c=a[i];
  50   2      g=DispTab[c];
  51   2      if(i==2)
  52   2      {if(((e&0x80)==0x80)&&((e&0x40)==0))
  53   3      
  54   3      g=DispTab[c]|0x80;
  55   3      }
C51 COMPILER V6.12  TONGBUXIANSHI                                                          04/28/2008 09:19:00 PAGE 2   

  56   2      if(i==1)			
  57   2      {if(((e&0x40)==0x40)&&((e&0x80)==0))
  58   3      
  59   3      g=DispTab[c]|0x80;
  60   3      }
  61   2      
  62   2      SendData(g);	//送出字形码数据
  63   2      	}
  64   1           SendData(a[3]);
  65   1      	RCK=1;						//开启存储寄存器的输入
  66   1      }
  67          
  68          
  69          
  70          
  71          void main()
  72          {for(;;)
  73   1      { RDSG=0;                      //锁存个十位数据                      //锁存百千位数据
  74   2      RDQB=1;
  75   2      *p=XBYTE[0x9000];
  76   2      c=*p;
  77   2      	d=c&0x0F;
  78   2      	 switch(d)
  79   2      { case   0x00 : a[0]=0;break;
  80   3        case   0x01 : a[0]=1;break;
  81   3        case   0x02 : a[0]=2;break;
  82   3        case   0x03 : a[0]=3;break;
  83   3        case   0x04 : a[0]=4;break;
  84   3        case   0x05 : a[0]=5;break;
  85   3        case   0x06 : a[0]=6;break;
  86   3        case   0x07 : a[0]=7;break;
  87   3        case   0x08 : a[0]=8;break;
  88   3        case   0x09 : a[0]=9;
  89   3      }
  90   2      c=c&0xF0;
  91   2      	 switch(c)
  92   2      { case   0x00 : a[1]=0;break;
  93   3        case   0x10 : a[1]=1;break;
  94   3        case   0x20 : a[1]=2;break;
  95   3        case   0x30 : a[1]=3;break;
  96   3        case   0x40 : a[1]=4;break;
  97   3        case   0x50 : a[1]=5;break;
  98   3        case   0x60 : a[1]=6;break;
  99   3        case   0x70 : a[1]=7;break;
 100   3        case   0x80 : a[1]=8;break;
 101   3        case   0x90 : a[1]=9;
 102   3      }
 103   2      RDSG=1;
 104   2      RDQB=0;
 105   2      *q=XBYTE[0x9001];
 106   2      e=*q;
 107   2      	f=e&0x0F;
 108   2      	 switch(f)
 109   2      { case   0x00 : a[2]=0;break;
 110   3        case   0x01 : a[2]=1;break;
 111   3        case   0x02 : a[2]=2;break;
 112   3        case   0x03 : a[2]=3;break;
 113   3        case   0x04 : a[2]=4;break;
 114   3        case   0x05 : a[2]=5;break;
 115   3        case   0x06 : a[2]=6;break;
 116   3        case   0x07 : a[2]=7;break;
 117   3        case   0x08 : a[2]=8;break;
C51 COMPILER V6.12  TONGBUXIANSHI                                                          04/28/2008 09:19:00 PAGE 3   

 118   3        case   0x09 : a[2]=9;
 119   3      } 
 120   2      f=e&0x30;
 121   2        switch(f)
 122   2      { case   0x00 : a[3]=0x3F;break;
 123   3        case   0x10 : a[3]=0x03;break;
 124   3        case   0x20 : a[3]=0x40;break;
 125   3        case   0x30 : a[3]=0x43;
 126   3       
 127   3      } 
 128   2      	 E=0;
 129   2      	Disp();
 130   2      
 131   2      	}
 132   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    475    ----
   CONSTANT SIZE    =     11    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     14       1
   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 + -