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

📄 cehngxu.lst

📁 液晶显示电压proteus
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.02   CEHNGXU                                                               04/28/2012 11:25:16 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE CEHNGXU
OBJECT MODULE PLACED IN cehngxu.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE cehngxu.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg52.h>
   2          #include<intrins.h>
   3          sbit  rd=P3^7;
   4          sbit  wr=P3^6;   //adc0804
   5          sbit  cs=P3^0;
   6             
   7          sbit  en=P3^2;   //液晶
   8          sbit  lcdrs=P3^3;
   9          
  10          sbit  ledh=P2^4; //二极管
  11          sbit  ledl=P2^5;
  12          
  13          
  14          sbit  keyv1=P2^3; //按键
  15          sbit  key0=P2^0;
  16          sbit  keyv2=P2^2;
  17          sbit  keyv3=P2^1;
  18          
  19          #define uchar unsigned char
  20          #define uint unsigned   long int
  21          
  22          uchar a1,b1,c1,d1,a2,b2,c2,d2,a0,b0,c0,d0,e0,a3,b3,c3,d3,e3,num;
  23          uint shu,R,k,m;
  24          
  25          uint  adread();
  26          void adstart();
  27          
  28          uchar code table1[]="Voltmeter";
  29          uchar code table2[]="00000V/K  ";
  30          
  31          void delay(uint z);     
  32          void init()     ;
  33          void write_com(uchar com);
  34          void write_data(uchar date);
  35          void display();
  36          void displayV5(uchar zhengs, uchar shifw, uchar baifw,uchar qianfw); 
  37          void displayV15(uchar zhengs1,uchar zhengs2, uchar shifw, uchar baifw,uchar qianfw);
  38          void displayO(uchar wan, uchar qian, uchar bai,uchar shi,uchar ge);
  39          void main()               
  40          {
  41   1              init();
  42   1              display();      
  43   1              while(1)
  44   1              {
  45   2                      
  46   2                      adstart();
  47   2                      shu=adread();
  48   2                      k=adread();
  49   2                      m=adread();
  50   2                      delay(1);
  51   2                      if(shu<254)
  52   2                      {
  53   3                                   
  54   3                                       
  55   3                        ledl=0;  //绿灯亮,表示ad已读数据
C51 COMPILER V8.02   CEHNGXU                                                               04/28/2012 11:25:16 PAGE 2   

  56   3                      }
  57   2      
  58   2                      R=1000*(shu*0.0196)/(5-shu*0.0196);
  59   2                      a0=R/10000;
  60   2                      b0=R%10000/1000;
  61   2                      c0=R%1000/100;                     //dianzu xianshi
  62   2                      d0=R%100/10;
  63   2                      e0=R%10;
  64   2      
  65   2      
  66   2      
  67   2                      shu=shu*196;                      
  68   2                      a1=shu/10000;
  69   2                      b1=shu%10000/1000;
  70   2                      c1=shu%1000/100;                   //电压显现 0-5
  71   2                      d1=shu%100/10;          
  72   2              delay(1);
  73   2      
  74   2                      k=k*196;
  75   2                      k=k*2;
  76   2                      a2=k/10000;
  77   2                      b2=k%10000/1000;
  78   2                      c2=k%1000/100;             //电压显现 0-10
  79   2                      d2=k%100/10;            
  80   2                  delay(1);
  81   2      
  82   2                      m=m*196;
  83   2                      m=m*3;
  84   2                      a3=m/100000;
  85   2                      b3=m%100000/10000;
  86   2                      c3=m%10000/1000;                   //电压显现 0-15
  87   2                      d3=m%1000/100;
  88   2                      e3=m%100/10;            
  89   2                  delay(1);
  90   2      
  91   2                      if(keyv1==0)
  92   2                       {
  93   3                        delay(10);
  94   3                        if(keyv1==0)
  95   3                                {
  96   4                                      displayV5(a1,b1,c1,d1); //按键按下测0到5伏
  97   4                                  while(!keyv1);
  98   4                                }
  99   3                       }
 100   2                              
 101   2                      if(keyv2==0)
 102   2                      {
 103   3                        delay(10);
 104   3                        if(keyv2==0)                                   //     按键按下测0到10伏
 105   3                                {
 106   4                                      displayV5(a2,b2,c2,d2);
 107   4                                  while(!keyv2);
 108   4                                }
 109   3                       }
 110   2      
 111   2                              if(keyv3==0)
 112   2                      {
 113   3                        delay(10);
 114   3                        if(keyv3==0)                                   //     按键按下测0到15伏
 115   3                                {
 116   4                                      displayV15(a3,b3,c3,d3,e3);
 117   4                                  while(!keyv3);
C51 COMPILER V8.02   CEHNGXU                                                               04/28/2012 11:25:16 PAGE 3   

 118   4                                }
 119   3                       }
 120   2      
 121   2                         if(key0==0)
 122   2                       { 
 123   3                         delay(10);
 124   3                         if(key0==0)
 125   3                                {                                               // 按键按下测电阻
 126   4                                
 127   4                                        displayO(a0,b0,c0,d0,e0);
 128   4                                        while(!key0);
 129   4                                }
 130   3                       }
 131   2              }  
 132   1      
 133   1      
 134   1      }
 135          //**************************************************************************
 136          //********************        adc0804      *********************************
 137          // *************************************************************************
 138          void adstart()     
 139          {
 140   1                               
 141   1                               P1=0XFF;
 142   1                           wr=1;
 143   1                               _nop_();  //启动ad转换
 144   1                               wr=0;
 145   1                               _nop_();
 146   1                               wr=1;
 147   1                               _nop_();
 148   1                               
 149   1      }                        
 150                                   
 151           uint  adread()    //ad read
 152           {               
 153   1              uint temp;        
 154   1                      rd=1;
 155   1                      _nop_();
 156   1                      rd=0;     
 157   1                      _nop_();        
 158   1                      rd=1;
 159   1                      temp=P1;
 160   1                      return(temp);
 161   1       
 162   1       }      
 163           //**************************************************************************
 164           //***********************液晶1602*******************************************
 165          //***************************************************************************
 166            void write_com(uchar com)        //液晶写命令
 167          {

⌨️ 快捷键说明

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