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

📄 chengxu.lst

📁 单路带数码管可编程可调节延时模块
💻 LST
字号:
C51 COMPILER V9.00   CHENGXU                                                               12/28/2012 00:46:25 PAGE 1   


C51 COMPILER V9.00, COMPILATION OF MODULE CHENGXU
OBJECT MODULE PLACED IN chengxu.OBJ
COMPILER INVOKED BY: D:\keil2\C51\BIN\C51.EXE chengxu.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /********************************************************************
   2                                      汇诚科技
   3          
   4          实现功能:此版配套测试程序
   5          使用芯片:STC12C2052AD
   6          晶振:11.0592MHZ
   7          波特率:9600
   8          编译环境:Keil
   9          作者:yang
  10          QQ:790244909
  11          网站:www.ourhc.cn
  12          淘宝店:汇诚科技 华龙电子直销:http://hlelectrony.taobao.com
  13          【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!     
  14          /********************************************************************
  15          
  16          ********************************************************************/
  17          
  18          
  19          #include<STC12C5A60S2.H>               //库文件
  20          #include <intrins.h>
  21          #define uchar unsigned char//宏定义无符号字符型
  22          #define uint unsigned int  //宏定义无符号整型
  23          
  24          #define DUAN P2   //P0口控制段
  25          #define WEI  P1   //P2口控制位
  26          
  27          
  28          /********************************************************************
  29                                      初始定义
  30          *********************************************************************/
  31          code uchar seg7code[11]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0XBF}; //显示段码 数码管字跟
  32          sbit wei1=P1^0;
  33          sbit wei2=P1^1;
  34          sbit wei3=P1^2;
  35          sbit wei4=P1^3;                              //位的控制端
  36          uchar numb[4];        //定义字符串
  37          sbit jdq=P3^7;
  38          sbit key1=P3^2;
  39          sbit key2=P3^3;
  40          sbit key3=P3^4;
  41          
  42          sbit IN0=P1^6;
  43          sbit IN1=P1^7;
  44          uchar timesnum;
  45          uchar keynum=1;
  46          bit flag=0;
  47          /********************************************************************
  48                                      延时函数
  49          *********************************************************************/
  50          void delay(uchar x)//延时程序 0.1秒
  51          {
  52   1              uchar m,n,s;
  53   1              for(m=x;m>0;m--)
  54   1              for(n=20;n>0;n--)
  55   1              for(s=248;s>0;s--);
C51 COMPILER V9.00   CHENGXU                                                               12/28/2012 00:46:25 PAGE 2   

  56   1      }       
  57          /********************************************************************
  58                                      求值函数
  59          *********************************************************************/
  60          void t_to_dis()
  61          {
  62   1              numb[0]=0;                  //显示千位
  63   1              numb[1]=keynum/100;     //显示百位
  64   1              numb[2]=keynum%100/10;          //显示十位
  65   1              numb[3]=keynum%10;         //显示个位
  66   1      }
  67          
  68          /********************************************************************
  69                                      显示函数
  70          *********************************************************************/        
  71          void display()  //显示函数
  72          {
  73   1            WEI&=0XF0;
  74   1                DUAN=seg7code[numb[0]];
  75   1                wei1=1;
  76   1                delay(2);
  77   1      
  78   1                WEI&=0XF0;  
  79   1            DUAN=seg7code[numb[1]];
  80   1                wei2=1;
  81   1                delay(2);
  82   1      
  83   1                WEI&=0XF0;  
  84   1                DUAN=seg7code[numb[2]];
  85   1                wei3=1;
  86   1                delay(2);
  87   1      
  88   1                WEI&=0XF0;  
  89   1            DUAN=seg7code[numb[3]];
  90   1                wei4=1;
  91   1                delay(2);
  92   1                WEI&=0XF0;
  93   1      }
  94                     
  95          
  96          void init_all(void)
  97          {               
  98   1          P2M1=0;
  99   1              P2M0=0xff;
 100   1              P1M1=0;
 101   1              P1M0=0x0f;
 102   1              P3M1&=0x7f;
 103   1              P3M0|=0x80;
 104   1      
 105   1      
 106   1      }
 107          void key_scan(void)
 108          {
 109   1           if(key1==0)                //增加次数
 110   1                      {
 111   2                        delay(5);
 112   2                        if(key1==0)
 113   2                         {
 114   3                           while(!key1);
 115   3                               keynum++;              //keynum=0为模式0,继电器吸合300ms ,keynum=1继电器吸合12s
 116   3                               if(keynum>=100)
 117   3                                   keynum=100;
C51 COMPILER V9.00   CHENGXU                                                               12/28/2012 00:46:25 PAGE 3   

 118   3                         }
 119   2                      }
 120   1      
 121   1                 if(key2==0)          //按键扫描,key2按下模式变化一次
 122   1                      {
 123   2                        delay(5);
 124   2                        if(key2==0)
 125   2                         {
 126   3                           while(!key2);
 127   3                               keynum--;              //减小次数
 128   3                               if(keynum==0||keynum>=120)
 129   3                                 keynum=0;
 130   3                               
 131   3                         }
 132   2                      }
 133   1      
 134   1      
 135   1      
 136   1      }
 137          /********************************************************************
 138                                      主函数
 139          *********************************************************************/
 140          void main()
 141          {        
 142   1              init_all();         //初始化IO
 143   1              IN0=IN1=1;
 144   1              jdq=0;
 145   1              while(1)
 146   1              {  
 147   2                      t_to_dis();               //数值变换
 148   2                      display();                //显示函数
 149   2              key_scan();
 150   2                if(IN1==0&&flag==0)           //按键扫描,key2按下模式变化一次
 151   2                      {
 152   3                        delay(5);
 153   3                        if(IN1==0)
 154   3                         {
 155   4                           while(!IN1);
 156   4                                jdq=!jdq;
 157   4                                flag=1;
 158   4                          }
 159   3                      }
 160   2              if(flag==1&&IN0==0)
 161   2               {
 162   3                  delay(5);
 163   3                if(IN0==0)
 164   3                 {
 165   4                   while(!IN0);
 166   4                   timesnum++;
 167   4                       if(timesnum>=keynum)
 168   4                        {
 169   5                         timesnum=0;
 170   5                         jdq=!jdq;  
 171   5                        }
 172   4                 }
 173   3               }
 174   2          }
 175   1      }
 176          
 177          /********************************************************************
 178                                        结束
 179          *********************************************************************/
C51 COMPILER V9.00   CHENGXU                                                               12/28/2012 00:46:25 PAGE 4   



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