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

📄 yue1112212.lst

📁 本系统的控制部分是以89C51为核心
💻 LST
字号:
C51 COMPILER V7.50   YUE1112212                                                            01/22/2004 19:57:27 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE YUE1112212
OBJECT MODULE PLACED IN E:\SCY\液晶\YY11\YUE1112212.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE E:\SCY\液晶\YY11\YUE1112212.C DB SB OE

line level    source

   1          #include <at89x55.h>
   2          #include <stdio.h>
   3          #include <absacc.h>
   4          #include <intrins.h> //此文件中有_nop_()空操作函数
   5          #define uchar unsigned char
   6          #define uint unsigned int
   7          uchar biao1,biao2,biao3;//biao3高斯与磁通的转换,biao1是AD采样,biao2是量程转换
   8          uchar biao4=0;//biao4单位转换标志
   9          uchar biao5;//biao输入上、下限的标志位
  10          uchar srjs1, srjs2;
  11          uchar xueren=0;//计确定键的次数
  12          uchar m,n;//定义输入上、下限的范围位置
  13          unsigned long out; //存放1674测量值变量
  14          
  15          unsigned char code num[]={"0123456789 :.-"};
  16          unsigned char code idea1[]={"Gauss Meter"};
  17          unsigned char code idea2[]={"Magnaflux Meter"};
  18          unsigned char code idea3[]={"  磁信号检测仪  "};
  19          unsigned char code idea4[]={"指导老师:张  胜"};
  20          unsigned char code idea5[]={"设计者:  郑魏悦"};
  21          unsigned char code idea6[]={"学  号:03440126"};
  22          unsigned char code shape[]={"Shape"};
  23          unsigned char code poles[]={"poles"};
  24          unsigned char code work[]={"work"};
  25          unsigned char code range[]={"range "};
  26          /*************************************LCD液晶脚定义***************************/
  27          sbit   lcdCS    =  P1^5;        //片选 高电平有效 单片LCD使用时可固定高电平
  28          sbit   lcdSID   =  P1^6;        //数据
  29          sbit   lcdSCLK  =  P1^7;        //时钟
  30          /*********************************函数定义******************************/
  31          //12864
  32          void Write_char(bit start, unsigned char ddata);//写指令或数据
  33          void Send_byte(unsigned char bbyte);//发送一个字节
  34          void Delaynms(unsigned int di);//延时
  35          void Lcd_init(void);//LCD初始化
  36          void LCD_Write_string(unsigned char X,unsigned char Y,unsigned char *s);//中英文显示
  37          void LCD_set_xy( unsigned char x, unsigned char y );//光标定位
  38          void Clr_Scr();//清屏
  39          void LCD_Write_number(unsigned char s);//数字显示 
  40          /*************************主函数*****************************************************/
  41          void main(void)//
  42          {        lcdSID=0;
  43   1               Clr_Scr();//清屏
  44   1               Delaynms(1000);
  45   1               Lcd_init();//设置液晶显示器
  46   1               LCD_set_xy(0,0);        
  47   1               for(;;);
  48   1      }
  49          //***长延时***
  50          void long_delay(void)
  51          {
  52   1      unsigned char i;
  53   1      for (i=0;i<0x30;i++);
  54   1      }
  55          
C51 COMPILER V7.50   YUE1112212                                                            01/22/2004 19:57:27 PAGE 2   

  56          //***短延时***
  57          void short_delay(void)
  58          {
  59   1      unsigned char i;
  60   1      for (i=0;i<8;i++);
  61   1      }
  62          /******************************************************************************/
  63          void Delaynms(unsigned int di) //延时
  64          {
  65   1              unsigned int da,db;
  66   1              for(da=0;da<di;da++)
  67   1              for(db=0;db<10;db++);
  68   1      }
  69          /******************************初始化LCD************************************************/
  70          void Lcd_init(void)
  71          {
  72   1             Delaynms(10); //启动等待,等LCD讲入工作状态
  73   1              lcdCS=1;
  74   1              //Write_char(0,0x82) ;
  75   1              Write_char(0,0x30) ;  //8 位介面,基本指令集
  76   1              Write_char(0,0x0c);  //显示打开,光标关,反白关
  77   1              Write_char(0,0x01);  //清屏,将DDRAM的地址计数器归零
  78   1      /*******************************************************/
  79   1              LCD_Write_string(1,0,"电压000V,");        
  80   1              LCD_Write_string(2,0,"范围180V至240V");
  81   1              LCD_Write_string(3,0,"电流0000mA,");
  82   1              LCD_Write_string(4,0,"范围0000至5000mA");
  83   1      }
  84          
  85          /*******************************写指令或数据***********************************/
  86          
  87          void Write_char(bit start, unsigned char ddata) //
  88          {
  89   1              unsigned char start_data,Hdata,Ldata;
  90   1              if(start==0)
  91   1                      start_data=0xf8;         //写指令
  92   1          else
  93   1              start_data=0xfa;  //写数据
  94   1      
  95   1              Hdata=ddata&0xf0;                 //取高四位
  96   1              Ldata=(ddata<<4)&0xf0;  //取低四位
  97   1              Send_byte(start_data);    //发送起始信号
  98   1              Delaynms(5); //延时是必须的
  99   1              Send_byte(Hdata);             //发送高四位
 100   1              Delaynms(1);  //延时是必须的
 101   1              Send_byte(Ldata);                 //发送低四位
 102   1              Delaynms(1);  //延时是必须的
 103   1      }
 104          
 105          /******************************************************************************/
 106          void Send_byte(unsigned char bbyte) //发送一个字节
 107          {
 108   1              unsigned char i;
 109   1              for(i=0;i<8;i++)
 110   1              {
 111   2      
 112   2                      lcdSCLK=0;                      lcdSID=bbyte&0x80; //取出最高位
 113   2                      lcdSCLK=1;
 114   2                      bbyte<<=1; //左移
 115   2              }
 116   1      }
 117          
C51 COMPILER V7.50   YUE1112212                                                            01/22/2004 19:57:27 PAGE 3   

 118          
 119          /******************************************************************************/
 120          void Clr_Scr(void)//清屏函数
 121          {
 122   1              Write_char(0,0x01);
 123   1      
 124   1      }
 125          /******************************************************************************/
 126          void LCD_set_xy( unsigned char x, unsigned char y )
 127          {       //设置LCD显示的起始位置,X为行,Y为列
 128   1          unsigned char address;
 129   1              switch(x)
 130   1              {
 131   2                      case 0: address = 0x80 + y; break;
 132   2              case 1: address = 0x80 + y; break;
 133   2                      case 2: address = 0x90 + y; break;
 134   2                      case 3: address = 0x88 + y; break;
 135   2                      case 4: address = 0x98 + y; break;
 136   2                      default:address = 0x80 + y; break;
 137   2              }
 138   1          Write_char(0, address);
 139   1      }
 140          /******************************************************************************/
 141          void LCD_Write_number(unsigned char s)//        数字显示函数
 142          {
 143   1              Write_char(1,num[s]);
 144   1              Delaynms(1);
 145   1      }
 146          
 147          
 148          /******************************************************************************/
 149          void Delay(int num)//延时函数
 150          {
 151   1              while(num--) ;
 152   1      }
 153          
 154          /******************************************************************************/
 155          void LCD_Write_string(unsigned char X,unsigned char Y,unsigned char *s)
 156          {       //      中英文字符串显示函数
 157   1          LCD_set_xy( X, Y );
 158   1          while (*s)
 159   1          {
 160   2               Write_char( 1, *s );
 161   2                 s ++;
 162   2               Delaynms(1);
 163   2         }
 164   1      }
 165          
 166          
 167          
 168          
 169          
C51 COMPILER V7.50   YUE1112212                                                            01/22/2004 19:57:27 PAGE 4   

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


P0 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0080H  1
P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P2 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A0H  1
_Send_byte . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  bbyte. . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0006H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
Write_char . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  start. . . . . . . . . . . . . . . .  AUTO     DATA   BIT      0000H  1
  ddata. . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  start_data . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
  Hdata. . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0002H  1
  Ldata. . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0003H  1
_LCD_Write_number. . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  s. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
range. . . . . . . . . . . . . . . . .  PUBLIC   CODE   ARRAY    00B8H  7
size_t . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
shape. . . . . . . . . . . . . . . . .  PUBLIC   CODE   ARRAY    00A7H  6
lcdSID . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0096H  1
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
xueren . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0000H  1
_LCD_Write_string. . . . . . . . . . .  PUBLIC   CODE   PROC     0004H  -----
  X. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  Y. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
  s. . . . . . . . . . . . . . . . . .  AUTO     DATA   PTR      0000H  3
_Delaynms. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  di . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0006H  2
  da . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0004H  2
  db . . . . . . . . . . . . . . . . .  * REG *  DATA   U_INT    0002H  2
long_delay . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
short_delay. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  i. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
poles. . . . . . . . . . . . . . . . .  PUBLIC   CODE   ARRAY    00ADH  6
main . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
Lcd_init . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
Clr_Scr. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
_LCD_set_xy. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  x. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  y. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
  address. . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
work . . . . . . . . . . . . . . . . .  PUBLIC   CODE   ARRAY    00B3H  5
idea1. . . . . . . . . . . . . . . . .  PUBLIC   CODE   ARRAY    0047H  12
idea2. . . . . . . . . . . . . . . . .  PUBLIC   CODE   ARRAY    0053H  16
idea3. . . . . . . . . . . . . . . . .  PUBLIC   CODE   ARRAY    0063H  17
idea4. . . . . . . . . . . . . . . . .  PUBLIC   CODE   ARRAY    0074H  17
idea5. . . . . . . . . . . . . . . . .  PUBLIC   CODE   ARRAY    0085H  17
lcdCS. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0095H  1
idea6. . . . . . . . . . . . . . . . .  PUBLIC   CODE   ARRAY    0096H  17
biao1. . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0001H  1
biao2. . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0002H  1
biao3. . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0003H  1
_Delay . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  num. . . . . . . . . . . . . . . . .  * REG *  DATA   INT      0006H  2
C51 COMPILER V7.50   YUE1112212                                                            01/22/2004 19:57:27 PAGE 5   

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


num. . . . . . . . . . . . . . . . . .  PUBLIC   CODE   ARRAY    0038H  15
biao4. . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0004H  1
biao5. . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0005H  1
out. . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_LONG   0006H  4
lcdSCLK. . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0097H  1
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
m. . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   000AH  1
n. . . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   000BH  1
srjs1. . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   000CH  1
srjs2. . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   000DH  1
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    369    ----
   CONSTANT SIZE    =    191    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     14       8
   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 + -