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

📄 jdq.lst

📁 单片机开发板源程序适合初学者 第六部分 继电器输出控制
💻 LST
字号:
C51 COMPILER V7.06   JDQ                                                                   09/13/2007 03:26:00 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE JDQ
OBJECT MODULE PLACED IN JDQ.OBJ
COMPILER INVOKED BY: C:\tools\Keil\C51\BIN\C51.EXE JDQ.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*实验名称:按加减键实现内部加减 0.01
   2            功能:数码显示0.20---2.00
   3            作者:http://www.mcuprog.com
   4                  05-02-01
   5          */
   6          #include <reg51.h>
   7          //LCD的口线
   8          sbit E=P2^2;
   9          sbit RW=P2^1;
  10          sbit RS=P2^0;
  11          sbit K1= P1^0;
  12          sbit JDQ = P3^6;
  13          
  14          unsigned char keytime;
  15          unsigned char bdata myflag;
  16          sbit keybit = myflag^0;
  17          sbit outedbit = myflag^1;
  18          
  19          void time0(void);
  20          
  21          void Delay(unsigned int t);
  22          void SendCommandByte(unsigned char ch);
  23          void SendDataByte(unsigned char ch);
  24          void InitLcd(void);
  25          void dispstate(void);
  26          
  27          void main(void)
  28          {
  29   1              InitLcd();
  30   1              myflag=0x00;
  31   1              keytime=4;              //20MS扫一次按键
  32   1              SendCommandByte(0x80);
  33   1              Delay(2);
  34   1              SendDataByte('S');
  35   1              SendDataByte('T');
  36   1              SendDataByte('A');
  37   1              SendDataByte('T');
  38   1              SendDataByte('E');
  39   1              SendDataByte(':');
  40   1              TH0=0xee;               //定时5MS
  41   1              TL0=0x00;
  42   1              TMOD=0x01;
  43   1              TR0=1;
  44   1              IE=0x82;
  45   1              while(1)
  46   1              {}      
  47   1      }       
  48          
  49          void time0(void) interrupt 1
  50          {
  51   1              TH0=0xee;
  52   1              TL0=0x00;
  53   1              keytime--;
  54   1              if(keytime==0)
  55   1              {
C51 COMPILER V7.06   JDQ                                                                   09/13/2007 03:26:00 PAGE 2   

  56   2                      keytime=4;
  57   2                      if(K1==0)
  58   2                      {
  59   3                              if(keybit==0)
  60   3                              {
  61   4                                      keybit=1;
  62   4                                      outedbit=!outedbit;
  63   4                                      JDQ=!JDQ;
  64   4                              }       
  65   3                      }       
  66   2                      else{keybit=0;} 
  67   2              }       
  68   1              dispstate();
  69   1      }  
  70          
  71          
  72          
  73          void Delay(unsigned int t)   // delay 40us
  74          {
  75   1       for(;t!=0;t--) ;
  76   1      }
  77          //=============================================
  78          void SendCommandByte(unsigned char ch)
  79          {
  80   1         RS=0;
  81   1         RW=0;
  82   1         P0=ch;
  83   1         E=1;
  84   1          Delay(1);
  85   1         E=0;
  86   1         Delay(100);  //delay 40us
  87   1      }
  88          //-------------------------------------------------------
  89          void SendDataByte(unsigned char ch)
  90          {  RS=1;
  91   1         RW=0;
  92   1         P0=ch;
  93   1         E=1;
  94   1             Delay(1);
  95   1         E=0;
  96   1         Delay(100); //delay 40us
  97   1      }
  98          //-------------------------------------------------
  99          void InitLcd(void)
 100          {SendCommandByte(0x30);
 101   1       SendCommandByte(0x30);
 102   1       SendCommandByte(0x30);
 103   1       SendCommandByte(0x38); //设置工作方式
 104   1       SendCommandByte(0x0c); //显示状态设置
 105   1       SendCommandByte(0x01); //清屏
 106   1       SendCommandByte(0x06); //输入方式设置
 107   1      }
 108          
 109          void dispstate(void)
 110          {
 111   1              SendCommandByte(0x87);
 112   1              if(outedbit==0)
 113   1              {
 114   2                      SendDataByte('C');
 115   2                      SendDataByte('L');
 116   2                      SendDataByte('O');
 117   2                      SendDataByte('S');
C51 COMPILER V7.06   JDQ                                                                   09/13/2007 03:26:00 PAGE 3   

 118   2                      SendDataByte('E');
 119   2              }
 120   1              else
 121   1              {
 122   2                      SendDataByte('O');
 123   2                      SendDataByte('P');
 124   2                      SendDataByte('E');
 125   2                      SendDataByte('N');
 126   2                      SendDataByte(' ');
 127   2              }               
 128   1              
 129   1      }


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