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

📄 www.ourhc.cn.lst

📁 STC15F104E单片机最小系统开发板
💻 LST
字号:
C51 COMPILER V8.05a   WWW_OURHC_CN                                                         06/07/2012 14:48:40 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE WWW_OURHC_CN
OBJECT MODULE PLACED IN www.ourhc.cn.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE www.ourhc.cn.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /********************************************************************
   2                                      汇诚科技
   3          
   4          实现功能:按键控制继电器通断1秒启动停止
   5          使用芯片:STC15F104E系列单片机
   6          晶振:11.0592MHZ
   7          波特率:9600
   8          编译环境:Keil
   9          作者:zhangxinchun
  10          网站:www.ourhc.cn
  11          淘宝店:
  12          汇诚科技 http://ourhc.taobao.com
  13           郑兴电子直销部 http://shop68451856.taobao.com
  14          【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!     
  15          
  16          *********************************************************************/
  17          /********************************************************************/
  18          
  19          #include<reg52.h>              //库文件
  20          #define uchar unsigned char//宏定义无符号字符型
  21          #define uint unsigned int  //宏定义无符号整型
  22          /********************************************************************
  23                                      初始定义
  24          *********************************************************************/
  25          uchar sec; //定义计数值,每过1/10 秒,sec 加一
  26          uchar keycnt=0;//按下次数值
  27          uint tcnt; //键值判断
  28          /********************************************************************
  29                                      I/O定义
  30          *********************************************************************/
  31          sbit P33=P3^3;   //定义单片机P3口的第3位 (即P3.3)为输出口
  32          sbit P3_5=P3^5;  //定义单片机P3口的第5位 (即P3.5)位输入口
  33          /********************************************************************
  34                                      延时函数
  35          *********************************************************************/
  36          void delay(uchar t)
  37          {
  38   1        uchar i,j;
  39   1         for(i=0;i<t;i++)
  40   1         {
  41   2               for(j=13;j>0;j--);
  42   2               { ;
  43   3               }
  44   2         }
  45   1      }
  46          
  47          /********************************************************************
  48                                      按键扫描函数
  49          *********************************************************************/
  50          void KEY() //按键扫描程序
  51          {
  52   1      if(P3_5==0)
  53   1              {
  54   2              delay(20);
  55   2              if(P3_5==0)
C51 COMPILER V8.05a   WWW_OURHC_CN                                                         06/07/2012 14:48:40 PAGE 2   

  56   2                      {
  57   3                              keycnt++;
  58   3      /********************************************************************
  59   3                                  按下次数判断函数
  60   3      *********************************************************************/
  61   3      switch(keycnt) //按下次数判断
  62   3              {
  63   4              case 1: //第一次按下
  64   4              TH0=0x06; //对TH0 TL0 赋值
  65   4              TL0=0x06;
  66   4              TR0=1; //开始定时
  67   4              break;
  68   4              case 2: //第二次按下
  69   4              TR0=0; //定时结束
  70   4              keycnt=0; //重新开始判断键值
  71   4              break;
  72   4              }
  73   3              while(P3_5==0);
  74   3                      } 
  75   2              }
  76   1      }
  77          /********************************************************************
  78                                      定时中断服务函数
  79          *********************************************************************/
  80          void t0(void) interrupt 1 using 0 //定时中断服务函数
  81          {
  82   1              tcnt++; //每过250ust tcnt 加一
  83   1              if(tcnt==400) //计满400 次(1/10 秒)时
  84   1              {
  85   2                      tcnt=0; //重新再计
  86   2                      sec++;
  87   2                      if(sec==10) //定时10 秒,在从零开始计时
  88   2                      {
  89   3                              sec=0;
  90   3                              P33=!P33;  //取反 P3.3
  91   3                      }
  92   2              }
  93   1      }
  94          
  95          /********************************************************************
  96                                      主函数
  97          *********************************************************************/
  98          void main()
  99          {
 100   1              TMOD=0x02; //定时器工作在方式2
 101   1              ET0=1;
 102   1              EA=1;
 103   1              sec=0;
 104   1              TR0=0;
 105   1              while(1)
 106   1              {
 107   2               KEY();
 108   2              }
 109   1      }               
 110          
 111                  
 112          /********************************************************************
 113                                        结束
 114          *********************************************************************/


MODULE INFORMATION:   STATIC OVERLAYABLE
C51 COMPILER V8.05a   WWW_OURHC_CN                                                         06/07/2012 14:48:40 PAGE 3   

   CODE SIZE        =    116    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      4    ----
   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 + -